Skip to content
View in the app

A better way to browse. Learn more.

StereoNET

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Building the ideal(ish) Music Server

Featured Replies

2 minutes ago, Chanh said:

No worries...! Enjoy your journey. 

Stepping up from the RPi to 86 architecture, you will instantly be picking up on the timing, resolution and focus to the better, no matter what software you plan using, except JRiver. Not sure if those suit your taste? 

Some liked their sound to be a little coloured and less precise. They believe them as analogue sounding..., because it is graduate, slow, and easy to the human ears... abit like valves gears... some really enjoying the flaw in em... and that is my personal opinion, not necessarily true or fact for all. :)

 

Thank you and Great to know that NUC x86 architecture better.. :) 

 

How about between i3 NUC and i7NUC is there any difference other than processing speed?

 

And, which LPSU would you recommend around $200 budget for NUC?

 

Thank you. :) 

  • Replies 3.2k
  • Views 382.9k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • I’ve read this thread with much interest, and although I’m severely technically challenged when it comes to all computer and technology related matters, I embarked on a CA server project.  This wa

  • Another week, another innovation! Sent from my iPhone using Tapatalk

  • My new build server is progressing well today. An all in one unit as concept. All credit to @Doncentric with what it was a prelim-concept meeting, and within hours, he had 85% of its done! The remai

Nice work @Chanh - I see a HD-Plex DC-DC in the mix there. What changed your mind?

 

Why 2x RAM sticks?

 

Had some good success with some low-power Xeons recently. I'd think it'd be worth trying a Broadwell-D motherboard at some point (pricey though).

1 hour ago, Chanh said:

30VA? How is about multiplying by a factor of 5? I guess, it is depending on how many more USB-harddrive(s) you plan to connecting? Also if you are using the M.2 Sata or SSD or 2.5" spinal? It is all adding up.... 

 

Guys - the new Intel 7th gen CPU, is fantastic for linear psu. Power demanding is much forgiving with LPS. 

The stock unit is  19V, 65W - that's the same unit that has been used in every NUC since they started I think so it is a generic power output and they are using benefit of scale. So it may be way in excess of what's really needed in a GEN7 I5 NUC. Still best to have more than you think you'll need than get caught short. ;) 

1 hour ago, rmpfyf said:

Nice work @Chanh - I see a HD-Plex DC-DC in the mix there. What changed your mind?

 

Why 2x RAM sticks?

 

Had some good success with some low-power Xeons recently. I'd think it'd be worth trying a Broadwell-D motherboard at some point (pricey though).

Thanks Mate. 

This build was with intend for HQ-Player for the purpose of upsampling to DSD256/512. The owner will be using Roon to HQ-Player into his DSD512 capable DAC. 

Obviously - there is a cost factor in any project. If we were to have a generous budget, I will go all the way with four separated LPUs into my ATX board. It's all coming down to cost. 

 

 

 

Edited by Chanh

39 minutes ago, Chanh said:

Thanks Mate. 

This build was with intend for HQ-Player for the purpose of upsampling to DSD256/512. The owner will be using Roon to HQ-Player into his DSD512 capable DAC. 

Obviously - there is a cost factor in any project. If we were to have a generous budget, I will go all the way with four separated LPUs into my ATX board. It's all coming down to cost. 

 

Fair enough - that's a build with a lot of grunt for the budget then.

 

Would be keen to hear of your USB/no-USB work. About the pull the trigger on funds for a project there too, we could probably share notes. PM me if you like.

 

If you're liking the i7 and your tasks run better parallel, you probably want to take a look  at the Xeon-D stuff:

 

http://www.anandtech.com/show/9966/new-gigabyte-server-motherboards-show-xeon-d-round-2

http://b2b.gigabyte.com/Server-Motherboard/MB10-DS0-rev-13#ov (some of these can be had with fibre!)

http://www.supermicro.com/products/motherboard/xeon/d/x10sdv-f.cfm

http://www.asrockrack.com/general/productdetail.asp?Model=D1541D4I#Specifications

 

