• 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!

Topping D900 DAC Review

Rate this DAC:

  • 1. Poor (headless panther)

    Votes: 6 2.4%
  • 2. Not terrible (postman panther)

    Votes: 14 5.6%
  • 3. Fine (happy panther)

    Votes: 84 33.3%
  • 4. Great (golfing panther)

    Votes: 148 58.7%

  • Total voters
    252
Personally, i did dacs comparaison with some audio buddies ...
Good, you didn't hear any differences?

For the rest who give the "smart" examples, are you comparing dacs by reading specs? And you're telling me, who has both right now, that I didn't hear what I heard ? If so, then that's really funny :)))

This thread has zero value except for the first post, there are less than 10 messages from the real owners, the rest is just yapping. I posted my opinion for the people who want to buy the dac. If local snobs don't like it that's too bad for them.
 
Specs and measurements tells you how it sounds: neutral

If you believe they sound different, that's fine with everyone here, you are a free man
 
As far as I can read, it was specifically explained that your impression of there being a difference is 100% real. After all, nobody can tell you what you heard, felt or saw. It was also explained very well that the impression of a difference doesn't mean that one actually exists.

So, as far as I can see in the past couple of posts, nobody tried to tell you what you heard or did not hear. Fellow members simply pointed out that the data supports the fact that there is zero audible difference between these DACs.

If you are actually interested in finding out if your initial impression was correct or if the differences you think are there are just placebo, I encourage you to look into what is required for an unbiased and reliable comparison of audio devices. Primarily, that includes precise level-matching, blinding and instant switching.

Kudos to you for taking the time and effort to provide meaningful feedback to a newer member. It can be frustrating to have all you knew thrown away when joining this forum. Seeing a more seasoned member helping new members navigate that 'transition' is a much welcome sight. :)
 
Hi,

If you ask me, that is indeed a nice device made for those you do not want to be like everybody else.
That originality has a price.

As far as I am concernend I don't see the point of spending that amount just to be different..

Regards.
I may buy it not to be different, but, to be better than you, feel like a king of dacs. Thereafter, I could view you as an inferior dac being.

Such distinctions in dac ownership are important in this hobby, dac kings vs dac peons.
 
I love how you, guys, discussing what I heard and what not :) What will you say if I tell you that when there was a Topping A90 Discrete as a preamp in the path I indeed didn't hear the difference (the reasons I had it are not important) and was a bit disappointed? But when I removed it and connected the DACs directly to the power amp I noticed it. It's not day and night of course, but enough to keep the D900.
So, no preamp required with this dac, brah?
Dac straight to power amp sounds like a million bucks?
 
Topping's store has a selection of used-like-new D900s for $1309. For those in the US, they're shipping from a US warehouse. They come with a 1 year warranty and the 30 day return window still applies.


$1800 was a hard sell - $1300 is a much easier pill to swallow.
 
I received my used-but-new D900 today after it spent a few extra days in an Indiana USPS sorting facility as a vacation. It looked brand new; the display/dial still had the plastic protective film on it, the remote clearly had never been opened up for the battery installation, etc.

I had already removed my aging Bel Canto DAC 2.5 and RefLink, so this dropped right in with no real fuss. Plugged in the USB B cable coming out of my MusicPD server, patched in the AES XLR cable from the CD player and it "just worked". As one would expect, I couldn't hear a single difference between the DAC 2.5 and the D900 - with the exception of the volume control relays clicking. Those are fairly audible as you raise or lower the volume. Mute is a silent operation. The remote has some heft to it, and in my limited testing, works reliably and quickly. With the Buckeye 1ET6525SA amplifier gain set to low for both channels, I can only get to about -20db on the Topping volume control before my Thiel 2.4 SE's are uncomfortably loud!

Between the verified measurements of this unit, the two-in-one DAC/Preamplifier with hardware volume control, and the overall fit-and-finish of it, I'm pleased with it for $1300.

Now I just need Apollon Audio to respond to my questions sent over e-mail and I can finish modernizing my listening room setup....
 
Last edited:
The D900 does not seem to like 48khz/24bit PCM data. Parts of my music collection are from Bandcamp, and their FLAC downloads are almost always at that rate/depth. Listening to some Hania Rani tonight, the opening few seconds of a track has a high chance of glitching audibly. The tracks themselves are clean / free of problems; I've listened to them many times with other DACs in the mix with out a problem.

I've emailed Topping support, hopefully they have a fix already for this.

The glitches manifest almost like a CD skipping or sometimes like a dirty LP pickup, but only on 48khz tracks.
 
Last edited:
The D900 does not seem to like 48khz/24bit PCM data. Parts of my music collection are from Bandcamp, and their FLAC downloads are almost always at that rate/depth. Listening to some Hania Rani tonight, the opening few seconds of a track has a high chance of glitching audibly. The tracks themselves are clean / free of problems; I've listened to them many times with other DACs in the mix with out a problem.

I've emailed Topping support, hopefully they have a fix already for this.

The glitches manifest almost like a CD skipping or sometimes like a dirty LP pickup, but only on 48khz tracks.
Which input interface do you use?
 
Which input interface do you use?
This was over the USB B input on the back - no PEQ enabled or anything else.

Doing some testing tonight, it's clear that 24bit PCM audio over USB is the problem. Using a USB to AES adapter, I can send 48khz/24bit PCM to the D900 over AES and it plays without any glitches.
 
Last edited:
This was over the USB B input on the back - no PEQ enabled or anything else.

Doing some testing tonight, it's clear that 24bit PCM audio over USB is the problem. Using a USB to AES adapter, I can send 48khz/24bit PCM to the D900 over AES and it plays without any glitches.
@zdykstra: That's an interesting observation. Especially for USB I wouldn't expect issues since there's no synchronization to an external clock necessary.

