Fiio X5 3rd gen || 2x AKM 4490 || Balanced Out || DSD || DXD | DTS | Android || Dual Card Slot
Aug 6, 2017 at 3:18 AM Post #10,711 of 15,899
did any one succeed in playing files without downsampling using neutron and using mojo with fiio x5iii coax, as i am always seeing red light on mojo no matter what bit rates i play using neutron

also using default player in fiio x5iii coax to mojo why does channel balance not work?

any feedback on this guys
 
Aug 6, 2017 at 7:15 AM Post #10,713 of 15,899
After a Factory Data Reset and an Erase/Reformat of the two SD cards I've made some headway in using this cute but buggy dap. After the aforementioned steps I connected the X5 to a W10 computer and after some fiddling with turning on the USB Connection within the DAP and allowing Windows to access the player I was able to transfer music files over. Once copied some albums to each SD card I disconnected the dap and opened the FiiO Music app. I told it where to look for the files and within a second or two it successfully loaded all albums from both cards, 105 tracks. Yay!

Then I went onto the Play store and reinstalled some 3rd party player apps to test out.

Neutron: works and can detect both cards and all files.
USB Audio Player Pro (UAPP): can detect both cards and all files.
Rocket Player (Premium): can only detect the SD1 card (as previously discussed)
HiBy Music: can detect both cards and files.
Pocket Casts: only sees SD1 card (but I can manually input download storage location to SD2 in app settings)

I can try other apps when I get around to it. The above ones are the primary player apps I like to use on a regular basis. I'm hoping with the X5iii I'll be happy with perhaps just the stock FiiO Music app. So now my next test is finally a listening session!

PowerAmp is able to see both cards as well, as is Foobar. Both great players.
Only thing against Foobar for me is that you can't edit tags with it. PowerAmp has a tagger.
My favorite player is Rocket Player. Contacted them and they said dual card support was already on their to-do list. That's been a few months (and updates) ago though.
 
Aug 6, 2017 at 10:33 AM Post #10,714 of 15,899
They mentioned that they had to do some software tricks to allow the second SD slot to be used. But it is seen by the operating system so it would seem that any app should be able to see it.
Has anyone contacted the developer of the various apps to ask if they can do something? This is a combination of things. One is how Fiio implemented access, but just as much about what the 3rd party apps are doing to look for storage. It could probably be fixed from either direction. As this has been a problem for awhile now, either Fiio is having problems fixing it or it is not a priority for them. They are obviously busy fixing other things and likely getting the X7 II working properly as well. The app developer may have more time to devote to it and may be able to fix it more quickly.
Neutron, for me best option after fiio app - no problem with sd cards, hiby music - no problem. onkyo player - no problem, usb audio player no problem... only,, my problem is-- dont know if neutron, another 3rd apps uses the dac directly, or everything is resampled to 48khz, i contacted neutron, they didnt have direct support for fiio daps... 32 bit output doesnt work and neutron shows 48khz output... doesnt know what it does when i select - "folow frequency of the song" .... i like neutron, but for that reason i use mainly fiio music app and spotify /spotify offline files working perfectly/... and my only wish fiio ----- can make thier kernel source avaible--- many talented people here can improve this player..... when somebody started a petition iam in...
 
Last edited:
Aug 6, 2017 at 12:08 PM Post #10,715 of 15,899
Neutron, for me best option after fiio app - no problem with sd cards, hiby music - no problem. onkyo player - no problem, usb audio player no problem... only,, my problem is-- dont know if neutron, another 3rd apps uses the dac directly, or everything is resampled to 48khz, i contacted neutron, they didnt have direct support for fiio daps... 32 bit output doesnt work and neutron shows 48khz output... doesnt know what it does when i select - "folow frequency of the song" .... i like neutron, but for that reason i use mainly fiio music app and spotify /spotify offline files working perfectly/... and my only wish fiio ----- can make thier kernel source avaible--- many talented people here can improve this player..... when somebody started a petition iam in...

