Jump to content
IGNORED

A novel way to massively improve the SQ of computer audio streaming


Message added by The Computer Audiophile

Important and useful information about this thread

Posting guidelines

History and index of useful posts

Most important: please realize this thread is about bleeding edge experimentation and discovery. No one has The Answer™. If you are not into tweaking, just know that you can have a musically satisfying system without doing any of the nutty things we do here.

Recommended Posts

@romaz I got a 16GB optane m.2 card after reading your post and you are 100% right, optane is very clearly the best choice for storage (maybe outside of pure RAMdisk), no harsh ''SSD sound''.

with only 16Gb it was only good for testing as storage drive, but as an OS drive its probably the best choice aswell, again outside of a RAMdisk... but at least Optane works straight out of the box.

Link to comment
7 hours ago, Nenon said:

 

Yes, I did :).

 

We have different OS flavors and software players that do bits and pieces. None to my knowledge is doing all the optimizations that help or at least don't hurt too much) the sound quality. I would really like to see a platform that takes advantage of a combination of things:

- AL-like optimized OS running in RAM

- Enable the SSD controller only to copy the music in RAM; disable right away

- Roon-like interface, metadata, etc.

Euphony is still on my list to explore, but from what I am reading so far there are definitely things we can learn from them as well. Or maybe, it is an end-game... nah, I don't believe that :)

 

May be a dumb question, as I am no expert in OS running in RAM. If euphony were to run in RAM, then would its software player - stylus, or the embedded HQplayer need to run in RAM too ? Let's say when you run AL in RAM, if you use e.g. J Media player, would that also be running in RAM too ?? I can see how OS run in RAM for Roon or Endpoint when there is no music decoding for playback. But how does it work as server with software playing the music locally ? 

Link to comment
2 hours ago, Chopin75 said:

May be a dumb question, as I am no expert in OS running in RAM. If euphony were to run in RAM, then would its software player - stylus, or the embedded HQplayer need to run in RAM too ? Let's say when you run AL in RAM, if you use e.g. J Media player, would that also be running in RAM too ?? I can see how OS run in RAM for Roon or Endpoint when there is no music decoding for playback. But how does it work as server with software playing the music locally ? 

 

Hopefully I understand your question correctly... if not, please let me know. 

 

