Linux For Audiophiles

First I want to say I love Bodhi and use it on a regular basis as well as tell all my friends about it.

With that said, most of my friends including me are lovers of music and turned to Linux as a solution to getting better sound. Having used Windows in all its configurations for music as well as Mac I have settled on Linux as the best possible solution for audio. I am not the only one, the Squeezebox Touch, Bryston, Consonsance Audio, Wyred4Sound and other High-End manufacturers are also not jumping on the Linux band-wagon. Simply put Linux is THE BEST solution for audio.

My request is for the Bodhi team to dedicate some resources to make a version of Bodhi dedicated for audio enthusiasts. I have spent years....yes YEARS using a computer as the source for audio. I have spent the last 4 years or so strictly using Linux and have compiled some information as to what it takes configure Linux to use Music Player Daemon and the Real-Time Kernel for the best audio. Although I am not "code" savvy I have managed to stumble my way through and make it work. I am asking the Bodhi team to use what I have laid out as well as any other innovation they can think of to make the ultimate out-the-box Audiophile version of Linux. I would love to work with the Bodhi team in any way possible to make this happen. Most all of the actually few steps required are outlined at a google web site I have put together to help people configure Linux for audio.

Please let's brain storm and put together a nice version of Bohdi for Audiophiles, with standard Real-time kernel, MPD, etc.

I think the main philosophy behind Bodhi is minimalism. The Distro is inteneded to just provide a starting point for the end user to make it what they want it to be, including a music production machine. I too used to be a bit of an audiophile sound guy and liked the fact that linux has quality audio software for free beats getting dodgy copies of Pro-tools

You could create this by installing everything you think should be in a music production machine and use something like remastersys, which I belive is installed by default to create an iso of the set-up, thus audio-bodhi

Remastersys would be the best thing to use. I've made my own custom install for the first time using it, and so far it works quite well (altho I have no idea what's supposed to go in the ~/skel/ dir).
I'm not an audiophile, so I use Audacious for music, mainly because I started on W!ndoh$ with winamp and it's very similar to use.

This is a Signature. It is here to give you something to read after the end of the post.

It involves first using a very low resource distro of Linux ie Bodhi et.al.Then going in and further removing any unnecessary applications like Blue-tooth etc.Installing the Real-time kernelUpdating permissions etc.Making a small script that stops other programs from running etc.Running MPD on its own core [for multi-core processors]

Might as well take the time and make an iso myself. I can do some fine tuning while I am at it....

Dynobot, what packages would you say are a must have for a basic music production set-up?

Music "Production" I could not tell you....my interests are with "Music Listening".

For music listening the 'must have' packages are:

Music Player DaemonGnome Music Player ClientReal-time kernelAlsa Remote Desktop

Of course just "having" the real-time kernel installed does not mean anything unless you use it right. Therefore as I have outlined on my site you will need to set permissions and scheduling to actually use the real-time kernel.

Then there are the extra steps in fine tuning Linux to handle the audio 'threads' under real-time priority and setting cpu affinity for dual core processors.

Note: dual core systems will have two sets of these [one set for each core], you should do both sets or all four.

3) Set CPU affinity for Music Player DaemonFinally I set the affinity of the CPU to run MPD in one core all to itself instead of having its process being spread and shared amongst all the CPU cores. In my case I noticed MPD was using one core when I played Internet radio and another core when I played music from the external hard-drive. To see core cpu activity type top in a terminal window then press the number 1 [key]. I noticed that core #2 had very little activity even from the operating system while core 0, 1, and 3 were being used the most. I decided to give MPD core 2 all to itself and noticed a very nice improvement in detail.

taskset -c -p 1 `pgrep mpd` <~~~~This tells it to set the task to core 1 for process mpd.

Automate it to run at start-up with a script.

I ended up putting all of this into a script to run at each startup, otherwise you will have to do it every time. sudo gedit /etc/rc.local ....insert path to script [somescript.sh]

This is a script I made it changes the CPU thread priorities to real-time and kills some start up processes. Instead of using 'pgrep......' for the processes above I just used the PID # of each process. Essentially they are all the -timer, -hrtimer, and -tasklet [s] for the dual-core processor. I saved it as startscript.sh in my Documents folder updated the permissions via the chmod 775 start* command, then added the path to the script to the rc.local file located in the /etc directory.

Is it possible to use MPD wihtout Real Time kernel, but with a simple 3.0 one?

I'm asking myself why we don't user MPDule, the module to control music .Maybe we try to recompile emphasis... just to be more enlightened.

Yes, you can run mpd without real time options in the kernel... on any reasonably powerful system, it should be able to play music with normal priority without experiencing any interruption of service. And I say that having, on a previous system, run mpd as a background service with a database of more than 100,000 mp3's on a 600MHz first-gen Athlon. Actually, setting it to real time priority could actually cause problems if something gets into a loop, because it would impair the kernel's ability to manage time slices.

In fact, the codec you're listening to and the quality of your speakers will have a *much* bigger impact on the quality of sound playback than changing processing priorities in the kernel. And that's to say nothing of the DAC in your sound card, which will make a huge difference. All of the above have nothing to do at all with the kernel time slices, and just about every CPU out there today has enough punch to handle just about any audio codec without needing real time prioritization. The speakers and the DAC in your sound card are the main definers of the quality of audio playback on your system, and those are both pure hardware: changing software settings will have absolutely no impact on either.

If you want to improve audio playback on your computer, get yourself a good pair of headphones, and be amazed at the difference it makes. I'm typing this on a system with normal prioritization, with a couple of chats going on in Pidgin on another desktop, and while listening to the Cowboy Bebop OST that I ripped to 128-320kbit vbr mp3 years ago, streaming off a network drive, and playing in VLC. (I would have used FLAC, but my cell phone at the time didn't play FLAC, and my car stereo still doesn't play FLAC). The sound playback is nearly indistinguishable from the CD playing on my stereo with Tannoy Monitor Gold speakers, because the headphones I'm using are high end Sennheiser over-the-ear open-air headphones. The distortion I can hear is from the mp3 codec itself (brass instruments, particularly with a loud record volume, don't like mp3), not the software settings. It's all in the speakers and the codec used for the audio, not the software settings on my laptop.