a petition wouldn't change a thing, the only way we could have third party players like Neutron to play files in their native bitrate/freq would be to ask the apps devs to get in touch with Fiio so they can include a driver for the X5 III's DACs. But as far as i know the AK drivers for the X5 are not even developped by Fiio but a third party (german company if i recall) company who privably licenses it to Fiio.
Not much hope for it to happen i'm afraid.
 
Aug 6, 2017 at 12:49 PM Post #10,716 of 15,899
PowerAmp is able to see both cards as well, as is Foobar. Both great players.
Only thing against Foobar for me is that you can't edit tags with it. PowerAmp has a tagger.
My favorite player is Rocket Player. Contacted them and they said dual card support was already on their to-do list. That's been a few months (and updates) ago though.

I should try PowerAmp on the X5iii. I know on the DX200 PA will stay in memory even after closing app and using another app. I have to go to the app in Settings and force stop PA. I use Foobar on desktop. I have tried it on my mobile phone and while it is good the UI just isn't the same quality as other player apps.

My long time favorite is Rocket Player as well. Good to know they are aware of this issue and possibly working on it.

Another one that I've come across and liked is Shuttle+. Tried Shuttle on DX200 but again have not tried on X5iii yet. Others I have and liked on other daps and will also try: Stellio, Phonograph, GoneMAD, BlackPlayer, & Pulsar. Too many apps!
 
Aug 6, 2017 at 1:44 PM Post #10,717 of 15,899
a petition wouldn't change a thing, the only way we could have third party players like Neutron to play files in their native bitrate/freq would be to ask the apps devs to get in touch with Fiio so they can include a driver for the X5 III's DACs. But as far as i know the AK drivers for the X5 are not even developped by Fiio but a third party (german company if i recall) company who privably licenses it to Fiio.
Not much hope for it to happen i'm afraid.
thanks, i contacted neutron developers and hiby player developers.... answer from hiby >



FiiO claims that 3rd party apps do not resample on their players, but I do not see hi-res audio outputs being enabled on players that explicitly support them, e.g. Poweramp or Neutron.

As for HiByMusic, it does not have support for hi-res audio outputs on the device itself (rather than the USB output) and the current version of HiByMusic resamples all music internally to the expected Android sample rate, regardless of what the Android system on a given device claims to do or not do.

This makes it no better or worse than any other 3rd party music player on a FiiO, because we have not seen any evidence that a FiiO is capable of bypassing sample rate conversion for any 3rd party music player.

SRC stands for Sample Rate Conversion within the HiBy music player. It allows you to e.g. set the output to a high sampling rate even when the music is at a low sampling rate.



from neutron

Hi Joko,

We tried to query Fiio's firmware developers regarding direct DAC
access API but even though their Tech. Support is responsive,
developers are keeping silence, e.g. do not reply. Thus without proper
communication with them it is currently impossible to implement direct
DAC support for Fiio except the standard output which Android OS
provides. May be it will change in the future, who knows.

I advise to keep Generic Driver switched on. Also switch on 32-bit...

Ok, then it seems firmware of your device has some issues with 32-bit
floating point samples. It is known problem of some earlier firmwares.

very very Disappointing...

... is 32 bit in neutron working for someone without disorted sound?
 
Last edited:
Aug 6, 2017 at 2:28 PM Post #10,719 of 15,899
They may well be overwhelmed with fixing true bugs on the X5III while also rolling out the new X7. Every company has to prioritize their efforts to try to attain the goals that they feel to be the most important. I have been involved in software development projects where the developers and QA folks were working 15 to 18 hours per day. Sometimes sleeping in their cubicles. There is simply not enough time to deal with everything. So they have to pick an chose fixing problems that they feel are the most important.

This problem is aggravating for many of us, but the device will do the job by simply using the Fiio player. I use it and it is OK, for the most part. It, at least, does not resample.
 