All 35-45W chips, will run passive. There's lesser out there but these are quite low power for what they are. No 3D video - at most a server 2D chip - but you can turn it off and then CPU power is purely dealing with CPU issues, no GPU power requirements to pollute the same power rail. Shorter routes for RAM. Around $750/board (eek!) but that does include the CPU.... and it's quite powerful.

 

Might be worth a few eBay alerts :) 

  • 2 weeks later...

finally had time to look at my new delivery, this little devil looks much smaller in real than on the picture, started to install necessary software and applied some tweaks to the win10, at the end bought 4GB version as 8GB was out of stock at that time, preinstalled win10 home edition comes for free so pretty nice addition for those playing on windows based streamers, hopefully will test it over the weekend and report back my findings...

 

 

IMG_0569s.JPG

IMG_0570s.JPG

IMG_0571s.JPG

Well, Chanh (Tasso and Liam/Conchblower) are the men for me with computer audio. I have their basic ca build with SotM card and a $500 power supply with Hammond chokes from Chanh that is like his ultimate ps build without the tricks in the computer and Uptone/Hashimoto's in the power supply - but, nonetheless excellent to my ears!

 

So excellent, that that is my main music source 80% of the time. Though I have to say that a dedicated CD player or transport+good dac or vinyl replay via Moving Coil stage still exceed that outcome ...if push-comes-to shove. :thumb: :)

 

Cheers,

 

Steve.

Edited by Steve M

Couldn't find reference to the group linked below when I searched the entire forum. Thought it might be of interest to those in this thread though:  

https://www.archwave.net/new-products-1-1/

 

Apologies if I'm wrong

some update on my progress with Beelink...had a chance to compare it back&forth with my current Gigabyte iTX streamer and the outcome is:

 

Round #1

GB with ULN LPSU connected to the router/NAS via LAN cable and through USB to the amplifier

Beelink with standard brick SMPS connected to the router/NAS via wifi and through HDMI to the amplifier

 

GB is more detailed but at the same time more aggressive, I didn't notice it before, Beelink is on the other hand more relaxed but missing details, soundstage is kind of flat and imaging is not as pinpoint as it used to be, overall presentation is little boring, it's not night and day difference though 

 

Round #2  

Beelink with ULN LPSU connected to the router/NAS via LAN cable and through USB to the amplifier, wifi switched off

 

Beelink has finally same level of details as GB but remain relaxed, soundstage is back and deeper than GB, imaging perfectly defined, overall presentation is nicely balanced and engaging, don't know if it's + or - and not sure if it's caused by more aggressive presentation of GB but now I wanna turn the volume up even more without feeling it's too loud, missis told me it's really too loud :D

 

It seems that well isolated board combined with on board chips (no cables and sockets) powered by good PSU is the right recipe for very well baked streamer, now just new chassis for PSU and I'm quite happy :) 

 

  • 5 weeks later...

Found something that moved SQ forwards a notch on mine, thought I'd share. 

 

I'm no USB fan and I don't have a fancy audiophile USB hub... mostly because I'm cheap (no disrespect to those that do have 'em). I get by with having only my DAC's Amanero plugged into the motherboard's USB. 

 

A motherboard typically has multiple USB hubs and ports which, of course, are all powered on at boot. 

 

It is possible in many cases to power them off, however, and only leave powered that which you need on for music output.

 

Linux users might want to check out https://github.com/mvp/uhubctl/blob/master/README.md - straightforwards to use and compile - does the trick well. 

 

Sounds better in blind tests too, here at least.

 

(EDIT: Bl***y hell it really does sound rather much better.)

Edited by rmpfyf

@rmpfyf any progress with your NVidia shield?

3 hours ago, kukynas said:

@rmpfyf any progress with your NVidia shield?

It's moved from storage to my study :)

 

Someone has my TX1 dev board, I'll try flash Ubuntu onto my shield instead.

.

Edited by powerav

1 hour ago, powerav said:

.

?

21 minutes ago, rmpfyf said:

?

I made a new topic for my post.

Update:

 

....Back from the dead.

 

