No worries! Putting a little low-power computer like this on top of the DAC did not affect noise level from the Sabaj DAC RCA/XLR outputs. Don't do this with more powerful computers obviously... |
As expressed previously, my philosophy around computer audio is that given the speed of progress in computing technology, it really makes no sense to be building expensive and very fast computers as audio playback/processing devices. For me, if I have a general computer in an audio room, I would want to keep electrical noise low (ie. low power) while also targeting an ideally fanless solution. Inevitably, in less than 10 years, a powerful computer today would be very much obsolete. Monster machines would more than likely end up at the bottom of your closet with little value or interest left even if one wanted to sell. In fact, unless I'm doing a lot of 3D graphics, gaming, or editing videos, IMO progressively smaller, quieter, lower-power (let's aim for 10W or less with excellent performance!), and less expensive machines are where progress is heading for consumer-level general computing.
At the end of the article last week, I spoke about how I reduced the fan speed and lowered the Mini S power limit to basically "silent" performance. Today, let's consider further what we can do with a machine like that in the audiophile sound room.
First let's quickly recap. What I did was reduced the Beelink Mini S computer's CPU limit to 8.5W with 10W turbo mode (stock CPU TDP is at 15W). This means that when not running at 100%, the machine's total power use would sit between 6-7W idle and 17W max.
With power limiting, the fan speed was dropped down to 30% by 55°C, and raises to 60% by 71°C. By doing this, the machine is basically silent in my quiet sound room (<30dBA SPL in the evenings) and the only noise is when I put my ear against the machine within inches. Ideally, I would still prefer a fanless solution but given the balance of power, energy expenditure, size, and airflow in one's system, a quiet fan is still very reasonable.
Even with the power limit imposed, the speed of the Celeron N9095A is reasonably good:
Notice I highlighted the "Maximum" column in the HWiNFO64 readings. With the fan speed reduced, and ambient room temperature of 21°C, max core and CPU package remains below 70°C after 900 seconds of heavy LinPack processing. |
With an average FPU performance more than 23GFlops using LinPack Xtreme, we can put that processing power into audio tasks such as very high quality upsampling as we did using the MeLE Quieter2Q discussed a few months back. However, with newer HQPlayer versions after 4.16.2+ requiring the AVX2 instruction set in Windows, there is no choice but to find a different way to run it on these non-AVX2 Celeron machines... Enter Linux.
Thankfully, Signalyst has continued with keeping the non-Fedora Linux builds free of needing AVX2 which is great news for those of us who are comfortable with installing Ubuntu on our hardware and want to use HQPlayer.
So here's the objective: Let's transform the Beelink Mini S into a low-power, quiet Roon audio streamer based on Ubuntu/Linux, capable of multichannel streaming over HDMI to my AV receiver, and using its processing power for very high quality filtering to my 2-channel USB DAC (Sabaj A20d 2022 currently in the sound room), as well as for DSD transcoding using HQPlayer.
(HQPlayer should be able to handle multichannel upsampling to 192kHz to the HDMI AV receiver as well although I did not try.)
Step-by-step, let's talk about what I did:
1. Go to Ubuntu and download the current LTS build (22.04.1 at this time).
2. I used balenaEtcher to write the Ubuntu ISO to a USB stick:
3. Now we boot into the USB stick on the Beelink Mini S and install the Ubuntu/Linux OS. You can go into the BIOS and tell it to boot from the stick. These days, the Ubuntu install is smart and will allow you to conveniently partition the SSD (this is where the larger 256GB drive comes in useful) so you can run it along side Windows 11.
4. Go into the Beelink BIOS and set the Ubuntu Grub boot partition as higher priority so we can select either Linux/Ubuntu or Windows 11 at computer start-up.
5. Once you're in Ubuntu desktop, download the Linux build of HQPlayer (current version 4.19) into the machine and install it. The Ubuntu software install app should be able to do this without fuss (right click, "Open with other applications", "Software Install"):
Unfortunately after installing, if you want to uninstall, it's not as easy as clicking on the red trashcan due to various dependencies. For completeness, to uninstall HQPlayer 4 Desktop, do this in a terminal:
sudo dpkg -r hqplayer4desktop
6. You should be able to run HQPlayer now under Linux on the non-AVX2 Celeron CPU:
As you can see, that's the familiar HQPlayer main window (greyed out) and the "Settings" menu to configure the kind of filtering, dithering, and DSD modulator; yeah, it's complicated and the manual doesn't show in detail what each setting does. I've discussed previously and showed the effects of many of these settings here and here. Be mindful that the program takes time (like maybe 10 seconds) to get itself ready every time you leave the "Settings" menu. This is normal and is seen even on much faster computers. One problem with this delay is that it makes an accurate A/B test difficult due to the limited duration of echoic memory.
As discussed with the MeLE Quieter2Q article, for convenience I like to set the machine to a static IP (eg. 192.168.1.90) which I can easily remember and point to whenever necessary.
7. Now point Roon at the HQPlayer machine (ie. my static IP):
And you should see HQPlayer among your audio output devices:
8. While I'll be using HQPlayer as my high-quality 2-channel upsampled stereo device to the Sabaj DAC, let's turn our attention to the multichannel HDMI Roon output to my Yamaha AV receiver:
A. Install Linux Roon Bridge which is also needed if you just want to stream to USB without HQPlayer. Follow Roon's instructions here. I just did the "Easy Installer" route which worked without any problems. I appreciate Roon's detailed, easy to follow, documentation. [Note, there could be permission errors with Curl - make sure to install it in the command line with "sudo apt-get install curl" rather than through Snap Store in Ubuntu.]
B. Set the Ubuntu output to the multichannel layout in the "Sound" settings menu. For me, I went with 7.1:
C. Within Roon, you should be able to see the HDMI outputs. Looking from the back of the Beelink machine, the rightmost HDMI port is what I'm using, this is mapped to "HDA Intel PCH HDMI 0" which I can rename as "Beelink-HDMI 7.1":
In the "Device setup" for "Beelink-HDMI 7.1", we can adjust some of the details for the multichannel output including the channel layout (which correlates with the setting I have in Ubuntu) and you can send stereo/mono as 7.1. I noticed in Windows, I had to turn this to "Yes" otherwise sound would not play. Linux does a better job and this could be set to default "No" which then allows the receiver to process 2.0 input as it sees fit. For example, most modern AV receivers can take the 2.0 and remix it through Dolby Surround Upmixer (DSU). Doing this fills out the sound by steering some content to the rears, surround, center and Atmos height speakers which I often enjoy. Sometimes I prefer DTS Neural:X upmixing, but it tends to be a little too aggressive with surround and height channels than DSU.With that, you should be all set with the HDMI output!
9. Consider Linux power options and turning on auto login. I've noticed that when Ubuntu puts the machine to sleep and then wakes up (eg. with movement of the trackpad or key stroke), it does a really good job of picking up the connected HDMI AV receiver and handshaking with the USB DAC. This is great because I like saving power so it means I don't need the machine turned on 24/7.
A few things to adjust to make this work smoother:
After these steps, you should be well on your way to playing around with HQPlayer's myriad settings as well as HDMI multichannel streaming through Roon. It should all work quite smoothly "headless" (ie. you should not need to turn on the TV/monitor, just use Roon on a phone or tablet to control). The only caveat is to make sure the output devices like the HDMI receiver and DAC are turned on before you press play in case it throws up an error window about device not present; if this happens you'll need to turn on the screen for a look at what happened.
First, here's a look at multichannel streaming to my AV receiver:
Notice that I'm running a 2-channel 66k taps convolution FIR filter for some correction to the front speakers. At some point, I'll run a proper measurement for full multichannel room correction.
Notice how little stress is being placed on the Celeron when streaming 5.1 multichannel from Roon:
However, we do need more CPU power with fancy filtering using HQPlayer...
Some suggested HQPlayer settings using the quiet/power-limited Beelink Mini S
Okay so on the HQPlayer side, what settings should one choose knowing the processing limits of the Mini S' Celeron N5095A CPU? Let me show you my two "Audiophile" settings that sound great on the system here:
As you can see, for PCM upsampling, I like using "sinc-L" combined with "LNS15" as the dithering algorithm. This combination when upsampling 44.1/48kHz material 8x to 352.8/384kHz uses an extreme "megatap" (1 million taps, because we can :-) filter length that results in an essentially ideal "brickwall filter" with optimal frequency response and transient speed in the time domain.
On the SDM (DSD) side, I'll use a combination of the "poly-sinc-long-ip-2s" oversampling setting which is an intermediate phase option with low pre-ringing and less phase shifting than pure minimum phase, combined with a very good 7th-order noise shaped modulator in the form of "ASDM7" (which I had tested before), converting the PCM to DSD256 (44.1kHz x 256, the Sabaj A20d 2022 with its XMOS processor is unable to handle 48kHz x 256 DSD currently). The little Celeron CPU is capable of these settings without issue as I'll show in a little bit.
Beyond the 1x sample rate, "Filter Nx" and "Oversampling Nx" are IMO not important, just throw some lower-performance settings in there to save CPU cycles and it'll be great. The reason is that when we're dealing with 88.2/96+kHz material, Nyquist frequency is already up at 44.1/48kHz so whatever filtering is being done up there will obviously be well beyond human hearing. Anything decent will do ("poly-sinc-short-lp(-2s)" is excellent).
Finally, notice I have the "Vol Max" set at -1dB for a bit of headroom in case of intersample overloading. Since I almost always listen with volume normalization applied, this is just an extra level of assurance.
How well do these HQPlayer 4 "Audiophile" settings work? Let's have a look at the "Digital Filter Composite" (extension of the Reis Test) from the Sabaj A20d 2022 DAC XLR output:
--- "Ideal Megatap" setting (PCM 8x 352.8/384kHz, sinc-L + LNS15) ---
XLR output and noise levels I get with the Mini S sitting on top of the Sabaj DAC. |
Intermediate phase setting staying +/-30° up to 18kHz, and at most -90° by 20kHz; very benign. |
Captured at 384kHz; bandwidth to 192kHz. |
HQPlayer CPU Demands on Celeron N5095A
Playing various albums through the filters, correlating with CPU load - Swing Out Singles, Elvis OST, and Lover. Great sound quality with excellent soundstage and precise transient attacks across the board. Maybe more "euphonic" with the DSD64 playback. |
Summary:
Beelink Mini S - streamer, processor, playing DSD64 "Euphonophile Choice" setting to Sabaj A20d 2022 DAC. |
"I tried the SMSL M300 with and without the Hugo M Scaler and the difference was huge, the M Scaler improved the sound in quite an incredible way. The level of improvement that would make you buy one within a week of testing it exactly the same as me (sic)."
Seriously guys, talk about unbelievable superlatives spoken in ways that suggest the reviewer really has no idea what this thing technically does! If one's DAC had very poor filtering or no filtering at all (ie. NOS), then sure, adding something like the M-Scaler could be significant. Otherwise, permit me to be blunt and say that with a competent modern DAC even like the slightly older SMSL M300, the difference cannot somehow be "huge" or "incredible". Even more so since he's connecting the M-Scaler to the SMSL DAC through S/PDIF (see the video) and therefore basically just upsampling to 192kHz through that inherently more jittery interface than the USB port! If an audiophile seriously wants to hear "huge" improvements, make sure to try some DSP room correction.
I see Amir of ASR has a YouTube review of the Chord M-Scaler (and the write-up). Very interesting objective findings suggesting that the supposedly "incredible" change in sound could just be due to higher noise and jitter created by the M-Scaler?!** Anyhow, all I can say is that the HQPlayer with the "Ideal Megatap" PCM setting shown above performs better than what the Hugo M-Scaler is doing in that video/review. Of course realize that when we're just upsampling, there is no improvement in resolution of the DAC, all it's doing is ideal "brickwall" low-pass filtering. Also, it looks like the M-Scaler has poorer stopband attenuation, or maybe suffers from overloading with strong signals. Yeesh, given the typical Chord talking points about "big number" taps and bits of resolution, talk about a disappointing finding!
As for HQPlayer, my comments/suggestions from a few months back remain the same. As you can see, the Celeron without AVX2 works just fine (especially with PCM, and I'm glad the Linux version is still compatible). I still wish the selection of filtering algorithms can be simplified. For "core" settings like "poly-sinc", it would be nice to be able to fine tune the steepness with custom number of taps, cutoff frequency, and phase settings.
I actually find the vast majority of settings in HQPlayer "too accurate" (and basically sounding the same, subjective claims of hearing massive differences between them I suspect is placebo) especially when I specifically want to aim to try intentional suboptimal "euphonophile" experimentation. Just as it would be silly to claim that the Chord Hugo M-Scaler made an "incredible" difference, it would be unreasonable to claim that HQPlayer "poly-sinc-gauss-long" sounds significantly different from "poly-sinc-ext"; the differences are demonstrably minor and mainly ultrasonic in my testing!
Instead of yet more "accurate" settings, I think it would be more fun to implement something like the PonoPlayer's "Ayre Listen" weak filtering with DSD64 oversampling using the 5th-order modulator. As far as I can tell, currently this is not possible in HQPlayer because all those options are too darn "good".
Anyhow, have fun folks! Lots of geeky opportunities these days in the world of computer audio to do interesting things with the signal even if objectively the differences are not major (whether one actually hears much of this is of course another discussion).
--------------------
To end, I think as audiophiles it's fun to find ways of optimizing devices to propel fidelity forward instead of spending money on things without clear knowledge or any evidence of actual benefit.
Given how good playback fidelity is these days with much of the modern reputable gear, I think it's becoming more important as consumers to ask (if not demand) that device manufacturers show us just how much better their new machines are objectively. This is important if the cost appears exorbitant; in this way, I guess my core philosophy is the polar opposite of this guy who seems to think it's a good idea to buy first, talk about "feelings" and "impressions", but shares little actual information or technical details about the products.
I must say that even though he doesn't really have a "lab" (by definition one performs science in a laboratory, this is not science), the room doesn't appear spacious enough for the kind of gear he's using, and I'm sure the Boulder amps must sound great, I am mesmerized by his sincerity (including this recent transparent discussion of a flip-flop), and the nature of the character as he bloviates about the benefits of his level of "experience" (check out 7:30). Other than the Boulders, if you're interested in big, black, impressive looking, powerful monoblock amps, I would also suggest auditioning the German-engineered mbl's (which would also go well with his Stromtank - see video).
BTW, I noticed that the Boulder 3050 uses a variable bias circuit that adjusts power level to keep current utilization low and maintain Class A when encountering stronger transients. I'd be curious how it handles the first few cycles of something like the TIM test signal and while at it, the device's damping factor / output impedance across the audible frequencies would be interesting to see. The company has a technical brochure on the 3050 amplifier for those curious about some of what it does.
Hope you're all enjoying your audiophile journeys. And of course the plethora of music along the way!
** Perhaps not unfair to give Rob Watts the benefit of the doubt. Maybe he knows that the Hugo M-Scaler adds noise and jitter, and this was intentional!? Just like the "Euphonophile Choice" DSD64 setting is meant to add noise by design. Maybe he knows that we know that some audiophiles prefer those "euphonic" imperfections but can't say it openly based on the Chord reputation of technical perfection. ;-)
Assuming it's even audible in a level-matched listening test, I suspect the truth is that without those anomalies, the 1M-tap M-Scaler would sound no different than the already-ultra-steep filtering of even something like the old Chord Mojo 1 with its "mere" 26k-taps filter.
Addendum (October 23, 2022):
In terms of "headless" control of HQPlayer, note that we can change the filter settings using apps like HQPDcontrol v4 for Android and iOS. Just connect the app on your phone/tablet with the IP of the Beelink computer (remember, static 192.168.1.90 for me above), and you can switch between your PCM/DSD settings, and fine-tune whatever parameters you decide when the music is paused.
Works well. Nice and convenient.
Greetings from Canberra Australia, amidst ongoing record breaking rainfall, I am currently having fun with a Lenovo Tab M8 HD, 8 Inch, 2GB RAM, 32GB eMMC, Iron Grey, ZA5G0036AU using Neutron accessing files from my Mele, and sending thru to a WiiM with Hifiman HE400se connected directly into analog output. Good sound has never been so cheap to achieve! Multitasking reading your blog as I listen. Regards g
ReplyDeleteI forgot to add that DLNA via wifi has finally come of age, I tried wired DLNA some 12 years ago and gave up in disgust. Now it just works! Jriver on the Mele recognises the WiiMs (upstairs and downstairs) and jremote on the Lenova tablet is the one ring to rule them all . Music lovers all, let us rejoice.
DeleteNice work graham!
DeleteYup, the options these days for good sound continues to expand and provides countless options to enjoy the music library or when streaming from a service!
I think it's awesome that as hobbyists with so many options we can start thinking for ourselves and select a way to design what's best for our homes and listening systems instead of being locked into just off-the-shelf offerings.
It has been years since I've tried DLNA streaming. Glad to hear that it's working well for you these days. Rejoice indeed!
Using several of the older fanless Beelink AP34s as endpoints for low cost, low power options to external DACs. They have more than enough power to run MathAudio RoomEQ DSP which is free for use with Foobar2000. High quality audio has never been cheaper! The AP34 is easily powerful enough, uses max 7.5W running Foobar and I love the low profile alloy form factor. No need for fins or fans here!
ReplyDeleteHi LC8awesomeness,
DeleteHad a look at the Beelink AP34. Nice looking fanless boxes and no surprise for audio processing using MathAudio that it'll do a great job! Heck, "megatap" PCM HQPlayer processing I think would also be fine.
Love the low power use!
BTW, does anyone know how many watts the Chord M-Scaler sucks up to do its "revolutionary" thing?
I am guessing that 15 volts 4 amps would see maximum 40 watts, but then again there is this https://www.mcru.co.uk/product/linear-power-supply-for-chord-m-scaler/?v=6cc98ba2045f , regards g
ReplyDeleteHi Graham,
DeleteYeah, I hope the M-Scaler doesn't need all 40W but I'm pretty sure it takes more than about 10W or so with the little Beelink running "megatap" PCM!
Man oh man, I wonder what they think this 3rd party power supply is supposed to do for a digital in / digital out device? As usual, such companies appear mute when it comes to demonstrating results! Much easier to just claim:
"That is why a fully regulated linear power supply is so popular because it transforms the sound quality to something far far better, proven by 100’s of existing customer comments / feedbacks."
LOL. "Proven" by 100's of customers...
Hi Archi, been following this blog for a few years now. Very interesting topic!!! I know this is about the review of the Beelink and using it to run Hqplayer OS. With the processing power of the Beelink, the PCM settings and DSD settings are recommended accordingly. Wonder what would be your recommended Hqplayer PCM and DSD settings if processing power is NOT a concern - say you are using the Beelink as a network adapter endpoint only and you have your main PC running Hqplayer processing. Would your preferred HQplayer settings be different?
ReplyDeleteCheers
Deric
Thanks for the question Deric,
DeleteWhile I know things like the "EC" modulators, DSD512, poly-sinc-gauss filtering, etc. would need more processor power, I have not been able to convince myself that they sound better when playing with some of these options on my much more powerful main Ryzen 9 workstation computer (for comparison, the Beelink Mini S achieves 23GFlops with LinPack, the AMD Ryzen 9 3900X gets >300GFlops).
For example, although I have not tried some of the latest "sinc-*" variants, of the classic lineup of sinc-M/S/Mx/L, sinc-L was the only one that went all the way to 22kHz as shown in my previous measurements using the MeLE Quieter2Q:
http://archimago.blogspot.com/2022/02/using-mele-mini-pc-for.html
Hence that was the one I chose as being the "ideal" brick wall that retains everything in the digital data.
Then there are choices we should think about depending on the DAC. For example, the Topping D90SE when tested last year is a great PCM machine but the noise floor in DSD left something to be desired:
http://archimago.blogspot.com/2021/10/measurements-review-topping-d90se-dac.html
Arguably, with that DAC, DSD128 achieves a better noise level and could sound better than DSD256/512, and would need less CPU processing. Thankfully the SMSL DO100 and Sabaj A20d 2022 showed improved performance with DSD256/512.
I know HQPlayer users will have all kinds of opinions on what they hear as "best" sounding. In discussion threads, I rarely see consensus on the same settings. Objectively, I don't believe the test results look very different among most settings, and I'm not hearing great variation in my testing either. This is why I think most of these settings are simply "too good" to create enough euphonic distortion. ;-)
And more likely than not, given the large number of combinations, preferences are more the result of psychological biases rather than significantly audible variation if one were to run blind tests.
Thanks for your prompt response Archi. I agree I also would not be able to tell apart all of the variants between the poly-gauss or linear phase filters. Having said that I am consistently finding the short mp filter variants being my preferred choice for pop, rock, alternative as it seems to provide more clarity, “punch” to the music.
ReplyDeleteI am not sure why that is the case or feeling confident enough to prove that in a blind test tho!!
Cheers
Deric
Hey Deric,
DeleteYeah, as subjective beings, I certainly appreciate that we all will develop preferences over time with experience. When it comes to sonic playback of such high fidelity already, the margins to develop preferences is small and sometimes in language we might not be able to quite express accurately the relative differences...
This is why I try to stress the fact that most of the time what I hear is actually quite subtle such as the differences between filters. Folks who insist they hear massive changes in tonality or soundstage or what have you just seem overly dramatic IMO.
With regards to the preference for short mp, that's certainly a fine setting! A little extreme high end roll-off which could be good for harsh pop/rock and the minimum phase will remove pre-ringing from poorly low-passed content (like loud or clipped modern pop/rock).
Have fun!
Thank you, this is very informative. But it looks like I should start with Roon machine first. May I ask your suggestion on this? Also, out of pure curiosity, have you bought a Room lifetime membership?
ReplyDeleteI found this really interesting, as I do with the majority of your blog, thank you for doing it!
ReplyDeleteI am always unsure of what settings to use as there are so many possibilities. I have a lifetime Roon sub, and a HQ Player Desktop and Embedded licences. However I am unsure whether I should leave the settings to the DAC alone (I have a Topping D90 and RME ADI-2 DAC FS – usually using linear filters on both). I can also upscale in roon, where I tend to use, precise-linear-phase, but you also have the choice of PCM or DSD upscaling. Then there is HQ Player, also with it myriad choices along with the same PCM or DSD choice.
I have had a gaming PC running HQ Player previously, but, in the UK at least, energy prices have increased significantly, and along with the negative environmental impact of high energy usage I have therefore been trying to find a more economical solution.
Given you say some of the differences are subtle, I agree with this, so I tend to try and go for what might be called technically correct, with the precise-linear-phase in roon for example. Anyway, this article was great because you give your settings and you can actually check how they work, rather than only listen – I found your explanations interesting. I have often toyed with the idea of setting up my own blind test, but it gets so complicated very quickly not least with volume levelling concerns. So I have never get very far...
I also have a Beelink but a SEi8 with a i5 8259u cpu. I have ubuntu installed on it, and hqplayer desktop. I found the bios settings a bit hit and miss though, certainly the fan seems to have a mind of its own – spinning up when temps are still pretty low. I therefore tried something else, and installed some Gnome extensions which have helped, specifically adding CPU power manager. You can set a min and max in terms of the CPU, and I have been toying around with that, if you keep the CPU power usage low, the fan spins up less. I also have the unit plugged into a individual power socket, writing this the beelink is pulling 4.5 watts, I am also using your pcm settings (also running some convolution filters via the matrix functionality – from Home Audio Fidelity) playing to one of my end points. Currently I have set the CPU for a min of 20%, max 45% and no turbo boost. Htop is reporting 7-15% on four cores with a temp around 45c. Ideally I would like to do this in the bios, but this is working for now.
Prior to reading this article, I had been experimenting with a rpi4 with 4gb ram (in an Argon case) with HQ Player Embedded. The pi is running PI OS lite with HQ Player embedded installed (its also running pihole). With your suggested PCM settings its registering in htop 5-30% across its 4 cores and 43c – its managed headlessly. The pi does not quite have the power to run your suggested DSD settings, with all four cores over 90c and then the occasional break in the music.
So in summary, where I used to ask what the ‘best’ settings are, I am now thinking, what is ‘good enough’ especially when considering power usage. I am leaning towards PCM for now. I am also happy for any thoughts on the best settings in respect of my two DACs.
Could you try DSD128 on the Pi? I've been thinking on running the same setup and wondering if it's the time with DSD128. Thanks
Delete