Jump to content
IGNORED

Linux-based End-to-End Music Server


atreyu

Recommended Posts

oh, yeah, power failure, right.

 

there is always piCorePlayer, or mpdPup (abandoned) for running OS in RAM...

 

I use mpdPup on other hardware - it does not run on RasPi. Otherwise, it's my preferred SW server (I even modified it a bit and added some more bits and pieces, including the UI...)

 

piCorePlayer is nice, but lacks the server part. :(

 

I might do some serious hacking on it and see what can be done with MPD and lighttpd... to ultimately turn it into something like mpdPup (BTW; I just LOVE Puppy Linux, there's nothing else like it....)

 

On the other hand, I see a lot of demand for full multimedia server by non-demanding users - in this case RasPi is ideal, since it runs XBMC (Kodi) just fine (for watching movies), and also works just fine headless when used as a source for listening to Internet radio and/or Google Music... Like I said, the only downside is the problem with power failure - which Odroid might handle a bit more gracefully, perhaps...

Link to comment
I use mpdPup on other hardware - it does not run on RasPi.

oh, that's a bummer. still, puppy on pi is possible, so maybe some enterprising/bored dev will make it happen!

 

piCorePlayer is nice, but lacks the server part. :(

 

I might do some serious hacking on it and see what can be done with MPD and lighttpd... to ultimately turn it into something like mpdPup

excellent! i'll sign up as a beta-tester for your new distro...

 

I just LOVE Puppy Linux, there's nothing else like it....

same!

 

the only downside is the problem with power failure - which Odroid might handle a bit more gracefully, perhaps...
it could certainly handle it well if the OS (TBD) was running in RAM, which there is 2x of, compared to an RPI.
Link to comment

Hi,

 

Just spotted this thread.

 

I have a Raspberry Pi running Raspbian, and use mpd for USB audio out. This feeds a USB --> S/PDIF converter, which then feeds my DAC over Toslink. The S/PDIF conversion is the upshot primarily of driver issues with my DAC, which I could sort out but have not got round to yet.

 

In terms of front end, I use either MPoD (iPhone app) which has been flawless and excellent to date, or mpc, which is a CLI-based front-end. The former gives me convenience, the latter gives me power if I want to do cooler things based around scripts. (I run the latter from my iPhone also, using the 'ServerAuditor' app.)

 

I too originally had USB issues with the Pi, but I solved these at a stroke by:

a) using a power supply with at least 1 amp of current

b) stopping my bad habit of hot-swapping items from the USB ports

 

The set-up is rock solid, I leave it running permanently. It has currently been up for 9 weeks, and I've not experienced any drop-outs or any issue forcing me to reboot. It just sits there, quietly (very quietly!), doing its job.

 

My older Pi will take a 128Gb SD card, which obviates the need for NAS if your music collection is not too hefty. I actually use both the card and the NAS now, since my collection is slowly growing, and I still need the network connection to drive the Pi. (I can do it without, but it's something of a PITA.)

 

As well as the Pi, I have a PC and Mac Mini with various software players on. I actually spent a lot of money on one of these with a view to it being a headless front end. The Pi was just an experiment, a bit of fun as I am a computer geek/hacker with too much time on my hands. But the SQ from the Pi set-up is just so good - so neutral - that I can't go back.

 

YMMV, of course, nevertheless I thought I would report my experience to show that a Pi can be set up as a reliable transport in a mid-range system.

 

Cheers

Front End: Neet Airstream

Digital Processing: Chord Hugo M-Scaler

DAC: Chord Dave

Amplification: Cyrus Mono x300 Signatures

Speakers: Kudos Titan T88

Link to comment
I'm using 5V/2A (or even 3A) power supplies, so it's not a problem of underrated PS.

The problem is with interrupted SD card writes in case of premature power turn off.

I'm careful with my RasPi, so no problems here - but I've made a couple of servers for others, and I always have to warn them about proper shutdown procedure: first do the software "shutdown", and then wait 30 secs, and only then pull the power... :(

And you know how other people are like: this is the first thing they'll mess up... Besides, in case of power blackout or even brownout, the RPi will reset, sometimes (not always) corrupting the SD card.

The only (expensive and complicated) solution is to provide some kind of UPS power for the Pi.... not really practical :(

 

Not sure which OS your running but aren't most of these Linux flavors Read Only operating systems? The only Writes taking place should be within Log files as far as I know?

 

I guess what I'm getting at is that delayed writes shouldn't even be a concern assuming the above is correct about the system being Read Only.

 

I've never done a "proper" shutdown on my Linux Voyage setup which I know is R/O I just kill the power and walk away. Been doing that for over 3 years now without issue.

 

The only issue I'm aware of with the SD Cards is their limited lifetime under heavy Read/Write conditions so as long as you've relocated your heavy activity Log files to a more appropriate medium (like the NAS) they should be pretty reliable for a long time.

 

The above would also be exactly why storing music files locally on these systems using SD Cards is a bad idea. It will certainly work for a while but it then becomes a question of when it will fail verses if it will fail.

Link to comment

So I continue to A/B this iFi power thingy....as well as the BBB vs a max'd out i7 Linux front-end.

 

No doubt about it, in long listening sessions [where the Devil in the details come out via listener fatigue] the BBB powered by the iFi wins in every regard by a slim but noticeable margin over a brute force computer set-up. Very low power consumption being fed very clean power for a single purpose seem to be the way to go...in this case less is more.

 

i7 set-up:

Fantastic presentation, up front and in your face.....top to bottom everything seems right, full and there, but over hours of listening you become fatigued. You need a break in volume or content or both.....talking 4+ hours. Still it sounds great, very dynamic, voices, low end etc. all very good powered with the iFi or not. With the iFi in place it smooths out, edges become less rough and more defined and clear. Just for kicks I compared a two Atom boards to the i7, the Atom D525 was up there with the i7 and even sounded better when throttled down to 1Ghz vs the 1.8Ghz max for the processor. This lead me to believe there is something to lowering the processor speed to reduce EMI etc [junk]. Cics recommended this a long time ago...

 

BBB set-up:

Just as full as the i7,nothing missing at all... but I have to admit this was only after I did some Kernel level tweaks per IBM's instructions. Standard Volumio comes with some user settings for adjusting parameters in the Kernel etc. but when I searched I could not find one justification of the adjustments in the Kernel which was used. When I used IBM's settings voices stood out with more clarity, low end and highs are very clear and extended. The soundstage was the most noticeable difference because separation increased giving a more holographic effect. With the iFi in place vs. a wallwart powering the BBB its the icing on the cake, tame, effortless clarity from top to bottom. All day listening sessions net in zero fatigue, but only wanting more music.

 

System:

Audiogd Ref-7 Dac

Audiogd Master-1 Preamp

Audiogd Master-3 Amp

Dynaudio 80 Speakers

 

Needless to say with such a system I did not 'want' a BBB to best a max'd out i7 board with 16G of Ram being powered by a separate linear power supply etc. but if I listen to my ears this is what they tell me.

Link to comment
....

 

BBB set-up:

...

When I used IBM's settings voices stood out with more clarity, low end and highs are very clear and extended. ....

 

Could you pleas detail a little bit more:

 

- did you use vanilla version of volumio?

 

if not

- kernel version

- mpd version

- tweaks

 

could you please detail a little bit more IBM's kernel tweaks? or any other tweaks?

 

Thank you

Link to comment
Could you pleas detail a little bit more:

 

- did you use vanilla version of volumio?

 

if not

- kernel version

- mpd version

- tweaks

 

could you please detail a little bit more IBM's kernel tweaks? or any other tweaks?

 

Thank you

 

 

Hi it is the Vanilla version of Volumo.

 

I added some of my own tweaks for IRQ scheduling and Ethernet Gigabyte as well as some Kernel parameter changes different from the ones listed in ACX et.al in the Volumio package. Still testing and A/B'ing but when I get some final conclusions I will provide everything at my web site. Either way, the iFi USB power supply powering the BBB is the way to go...imo.

 

FWIW, MPD has been my standard player for probably over a decade, I've tried everything I could imagine and Google over the years. I'm actually working on my own distro of Linux/MPD, so if/when the dust settles and I get some time I'm going to re-master my set-up and have it available at my site.

Link to comment
Hi it is the Vanilla version of Volumo.

 

I added some of my own tweaks for IRQ scheduling and Ethernet Gigabyte as well as some Kernel parameter changes different from the ones listed in ACX et.al in the Volumio package. Still testing and A/B'ing but when I get some final conclusions I will provide everything at my web site. Either way, the iFi USB power supply powering the BBB is the way to go...imo.

 

FWIW, MPD has been my standard player for probably over a decade, I've tried everything I could imagine and Google over the years. I'm actually working on my own distro of Linux/MPD, so if/when the dust settles and I get some time I'm going to re-master my set-up and have it available at my site.

 

Thanks, I'm asking because I'm using different ARM boards. For example for BBB I used volumio as a starting point, updated it to jessie, compiled latest kernel and latest git mpd. I'm just trying to reinvent the wheel.

 

I've build some power souces as well.

Link to comment
Very interesting information, Dynobot.

What Linux distro are you running and, if you don't mind me asking, why did you settle on that version?

Thanks a lot.

Joel

 

 

If you don't mind me asking, when you whittle down Linux to it's basic component what difference does distro matter?

 

When you answer that you will see how irrelevant your question is...

 

Furthermore, I am really not the one nor am I in the mood for a typical message board volley of BS.

 

I posted what I had....period.

Link to comment
Dynobot,

I'm a total Linux ignoramus.

I asked what I think was a reasonable question.

I'm not sure what I posted which was so provocative to you.

Hope you find yourself in a better mood.

Joel

 

I apologize for being so defensive and aggressive.

 

Volumio is based on Debian. Of the hundreds of different distros out there are only a handful of base Linux platforms....most all use the same or similar Kernels and sound architecture.

Link to comment

You're a good man, Dynobot.

Apology gratefully accepted.

I asked because I've been under the impression that some OS's and players are less CPU and RAM intensive than others and that those less resource intensive products result in, all other things being equal, better sound.

I would love to find that the BBB actually sounds better than my server as my server has expensive cables, CF drive, etc.

Thanks for the great information you offer on this thread.

As an aside, do I remember correctly that you're located in Hong Kong or am I mistaken about that?

Joel

Link to comment
Could you pleas detail a little bit more:

 

- did you use vanilla version of volumio?

 

if not

- kernel version

- mpd version

- tweaks

 

could you please detail a little bit more IBM's kernel tweaks? or any other tweaks?

 

Thank you

 

I use information like this from IBM and others [usually professional sources]

 

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W51a7ffcf4dfd_4b40_9d82_446ebc23c550/page/OS%20Jitter%20Mitigation%20Techniques

 

Granted not every adjustment will be available -but- for every instance I can apply their methods I try to work it in....

 

Setting affinity for example and not letting important processes share the same IRQ interrupt.

 

Some years ago I stumbled upon a paper written by Texas Instruments concerning Jitter via USB interfaces and wire. Basically shorter is better and they had the measurements to prove it. Since then I use the shortest USB cable I could make/find and remove the +5v line.

Link to comment
Some years ago I stumbled upon a paper written by Texas Instruments concerning Jitter via USB interfaces and wire. Basically shorter is better and they had the measurements to prove it.

That recalls something I read in a USB DAC round-up article a couple of days ago:

 

Six Budget USB DACS Put To The Test! Clive Meakins checks out some USB equipped DACs and how to get the best out of them. USB DAC shootout featuring JPLAY and the Rega DAC, Beresford TC-7520 (modified + Burson Buffer), Halide Design DAC HD, JKDAC , M

 

Scroll down to the section titled An Interesting Tweak, where he talks about USB and "direct connectors".

 

USB-connector.jpg

 

The article is dated (Apr 2012), so the products are a little dusty, but the detail is good.

 

Since then I use the shortest USB cable I could make/find and remove the +5v line.

hadn't considered that yet (removing Vcc), good idea - worth a try, anyway. i'm swimming in spare USB cables. i like this guy's hi-tech design...

Link to comment
That recalls something I read in a USB DAC round-up article a couple of days ago:

 

Six Budget USB DACS Put To The Test! Clive Meakins checks out some USB equipped DACs and how to get the best out of them. USB DAC shootout featuring JPLAY and the Rega DAC, Beresford TC-7520 (modified + Burson Buffer), Halide Design DAC HD, JKDAC , M

 

Scroll down to the section titled An Interesting Tweak, where he talks about USB and "direct connectors".

 

USB-connector.jpg

 

The article is dated (Apr 2012), so the products are a little dusty, but the detail is good.

 

 

hadn't considered that yet (removing Vcc), good idea - worth a try, anyway. i'm swimming in spare USB cables. i like this guy's hi-tech design...

 

 

Thanks I have those and for the iFi they don't help.

 

I use the short'ish connectors that come with the iFi instead.

 

Back in 2012 I posted at AudioAsylum to Steve at Emperical Audio results from Texas Instruments concerning USB wife length and Jitter. The study showed how wire length does in fact increase jitter. This went in contrast to his famed 1.5m claim of coax cable.

 

Truly I let my ears tell me what works....and try everything under the sun. With that said, for some reason the direct connect does not sound better with the iFi...perhaps the quality of the connector itself.

 

I have a ton of tweaks, most need a cpu with more than 1 core. I get most everything from reading IBM server tuning manuals for Linux/UNIX. I apply as much as I can but in some cases I can't and/or it degrades the sound. I need to start cataloging the sources and tweaks better so I can have my own reference for the future. 99% of the time when I present these tweaks in 'audiophile' forums without telling the source people balk and doubt....typical audiophile responses. However I doubt if any audiophile has the resources and experience with Linux that IBM does, nor the testing equipment, time, money and expertise to refute any modification. IBM backs up all their server modifications with plots and graphs [typical, professional scientific style research]. Other tweaks come from Texas Instruments [usb jitter reduction] and other professional audio sources who use Linux in recording studios.

 

Over the years I have gotten to the point of just keeping my mouth shut and enjoying this information by myself. The Volumio folks are not receptive either. I don't know how they got the numbers they use in their tuning parameters or even why they choose to use them, I see nothing in the professional world to back them up....

 

Interesting, I posted at AA in April of 2012 myself with Texas Instruments links...links have gone since then

 

http://db.audioasylum.com/mhtml/m.html?forum=pcaudio&n=106969&highlight=texas+instruments&r=&search_url=%2Fcgi%2Fsearch.mpl%3Fsearchtext%3DRed%2Brose%2BRosette%2B2%26b%3D-1

Link to comment

I built a music server from:

- Intel NUC i5-4250

- 8GB DRAM

- 512GB mSATA SSD

- Ethernet connection to an Airport Express

- Schiit Wyrd for a USB filter

- Furman 8-port strip with a digital noise injection filter

- The stock power brick that came with the NUC

- Ubuntu Server 14.04.1 LTS with only OpenSSH and mpd and its dependencies

 

This is feeding an Auralic Vega DAC.

 

The main problem I had was all my music is ALAC or DSD and the stock mpd installable by apt-get didn't support either. So I set up a VM on my MBP running the same OS (installed from the same ISO) with g++, gcc, emacs, and everything else needed to build and test mpd 0.19. Hooked up the Vega and assigned it to the VM for testing. Built an mpd with libav for ALAC and everything I could find related to DSD. Tested it and copied the executable over to the NUC, identified missing libraries and added those. Works like a charm!

 

Cantata is a pretty nice OSX client. MPDDroid for Android... works.

 

Sound quality is indistinguishable from the MBP. Without the Wyrd it's a little cleaner sounding (less treble distortion) than the MBP without the Wyrd. With the Wyrd the Vega plays nicely in exact clock mode, but without I get intermitted playback skips. The coarser clock settings don't sound as good as they're presumably PLLs and not a precision oscillator.

 

Playing anything it stays at around 5-6% on a single core, so largely idle. The fan is inaudible unless I stick my ear to it, and then it's still quieter than the wall clock across the room. Playing music or at arm's length it might as well not exist. The low RF/EMI noise should be no surprise as it's all based on mobile componentry, so is low-power and individual cores can be powered down to preserve battery. The i5-4250 has the i5 and controller mezzanine chipset on a single carrier.

 

Remaining loose ends:

* Doesn't pick up DSF tags, might have to hack up a custom plugin for this

* Occasionally drops audio when starting playback, need to experiment with buffer settings

* Planning to build a custom kernel for it with as few drivers and as few modules as possible, with real-time scheduling policy support

 

Of those, I'd only consider the first two important. Here are the parts I used. The NUC device itself is palm sized, slightly bigger than an AppleTV or Airport Express.

 

 

http://www.amazon.com/Intel-D54250WYK-DisplayPort-Graphics-i5-4250U/dp/B00F3F38O2 (with cord)

Amazon.com: Crucial 8GB Kit (4GBx2) DDR3 1600 MT/s (PC3 - 12800) CL11 SODIMM 204-Pin 1.35V/1.5V Notebook Memory Modules CT2CP51264BF160B: Computers & Accessories (8GB)

http://www.amazon.com/Crucial-512GB-mSATA-Internal-CT512M550SSD3/dp/B00IRRDJ9C (512GB)

 

Download Ubuntu Server | Download | Ubuntu (newest LTS)

 

The ISO was put on a USB3 flash drive (PNY 256GB) and made bootable with unetbootin.app.

 

UNetbootin - Homepage and Downloads

 

Total price a little over $600 including prime shipping from Amazon.

About 20 min to assemble, including unpackaging.

About 4 hours to build mpd. (I can provide a binary for anyone interested to save you the trouble.)

Another hour or so to get everything working correctly and trying different clients.

 

Happy mpd hacking!

 

Edit: I thought I might move it to an Akasa fanless, passively cooled case, but the fan is so quiet I see no reason other than purely appearance. So unless the bearings act up or it gets clogged with dust or something I'll probably just leave it as is. The NUC also comes bundled with a VESA adapter.

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...