After months of hassle with a dodgy clock installation, two ruined motherboards, hours of frustration and possibly a dodgy HDMI lead adding to the confusion, I decided to let the pros have a go. Hardware sorted; thanks so much for your help in arranging this @JDWest. I want to give this guy a shout, goes out of his way to understand your problems / needs, goes above and beyond to help out and is a real pleasure to deal with.

 

Pain:

 

Reinstall Windows 10 and associated software aaaaaand blue screens of death. 

 

Many of them.

 

Regularly - all linked to audio (Amanero drivers and wfd01000.sys, mainly).

 

This wasn't an issue before; the only thing that's changed in the 5 months of frustration is Windows 10 (updates). I'm pretty computer literate and could not get this issue sorted out; systematic troubleshooting would just not fix the issue. I do have to say, there was one point when everything worked, infuriatingly, I'd changed nothing and this window of clarity lasted 24 hours or so, everything sounded great, however, no changes later and I was back in the quagmire.

 

Clarity:

 

Idly thinking about root cause analysis one day, I realised that the drivers weren't the real issue, needing drivers in the first place was the issue. So, I decided to try a dual boot system, one with W10 for whatever use and a Linux install. I did some browsing and remembered JD and others here use Snakeoil OS with success. So I downloaded it and spent the weekend to get it working. I've never touched a Linux Distro before and I've got to say, the instructions for installation for Snakeoil could be written in a clearer fashion; this made the hoops that much harder to jump through. With a little perseverance, the installation is actually very simple, quick and easy, once you know how.

 

Conclusion:

 

