• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

FIIO KA15 Portable DAC & Headphone Amp Review

Rate this DAC & HP amp:

  • Poor

    Votes: 1 3.2%
  • Not terrible

    Votes: 3 9.7%
  • Fine

    Votes: 15 48.4%
  • Great

    Votes: 12 38.7%

  • Total voters
    31
@jkim the shelf filters are also wrong in the same way when set up using the Android App.
Thanks for the info. Since you must be an avid user of the KA15, could you create a list of desired firmware update items for it? Listing them in the order of importance would be great.
 
I was thinking about KA15 for a different reason, this little thing has optical SPDiF out. I got the JM20MAX, plenty of volume for the AUX input, but the sound is brighter/dirtier than most of sources capable of CD playback in analog mode. But with KA15 I could use USB to SPDiF conversion to run my Denon's AVR BB DACs.
Regarding the DRE and Connexant distortions ‍, good some manufacturers pay attention to the issue. Also huge thanks for giving the issue more publicity - I bet more people look at the ASR reviews than they pay attention to what Roman has to say on given topic.
 
I was thinking about KA15 for a different reason, this little thing has optical SPDiF out. I got the JM20MAX, plenty of volume for the AUX input, but the sound is brighter/dirtier than most of sources capable of CD playback in analog mode. But with KA15 I could use USB to SPDiF conversion to run my Denon's AVR BB DACs.
Regarding the DRE and Connexant distortions ‍, good some manufacturers pay attention to the issue. Also huge thanks for giving the issue more publicity - I bet more people look at the ASR reviews than they pay attention to what Roman has to say on given topic.
You do not need the KA15 for that purpose alone. Just get the SMSL PO100 or the BerryBak Bea1 to convert USB audio to S/PDIF.
 
I was thinking about KA15 for a different reason, this little thing has optical SPDiF out. I got the JM20MAX, plenty of volume for the AUX input, but the sound is brighter/dirtier than most of sources capable of CD playback in analog mode. But with KA15 I could use USB to SPDiF conversion to run my Denon's AVR BB DACs.
Regarding the DRE and Connexant distortions ‍, good some manufacturers pay attention to the issue. Also huge thanks for giving the issue more publicity - I bet more people look at the ASR reviews than they pay attention to what Roman has to say on given topic.
The SPDIF output is not optical - it's coaxial
 
Based on @roladyzator's excellent summary of issues and my measurements of the Q parameter effects, I believe the following is a list of functionalities we want to ask FiiO to improve or implement:
  • Unwanted behavior due to its sleep mode:
    • A loud pop is generated when the KA15 goes into a sleep mode a few seconds after playback is stopped. This occurs especially when the KA15 is connected to a high-impedance input like an amp or active speakers. There's a workaround like holding volume down before connecting to USB that prevents it from entering sleep; however, with this method it still enters a certain kind of sleep and generates some noise.
    • There's a skip of a half second when playback (re)starts from its sleep. The behavior of the KA15 is less desirable compared to other devices according to these tests.
    • Suggested fix: Either improve its sleep mechanism, or if it's too much trouble, at least give the user greater control over its sleep behavior. For example, power saving options like (a) Full, (b) Medium, (c) Off may be added. We do understand FiiO incorporated effective power saving through its sleep mode (possibly multiple stages). However, due to its unwanted effects, some users simply do not need this feature (e.g., connected to a computer).
  • Incorrect Q parameter of shelving filters:
    • The high and low shelf filters are described with Q, but the Q factor value is not interpreted as such by the app. It seems to actually be taken as a "shelf slope" or S parameter. For example, to have an effect of Q = 0.707, the user have to enter Q = 1.0. This incorrect translation was measured here. The Q factor has a clear, technical definition. It should not be mistaken as the S parameter.
    • Suggested fix: Revise the code to use an appropriate formula. The easiest fix would be simply converting user input of Q to S = sqrt(2) x Q.
@Amperage: Can you make this happen? ;)
 
Last edited:
Hi. Sorry if I can't get my point across. Kinda new in the audio hobby. Hoping you all are having a great day. I'd like to know how much dB's the PEQ on the KA15 lower down by default. I don't get it because by default just using the PEQ already lowers down the volume from what I can hear so it wouldn't be necessary to lower down any further in the global gain depending on what you are using. Thanks.
 