What source / driver / audio protocol do you use?
W11?
WASAPI (exclusive)?
ASIO?

Using the Topping ASIO driver you may try to increase the buffer size.
You may try WASAPI in exclusive mode vs. non-exclusive in W11

I'm not familiar with the IOS world.
 
Last edited:
@zdykstra: That's an interesting observation. Especially for USB I wouldn't expect issues since there's no synchronization to an external clock necessary.

What source / driver / audio protocol do you use?
W11?
WASAPI (exclusive)?
ASIO?

Using the Topping ASIO driver you may try to increase the buffer size.
You may try WASAPI in exclusive mode vs. non-exclusive in W11

I'm not familiar with the IOS world.

My test host(s) were Linux systems, so no driver in the way that you're thinking. I'm running kernel 6.18.x on these machines, and class-compliant audio devices land in the snd_usb_audio kernel module. MusicPD and aplay (a command line ALSA interfacing tool) talked directly to the hardware device; no software mixers were used.

The D900 exposes an S32_LE USB endpoint - which is to say that it expects a PCM signed 32-bit little-endian audio stream. I ran a few tests where I converted a 48khz/24bit FLAC to wav, and then stripped precision from it. Sending a 16 bit, then 17 bit, then 18 bit .. up to 24 bit PCM audio signal encapsulated as an S32_LE stream - as I added in more bits of precision, the audible glitches grew more frequent. At 24 bits of precision, there were quite a few crackles.

The same playback tests were done against the D50 III over USB to an amplifier and my Bel Canto RefLink feeding AES into the D900 to an amplifier. The only thing that hit any snags was the D900 over USB - as the bit depth increased (with actual data, not just zeros, since we're packing everything in to an S32_LE format), the crackling/glitches increased relative to that depth.

I don't have any Windows systems, so I can't test with their driver. I imagine that it's just fine with their driver, as various bit depths/frequencies over all possible inputs should have been part of their test suite.
 
Last edited:
Thanks for the details - I forgot about Linux.
Unfortunately I'm not familiar with Linux either - tried this a couple of years ago and got discouraged at that time. Apparently the ease-of-use has improved a lot since then.

The observation with your tests with different bit-depth do sound really weird. Also that the crackling does not occur with different sample-rates.

Maybe someone in the community can try to reproduce this under Linux? That would at least give you the information if this is a general bug or if just your unit is affected.
 
Try updating firmware to latest version, although I suspect you will need to use Windows for that. Maybe a friend or family member has a Windows laptop to lend?
 
Try updating firmware to latest version, although I suspect you will need to use Windows for that. Maybe a friend or family member has a Windows laptop to lend?
Firmware upgrades on the D900 are super easy! For anybody reading, power off the D900, press and hold the front dial and then power it on via the power switch in the back. It will show up as a USB storage device on any computer (Linux, Windows, OS X). Just drag-and-drop the new uncompressed firmware file to the drive and it auto-updates on the spot. Power it off and then back on normally and it re-attaches itself as a class compliant USB audio device to the host computer.

Which is to say, I updated from version 1.47 to 1.48 and unfortunately it didn't fix anything. :(
 
Good to know! This upgrade proceedure is the best imo.

Try another USB cable? Or another computer to try different variables?
 
Good to know! This upgrade proceedure is the best imo.

Try another USB cable? Or another computer to try different variables?
Other computers and USB cables were tried. On the Linux side, no behavior changes at all. I tried foobar2000 on an older Intel MBP running macOS 11.something. Instead of crackles, at the first sign of a problem in a track the D900 simply stops outputting any audio at all. The VU meters / FFT display would drop to zero. macOS's USB audio driver/module must handle things slightly different than on Linux. 16bit resolution wav/flac files play as expected.

I would take that result with a huge grain of salt - that was my first time using foobar2000 on macOS. Maybe I missed some detail beyond using the D900 in Exclusive mode. I didn't put too much time in to the macOS tests - largely because whatever quirks macOS might have are mostly irrelevant to me. The D900 has to work flawlessly with Linux for me or it's not useful in my music room system.
 
The D900 exposes an S32_LE USB endpoint - which is to say that it expects a PCM signed 32-bit little-endian audio stream. I ran a few tests where I converted a 48khz/24bit FLAC to wav, and then stripped precision from it. Sending a 16 bit, then 17 bit, then 18 bit .. up to 24 bit PCM audio signal encapsulated as an S32_LE stream - as I added in more bits of precision, the audible glitches grew more frequent. At 24 bits of precision, there were quite a few crackles.

I have zero glitches, sending 32/352800 from a SOtM card, linear powered, and a tubulus USB cable.
Code:
# cat /proc/asound/D900/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 262144

In my server I can actually dither to whatever bit depth I want and encapsulate as an S32_LE stream, e.g. dithering to 24 bit still works, and does not reduce any glitches since I have none.

This is on AlmaLinux 9.X with an RT kernel.
 
Last edited:
I have zero glitches, sending 32/352800 from a SOtM card, linear powered, and a tubulus USB cable.
Code:
# cat /proc/asound/D900/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 262144

In my server I can actually truncate to whatever I want and encapsulate as an S32_LE stream, e.g. 24 bit still works.
Can I directly send you a Google Drive link to a couple of my test files? There are a few wav files in there of my tests, but the lone flac file is untouched from how Bandcamp sent the track to me. Could you try playing that back to see how it works for you? I was letting musicpd control the sample rate, so 48khz to match the track.

It's playing an album ripped from a CD, so it's at 44.1khz now.

# cat /proc/asound/D900/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 5513
buffer_size: 22050
 
Last edited:
Back
Top Bottom