Aug 6, 2017 at 3:59 PM Post #10,720 of 15,899
It is a sample code of native playback 24bit/192kHz wav file for third-party App.
I hope this sample code will help developers of third-party App.
There are two points.

1. It is necessary to convert byte data of 24bit file to unsigned int 32bit byte data. Do not use float 32bit. (16bit do not need to be converted)

2. It is necessary to specify a special value of 10 for AudioFormat. ENCODING_PCM_FLOAT must not be specified. (16bit specify standard ENCODING_PCM_16 BIT)

Note
This sample code convert all byte data of audio file to 32bit at the beginning first and passes it to AudioTrack, so it can only be used with music files of very short time (a few seconds).
In actuality, convert byte data to uint32bit sequentially in the background thread.
About these processes, I think that music application developers have more technology than I do.
So I do not specifically describe code to convert to unsigned int 32bit.


Code:
// 24bit/192kHz wav file from external storage
File file = new File(path);
input = new FileInputStream(file);
                    
wavData = new byte[(int) input.available()];
input.read(wavData);
input.close();
int headerByteNum = caliculateWavHeaderByteNumber(wavData);
                  
// Convert 24bit to unsigned int 32bit. If 16bit, not require convert
wavData = Convert32bit(wavData, headerByteNum);

                    
int SamplingRate = 192000;
// 24bit AudioFormat.
int audioFormat = 10; // X5 3rd Custom AudioFormat????(java format?)
//int audioFormat = AudioFormat.ENCODING_PCM_FLOAT; // X5 3rd can't play 32bit float. require unsigned int 32bit.
// 16bit AudioFormat.
//int audioFormat = AudioFormat.ENCODING_PCM_16BIT; // 16bit

                  
int bufSize = android.media.AudioTrack.getMinBufferSize(SamplingRate, AudioFormat.CHANNEL_OUT_STEREO, audioFormat);
                    
AudioTrack audioTrack = new AudioTrack(
    new AudioAttributes.Builder()
    .setUsage(AudioAttributes.USAGE_MEDIA)
    .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
    .build(),
    new AudioFormat.Builder()
    .setChannelMask(AudioFormat.CHANNEL_OUT_STEREO)
    .setEncoding(audioFormat)
    .setSampleRate(SamplingRate)
    .build(),
    bufSize,
    AudioTrack.MODE_STREAM,
    AudioManager.AUDIO_SESSION_ID_GENERATE);

audioTrack.play();
audioTrack.write(wavData, headerByteNum, wavData.length - headerByteNum);
 
Aug 6, 2017 at 4:24 PM Post #10,721 of 15,899
I have no idea whether this would work. I am not a programmer. But I do appreciate that you took the time to do it!!
 
Aug 6, 2017 at 6:26 PM Post #10,723 of 15,899
Or maybe it is all of the above... The point is, I doubt that they are doing it out of lack of caring about customers or something else negative. Some folk seem to be taking this as a personal affront. As if Fiio doesn't care. My point is that I doubt sincerely that this is the case. They need all of the customers that they can get. They need to maintain their reputation to do that. There are simply practical limits to what they can do.
 
Aug 7, 2017 at 1:31 AM Post #10,725 of 15,899
Limited resources is always a condition that needs to be managed. I have purchased 4 FIIO daps and the first one I bought (the X1) had functioning gapless and replay gain. Expecting the X5iii or the X7ii to have these features fairly soon after being released is not an altogether unrealistic expectation. That said the most recent firmware release is performing much better for me than earlier versions. I've tried 3rd part apps but prefer the FIIO app's sound enough that I am willing to put up with its shortcomings. For example earlier tonight I was listening to my X5ii while walking my dog and trying to find The Wild Tchoupitoulas in the alpha sort proved to be a frustrating experience; however, once I the album the sound was wonderful. I guess what's frustrating is how close the unit is to being everything I want in a reasonably priced dap.
 
Last edited:

Users who are viewing this thread

Back
Top