Hi. Sorry if I can't get my point across. Kinda new in the audio hobby. Hoping you all are having a great day. I'd like to know how much dB's the PEQ on the KA15 lower down by default. I don't get it because by default just using the PEQ already lowers down the volume from what I can hear so it wouldn't be necessary to lower down any further in the global gain depending on what you are using. Thanks.
If you boost given range of freqs by given amount of dBs, you need to lower the overall level by the same amount to prevent DAC overload and very ugly distortions, normally you would want max level never hitting the 0dB, but more like -3dB, -1dB max. And this works for every digital system. Some EQs automatically lower the preamp volume when the EQ is applied. Never saw PEQ lowering level more than it is needed to prevent DAC clipping, and I don't Fiio does it differently.
 
Hi. Sorry if I can't get my point across. Kinda new in the audio hobby. Hoping you all are having a great day. I'd like to know how much dB's the PEQ on the KA15 lower down by default. I don't get it because by default just using the PEQ already lowers down the volume from what I can hear so it wouldn't be necessary to lower down any further in the global gain depending on what you are using. Thanks.
12dB
 
Hi. Sorry if I can't get my point across. Kinda new in the audio hobby. Hoping you all are having a great day. I'd like to know how much dB's the PEQ on the KA15 lower down by default. I don't get it because by default just using the PEQ already lowers down the volume from what I can hear so it wouldn't be necessary to lower down any further in the global gain depending on what you are using. Thanks.
+12 dB pregain in the FiiO Control app and website is actually no change in volume.

For example, if you are following Oratory1990's PDF files and they call for -5.5 dB preamp, in Fiio app you'd apply 12 - 5.5 = 6.5.

However, it seems that when you leave the web app and get back in, the gain's decimal part is truncated (6.5 becomes 6). I haven't done any measurements if it's a display issue or if the gain is actually changed.
 
Based on @roladyzator's excellent summary of issues and my measurements of the Q parameter effects, I believe the following is a list of functionalities we want to ask FiiO to improve or implement:
  • Unwanted behavior due to its sleep mode:
    • A loud pop is generated when the KA15 goes into a sleep mode a few seconds after playback is stopped. This occurs especially when the KA15 is connected to a high-impedance input like an amp or active speakers. There's a workaround like holding volume down before connecting to USB that prevents it from entering sleep; however, with this method it still enters a certain kind of sleep and generates some noise.
    • There's a skip of a half second when playback (re)starts from its sleep. The behavior of the KA15 is less desirable compared to other devices according to these tests.
    • Suggested fix: Either improve its sleep mechanism, or if it's too much trouble, at least give the user greater control over its sleep behavior. For example, battery saving options like (a) Full, (b) Medium, (c) Off may be added. We do understand FiiO incorporated effective battery saving through its sleep mode (possibly multiple stages). However, due to its unwanted effects, some users simply do not need this feature (e.g., connected to a computer).
  • Incorrect Q parameter of shelving filters:
    • The high and low shelf filters are described with Q, but the Q factor value is not interpreted as such by the app. It seems to actually be taken as a "shelf slope" or S parameter. For example, to have an effect of Q = 0.707, the user have to enter Q = 1.0. This incorrect translation was measured here. The Q factor has a clear, technical definition. It should not be mistaken as the S parameter.
    • Suggested fix: Revise the code to use an appropriate formula. The easiest fix would be simply converting user input of Q to S = sqrt(2) x Q.
@Amperage: Can you make this happen? ;)
These improvements would be great. I'd also noticed that the global gain in the PEQ truncates the decimal part, for example if you put -8.3 the next time you load the profile it just says -8
 
