Fiio X5 3rd gen || 2x AKM 4490 || Balanced Out || DSD || DXD | DTS | Android || Dual Card Slot
May 12, 2017 at 5:07 AM Post #8,866 of 15,897
@FiiO:
I connect my x5iii with my car hifi system (vw composition media) with bluetooth. So I have bluetooth audio streaming and I can control pause/play/previous/next song with the car controls. But: with the fiio audio app I don't see any information about the song in the display of my car, it shows only "FIIO". With the installed Spotify or poweramp apps I can see all the information, so there is a problem with the fiio app. Please correct this in next firmware versions.
And I hope there will come an USB audio connection, because with the fiio x3 I already have this working with my car hifi system.

BR
Dear Rincewinder17,

Thank you for your kind feedback. We will report this to our engineers and try to improve it.

Best regards
 
FiiO Stay updated on FiiO at their sponsor profile on Head-Fi.
 
https://www.facebook.com/FiiOAUDIO https://twitter.com/FiiO_official https://www.instagram.com/fiioofficial/ https://www.fiio.com support@fiio.com
May 12, 2017 at 5:09 AM Post #8,867 of 15,897
Thank you. So, to summarise... without external DAC (just the player and headphones).. only native fiio player will play hi-res without resampling. All other 3rd party players will play trough Android with resampling. Is it correct?
 
Last edited:
May 12, 2017 at 5:31 AM Post #8,868 of 15,897
Thank you. So, to summarise... without external DAC (just the player and headphones).. only native fiio player will play hi-res without resampling. All other 3rd party players will play trough Android with resampling. Is it correct?

yes you got it, unless the third party app includes a driver for direct access to the DAC. I'm not aware if some have this driver.
 
May 12, 2017 at 5:43 AM Post #8,869 of 15,897
Hi WayTooCrazy,

I have the same third-party app's S/PDIF problem as the following post of the FiiO forum.
http://fiio.me/forum.php?mod=viewthread&tid=41957&page=1#pid118555

The following is the audio_policy.conf file of X5 3rd. This may not matter.

Code:
# Global configuration section: lists input and output devices always present on the device
# as well as the output device selected by default.
# Devices are designated by a string that corresponds to the enum in audio.h

global_configuration {
  attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_SPDIF
  default_output_device AUDIO_DEVICE_OUT_SPEAKER
  attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC
}

# audio hardware module section: contains descriptors for all audio hw modules present on the
# device. Each hw module node is named after the corresponding hw module library base name.
# For instance, "primary" corresponds to audio.primary.<device>.so.
# The "primary" module is mandatory and must include at least one output with
# AUDIO_OUTPUT_FLAG_PRIMARY flag.
# Each module descriptor contains one or more output profile descriptors and zero or more
# input profile descriptors. Each profile lists all the parameters supported by a given output
# or input stream category.
# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".

audio_hw_modules {
  primary {
    outputs {
      primary {
        sampling_rates 44100|48000
        channel_masks AUDIO_CHANNEL_OUT_STEREO
        formats AUDIO_FORMAT_PCM_16_BIT
        devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_SPDIF
        flags AUDIO_OUTPUT_FLAG_PRIMARY
      }
      hifi_direct {
        sampling_rates 6000|8000|11025|22050|16000|24000|32000|64000|128000|44100|48000|88200|96000|176400|192000|352800|384000
        channel_masks AUDIO_CHANNEL_OUT_STEREO
        formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT|AUDIO_FORMAT_DSD64|AUDIO_FORMAT_DSD128|AUDIO_FORMAT_DSD256
        devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_SPDIF
        flags AUDIO_OUTPUT_FLAG_DIRECT
      }   
    }
    inputs {
      primary {
        sampling_rates 8000|11025|16000|22050|32000|44100
        channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
        formats AUDIO_FORMAT_PCM_16_BIT
        devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET
      }
    }
  }
  a2dp {
    outputs {
      a2dp {
        sampling_rates 44100
        channel_masks AUDIO_CHANNEL_OUT_STEREO
        formats AUDIO_FORMAT_PCM_16_BIT
        devices AUDIO_DEVICE_OUT_ALL_A2DP
      }
    }
  }
  alsa_usb {
    outputs {
      alsa_usb {
        sampling_rates 44100|48000
        channel_masks AUDIO_CHANNEL_OUT_STEREO
        formats AUDIO_FORMAT_PCM_16_BIT
        devices AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET
      }
    }
    inputs {
      alsa_usb {
        sampling_rates 8000|11025|16000|22050|32000|44100|48000
        channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
        formats AUDIO_FORMAT_PCM_16_BIT
        devices AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET
      }
    }
  }
  usb {
    outputs {
      usb_accessory {
        sampling_rates 44100
        channel_masks AUDIO_CHANNEL_OUT_STEREO
        formats AUDIO_FORMAT_PCM_16_BIT
        devices AUDIO_DEVICE_OUT_USB_ACCESSORY
      }
      usb_device {
        sampling_rates dynamic
        channel_masks dynamic
        formats dynamic
        devices AUDIO_DEVICE_OUT_USB_DEVICE
      }
    }
  }
}