I've got to say, @rmpfyf had it right all along, Linux just sounds better than Windows 10. I'd recently spent a fair bit of cash on Fidelizer, Audiophile Optimiser and Process Lasso for Windows 10, they made a significant improvement to the sound of the system. Snakeoil OS (can't speak for other Distros) immediately sounds better out of the box, I guess the Windows software I bought were just methods of polishing a turd. I'm extremely impressed with how Snakeoil OS operates. I won't be going back to Windows for my audio needs.

 

Using Snakeoil to install custom software is very easy - I've got Jriver 23 up and running, with all of my geeky tweaks to the programme running without issue.

 

I'm so glad to have my music back, to have it back and sounding better than before is just a blessing :wub:

 

Questions:

 

I've still got a few kinks to iron out with Linux (always the way, right?). Any help with the following questions would be greatly appreciated:

 

  • I've read that increasing the player's (JRMC here) priority helps - can anyone tell me how to do this please?
  • I recall being told that giving software it's own CPU to operate on reaps benefits - how does one achieve this in Linux?
  • Is there anything else that I should look into as far as software optimisation is concerned?
2 hours ago, realysm42 said:
  • I've read that increasing the player's (JRMC here) priority helps - can anyone tell me how to do this please?
  • I recall being told that giving software it's own CPU to operate on reaps benefits - how does one achieve this in Linux?
  • Is there anything else that I should look into as far as software optimisation is concerned?

 

I'm going to explain some stuff which will seem weird coming off Windows, but don't worry, at worst we can find some time and help out maybe in person.

 

Increasing priority needs to be done with some forethought. Some tuners - PeterSt of Phasure DAC fame - reckons you need as many cores as possible to ensure that the one core doing audio doesn't get interrupted with anything else. In Linux I do it the other way around - I boot the system with reserved cores (which means 'don't use these unless it gets super extreme') and then play audio on a different core. This is a lot cheaper (a 4-core CPU is plenty, though you'll want cache) and more possible in Linux because I can play music - complete with network access and a NFS client to read files on my NAS - with not more than 15 processes, the majority of which are sleeping during playback (doing the same in Windows is nearly impossible). 

 

Naturally assuming you have hyperthreading disabled in BIOS and you've had a play with C-states enough to have settled on something that works for you (stop me here if not).

 

So to reserve cores you need to add the following to the kernel boot parameters:

 

isolcpus=x,y,z

 

Where x,y,z are the CPU kernels you don't want the computer to use. You will also want to compile the kernel without the multicore scheduler, e.g. without the bit of software that says 'hmm, I need to do something, now let me think about how I break this up among the CPU cores I have at my disposal here'. This will give you a system that is fast and responsive to most tasks for an audio PC without high and variable latency in thinking about what comes next.

 

Then to run anything on a particular core you use the taskset command, which is part of the utils-linux package. e.g. taskset <COREMASK> <PROGRAM NAME>, where coremask is the CPU (or CPUs) you want to launch something on, and program name is the executable path to that program. You will want to give whatever launches that program superuser privileges, which are required to manipulate system calls of this nature. 

 

You will also find (get this) that your audio will sound different depending on which core you play it on. This is in part because the physical difference between the cores differs, and whilst one is your player and only your player, your audio devices are running off another, and the difference in latency is often audible. So play around. 

 

Increasing priority can be done with the nice command, though if you're using a Linux distribution and have the real-time kernel installed (I assume you do) then against, the utils-linux package has the chrt command which allows you to manipulate the real-time priority of any process (as launched or when running). This isn't limited to the player for your device, but also the processes tied to music-relevant interrupt requests ('hardware says ship a few more bytes of music.... now!'). It requires a bit of tweaking. SnakeOil OS from memory has a screen that allows you to tweak a few of these, though setting everything at realtime (priority=99) can grind your computer to a halt occasionally as it deals with stuff it's been told to deal with right now with no excuses

 

Other stuff you'd do? Heaps!

 

  • Setup a RAM disk and script your players to run through that if not doing it already
  • Delete your swap partition or file (depends which vers Linux, some use a file, most a partition) if not done already
  • Set your clock sources and frequencies correctly
  • Optimise system component frequencies
  • Power down all unneeded USB (mentioned this a few posts up)
  • Remove unnecessary processes (there are many), including removing DHCP and running a static IP
  • Reserve a core for DRC and run that if you like
  • Many more

 

Welcome to Linux!

Edited by rmpfyf

Thanks for taking the time to write all of that mate.

 

To answer one of your initial questions, I think I've found a place I'm happy with re C stated (Everything above 3 deactivated - this keeps the L3 cache available). I've got CPU and RAM clocked down to 800mhz. As much stuff turned off as I dare in the UEFI.

 

Lots to take in and TBH, lots I don't currently understand, there's always an overhead with making a switch huh?

34 minutes ago, realysm42 said:

Thanks for taking the time to write all of that mate.

 

To answer one of your initial questions, I think I've found a place I'm happy with re C stated (Everything above 3 deactivated - this keeps the L3 cache available). I've got CPU and RAM clocked down to 800mhz. As much stuff turned off as I dare in the UEFI.

 

Lots to take in and TBH, lots I don't currently understand, there's always an overhead with making a switch huh?

Glad to hear - they're almost the same as my settings, though many here find a different path works :P 

 

Try the RAM as fast as you can (1600MHz or 2400MHz); see how that sounds. 

 

Always an overhead with a swtich, unless you grab priority. You can grab priority :) 

  • 3 weeks later...