Based on @roladyzator's excellent summary of issues and my measurements of the Q parameter effects, I believe the following is a list of functionalities we want to ask FiiO to improve or implement:
  • Unwanted behavior due to its sleep mode:
    • A loud pop is generated when the KA15 goes into a sleep mode a few seconds after playback is stopped. This occurs especially when the KA15 is connected to a high-impedance input like an amp or active speakers. There's a workaround like holding volume down before connecting to USB that prevents it from entering sleep; however, with this method it still enters a certain kind of sleep and generates some noise.
    • There's a skip of a half second when playback (re)starts from its sleep. The behavior of the KA15 is less desirable compared to other devices according to these tests.
    • Suggested fix: Either improve its sleep mechanism, or if it's too much trouble, at least give the user greater control over its sleep behavior. For example, battery saving options like (a) Full, (b) Medium, (c) Off may be added. We do understand FiiO incorporated effective battery saving through its sleep mode (possibly multiple stages). However, due to its unwanted effects, some users simply do not need this feature (e.g., connected to a computer).
  • Incorrect Q parameter of shelving filters:
    • The high and low shelf filters are described with Q, but the Q factor value is not interpreted as such by the app. It seems to actually be taken as a "shelf slope" or S parameter. For example, to have an effect of Q = 0.707, the user have to enter Q = 1.0. This incorrect translation was measured here. The Q factor has a clear, technical definition. It should not be mistaken as the S parameter.
    • Suggested fix: Revise the code to use an appropriate formula. The easiest fix would be simply converting user input of Q to S = sqrt(2) x Q.
@Amperage: Can you make this happen? ;)
Another issue is below:
  • When connecting a headset (if Microphone is enabled), the sample rate gets changed to 48000. After disconnecting the headset, it isn't set back to what it was before.
  • Disconnecting a headset is unpausing music.
I'm not sure how they can solve it, as when you connect a headset, it's like you connected a different USB device - one that has a mic.
Disconnecting the headset is again re-connecting the KA15 as a USB device without mic.

My use case is having some headphones for music listening (without a microphone) and a headset with a mic for voice calls.
When I disconnect my headset, music playback gets unpaused (even before I plug my "music" headphones) and sample rate is now 48000 Hz regardless of what was set before connecting a headset.

I have to manually pause the music and set the sample rate back to what it was before.
 
If you boost given range of freqs by given amount of dBs, you need to lower the overall level by the same amount to prevent DAC overload and very ugly distortions, normally you would want max level never hitting the 0dB, but more like -3dB, -1dB max. And this works for every digital system. Some EQs automatically lower the preamp volume when the EQ is applied. Never saw PEQ lowering level more than it is needed to prevent DAC clipping, and I don't Fiio does it differently.
I have a KA17 and tbh the PEQ UI is utterly grim. It's the most painstaking process in the android app, however be that as it is, I've not altered the preamp gain as I assumed this was auto (like toneboosters in uapp), I guess not?
 
A new firmware update has been released for the KA15. It adds some new cool themes, and it also says "other system optimizations" but I don't really know what that means or what it changes. Let me know your thoughts. Have a nice one!
 
You do not need the KA15 for that purpose alone. Just get the SMSL PO100 or the BerryBak Bea1 to convert USB audio to S/PDIF.
I went with SMSL PO100 Pro. Satisfied for now. I was surprised how small the unit is. To me via optical things sound way more natural than by using JM20MAX and line input on Denon AVR.
 
The new firmware V1.1.0 is bugged - EQ profiles are reset to the default ones, though the custom name remains.
Changing any EQ slider or loading an saved EQ profile bricks the device - after re-connecting, it doesn't boot.

To restore the device, use Android FiiO app and connect to a new device, and you will see device "USB20" with the KA15 icon.
It will allow reflashing 1.1.0 firmware.

You can then use the V.1.0.5 file from the FiiO website to downgrade it using a PC.
 