Typically, on a regular OS running from a HDD or SSD (let's call it a 'drive'), when you run the program, it is read from the drive and loaded into RAM. Depending on how the software is written, typically the software would continue to interact to some level with the drive (i.e. outputting to a log file, scanning a folder for new file, etc.). Also, your RAM is usually a lot smaller in size than your drive, so not everything can be loaded in RAM. The OS uses complex mechanisms to utilize the RAM as good as it can - it would cache the important data and remove (free up memory) the not so important data.

 

Let's look at an OS running in RAM now. We would assume that Roon is installed in RAM as well. We could go very granular from here, but let's keep it simple and relevant to this discussion. So, opening Roon would most likely be a little faster because reading from RAM is typically faster than reading from a drive. Once Roon is loaded, in a way, it's not very different whether it was installed in RAM or on a drive. In both cases it gets loaded in RAM while you work on it. The difference would be when Roon needs to read files or write to files. If those files are also in RAM, reading/writing would be a faster. However, chances are your music collection contains more data than the amount of available RAM you have left after loading the OS. You would most likely end up storing your collection somewhere outside of RAM, because it would not fit in RAM. Let's assume you keep in your drive. Roon would constantly monitor that folder for changes. And when you play a file, Roon would load part of the song in RAM, but probably not everything. It would continue to load as it plays. And this is where the problem starts... As you are playing, Roon would be accessing your drive, and this causes noise that can potentially degrade the sound. 

 

I believe Euphony's player would load the complete track to RAM before playing and is probably trying to minimize the interaction with your drive while playing. And my guess is this is why it sounds better. 

 

With AL running in RAM, and running Roon, I can clearly hear an improvement if I copy the file I am playing to RAM before playing. In comparison, playing the same file from my SSD or external USB drive sounds worse. 

 

 

Industry disclosure: 

Dealer for: Taiko Audio, Aries Cerat, Audio Mirror, Sean Jacobs

https://chicagohifi.com 

Link to comment
1 hour ago, elan120 said:

External DC power connection setup for Startech USB3.1 Gen2 PCIe card - Part 2

 

Follow up on the Audio Sensibility Neotech silver JSSG360 DC cable, and a big thank you to @auricgoldfinger for recommending this cable.  I have it installed today, and like the result very much, and now I will be recommending this cable as well.

 

Here is a picture showing the new cable:

20190329_205134.thumb.jpg.12daa267cfcea101b28a4605be2e60c9.jpg

 

I hope that the barrel of the DC socket is INSULATED from the metal frame of the card in order to prevent possible earth loops ? (The picture does not show whether the 0 volts (earth side) is connected  to the metalwork or not.)

 

How a Digital Audio file sounds, or a Digital Video file looks, is governed to a large extent by the Power Supply area. All that Identical Checksums gives is the possibility of REGENERATING the file to close to that of the original file.

PROFILE UPDATED 13-11-2020

Link to comment

I would also add this, from a letter I have sent recently, to make things clear:

 

"..maybe it was compared with the wrong volume...in some cases at first play alsa will have the volume at less than 100% (with some DACs)
This will have a great impact on sound perception.
I feel uncomfortable with comparisons on which I don't have control.
A fair comparison should be made after checking output volume with a meter, and... kernel is the same (linux-rt-bfq), roon package is the same, priority is similar (rtirq etc.), OS is the same (archlinux)... if installation media and equipment are the same, the output should be the same, if you use the same software with the same configuration.
Unless the audiolinux configuration was wrong: too weak processor with Extreme2 for example. This will lower the CPU latency but the effect can be a more dry sound."

 

 

AudioLinux --> https://www.audio-linux.com

developer of AudioLinux realtime OS

Link to comment
7 hours ago, Nenon said:

 

Hopefully I understand your question correctly... if not, please let me know. 

 

Typically, on a regular OS running from a HDD or SSD (let's call it a 'drive'), when you run the program, it is read from the drive and loaded into RAM. Depending on how the software is written, typically the software would continue to interact to some level with the drive (i.e. outputting to a log file, scanning a folder for new file, etc.). Also, your RAM is usually a lot smaller in size than your drive, so not everything can be loaded in RAM. The OS uses complex mechanisms to utilize the RAM as good as it can - it would cache the important data and remove (free up memory) the not so important data.

 

Let's look at an OS running in RAM now. We would assume that Roon is installed in RAM as well. We could go very granular from here, but let's keep it simple and relevant to this discussion. So, opening Roon would most likely be a little faster because reading from RAM is typically faster than reading from a drive. Once Roon is loaded, in a way, it's not very different whether it was installed in RAM or on a drive. In both cases it gets loaded in RAM while you work on it. The difference would be when Roon needs to read files or write to files. If those files are also in RAM, reading/writing would be a faster. However, chances are your music collection contains more data than the amount of available RAM you have left after loading the OS. You would most likely end up storing your collection somewhere outside of RAM, because it would not fit in RAM. Let's assume you keep in your drive. Roon would constantly monitor that folder for changes. And when you play a file, Roon would load part of the song in RAM, but probably not everything. It would continue to load as it plays. And this is where the problem starts... As you are playing, Roon would be accessing your drive, and this causes noise that can potentially degrade the sound. 

 

I believe Euphony's player would load the complete track to RAM before playing and is probably trying to minimize the interaction with your drive while playing. And my guess is this is why it sounds better. 

 

With AL running in RAM, and running Roon, I can clearly hear an improvement if I copy the file I am playing to RAM before playing. In comparison, playing the same file from my SSD or external USB drive sounds worse. 

 

 

Thanks so much for this thorough explanation! Now I understand a bit more about computers in gen etc. So if I have AL in RAM mode, it really means it is not actively retrieving from the SSD/HDD. But if the software player say in Roon or J Medial Player (which I am intending to use)  or HQplayer etc is not entirely in RAM, then there is still some negative effect.  Though it appears that loading entire track in RAM (e.g. with Euphony ) would be most important regardless. I am not sure if J Media player or any other player can run entirely in RAM. But yes,  running the entire track in RAM seems to be key in reducing noise. I also find that extracting music files from external drive is worse than local drive for Euphony  even if loaded 100% into RAM, probably because of the latency and noise generated by doing so. Therefore Euphony has a way to load the entire album extracted from the external drive temporarily into the local SSD - "Ecache" mode. In contrast to other opinions on this tread, the file stored in the local drive of Euphony works best, and that is probably because it is designed to do this. There may be an advantage of not running OS entirely in RAM that also means one can load an entire huge file like DSD256 into RAM (more memory available), and perhaps can explain why DSD sounds much better with this OS. 

One thing no one really discusses here (or maybe they have but I cannot find?) is how an OS handle a demanding music file, either locally or via Roon server etc.  I find playing a regular 24/96 PCM easier to process than DSD256 or DXD...

 

Link to comment
3 hours ago, hifi25nl said:

@nenon please read this

 

"HQPlayer (max 250 ms cache) and Roon (cache unknown)  have not this possibility and there is no way to implement it from outside. 

...At least another player is declaring that it can play from RAM, but it is really using MPD..."

You mean HQplayer cannot play a file entirely loaded into RAM or itself cannot be loaded entirely into RAM to work ?

Link to comment

Does anyone know why the 16GB optane card is only showing 13.7GB of usable space? there are no hidden ''reserved'' or ''recovery'' partitions, it was completely wiped in the windows installer. 

16GB should have equated to 14.8GB actual space, Server 2016 needs 14.5 to install...

Aside from the drive just having less space than the already lower ''actual size'', the only thing it might be related to is how the drive was initialized, which was done with the default settings in disk manager on another copy of windows.

 

I was already prepared to return for the 32GB version in case the Windows installation would fail with such little headroom on drive, pretty disappointing to be halted even earlier.

 

There are probably builds of S2016 that are a bit smaller to fit on it, but not much hope finding them.

 

 

 

Link to comment
30 minutes ago, numlog said:

Does anyone know why the 16GB optane card is only showing 13.7GB of usable space? there are no hidden ''reserved'' or ''recovery'' partitions, it was completely wiped in the windows installer. 

16GB should have equated to 14.8GB actual space, Server 2016 needs 14.5 to install...

Aside from the drive just having less space than the already lower ''actual size'', the only thing it might be related to is how the drive was initialized, which was done with the default settings in disk manager on another copy of windows.

 

I was already prepared to return for the 32GB version in case the Windows installation would fail with such little headroom on drive, pretty disappointing to be halted even earlier.

 

There are probably builds of S2016 that are a bit smaller to fit on it, but not much hope finding them.

 

 

 

 

It’s always been like that with harddisks, first manufacturers specify 16GB as 16 000 000 000 bytes (decimal), not 17.179.869.184 B (binary) while your OS does. Then there’s also some overhead for the filesystem which lowers the available space to us.

 

edit; I see you already accounted for the drive manufacturers ‘dirty trick’. Here’s the real reason, you’re missing even more:

 

https://www.intel.com/content/www/us/en/support/articles/000024018/memory-and-storage/intel-optane-memory.html

The capacity shown in the Windows* operating system for the Intel® Optanememory series module is less than what is noted on the box. Why is this?

‘The module uses a small portion of memory media management and maintenance. The listed density is the raw density of the 3D XPoint Memory Media. The total user capacity remains constant throughout the life of the drive.’

Link to comment
21 hours ago, numlog said:

@romaz I got a 16GB optane m.2 card after reading your post and you are 100% right, optane is very clearly the best choice for storage (maybe outside of pure RAMdisk), no harsh ''SSD sound''.

with only 16Gb it was only good for testing as storage drive, but as an OS drive its probably the best choice aswell, again outside of a RAMdisk... but at least Optane works straight out of the box.

 

Credit for Optane goes to @lmitche.

Link to comment
On 3/24/2019 at 2:50 PM, romaz said:

CPU

 

My testing has shown me that modern CPUs are preferable to older generation CPUs  A few generations ago, an i7-4790 yielded a TDP of 84w with 4-cores/8-threads, 8MB of SmartCache and CPU turbo speeds reaching 4GHz.  Today, an i7-8700T yields a TDP of only 35w but offers 6-cores/12-threads, 12MB of SmartCache and CPU turbo speeds reaching the same 4.0GHz.  Basically, more performance with less noise and A/B comparisons between these 2 CPUs reveal exactly that.  An 8700K houses potentially even greater performance with a max turbo rating of 4.7GHz using better binned parts according to Intel and so I decided to compare this against the 8700T.  

 

 

Hello Romaz,

 

I am considering building a server following your suggestions, i have found that the TDP between the i7-8700T and the 8700K is quite big (35 to 95), for what i am reading even with this 95w of TDP on the 8700K, how big would this impact the whole scenario ?

 

Excellent findings, Thanks so much for sharing

 

Regards

ER + PH DR7T - TAIKO Server + PH DR7T ( HQPOs + ROON ) JCAT XE USB - Lampizator Baltic 4 - D-Athena preamp - K- EX-M7 amp - PMC Twenty5 26

Link to comment
1 hour ago, LTG2010 said:

On a socket 1151 board, the USB bus usually goes to PCH, therefore we would be advocating PCH playback rather than CPU, a bit pointless to have a quality CPU and then playback via PCH. This is different on an SOC motherboard eg. a Xeon based one.

I suppose if you are buffering / reclocking via a switch this will mitigate the audible differences, but they would still be there.

We need to be careful with optane also especially via an M.2 slot as most of the M2 slots are again via PCH controller, although there are some boards that have M2 slots via CPU, we also need to check these routes are not 'shared' a block diagram is helpful here.

Larger atx boards may have 2 PCIE slots direct to CPU, therefore this gives you an additional choice of USB playback via a quality USB card, via PCIE direct to CPU. Similarly an M2 nvme to PCIE adapter, will allow you to run your optane boot direct to CPU.

There are also PCIE based optane drives but these are larger capacity and draw a lot of current, although they can also be used for storage.

 

Sorry I am a bit lost here, as I am basically computer illiterate (thanks to years of using MAC). What is PCH ??  I have a Asrock Professional 370 running SATA 2.5" but if i stick a M2 in, would it be placed internally and run via CPU or PCH ? Can I power a M2 via external LPS like I do with my SATA 2.5 ?

Link to comment
7 minutes ago, Chopin75 said:

Sorry I am a bit lost here, as I am basically computer illiterate (thanks to years of using MAC). What is PCH ??  I have a Asrock Professional 370 running SATA 2.5" but if i stick a M2 in, would it be placed internally and run via CPU or PCH ? Can I power a M2 via external LPS like I do with my SATA 2.5 ?

Its a platform controller hub, an additional chipset, before the CPU.

Regarding Asrock boards, I don't think they publish block diagrams best to email their support with that question.

Well if you already have the board its not all doom and gloom, the difference might be minimal even if its via chipset.

If you power the board with a multi rail linear power supply like the HDplex 400W, then it should receive decent power directly.

To power it from an external supply, the only way | can think of, is to use a PCIE riser cable and cut the power lines, then a PCIE to M2 adapter, a bit messy but a nice looking cable was posted earlier.

Link to comment
27 minutes ago, mikicasellas said:

 

Hello Romaz,

 

I am considering building a server following your suggestions, i have found that the TDP between the i7-8700T and the 8700K is quite big (35 to 95), for what i am reading even with this 95w of TDP on the 8700K, how big would this impact the whole scenario ?

 

Excellent findings, Thanks so much for sharing

 

Regards

I use a Ryzen 2700x - 8 Core which works great but I have no comparison with the intel chips.  This CPU is recommended by Pinkfaun who use Ryzen. Apparently it works better with Linux. They like more core and less threads.  I am  using it for Upsampling PCM -> DSD as well but if you are not doing high power processing maybe you don't need so many cores. On running regular PCM, Euphony is showing it is using only 2-3 cores at 1-2% only!!   (note I am using single box system only)

Link to comment

 I also recently got a Ryzen CPU and ASRock MoBo, there are 2 M.2 slots on these MoBoxs and I believe the ''Ultra M.2'' slot goes to CPU directly, see this.

 

The ultra M.2 slot is PCIe X4 M.2 Slot, which most modern MoBos come equipped with now but some older ones (like my previous MoBo) only have PCIe X2, which usually work through PCH. Cant say if all X4 m.2 slots work through CPU but theres a good chance.

 

20 minutes ago, Chopin75 said:

Sorry I am a bit lost here, as I am basically computer illiterate (thanks to years of using MAC). What is PCH ??  I have a Asrock Professional 370 running SATA 2.5" but if i stick a M2 in, would it be placed internally and run via CPU or PCH ? Can I power a M2 via external LPS like I do with my SATA 2.5 ?

 

Link to comment
4 hours ago, LTG2010 said:

On a socket 1151 board, the USB bus usually goes to PCH, therefore we would be advocating PCH playback rather than CPU, a bit pointless to have a quality CPU and then playback via PCH. This is different on an SOC motherboard eg. a Xeon based one.

I suppose if you are buffering / reclocking via a switch this will mitigate the audible differences, but they would still be there.

We need to be careful with optane also especially via an M.2 slot as most of the M2 slots are again via PCH controller, although there are some boards that have M2 slots via CPU, we also need to check these routes are not 'shared' a block diagram is helpful here.

Larger atx boards may have 2 PCIE slots direct to CPU, therefore this gives you an additional choice of USB playback via a quality USB card, via PCIE direct to CPU. Similarly an M2 nvme to PCIE adapter, will allow you to run your optane boot direct to CPU.

There are also PCIE based optane drives but these are larger capacity and draw a lot of current, although they can also be used for storage.

 

 

You bring up excellent points.

 

If you are planning on a single box server and plan to use either Stylus or Roon Core, absolutely, USB is less than ideal since storing a large Roon database or the Stylus cache on a USB will negatively impact the user experience.  With a large Roon database, for example, searching can be very slow.  In these situations, I would suggest an Optane drive.

 

However, in a dual box setup where the endpoint is running either Roonbridge or Squeezelite, I find no detriment to using USB as the OS drive either with AL or Euphony and that is exactly what I am doing.  With my server, as I stated, I have Euphony on an Optane drive.

 

As for M.2, only M.2 SATA goes through the PCH whereas M.2 NVMe bypasses the PCH even on non-SoC boards.  Optane drives are M.2 NVMe drives and so the PCH never becomes a factor.

 

If you have a SoC board (i.e. all late generation Intel NUC boards are SoC), then there is no PCH to slow you down.

 

If someone is using an 1151-based board and wants a low latency USB port that bypasses the PCH, I would suggest something like this:

 

https://www.dhgate.com/product/ngff-m-2-to-usb-3-0-transfer-riser-card-m2/408065125.html

 

Some boards, like the Asrock Z390 Phantom Gaming ITX/ac I am using actually have two M.2 slots to be able to accommodate multiple options.  M.2 slots have the equivalent throughput of a PCIe X4 slot and can themselves be converted into a PCIe X4 slot with a riser and so if your board is short on PCIe slots and you are interested in adding something like a JCAT card or a tX-USBexp card, this would be one way to do it.

Link to comment
2 hours ago, mikicasellas said:

 

Hello Romaz,

 

I am considering building a server following your suggestions, i have found that the TDP between the i7-8700T and the 8700K is quite big (35 to 95), for what i am reading even with this 95w of TDP on the 8700K, how big would this impact the whole scenario ?

 

Excellent findings, Thanks so much for sharing

 

Regards

 

With AL, TDP is less important because you can manually specify the speed or frequency that you wish your CPU to run at.  For example, you can get an 8700K and although its base frequency is 3.7GHz, you can elect to run it as slowly as the base frequency of an 8700T which is 2.4GHz and so with AL, CPU frequency doesn't really matter as long as your CPU is capable of your desired frequency.

 

Just to be sure they perform the same at select frequencies, I monitored the temperature readings of both the 8700K and 8700T at set frequencies (i.e. 800GHz, 2.4GHz, 3.7GHz, etc) and both CPUs registered the same temperatures.  As I did listening tests, I could hear no differences between the 2 CPUs when running at the same frequencies and so at this time, I don't believe the 8700K has any sonic advantage above the 8700T from 3.8GHz and down, at least with AL.

 

With Euphony, it's difficult to know exactly what's going on.  With the 8700K, which has a TDP of 95w at it's base frequency of 3.6GHz, my CPU core temps never really rise above 40 degrees C and so this CPU isn't being utilized to its full potential with respect to clock speed and yet somehow, it sounds incredibly dynamic.  There is more going on with Euphony than meets the eye.

 

What seems to also matter is the number of cores and the amount of CPU cache, especially with RoonServer.  As a Roon server, even with the i7-8650U on my i7 NUC running at the same frequency as the 8700T, the 8700T still sounded bigger and more dynamic.  The only difference between these 2 CPUs when they are running at the same frequency is that the 8700T has 6-cores/12-threads + 12MB of SmartCache while the 8650U has only 4-cores/8-threads + 8MB of SmartCache.  My thinking is that the ideal CPU for the endpoint is probably something more powerful than the i7-8650 that is embedded in the NUC7i7DNBE.  Intel will soon be releasing the i9-9900T which is an 8-core/16-thread CPU with 16MB of SmartCache and a TDP of only 35w and so I am eyeing this CPU with interest, however, cleanly powering it will be the challenge and clean power is especially important for the endpoint.

Link to comment
16 minutes ago, romaz said:

 

With AL, TDP is less important because you can manually specify the speed or frequency that you wish your CPU to run at.  For example, you can get an 8700K and although its base frequency is 3.7GHz, you can elect to run it as slowly as the base frequency of an 8700T which is 2.4GHz and so with AL, CPU frequency doesn't really matter as long as your CPU is capable of your desired frequency.

 

Just to be sure they perform the same at select frequencies, I monitored the temperature readings of both the 8700K and 8700T at set frequencies (i.e. 800GHz, 2.4GHz, 3.7GHz, etc) and both CPUs registered the same temperatures.  As I did listening tests, I could hear no differences between the 2 CPUs when running at the same frequencies and so at this time, I don't believe the 8700K has any sonic advantage above the 8700T from 3.8GHz and down, at least with AL.

 

With Euphony, it's difficult to know exactly what's going on.  With the 8700K, which has a TDP of 95w at it's base frequency of 3.6GHz, my CPU core temps never really rise above 40 degrees C and so this CPU isn't being utilized to its full potential with respect to clock speed and yet somehow, it sounds incredibly dynamic.  There is more going on with Euphony than meets the eye.

 

What seems to also matter is the number of cores and the amount of CPU cache, especially with RoonServer.  As a Roon server, even with the i7-8650U on my i7 NUC running at the same frequency as the 8700T, the 8700T still sounded bigger and more dynamic.  The only difference between these 2 CPUs when they are running at the same frequency is that the 8700T has 6-cores/12-threads + 12MB of SmartCache while the 8650U has only 4-cores/8-threads + 8MB of SmartCache.  My thinking is that the ideal CPU for the endpoint is probably something more powerful than the i7-8650 that is embedded in the NUC7i7DNBE.  Intel will soon be releasing the i9-9900T which is an 8-core/16-thread CPU with 16MB of SmartCache and a TDP of only 35w and so I am eyeing this CPU with interest, however, cleanly powering it will be the challenge and clean power is especially important for the endpoint.

 

Man, thanks a lot for sharing these findings, it is A LOT OF HELP !

 

I tried to install the Euphony IMAGE on my NUC7PJYH and i couldn't because that NUC does not support Legacy Boot, then i am thinking to add a SSD to the NUC to try Euphony and so i can have a taste of it, and wait for that i9-9900T, seems that if im going to build a machine better to wait !

 

I am really intending to do Euphony with only one machine, to keep it as simple as possible !

 

Any idea how much more expensive that processor will be ?

I am just curious on why don't you like AMD RYZEN ? They can run on an extremely low latency, Also to keep all the power in control the processor and the motherboard are build very solid and with good ground planes which result in better performance for sound quality. Also AMD Ryzen 7 2700 is 8-cores/16-thread 65w TDP

 

Warm Regards

 

ER + PH DR7T - TAIKO Server + PH DR7T ( HQPOs + ROON ) JCAT XE USB - Lampizator Baltic 4 - D-Athena preamp - K- EX-M7 amp - PMC Twenty5 26

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...