Could anyone try replicating hifi_direct output configuration to primary output and see if third party apps could output HighRes to external DACs?
 
May 12, 2017 at 6:08 AM Post #8,870 of 15,897
yes you got it, unless the third party app includes a driver for direct access to the DAC. I'm not aware if some have this driver.

Okey.. hope it would be fixed somehow. Otherwise all this importance for Android 5.0 that actually can pass data directly to the DAQ has no sense (
 
May 12, 2017 at 7:38 AM Post #8,871 of 15,897
A quick google shows that there may also be generic Android profiles which transcode to mp3. You may be getting one of those instead.
Basically your server changes it's config to match what it thinks the client needs and that may be going wrong - so just because it works for one client, doesn't mean it will work for everything under the sun.
Here is a quote from the Serviio "Getting Started" page which may help:
"You can select the appropriate profile in the Status section. You will see a list of devices that were found on your network. If your device has been recognized and a proper profile has been determined you can start viewing your content. In other cases you might have to select a profile for the found device, by clicking the Edit button."

Thanks for the assistance. Serviio does not recognize the X5 as a unique device, so it uses applies its generic DLNA profile. I examined the generic DLNA profile settings in the "profiles.xml" file, and there are no audio transcode instructions for FLAC files. The generic profile entry for FLAC files is:

<MediaFormatProfile mime-type="audio/flac">FLAC</MediaFormatProfile>

The generic profile entry for MP3 files is:

<MediaFormatProfile mime-type="audio/mpeg">MP3</MediaFormatProfile>

There are no other occurrences of "FLAC" in the generic DLNA profile that would indicate transcoding is taking place. Any other suggestions?
 
May 12, 2017 at 8:18 AM Post #8,872 of 15,897
Thanks for the assistance. Serviio does not recognize the X5 as a unique device, so it uses applies its generic DLNA profile. I examined the generic DLNA profile settings in the "profiles.xml" file, and there are no audio transcode instructions for FLAC files. The generic profile entry for FLAC files is:

<MediaFormatProfile mime-type="audio/flac">FLAC</MediaFormatProfile>

The generic profile entry for MP3 files is:

<MediaFormatProfile mime-type="audio/mpeg">MP3</MediaFormatProfile>

There are no other occurrences of "FLAC" in the generic DLNA profile that would indicate transcoding is taking place. Any other suggestions?
Hmmmm - I don't have a Serviio installation I can experiment with, unfortunately. I've done some testing with my Synology and it's working "out of the box" for me (other than I've disabled all transcoding). When I checked, I was getting the Android profile, but I've now changed it to the Default profile but there was no real difference at the X5 end either way (note that there are no guarantees that the profiles on the Synology are the same as on Serviio).
I always "browse by folder" even when using DLNA - maybe that makes a difference? I'll do some more experimenting tonight (if I have time).
 
May 12, 2017 at 8:50 AM Post #8,873 of 15,897
Thank you. So, to summarise... without external DAC (just the player and headphones).. only native fiio player will play hi-res without resampling. All other 3rd party players will play trough Android with resampling. Is it correct?

That is incorrect... if the player is sending the track as-it-is to the Android audio subsystem, it will play natively. Oftentimes, players does not (e.g. using its own EQ, bass boost, DVC, etc).
 
May 12, 2017 at 8:59 AM Post #8,874 of 15,897
Drive-by note: Tuff-Luv is taking pre-orders for the X5III/A5 case. They indicate it will begin shipping in about 3 weeks.
 
May 12, 2017 at 9:37 AM Post #8,875 of 15,897
Drive-by note: Tuff-Luv is taking pre-orders for the X5III/A5 case. They indicate it will begin shipping in about 3 weeks.


Finally, I will be getting their standard wallet for the X5III at £34.99, my x5II wallet still looks brand new.