Based on @roladyzator's excellent summary of issues and my measurements of the Q parameter effects, I believe the following is a list of functionalities we want to ask FiiO to improve or implement:
  • Unwanted behavior due to its sleep mode:
    • A loud pop is generated when the KA15 goes into a sleep mode a few seconds after playback is stopped. This occurs especially when the KA15 is connected to a high-impedance input like an amp or active speakers. There's a workaround like holding volume down before connecting to USB that prevents it from entering sleep; however, with this method it still enters a certain kind of sleep and generates some noise.
    • There's a skip of a half second when playback (re)starts from its sleep. The behavior of the KA15 is less desirable compared to other devices according to these tests.
    • Suggested fix: Either improve its sleep mechanism, or if it's too much trouble, at least give the user greater control over its sleep behavior. For example, power saving options like (a) Full, (b) Medium, (c) Off may be added. We do understand FiiO incorporated effective power saving through its sleep mode (possibly multiple stages). However, due to its unwanted effects, some users simply do not need this feature (e.g., connected to a computer).
  • Incorrect Q parameter of shelving filters:
    • The high and low shelf filters are described with Q, but the Q factor value is not interpreted as such by the app. It seems to actually be taken as a "shelf slope" or S parameter. For example, to have an effect of Q = 0.707, the user have to enter Q = 1.0. This incorrect translation was measured here. The Q factor has a clear, technical definition. It should not be mistaken as the S parameter.
    • Suggested fix: Revise the code to use an appropriate formula. The easiest fix would be simply converting user input of Q to S = sqrt(2) x Q.
@Amperage: Can you make this happen? ;)
I've been following a few different threads, and just to confirm:

Peak filters are fine on the KA15, but high and low shelf filters need their Q values converted through S = sqrt(2) x Q?

Also on the KA15, I've heard that Fiio automatically applies -12 dB volume reduction on PEQ, so you don't need the preamp settings, perhaps? I messed around with my LCD-2C settings, and I went from virtually maxing out volume to get something listenable to having a solid amount of headroom by getting rid of most of my preamp reduction.
 
I've been following a few different threads, and just to confirm:

Peak filters are fine on the KA15, but high and low shelf filters need their Q values converted through S = sqrt(2) x Q?

Also on the KA15, I've heard that Fiio automatically applies -12 dB volume reduction on PEQ, so you don't need the preamp settings, perhaps? I messed around with my LCD-2C settings, and I went from virtually maxing out volume to get something listenable to having a solid amount of headroom by getting rid of most of my preamp reduction.
Yes, there is a -12 dB volume reduction. 0 dB gain in FiiO UI apps is -12 dB instead of 0 dB.

The relationship between S and Q is more complex. Unless S is 1, it also depends on the gain. Look for words "The relationship between shelf slope, S
, and Q" in the Audio EQ Cookbook document.

But I'm not sure what exactly FIIO is following. Perhaps more measurments of expected vs actual filter shape are needed to confirm what is the nature of the error
 
Yes, there is a -12 dB volume reduction. 0 dB gain in FiiO UI apps is -12 dB instead of 0 dB.
I didn't measure this earlier. Just confirmed this is true. FiiO made a really bad decision---as usual their design is not thoughtful. Why on earth block the precious upper gain range by a whopping 12 dB? Sure, the KA15 is relatively powerful but still some users have chosen it to drive relatively insensitive headphones. In that case some softly recorded material may require near-max device volume when EQ is applied.

In fact, I just confirmed that the device volume control on KA15 is applied in DSP before DAC. In this case NO global preamp cut is necessary! A user's volume adjustment would serve as a preamp cut, and at the same time could increase volume for softly recorded tracks. The design would have been same as the excellent Qudelix or RME design (despite KA15's volume control being fully digital unlike Qudelix or RME). But FiiO must not have thought about this consequence...
EDIT. The above information has been corrected in another post.

The relationship between S and Q is more complex. Unless S is 1, it also depends on the gain. Look for words "The relationship between shelf slope, S
, and Q" in the Audio EQ Cookbook document.

But I'm not sure what exactly FIIO is following. Perhaps more measurments of expected vs actual filter shape are needed to confirm what is the nature of the error
You're right. It was my mistake in calling their implemented parameter "shelf slope (S)". In fact, it is not. Their parameter simply = sqrt(2) x Q. That is, their implemented "Q" parameter is proportional to actual Q by a constant factor of sqrt(2). I verified it.
 
Last edited:
as usual their design is not thoughtful.
I think it is an area where FiiO is definitely lacking. They appear to make very good hardware, but that’s their problem: they focus too much on the HW, struggle to support it with good SW, and end up with poor implementations or sloppy details.
Would make me think twice before buying expensive FiiO devices…
 
Back
Top Bottom