@rmpfyf Hi Riccardo,

 
I want to have a go at isolating my media player to one core, I've got some questions though:
 
  1. How do I know how many programmes I have to add? EG - it's Jriver, I know there's the main programme, but if there were related threads, how would I go about identifying them so nothing it missed?
     
  2. I found this link that explains how to add Kernel boot parameters and this link that shows the isolcpu procedure; when I use coremask to force it to use JRiver on that reserved core, how do I save this (so I don't have to do it every time)?


Bonus questions:
 

  • How do I shut down unnecessary processes on Linux, what's the equivalent to Services.msc?
     
  • How do I set up everything to run through ram? I've got JRMC set up to use memory playback already, does this render this one moot?
12 minutes ago, realysm42 said:

@rmpfyf Hi Riccardo,

 
I want to have a go at isolating my media player to one core, I've got some questions though:
 
  1. How do I know how many programmes I have to add? EG - it's Jriver, I know there's the main programme, but if there were related threads, how would I go about identifying them so nothing it missed?
     
  2. I found this link that explains how to add Kernel boot parameters and this link that shows the isolcpu procedure; when I use coremask to force it to use JRiver on that reserved core, how do I save this (so I don't have to do it every time)?


Bonus questions:
 

  • How do I shut down unnecessary processes on Linux, what's the equivalent to Services.msc?
     
  • How do I set up everything to run through ram? I've got JRMC set up to use memory playback already, does this render this one moot?

Hi

 

As an alternative option try loading a dedicated Linux music player such as Daphile or Snakeoil. I have not tried snakeoil (as recommended in this blog) but you can load Daphile (www.daphile.com) from a USB drive for executioin in RAM and not disturb your existing Linux install. Note that within Daphile you can disable hypertherading and reset the cpu frequency without compromising the BIOS.

1 hour ago, realysm42 said:

How do I know how many programmes I have to add? EG - it's Jriver, I know there's the main programme, but if there were related threads, how would I go about identifying them so nothing it missed?

Tough one. I get around this the other way - I use a very lean player to play music, and I either call that from the command line or within Kodi, and I've given whatever executes that program appropriate permissions to play with whatever it needs to. If you're keen on JRiver someone here might be be able to help; I've very limited familiarity. I would submit it, however, as a feature request to their development team, as it's a few lines of code and some modified permissions to assign a program to a particular core - and the effect is quite audible. 

 

To see if there's an audible effect, you could create a script and just use alsaplay (aplay). Here's an example I sometimes use - note I've got a RAMdisk configured, I use sox for conversion, brutefir for convolution and I could be a little neater on who can do what for permissions (this is so hacked together that I expect a few people here to throw rocks at it). 

 

#!/bin/sh
#$1 is original file, $2 is volume (max=1)

 

#flush the ramdisk just in case

rm -R /mnt/ramdisk/* 2> /dev/null

 

#get rid of any extant pcm files in the root
rm *.flac test.pcm out.pcm 2> /dev/null

 

#copy the FLAC over
cp "$1" ~

 

#convert the FLAC to PCM
sox -v $2 "$1" -t f32 test.pcm

 

#convolve what's there
brutefir

 

#rename
mv out.pcm out.f32

 

#change to s32
sudo sox -c 2 -r 44100 out.f32 -t s32 out.pcm

 

#copy the convolved audio to the ramdisk
cp out.pcm /mnt/ramdisk/

 

#shut down network resources (this is a bit extreme - use only if you don't have an Ethernet isolator in place)
ifconfig eth0 down

 

#play the convolved audio file from RAM on a given CPU core
sudo -u rtaudio taskset -c 3 aplay /mnt/ramdisk/out.pcm -f S32_LE -r 44100 -c 2 $3 $4 

 

#clean up
rm *.flac test.pcm out.pcm out.f32 2> /dev/null
rm /mnt/ramdisk/out.pcm 2> /dev/null

 

#bring up network resources
ifconfig eth0 up

 

Now before I run this I have a script that sets my HPET and RTC timer frequencies, powers down my unused USB, minimises USB latency, etc... this runs just after boot but can be updated whenever. Snakeoil I believe does the same and even has a nice configuration screen for various options. 

 

What you're trying to change is the CPU number after 'taskset' for an audible outcome. You could mod this script to make that a command line option, or even something that plays a sample looping through all cores just to give you a taste of what's what. 

 

1 hour ago, realysm42 said:

How do I set up everything to run through ram? I've got JRMC set up to use memory playback already, does this render this one moot?

Should do it by itself though I've no idea the mechanism by which it creates a RAMdisk. 

 

If you wanted to do the same for your own use (it'll only use RAM for what's in there), try:

 

sudo mkdir /mnt/ramdisk 

This creates a mounting point/folder for the disk.

 

Then add these lines to your /etc/fstab

#ramdisk for play from RAM
tmpfs /mnt/ramdisk tmpfs rw,size=1024M 0 0

 

You can edit that file with your favourite editor (I use nano, e.g. sudo nano /etc/fstab). Don't change anything else. Either reboot or type sudo mount -a to make it real. It'll stick. Anything you now copy to /mnt/ramdisk lives in RAM, up to a limit of 1024MB. You can increase that number per the config file. Editing /etc/fstab isn't something to trivialize, so before you do that type sudo cp /etc/fstab /etc/fstab.bak to create a backup. 

 

You might find that your computer sounds nicer with just one ram stick installed. There's switching with two, literally the PC flipping an additional address bit in the memory controller a good bit, and (for DDR4) a good 288 PCB traces lighting up your motherboard for some EMI too. This depends though - yours might have tighter roundtrip latencies with two DIMMs in place too. Worth a try either way. For perspective my machine is (right now) sitting pretty on 463MB RAM with Kodi running, a single 4GB stick is enough. 

 

1 hour ago, realysm42 said:

I found this link that explains how to add Kernel boot parameters and this link that shows the isolcpu procedure; when I use coremask to force it to use JRiver on that reserved core, how do I save this (so I don't have to do it every time)?

 

I assume you're using the permanent method so it's at least booting with everything on one core. I'm not sure if Snakeoil is compiled single or multicore - this makes a difference. 

 

Starting JRiver to use a reserved core should be easy - it all depends how JRiver starts. Either you modify that file (if it's a script) or (easier) you create a file that contains:

 

sudo taskset -c X <<usual JRiver command>> 

 

And call that instead to use JRiver. I assume there's some sort of GUI in Snakeoil that does this?

 

1 hour ago, realysm42 said:

How do I shut down unnecessary processes on Linux, what's the equivalent to Services.msc?

There are many ways. It should be stressed that whilst here's a good correlation between less processes and better SQ, it's not an absolute - below a certain level there's much to be said for how they're timed  and what their priorities are. 

 

First of all check on how many you've got. Boot the computer to initlevel 3 - just a bare command prompt. Then run something that'll let you visualise what you're dealing with, I use htop (to get that, run sudo apt-get install htop). The NI column tells you what core anything runs on, and the number of processes are displayed clearly. A lean system running NFS for network disk access and ssh to get into can run in 16 processes. With Kodi up and running I'm at 33. 

 

You simply go through the list and identify what's what. Some stuff you'll be able to simply uninstall. Some things are reconfiguration (dropping network DHCP for a static address), some things require boot script configuration (I have to think about this as my machine runs Ubuntu 14.04, on more recent Ubuntu flavours this is configured differently). SnakeOil OS, to be fair, seemed to have a lot of the hard work done in this area, so you start from a good place.

 

To be honest this might be a way of identifying whatever JRiver runs to play music, there'll be an active process with some CPU usage whenever music is played. You'll need to run htop whilst doing this; many ways to do this. 

 

Hope this all helps.

 

39 minutes ago, Triplefun said:

As an alternative option try loading a dedicated Linux music player such as Daphile or Snakeoil. I have not tried snakeoil (as recommended in this blog) but you can load Daphile (www.daphile.com) from a USB drive for executioin in RAM and not disturb your existing Linux install. Note that within Daphile you can disable hypertherading and reset the cpu frequency without compromising the BIOS.

 

Neither SnakeOIl or Daphile (both are good) support the whole of what's being attempted here. 

 

Frequency changing doesn't compromise the BIOS on a CPU with a locked multipler (whereas the BIOS can compromise CPU speed changes). 

Edited by rmpfyf

Thanks both for the replies.

 

Gosh, I've got some work cut out for me!

This just caught my eye:

 

#shut down network resources (this is a bit extreme - use only if you don't have an Ethernet isolator in place)

 

The only network connection I have to my PC is via cat6, for remote control access. All of my audio is stored locally (in this PC) on SSD, I don't do any streaming. Baring this in mind, would I benefit from having an Ethernet Isolator? I understand the logic for streamers, just never thought about it for my system's context.

 

Does just being connected to the Internet introduce noise into the system?

Edited by realysm42

17 minutes ago, realysm42 said:

This just caught my eye:

 

#shut down network resources (this is a bit extreme - use only if you don't have an Ethernet isolator in place)

 

The only network connection I have to my PC is via cat6, for remote control access. All of my audio is stored locally (in this PC) on SSD, I don't do any streaming. Baring this in mind, would I benefit from having an Ethernet Isolator? I understand the logic for streamers, just never thought about it for my system's context.

 

Does just being connected to the Internet introduce noise into the system?

Yes it does.  Sorry.

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.