upload_2017-5-12_14-37-13.jpeg
 
May 12, 2017 at 9:45 AM Post #8,876 of 15,897
Hmmmm - I don't have a Serviio installation I can experiment with, unfortunately. I've done some testing with my Synology and it's working "out of the box" for me (other than I've disabled all transcoding). When I checked, I was getting the Android profile, but I've now changed it to the Default profile but there was no real difference at the X5 end either way (note that there are no guarantees that the profiles on the Synology are the same as on Serviio).
I always "browse by folder" even when using DLNA - maybe that makes a difference? I'll do some more experimenting tonight (if I have time).

Thanks. I have all transcoding disabled in Serviio, so I don't think the problem is related to transcoding. I also only use folder browsing from within all my DLNA clients. The problem is not necessarily that the Fiio Music Player will not play the FLAC files from my server, it does not even see them. It sees the entire folder structure perfectly, but any subfolder with FLAC files is just empty. It seems to be a fairly basic issue of the music player not recognizing the .flac file extension, even though all of my other DLNA clients that also use the same generic DLNA profile see the files perfectly. I'm not sure what else to troubleshoot at this point.
 
May 12, 2017 at 10:11 AM Post #8,877 of 15,897
That is incorrect... if the player is sending the track as-it-is to the Android audio subsystem, it will play natively. Oftentimes, players does not (e.g. using its own EQ, bass boost, DVC, etc).
I was asking regarding hi res formats mainly.. Lets say we have file in hi res.. 2822400 Hz, 1962 kbps, 1 bit, Stereo.
It can arrive directly to the DAC and will be converted to the analouge signal by the Fiio hardware. This how native fiio player handle it. Is it correct?
Now, if this file opened by the 3d party players. What will be the scenario.. It goes to the Android, downsample to 44-48.. and then arrive to the DAC?
HibyMusic give this information.. it shows correct file information but as output device report Android 44khz, 16bit
 
May 12, 2017 at 10:18 AM Post #8,878 of 15,897
Thank you. So, to summarise... without external DAC (just the player and headphones).. only native fiio player will play hi-res without resampling. All other 3rd party players will play trough Android with resampling. Is it correct?

I was asking regarding hi res formats mainly.. Lets say we have file in hi res.. 2822400 Hz, 1962 kbps, 1 bit, Stereo.
It can arrive directly to the DAC and will be converted to the analouge signal by the Fiio hardware. This how native fiio player handle it. Is it correct?

yes correct

Now, if this file opened by the 3d party players. What will be the scenario.. It goes to the Android, downsample to 44-48.. and then arrive to the DAC?
HibyMusic give this information.. it shows correct file information but as output device report Android 44khz, 16bit

It's not Android who is downsampling..

3rd Party App -> sends HD stream to DAC -> do i know this DAC model and its specs ? do i have a driver ? oh no i don't -> use generic driver -> downsample to 44 or 48Khz

3rd Party App -> sends HD stream to DAC -> hey it's an AK ! i have the driver for it ! i know what it can handle -> sends HD stream natively to the DAC.

Most third party apps don't have a driver for the DAC that's why it's downsampled cause using a generic driver.
 
May 12, 2017 at 10:49 AM Post #8,879 of 15,897
yes correct



It's not Android who is downsampling..

3rd Party App -> sends HD stream to DAC -> do i know this DAC model and its specs ? do i have a driver ? oh no i don't -> use generic driver -> downsample to 44 or 48Khz

3rd Party App -> sends HD stream to DAC -> hey it's an AK ! i have the driver for it ! i know what it can handle -> sends HD stream natively to the DAC.

Most third party apps don't have a driver for the DAC that's why it's downsampled cause using a generic driver.


Yep.. exactly how i see it.
Thanks
 
May 12, 2017 at 10:59 AM Post #8,880 of 15,897
It's not Android who is downsampling..

3rd Party App -> sends HD stream to DAC -> do i know this DAC model and its specs ? do i have a driver ? oh no i don't -> use generic driver -> downsample to 44 or 48Khz

3rd Party App -> sends HD stream to DAC -> hey it's an AK ! i have the driver for it ! i know what it can handle -> sends HD stream natively to the DAC.

Most third party apps don't have a driver for the DAC that's why it's downsampled cause using a generic driver.

Very succinctly explained. It's time the 3rd party app makers be requested for a AK specific driver.
 

Users who are viewing this thread

Back
Top