RaspyFi » usb dac http://www.raspyfi.com Pi never sounded so good! Mon, 16 Dec 2013 15:20:41 +0000 it-IT hourly 1 The right USB DAC for your Raspberry Pi http://www.raspyfi.com/the-right-usb-dac-for-your-raspberry-pi/ http://www.raspyfi.com/the-right-usb-dac-for-your-raspberry-pi/#comments Tue, 04 Jun 2013 09:03:53 +0000 admin http://www.raspyfi.com/?p=548 Do you need a USB DAC for your Raspberry Pi? Something to use with RaspyFi? And maybe you don’t know where to start? Well, this is for you. Got many questions regarding the best setup for a RaspyFi powered music

L'articolo The right USB DAC for your Raspberry Pi sembra essere il primo su RaspyFi.

]]>
Do you need a USB DAC for your Raspberry Pi? Something to use with RaspyFi? And maybe you don’t know where to start?
Well, this is for you. Got many questions regarding the best setup for a RaspyFi powered music server, and so decided to give few hints.
The main goal of RaspyFi is to achieve excellent sonic performances with a low-cost approach. So, no snake oil, no esoteric devices. Just pure bang for the buck pleasure. You should consider, by the way, that you’re relying on a 40 dollar Pi to please your ears. So it doesn’t make much sense to me to have a 1000 euros USB DAC for your raspberry Pi (even if with RaspyFi they are not an overkill at all). So here are few options for you. With prons and cons and buying links. I have personally listened many of them, and the one I didn’t listen, some really trusted friends did. So you won’t get copy and paste reviews.

So, these ones could be the right USB DAC for your Raspberry Pi

Budget Conscious

Hifimediy Sabre USB DAC 2

Hifimediy Sabre USB DAC 2 RaspberryThis is a dac closely resembling Nwavguy’s ODAC. You should however not expect the same build quality and attention to details. But this has an advantage over it’s famous competitor: it can eventually be fed with an external psu (external PSU will improve dramatically audio quality, not relying on Pi’s polluted DC, and releaving you from buying a good psu for the pi itself). Furthermore it can output Spdif signal via coax, you can use it as a cheap transport. My friends at Tforum report that it’s capable of driving low-impedance headphones, altough a custom headphones amp is commonly suggested.

PROS:
-Cheap                                                                                       NO LONGER AVAILABLE ON EBAY
-Can directly drive headphones
-Spdif Out

 

 

Bang for the buck

Schiit Modi DAC

Schiit ModiThis is the latest dac from the guys from Schiit. For less than 100 bucks you get an async usb receiver (the highly regarded CM6331A) paired with the legendary AK 4396. For sure a really hard to beat combo for that price. This DAC sounds really really good, and it’s design just increases its appeal. RaspyFi is being developed while listening to this dac. Is this enough for you?

PROS:
-Async Receiver
-Features one of audiophile’s favourite DAC
-Excellent performance/price ratio
-Elegant design                                                               Get it on Schiit’s Store

I also reccommend to read the (italian) review by stereo-head.it , is well worth it!

 

NwAvGuy’s ODAC

ODACTake it as a statement. This DAC set lots of controversies since the beginning of it’s development by the heretical designer NwAvGuy. The ODAC was designed to prove that engineering a really transparent musical device required a careful trial and error approach, debunking some audiophiles myths. It was built to have outstanding measurable specs. I bought it as soon as it came out, fascinated by the phylosofical meaning it had. You know, I’m quite pragmatic and I don’t like the “esoteric” fuzz most designer use to develop their produtcts. This DAC, when it came out, outperformed most highly regarded dac as of S/N ratio, db range and so on. Just math, only objective evaluations (that’s where the name comes, O stands for objective). Well, I love it. But honesltly I have to admit that nowadays you can have something better in that price range, especially with Diy. I dropped it in favour of my Diy XMOS2 + Sabre Dac

PROS:

-It’s engineering is carefully documented
-Sounds really neutral and detailed               Get it on Epiphany Acoustics or HeadnHifi

 

If you’re in headphones mood, then you should definetely consider also the Nwavguy’s combo of ODAC + H2. Epiphany-Acoustics-DACODA Again, this device came trough a pedissequal engineering process, aiming to obtain verifiable transparent performances. If you wish to know more about this, well here are your answers. I did not listened to it, but if I should put on an headphone system, this will be my device of choice.

PROS:

-It’s engineering is carefully documented
-A complete USB to Headphone device            Get it on Epiphany Acoustics
-The combo will sound theoretically better than separate devices

 

XMOS ES9023 Asynchronous DAC Decoder USB to Optical Coaxial 384K 32Bit Weiliang

weilangThis device seems really interesting, and not only thanks to the longest name ever seen on Ebay. What you get here is a boxed unit featuring the ESS 9023 DAC (my favourite so far, until I’ll listen to 9018), paired with an XMOS2 receiver. You also get otpical and coaxial S/PDIF out. I cannot imagine something more flexible out there. So, on paper this seems really promising. Please don’t take this as a blind endorsement, I didn’t listen to it so cannot pronounce about it’s sonic qualities. Just saying we have a potential bang for the buck champion.

 

PROS:
-XMOS2 async receiver
-Features one of audiophile’s favourite DAC
-Already boxed and finished
-Analog JACK, SPDIF out (optical and coaxial)
-Really flexible device
-Can be fed with an external PSU (definetely suggested)

Usb to Spdif

 

Hiface Two

Hiface Two RaspbianIf you need to get Spdif out out of Raspberry Pi, or any other device relying on USB  just buy it. There’s not much to say on the Hiface Two. It’s a status symbol, the guys at M2Tech did an excellent job. This features an XMOS receiver that will go as high as 24/192. It’ compatible out of the box with RaspyFi and all other Linux distros. Of course it works as well with Pcs and Mac.

PROS:
-Async  USB Transport
-Compatible with RaspyFi out of the box                 Get it on ebay or amazon

 

XMOS 192kHz high-quality USB to SPDIF

$T2eC16Z,!wsE9suwyQOUBRyU3TVnFg~~60_57This could be a solid and cheaper alternative to the Hiface II, the module is exactly the same found on my XMOS2 to i2s receiver, which I strongly recommend. With this you get spdif out, in a nice box… Maybe gold could not be your favourite colour, but I mean… This is definetely worth!

PROS:
-Async  USB Transport
-Compatible with RaspyFi out of the box       Get it on 

 

 

 


-Boxed and ready to play
-Cheaper than an Hiface Two

Diy

 

DAC SABRE 9023 + XMOS2

Sabre 9023 raspberryI may be biased. But guys, this is definetely the best combo you can have for the 100 euros pricetag. This DAC is well known, and its sound is recognized to be one of the best nowadays. This guys makes excellent products and this DAC is a masterpiece. It’s so tiny but it features a ultra low noise regulator and the semiconductors are carefully selected. In few words, it sounds amazingly good. I DEFINETELY suggest you to visit it’s store, if you’re a diyer looking for hi quality stuff, this is the place
I paired with an USB XMOS2 receiver. This features a full thesycon windows driver, and it’s compatible of course with Linux (RaspyFi as well). This can go as high as 384khrz!!! If you wish to feed it with a custom PSU, instead of USB’s DC, you can. You can also change some resistor to match your dac’s impedance… What do you XMOS Raspberrywant more? I sugest also to visit it’s store

I’ll cover the building of this DAC, you can find my preliminary thoughts here

PROS:
-Sounds amazing, for less than 100 euros
-Highly customizable
-GET IT!
Buy on ebay:

 

 

UPDATE

As an alternative, you can also try this DAC

I received mine few days ago, so haven’t tried it yet. So I cannot say anything on this DAC, only that is compatible with the i2s transport listed above

 

 

DAC Mini AK4396

ak4396If you want to try a diy AK4396, which is an highly regarded piece of silicon, just go with this DAC. It has an high reputation on DiyAudio and amongst other audiophiles circles. Furthermore, you can decide where to push its performance. A respected user of Tforum and DiyAudio published a BOM that will raise its performance a lot. You can find all info here.
If you wish, you can also connect it directly via i2s to the  XMOS2 USB TO I2S following this guide .

PROS:

-A custom solution, in every aspect                  Get it on ebay

 

UPDATE :

I’m currently building another step up of my Reference DAC. It sits on a completely different level from the ones you have seen before on RaspyFi, in terms of performance, build complexity and pricetag. But on paper, it seems that I’m gonna end up with something truly impressive. It will feature :

  • The top end ESS SABRE 9018, in a 7.1 configuration (yeah, I really meant 7.1)
  • XMOS2 USB Input via i2s
  • Optical and coaxial input
  • Both balanced and unbalanced analog out
  • Separate and improved clock

The Recipe is :

    • A custom 4x8vac 1A PSU custom built from Audiophonics.fr

So, on paper, this DAC could be an ending point for every audiophile around. But its building is something really challenging, so please start this adventure only if you are an experienced DIYer. I’m going to document the building of this DAC in a future article, since it really deserves a careful and comprehensive explanation. I looked out for months to find the best recipe for me, this is what I ended up with. So again, if you want something really over the top this is what you’re looking for, mind that it’s gonna need quite some time and expertise to be built.

Medium Price DACS

(Please note: I don’t own any of these DACS, but if I would spend some more to have one, I’ll have one of these)

 

Audioquest DragonFly

Audioquest Dragonfly RaspberryThis is one of the most interesting DAC available today, an async USB DAC as compact and as good sounding is difficult to find, you’ll read about the only contender later on…
I suggest you to read this article by John Atkinson, which can describe this DAC way more better I could ever do.

PROS:
-Confortable with it’s tiny dimensions
-Excellent measurable performances
-Can directly drive Headphones

Get it on ebay or Amazon

Musical Fidelity V-DAC II

V Dac II RaspberryI’ve dreamt a lot about owning this DAC. If you need to be flexible, for example using a cd player with coax output, a blu ray with a optical output and RaspyFi with USB input, this could be your DAC. The USB receiver is not the best one available (Ok let’s say that people is not so enthusiast about it), but you can always use a Hiface Two to improve USB performance.
So, if you need lot of flexibility and a good sounding DAC. This is your choice.

PROS:
-Features lot of connections (USB, Coax Spdif, Optical Spdif)
-Regarded as very natural and relaxed
                                                      Get it on ebay or Amazon

Micromega MyDac

mydac 2 RaspberryA respected diyer regards this DAC as the best you can get under 1000 euros. I must confess that I desire it a lot, and  if everything goes well I’ll buy this in few time (birthday…) . This DAC has all the flexibility you can have with the V-DAC II, but it features an async usb receiver (XMOS) . So you can reasonably espect an higher quality out of it if USB is your source of choice. Plese note that the price tag of the MyDac is higher than the one of the VDAC II. But if you can go that extra mile, go with this. All I know of this DAC comes through reviews, and my friends spoke to me about the MyDac with enthusiastic words. The implementation seems very good on paper. Please note that Micromega has built its reputation through the years with excellent products, especially with cd players. So you should go confortable with this firm.
I want it.

PROS:
-Features lot of connections (USB, Coax Spdif, Optical Spdif)
-XMOS async receiver
-Enthusiastic reviews on web                                           Get it on ebay or Amazon

                                                                       

Hiface DAC

Hiface Dac raspberryThe guys at M2Tech just released this DAC. I consider this as a contender for the Dragonfly DAC. Because of it’s tiny dimentions. On paper this little device has excellent capabilities: 384kHz/32bit, async transfer (based on XMOS as Hiface Two) and can drive medium to high impedance headphones. I don’t know which DAC chip it relies on, but sure we’ll find out when a friend of mine will end his review.
The only concern is that it needs at least 500 mA at 5v to work properly, so no direct connection with the Raspberry Pi. But we can always use an additional psu. See later to find out.

Check also this excellent review (in Italian)

PROS:

-Tiny Dimentions
-XMOS async receiver
-Can directly drive headphones
                                                    Get it on ebay or Amazon

 

 

SOMETHING TO IMPROVE YOUR USB DAC 

I found a pretty valid comment from Klinkt Beter (one of the best contributors here on RaspyFi) stating that he could improve his system overall performance connecting his dac to the  iFI iUSB psu:

Here’s what he said:

tried many things:

1. soundlogic XT 5600mAh battery pack with micro usb cable to pi
2. Tentlabs tube heater supply calibrated to 5V direct on the 5V GPIO headers (which claims to have very low noise and is powered by a lineair supply using a real transformer)
3. usb power output of the iFI iUSB power supply using a cheap 1 euro micro usb cable to the pi.

The iFi wins on all levels as it also directly powers your usb dac and ignores the usb power from the pi on the USB outputs, only passes the signal through.

The iUSB has a second USB output which can be used to power the pi, or to use iFI’s special cable that combines two USB host connectors and on the other end one printer style USB connector to have even more power to your dac.

The Tentlabs heater supply has slightly better transients and more bass, but sounds more aggressive to my ears. The iFI is lighter and more spacier, which is what I prefer.

Wiring scheme:

Power output of iFI iUSB -> PI micro usb input
USB output of Pi -> USB input of iFI iUSB
iFI iUSB usb+power output -> dac

 

Basically, what this device does is replace the crappy usb dc with a stabilized one, they report their psu to achieve a 0,1 uV noise factor, that is (if verified) pretty remarkable. You can find out more at http://www.ifi-audio.com/en/iUSB.html

I want to test it out, I’ll report my results as well.

 

Any suggestions?

You can also give a look at RaspyFi’s DAC compatbility list


L'articolo The right USB DAC for your Raspberry Pi sembra essere il primo su RaspyFi.

]]>
http://www.raspyfi.com/the-right-usb-dac-for-your-raspberry-pi/feed/ 69
Raspberry Pi Usb Audio fix http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ http://www.raspyfi.com/raspberry-pi-usb-audio-fix/#comments Fri, 10 May 2013 11:46:44 +0000 admin http://www.raspyfi.com/?p=392 Ladies and gens, finally usb audio problems affecting the Pi, have been solved! For those of you seeking a Raspberry Pi Usb Audio fix, you’re in the right place!  I was compulsively lurking this thread hoping that the foundation would eventually

L'articolo Raspberry Pi Usb Audio fix sembra essere il primo su RaspyFi.

]]>
Ladies and gens,

finally usb audio problems affecting the Pi, have been solved! For those of you seeking a Raspberry Pi Usb Audio fix, you’re in the right place!  I was compulsively lurking this thread hoping that the foundation would eventually find a fix for the usb issue. What was it?

Well, to make it simple, when the usb bus of the pi was receiving lot of i\o requests, it cannot satisfy them all, and as a result part of the data travelling trough usb was lost. So, while communicating with a usb dac , if the file being played was more than 44/16 the usb bus was overwhelmed and some parts of the data (packets, jargon comes in finally) was lost. If you google for packet loss, you can figure out what was happening.

I’ve been investigating a lot on the matter, hoping to find a Raspberry Pi usb audio fix , tried almost everything. But this was in the hands of the foundation, since there is no extensive documentation available.

Finally, the Raspberry Pi usb Audio Fix came on Thu May 09, 2013 9:19 am, from gsh (which has my imperiture gratitude)

Basically, this updates some part of the pi firmware and kernel, via rpi-update (this is an experimental branch you won’t find on the master branch of rpi-update by hexxeh 

For those of you on RaspyFi, update is hassle free since you already have rpi-update up and running. Just do this to enable the Raspberry Pi Usb Audio Fix:

sudo apt-get install git-core binutils

sudo BRANCH=fiq_split rpi-update

Let it run, it will need almost 20 minutes to complete. In case you’re receiving some errors, just retry. Sometimes the git servers are not able to face the requests of thousands users simoultaneusly.

Once it’s done, and you’re not getting any error, just reboot.

Now, it’s time to enable bit perfect playback on RaspyFi via mpd.conf

sudo nano /etc/mpd.conf

the line:

format “44100:16:2″ # optional

becomes

#format “44100:16:2″ # optional

ctrl + x to save.

Now, we’ll restart mpd:

sudo /etc/init.d/mpd restart

 

Now, play and enjoy! Files >44/16 will be played without glitches, and I hope that async dacs will work flawlessly as well! I cannot confirm this by now since I don’t have any async to the test this Raspberry Pi usb audio fix for them… But please let me know via comments below.

To check if your Pi now resides in Bit Perfect heaven just type, while playing:

cat /proc/asound/card0/pcm0p/sub0/hw_params

The output will show you current bit rate and bit depth, that should be the same as the file. Please note that if a bit rate/bit depth is not supported by your dac, mpd will automatically resample it to  the nearest supported one.

Here, an example (showing different bitrates/bitdepths, with perfect sound)

Raspberry Pi in bit perfect mode

Raspberry Pi in bit perfect mode

Obviously, this raspberry pi usb audio fix will be implemented and working out of the box in next Release of RaspyFi, which is in its final stage of development.

This raspberry pi audio fix, also can be excecuted on plain Raspbian and all the other distros out there. Just type that:

sudo apt-get install git-core
sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
sudo BRANCH=fiq_split rpi-update

Et voilà, you’re done! Please let me know if it works for you, and if you got some troubles doing it !

 

UPDATE FOR SAMBA USERS

As suggested by Klinkt Beter and Carlo Bernardini this fixes the samba issues for async dac users. With my new xmos to i2s dac  and this fix I don’t have any stuttering at 24/96 , some reports this works well with 24/192 as well. So edit /etc/auto.nas as follows:

Nas    -fstype=cifs,file_mode=0777,dir_mode=0777,iocharset=utf8,sec=ntlm,rsize=2048,wsize=4096,cache=strict,username=pi,password=    ://192.168.nasip/sharename

 

 

L'articolo Raspberry Pi Usb Audio fix sembra essere il primo su RaspyFi.

]]>
http://www.raspyfi.com/raspberry-pi-usb-audio-fix/feed/ 127
Hiface on linux: Getting Hiface 1 working on RaspyFi and Debian http://www.raspyfi.com/hiface-on-linux-getting-hiface-1-working-on-raspyfi-and-debian/ http://www.raspyfi.com/hiface-on-linux-getting-hiface-1-working-on-raspyfi-and-debian/#comments Tue, 05 Mar 2013 15:30:58 +0000 admin http://www.raspyfi.com/?p=290 Hiface on Linux, finally done! Well guys, since some of you wanted to use the HiFace 1 on RaspyFi, here’s how to get it working. Basically all you need to do is compiling it’s drivers, and execute it on boot.

L'articolo Hiface on linux: Getting Hiface 1 working on RaspyFi and Debian sembra essere il primo su RaspyFi.

]]>
Hiface on Linux, finally done!

Well guys, since some of you wanted to use the HiFace 1 on RaspyFi, here’s how to get it working. Basically all you need to do is compiling it’s drivers, and execute it on boot. I plan to include those drivers on next release of RaspyFi.

Let’s start:

In order to build the driver you need to install your kernel-headers, the build-essential package and git-core binaries, this is quite a hefty amount of data, so make sure you have at least 600 mb free on your SD Card:

 

apt-get install kernel-headers-$(uname -r)
apt-get install build-essential
apt-get install git

Now, we’ll clone the git repository

git clone git://github.com/panicking/snd-usb-asyncaudio.git

Then, we are ready to build our driver:

cd snd-usb-asyncaudio
make

Then, we’ll start the module by typing:

 

sudo insmod snd-usb-asyncaudio.ko

Then, we should add the module to /etc/modules in order to make it start at system boot.

Et voilà! Hiface on Linux, so on RaspyFi!

This tutorial is made thanks to following pages:

 

https://github.com/panicking/snd-usb-asyncaudio/wiki

https://github.com/panicking/snd-usb-asyncaudio

L'articolo Hiface on linux: Getting Hiface 1 working on RaspyFi and Debian sembra essere il primo su RaspyFi.

]]>
http://www.raspyfi.com/hiface-on-linux-getting-hiface-1-working-on-raspyfi-and-debian/feed/ 31
RaspyFi Rc2 – How it’s made and list of all the optimizations http://www.raspyfi.com/raspyfi-rc2-how-its-made-and-list-of-all-the-optimizations/ http://www.raspyfi.com/raspyfi-rc2-how-its-made-and-list-of-all-the-optimizations/#comments Thu, 14 Feb 2013 00:25:35 +0000 admin http://www.raspyfi.com/?p=270 These optimizations come from a trial and error procedure, which led me to get an overall idea of what influences music playback performance and what doesn’t. Basically, less processes running don’t improve directly the outcome in terms of quality, but

L'articolo RaspyFi Rc2 – How it’s made and list of all the optimizations sembra essere il primo su RaspyFi.

]]>
These optimizations come from a trial and error procedure, which led me to get an overall idea of what influences music playback performance and what doesn’t. Basically, less processes running don’t improve directly the outcome in terms of quality, but it improves overall computing performance, which indirectly affects playback quality.
Then, special attention is required to alsa optimization, using hw instead of plug or mmap_emu ensures raspyFi directly controls the Dac. So this is a big step forward.
Then, compiling the latest version of Mpd brings minor under-the-hood fixes which tend to further improve overall result.
So, this is the entire process to obtain what RaspyFi Rc2 is.

First, update to latest kernel and firmware. This brings minor usb optimizations, unfortunately the bugs affecting over 44,1 khrz playback are still present. The foundation reported to be working hard on the matter (they hired a specialist to solve the issue, at least that’s what i got…)

sudo apt-get install git-core
sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
sudo rpi-update

Then, we’ll strip down the distro. This aims basically to use less disk space, but less processes active (especially X graphic user interface) leave the pi arm cpu quieter. Some folks believe that less processes running= better sound. I am not one of those. I indeed can say that less cpu used= less power drain and more responsive system. This can indirectly improve playback quality, also for electrical inducion reasons. But my physics knowledge is not enough to explain clearly the reason why.

Sudo apt-get update

Getting a list of all packages installed give us an idea of what we can remove.

dpkg --get-selections

Let’s remove what we don’t mind to use

sudo apt-get remove aspell desktop-base desktop-file-utils dictionaries-common dillo fonts-droid fonts-freefont-ttf fontconfig fontconfig-config galculator gnome-icon-theme gnome-themes-standard gpicview gsettings-desktop-schemas gsfonts gsfonts-x11 hicolor-icon-theme leafpad lightdm lightdm-gtk-greeter lxappearance lxde lxde-common lxde-core lxde-icon-theme lxmenu-data midori mime-support openbox omxplayer penguinspuzzle x11-common wpagui python3 python3-minimal python-pygame x11-common

Python games? Glad to ask, but no.

sudo rm -rf python_games

Opt contains lot of heavy stuff, such like a damn 1080i video.

sudo rm -rf /opt/vc/src/hello_pi/hello_video/

Python, go away!

sudo apt-get remove `sudo dpkg --get-selections | grep -v "deinstall" | grep python | sed s/install//`

Removing gcc, we’ll install latest version later

sudo apt-get remove gcc-4.4-base:armhf gcc-4.5-base:armhf gcc-4.6-base:armhf

Clean unnecessary packages

sudo apt-get autoremove
sudo apt-get clean

Ok, now let’s update the software environment

sudo apt-get update
sudo apt-get upgrade

sudo apt-get clean

let’s check how much space did we free up:

 

df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.8G 870M 804M 52% /
/dev/root 1.8G 870M 804M 52% /
devtmpfs 235M 0 235M 0% /dev
tmpfs 49M 252K 49M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 98M 0 98M 0% /run/shm
/dev/mmcblk0p1 56M 21M 36M 37% /boot
tmpfs 98M 0 98M 0% /tmp

870, could be worse

We don’t need swap. Do we?

sudo swapoff -a
cd /var
sudo dd if=/dev/zero of=swap bs=1M count=100

 

Now, we’ll install Mpd. We will now get and install the vanilla package, the one provided with debian. We will use this to get it’s infrastructure, and then we’ll install latest version from source.

sudo apt-get install mpd mpc

Now we install both prerequisites to compile mpd and mpd’s dependencies

 

sudo apt-get install aptitude wget binutils gcc make subversion autoconf automake autotools-dev libtool pkg-config build-essential libncurses5-dev libncursesw5-dev gcc libglib2.0-dev

sudo apt-get install libfaad2 libfaad-dev libflac8 libflac-dev libogg0 libogg-dev libvorbis0a libvorbis-dev libid3tag0 libid3tag0-dev libmad0 libmad0-dev libcue-dev libcue1 libasound2 libasound-dev libasound2-dev libao-dev libwavpack-dev libwavpack1 libsamplerate0 libsamplerate-dev libmikmod2-dev libmikmod2 libmikmod-dev libshout-dev libavformat-dev libavcodec-dev libavutil-dev libaudiofile-dev libcurl4-openssl-dev libmms-dev libmms0 libtwolame-dev libtwolame0 libmp3lame-dev git-core

Now, we clone the official mpd repo, in order to obtain and compile latest mpd version. As root:

sudo su
cd /home/pi
git clone git://git.musicpd.org/master/mpd.git

cd ./mpd

./autogen.sh

We then configure it to use few options, making mpd more lightweight.

./configure --disable-bzip2 --disable-iso9660 --disable-zzip --enable-id3 --disable-sqlite --enable-ffmpeg --enable-alsa --disable-wave-encoder --enable-pipe-output --enable-httpd-output --disable-recorder-output --disable-sndfile --enable-oss --enable-shout --disable-pulse --disable-ao --disable-mad --disable-inotify --disable-ipv6 --enable-curl --disable-mms --disable-wavpack --disable-lame-encoder --disable-twolame-encoder --enable-vorbis --enable-lsr --with-zeroconf=auto
make
make install
sudo su
/etc/init.d/mpd stop
echo DAEMON=/usr/local/bin/mpd >>/etc/default/mpd
/etc/init.d/mpd start
mkdir -p ~/.mpd/playlists

Now, we’ll start configuring mpd, editing the mpd.conf file

sudo nano /etc/mpd.conf

What interest us is:

#group "nogroup"

Becomes

group "audio"

 

Mpd will belong to “audio” group, which will be useful for setting mpd’s priorities.

Then

bind_to_address "localhost"

that will become

bind_to_address "any"

Activating auto-update by uncommenting following line, this will enable mpd to automatically update its music database when something new is added or removed.

#auto_update "yes"

Then

audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
format "44100:16:2" # optional
mixer_device "default" # optional
mixer_control "PCM" # optional
mixer_index "0" # optional

that will become

audio_output {
type "alsa"
name "USB Dac"
device "hw:0,0" # optional
format "44100:16:2" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional

Then we’ll uncomment the lines regarding the buffer

audio_buffer_size "2048"
buffer_before_play "10%"

Ctrl+ x to save, then y to confirm.

Now we assign to our usb dac the device number 0, which is the default for mpd and the mixer. We can do so by commenting out the line

options snd-usb-audio index=-2

in

sudo nano /etc/modprobe.d/alsa-base.conf

By doing so, RaspyFi will use as default the USB Dac. If a usb dac is not connected, then the default audio out will be the analog jack. Nasty!

Now, we create our music directories and mount points. We can use multiple directories, such a nas and a usb drive, by putting a shortcut in mpd default music directory.

mkdir /mnt/nas
chmod 777 /mnt/nas

Add the following line in /etc/fstab

nano /etc/fstab
//192.168.1.NasIP/YourShareName /mnt/nas cifs username=pi,password=,uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8,rsize=130048,wsize=4096 0 0

This will automatically mount our samba share on /mnt/nas.

Now we mount an usb drivE. Please note that it is preferrable to use a fat formatted drive, this uses less resources. This is quite important, considering the notorious usb problems.

See how the drive is called

sudo fdisk -l

in my case:
/dev/sda1

We create the music folder:

mkdir /media/music
chmod -R 777 /media/music
mount /dev/sda1 /media/music

Then we add this line to /etc/fstab

sudo nano /etc/fstab

/dev/sda1 /media/music vfat defaults 0 0

Ctrl+ X then, y
We now add a symlink into the default music directory, this will give us the possibility to store our music library on multiple locations. For example, we can have a part of our library on the nas and another one on a usb drive

cd /var/lib/mpd/music
sudo ln -s /mnt/nas
sudo ln -s /media/music

Installing wi-fi client:

sudo apt-get install wicd-curses
cd /var/lib/mpd/music/

 

Tweaking

This is a fine tuning of the Pi software echosystem, even if we cannot get rid (as for now) of the usb problems, we can still do something to improve general usb performance. Adding this line to:

sudo nano /etc/modprobe.d/alsa-base.conf

options snd-usb-audio nrpacks=1

This sounds really effective to my hears!

There’s another tweak that should fix the usb problems, you should add a line in the cmdline.txt. This line turns the usb into 1.1 mode. Please note that by doing so, both usb and ethernet performance in terms of transfer speed will be greatly reduced. This doesn’t work for me, as my Usb Dac doesn’t work with this mode. Feel free to try it, please report if it solves the problem with your dac. You can remove this tweak by deleting the added parameter.

sudo nano /boot/cmdline.txt

dwc_otg.speed=1

Next step is to set the Pi’s cpu to work always at its full power. This is due to the fact that mpd for an unknown reason doesn’t trigger the scaling governor to increase computing speed while in use. By enabling the “performance” option, we’ll be sure that mpd has the full power it deserves.
First, we check out which power management profile we have:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave

Ok, let’s put the Pi in performance mode:

sudo su
echo -n performance > /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Check again with previous command to see if it is effective.
Using hw, insted of plug and mmemu

nano /etc/asound.conf

cancel existing text and paste this

pcm.!default {
type hw
card 0
}

ctl.!default {
type hw
card 0
}

LAN TUNING

sudo nano /etc/sysctl.conf

add line

fs.inotify.max_user_watches = 524288

If you should have some problems, remove it. In my configuration I don’t have any problems, but sometimes they could occour depending on traffic and tcp tranfer size.

Adjust limit values of the audio group

First we add mpd to the audio group

sudo nano /etc/security/limits.conf
@audio - rtprio 99
@audio - memlock unlimited
@audio - nice -19

Then we set mpd to have the highest priority (niceness). We do so by adding a script that starts afer mpd that renices it to -20

sudo su
cd /etc/init.d
nano myruns

We put this in the script:

#! /bin/sh
# /etc/init.d/myruns
#
### BEGIN INIT INFO
# Provides: myruns
# Required-Start: $all
# Required-Stop: $mpd
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Renicing mpd
# Description: Being nice with music
### END INIT INFO
# Some things that run always
touch /var/lock/myruns

MAXTRIES=15
TRIES=0

# Carry out specific functions when asked to by the system
case "$1" in
start)
#
# mount music
#
renice -n -20 -p `pgrep mpd`
;;
stop)
echo "Exiting myruns"
;;
*)
echo "Usage: /etc/init.d/myruns {start|stop}"
exit 1
;;
esac

exit 0
Ctrl+ x then y

We then set this as script and we add it to the init.d boot sequence:

chmod 755 myruns
update-rc.d myruns defaults

NAS tuning

sudo nano /etc/fstab

adding line
uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8,rsize=130048,wsize=4096

Now we selectively deactivate some process, so they don’t start up nad we’ll have less active processes.

sudo apt-get install rccconf
sudo rccconf

The services I disabled:

cron – scheduler
lightdm – graphic login manager
motd – message of the day for ssh
plymouth- graphic bootlogo
x11-common graphic interface

This broke somehow my ssh server, avoiding me to connect via ssh, so be aware of it. If this will happen you should have access to your pi via a monitor and a keyboard and reinstall sshd via those commands:

sudo apt-get remove openssh-client openssh-server
sudo apt-get install openssh-client openssh-server

Now, we proceed to remove everything we used to compile and several things more. In case we don’t think we’re going to recompile something again.

sudo apt-get remove autoconf automake autotools-dev binutils build-essential dpkg-dev g++ g++-4.6 gcc gcc-4.6 libglib2.0-dev libid3tag0-dev libsamplerate0-dev libstdc++6-4.6-dev make pkg-config git-core x11-common dbus-x11 libice6 libx11-6 libx11-data libx11-xcb1 libxext6 libxi6 libxmuu1 libxtst6 xauth xkb-data fonts-freefont-ttf

cd /home/pi
sudo rm -rf mpd

 

That’s all folks, shake and serve with ice!

L'articolo RaspyFi Rc2 – How it’s made and list of all the optimizations sembra essere il primo su RaspyFi.

]]>
http://www.raspyfi.com/raspyfi-rc2-how-its-made-and-list-of-all-the-optimizations/feed/ 24
RaspyFi quick start guide http://www.raspyfi.com/raspyfi-quick-start-guide/ http://www.raspyfi.com/raspyfi-quick-start-guide/#comments Thu, 17 Jan 2013 15:19:35 +0000 admin http://www.raspyfi.com/?p=166 The RaspyFi distro is designed to achieve reasonable sound quality from your PI without needing to configure it. It’s ready to play and in 10 minutes you’ll be able to listen to your music library, following these easy steps. 1-

L'articolo RaspyFi quick start guide sembra essere il primo su RaspyFi.

]]>
The RaspyFi distro is designed to achieve reasonable sound quality from your PI without needing to configure it. It’s ready to play and in 10 minutes you’ll be able to listen to your music library, following these easy steps.

1- Download latest RaspyFI release here

2- Unpack it with WINRar

3. Write the unpacked SD Image to your SD via Win32diskImager

Win32disk

Select the .img file you previously unpacked and make sure “device” field points to your SD card, then click on Write

4- Connect your Fat32 usb memory or hard disk (must be self-powered) with your music to the Pi.

5. Connect your USB Dac (the Pi has enough power output to feed it, don’t worry) to the Pi

6- Power up your Pi

7- From your browser type http://raspyfi/ to access the WEBUI

Configure it and you’re ready to go. If your music sits on USB Drive, just plug it and you’ll listen to them immediatly. If you need to configure a NAS, just go to settings -> Database

 

Alternatively you can  Get and install your favourite Remote Client

Windows\Mac\Linux

gmpc

 

 

Gmpc . Nice and easy client, it offers several functionalities, few hanging issues, but it is my favourite

ario

 

Ario. Lot of options, poor gui. It has Internet Radio enabled out of the Box

 

Android

mpdroid

 

Mpdroid, fantastic app. Available free from PlayStore

IOs

mpod

 

Mpod, for iphone\ipod touch. Free on Ios Market.

MPaD

 

Mpad, for Ipad.

 

10-Enjoy!!!

 

SSH

User: pi

Password: raspberry

If you wish to use your RaspyFi’s powered Pi via W-Fi check the WI-FI Configuration Guide

6- Done!

 

L'articolo RaspyFi quick start guide sembra essere il primo su RaspyFi.

]]>
http://www.raspyfi.com/raspyfi-quick-start-guide/feed/ 97
RaspyFi new release is out! http://www.raspyfi.com/raspyfi-new-release-is-out/ http://www.raspyfi.com/raspyfi-new-release-is-out/#comments Sat, 12 Jan 2013 20:11:44 +0000 admin http://www.raspyfi.com/?p=151 Hello guys, finally another release of RaspyFi is out! This is the RC1, as it proved to be stable and it brings you lot of quality improvements, as with other features included: -512 mb model b support (but 256 models

L'articolo RaspyFi new release is out! sembra essere il primo su RaspyFi.

]]>
Hello guys, finally another release of RaspyFi is out! This is the RC1, as it proved to be stable and it brings you lot of quality improvements, as with other features included:

-512 mb model b support (but 256 models should work as well)
-based on latest raspbian image (2012-12-16-wheezy-raspbian)
-XMOS Native support (Hiface 2 is reported to be working)
-less space used and less processes active (shrinked to minimum requirements to get mpd running)
-fits on 2gb sd carD
-fat32 disk ready out of the boX
-volume can be set from client (Erik, this is for you!!)
-usb tweakings
-general quality improvements
-hdmi & analog audio disabled (no bcm2835 kernel module loaded at boot)
-mpd has higher priority set

known issues:
-resampling always enabled to 44100 htrz

 

SSH

User: pi
password: raspberry

Download RaspyFi RC1

 

UPDATE YOUR DATABASE FOR FIRST USE!

It Works out of the box with most of USB Dacs! (supported natively by linux) It works also with XMOS Transports (Hiface 2 is reported to be working!)

This is no more based on moebius linux, it is instead based on latest raspbian (updated at 12\1\13). It is definetely sounding better and it features some under the hood tweaking that proved to be effective. It is ready out of the box to play your library from a FAT32 usb stick or self powered hard disk. (IF you need ntfs support you should mount it and then edit /etc/mpd.conf).
You can also play your music from a Nas, you should have a samba share called nas and edit /etc/fstab and change the ip with you’r nas ip:

sudo nano /etc/fstab

//192.168.1.YOURIPHERE/nas /mnt/nas cifs username=pi,password= 0 0

reboot and edit /etc/mpd.conf , removing the comment from nas and commenting Music

music_directory “/mnt/nas”
#music_directory “/media/Music”

(Quality-wise, the nas option is strongly suggested)

To enjoy the best quality your RaspyFi powered Pi can give you please use a quality psu, I found out that Xperia phones chargers are pretty well made and stable, if you have an Ipod\Ipad\Iphone charger this could be good as well!

And you’re ready to go! I’m already working on a Real Time version of RaspyFi, stay tuned!

 

 

 

L'articolo RaspyFi new release is out! sembra essere il primo su RaspyFi.

]]>
http://www.raspyfi.com/raspyfi-new-release-is-out/feed/ 13
Anatomy of a PI – USB Audio quality and related issues on Pi http://www.raspyfi.com/anatomy-of-a-pi-usb-audio-quality-and-related-issues-on-pi/ http://www.raspyfi.com/anatomy-of-a-pi-usb-audio-quality-and-related-issues-on-pi/#comments Fri, 11 Jan 2013 17:30:00 +0000 admin http://www.raspyfi.com/?p=146 One of the main concerns of folks who bought the Pi is to use it a media player – streamer – server, using USB Audio. Unfortunately there are some problems with audio stuttering and pop up clicking noises. Just quoting

L'articolo Anatomy of a PI – USB Audio quality and related issues on Pi sembra essere il primo su RaspyFi.

]]>
One of the main concerns of folks who bought the Pi is to use it a media player – streamer – server, using USB Audio. Unfortunately there are some problems with audio stuttering and pop up clicking noises. Just quoting around:

Hey,

I’m experiencing audio stutter while playing movies via the Raspberry Pi to the TV. I used to have the 1080p videos buffering all the time, but I fixed by switching my shares from Samba to NFS, using Hanewin NFS Server. That fixed all the buffering issues and makes the Pi read the shares much, much faster.

http://openelec.tv/forum/134-usage/40394-audio-stuttering

I’m also having problems with RaspyFI, when i comment out the line

format          ”44100:16:2″    # optional

in order to avoi resampling (you remember Audiophilia Hysterica obliges you to think resampling is evil??) I get audio stuttering, especially with flac with samplerate higher than redbook standards . I do really think this is related to an driver issue of the Soc controlling both ethernet and USB.

The main theory circulating on the net states that usb related issues (which can affect wi-fi dongles transfer, keyboard and mouse imputs etc etc) are due to some drivers problems which manifestates themselfs under heavy stress of usb\ethernet pathways, in conjunction and in some cases alone. More precisely there seems that there is some packet loss:

- USB congestion:our devices work in full-speed (USB 1.1 12 Mbit/s) and transmit at max 1 packet of 64 bytes each frame (64 Kb/s). We have analyse the transfer with and USB analyser and ALL packets are correctly transmitted over the wire (no bus reset, no invalid packet, the USB host ack all packet). this mean that the USB Host controller of the raspberry Pi as correctly received and ack the missing USB packet.Our conclusion is that or the libusb or the linux kernel drop some packets and do not raise any error.
We have found a serious issue on the raspberry PI USB stack (or at last the HID USB stack). We produce USB device and have found that we often get missing packet.
We have create an specific firmware illustrate the problem. This debug protocol is very simple the Raspberry will send one packet of 64 bytes, then the device will start a burst of USB transaction. Our USB device work in full speed (USB 1.1) and follow the HID protocol. All packets have the same size (64 bytes). the first uint32_t will contain the current packet number and the second uint32_t will contain the number of packet to send. Each packet is numbered and we stop after burst of 4096 packet of on the first missing packet.

The debug program call libusb-1.0, and will look for one of our device with the debug firmware, then send one USB packet to the device to start the burst. Then we will wait for all packet and check that all packet are send. You can download the source here http://www.yoctopuce.com/tmp/debug_libusb.zip

We have test this code and firmware on many linux platform (i386 and x86_64), and on a ARM based NAS (QNAP TS-219P II). We never get any missing packet. but on the Raspberry PI we always get missing packets. We have check with a USB analyser that the missing packet is correctly sent on the wire (the packet has been correctly acked by the Raspberry PI USB host). It seems that the packet is lost by the Raspberry PI firmware.

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=5249

In addition to this:

The USB driver may not be fixable, the jury is still out on this one. There are three key problems:

1) Documentation on the Broadcom USB controller is proprietary and is not made openly available by the Raspberry Pi Foundation.

2) The USB core for the Broadcom SoC was bought from a 3rd party, and we are told that not even Broadcom has full documentation, nor understands the driver.

3) The Foundation has discovered that the controller and its driver expect realtime response from the ARM core, and if Linux’s non-realtime scheduling doesn’t respond in 1 ms, a split transaction USB event can be dropped. Not surprisingly, this occurs regularly and produces lost mouse clicks, stuck keyboard keys, etc..

That’s a pretty nasty combination of problems, and it means that assuming that it’s fixable may not be a safe prediction. We’ll have to wait and see.

For the time being though, USB and networking (which is implemented over USB) have a large catalogue of issues and incompatibilities. All boards have this inherent problem but YMMV on whether the issues bite you, as it depends on exactly what devices you have connnected and what you’re doing with the board.

In addition to the above faults, the community discovered a PCB track layout error on the board which causes a proportion of the USB chips to overheat owing to an incorrect connection. It doesn’t appear to be critical but wastes power and the heat may shorten board or device lifetime.

Relations are very tense on the forum, and the Foundation has banned people who express their concern about the faults.

http://hardware.slashdot.org/story/12/08/24/2228251/serious-problems-with-usb-and-ethernet-on-the-raspberry-pi

 

So what happens? Under heavy load some of our precious binary vives is lost and never reaches our fancy USB Dac. Setting the resample mode seems to avoid it because of less bandwith is required to stream the audio to the dac, but we don’t want this as we are:

1- Applying some post processing to our audio stream (which, I remember should be evil to us…)
2- Making our hi-res flac library very sad
3- Degrading our listening experience as it is non-bit- perfect (wheter this is perceptible or not, still I don’t know… but we are damn audio purity integralists, aren’t we?)

But, is there a light out of the tunnel? Of course yes, theorethically at least.

As you can find out from that quote:

3) The Foundation has discovered that the controller and its driver expect realtime response from the ARM core, and if Linux’s non-realtime scheduling doesn’t respond in 1 ms, a split transaction USB event can be dropped. Not surprisingly, this occurs regularly and produces lost mouse clicks, stuck keyboard keys, etc..

 

So, if we succeed in compiling a real-time kernel, hopefully out problem will be solved and finally we’ll have bit perfect reproducion. This is already in process, as a superuser from tforumhifi il helping while compiling a custom real-time kernel for RaspyFi, you can follow the iter here on the RaspyFi thread:

http://www.tforumhifi.com/t32285-raspyfi-raspberry-pi-voyage-mpd-progetto-per-un-ottima-sorgente-low-cost

Meanwhile, a possible solution for audio stuttering via usb is made possible by setting the Usb transfer rate to USB 1.1 and setting it in full mode:

We have run some tests today to validate the tentative fixes.

First we have run rpi-update to get the latest fix. Here is my cmdline.txt and the kernel version

CODE: 
root@raspberrypi:/home/pi# more /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
root@raspberrypi:/home/pi# uname -a
Linux raspberrypi 3.2.27+ #160 PREEMPT Mon Sep 17 23:18:42 BST 2012 armv6l GNU/Linux

As expected, Gordon fix does not completely solve the issue of packet loss in this case, but the packet loss seems to happen far less frequently (I have been able to stress the PI for several minutes before I get a missing packet).

Then we have added the dwc_otg.speed=1 parameter to force USB to work only in full speed mode (speed of USB 1.1). This solved the issue. This confirms that the PI has some trouble to handle USB 1.1 devices behind an USB 2.0 hub, but forcing the USB to work in full speed mode completely solves the packet loss for our USB 1.1 devices.

Our working config:

CODE: 
root@raspberrypi:/home/pi# more /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 dwc_otg.speed=
1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
root@raspberrypi:/home/pi# uname -a
Linux raspberrypi 3.2.27+ 
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=5249&start=200

 

This is done byadding the dwc_otg.speed=1 parameter to force USB to work only in full speed mode:

sudo nano /boot/cmdline.txt

and adding dwc_otg.speed=1 in the text. ctrl +x, y and reboot

adding the dwc_otg.speed=1 parameter to force USB to work only in full speed mode

Some reported this solution as working, It’s worth trying… I’ll let you know…

Then a final option is this, that prevents kernel panic by setting always free quote of memory and setting the Soc in turbo mode.

Just to report, I had exactly the same error and I solved with:

  • vm.min_free_kbytes = 32768 in /etc/sysctl.conf
  • smsc95xx.turbo_mode=N in /boot/cmdline.txt

Remember that with turbo mode enabled you are seriously risking to corrupt your SD card…

So, that’s all about USB problems with the PI, I’ll upgrade this post with new informations when they’ll come out.

L'articolo Anatomy of a PI – USB Audio quality and related issues on Pi sembra essere il primo su RaspyFi.

]]>
http://www.raspyfi.com/anatomy-of-a-pi-usb-audio-quality-and-related-issues-on-pi/feed/ 3
Ho to install Mpd on an existing Debian installation on Raspberry Pi http://www.raspyfi.com/ho-to-install-mpd-on-an-existing-debian-installation-on-raspberry-pi/ http://www.raspyfi.com/ho-to-install-mpd-on-an-existing-debian-installation-on-raspberry-pi/#comments Sun, 23 Dec 2012 11:22:45 +0000 admin http://www.raspyfi.com/?p=79 Well, this tutorial simply follow what I did in order to create RaspyFi, on the Moebius Linux Distribution. But it can work on other Debian distros as well, please note that this tutorial is specifically tailored to the Pi. First

L'articolo Ho to install Mpd on an existing Debian installation on Raspberry Pi sembra essere il primo su RaspyFi.

]]>
Well, this tutorial simply follow what I did in order to create RaspyFi, on the Moebius Linux Distribution. But it can work on other Debian distros as well, please note that this tutorial is specifically tailored to the Pi.

First update:

apt-get update
apt-get updgrade

Y, then Y again

When updating process is over:

reboot

Let’s disable Ipv6, that Raspberry Pi

Just add this line at the end of l file /etc/hosts

::1 localhost.localdomain localhost

Now we can install mpd

apt-get install mpd

Y

On the Pi it usually gives some error messages, we can safely ignore them.

reboot

Le’ts create our playlist folder:

mkdir -p ~/.mpd/playlists

Now let’s edit our mpd.conf file:

nano /etc/mpd.conf
And modify the string:

bind_to_address “localhost”

in

bind_to_address “127.0.0.1″

Ctrl + x ,then Y.

If we want to store our music library on a usb storage:

Let’s see how Debian calls our drive: (formatted in fat32):

fdisk -l

Specifically for me: /dev/sda1

Let’s create the  Music folder and chmod it :

mkdir /media/Music
chmod -R 777 /media/Music
mount /dev/sda1 /media/Music

Modify the fstab file with our partitions :

nano /etc/fstab
just add this line:

/dev/sda1 /media/Music vfat defaults 0 0

Ctrl+x then Y

Let’s check if everything is ok:

mount -a

If we don’t get any error message, we’re ready to go.

reboot

If we want to use a nas as storage (SAMBA)

Install samba client

apt-get install smbclient

Creating  mount directory:

mkdir /mnt/nas
chmod 777 /mnt/nas

Mount the nas

mount -w -t cifs -o username=,password= //192.168.1.nasip/sharename /mnt/nas
If you’ve protected your share with password, insert them. If none password or user has been set, just leave this field empty

Check with:

ls /mnt/nas

If everything is ok, you should see your directories.

Let’s set the automount

nano /etc/fstab

Add this line in the end

//192.168.1.ipnas/sharename /mnt/nas cifs username=,password= 0 0

Check with:

mount -a

If no error appears, again, we’re ready to go

reboot

Ok, last entries in our configuration file:

nano /etc/mpd.conf

Let’s tell mpd where our music is stored:

Usb storage:

music_directory “/media”

Nas storage:
music_directory “/mnt/nas”

If you have a usb dac, let’s tell mpd to use this instead of the shitty analog out:

audio_output {
type “alsa”
name “USB Dac”
device “hw:1,0″ # optional
format “44100:16:2″ # optional
mixer_device “default” # optional
# mixer_control “PCM” # optional
# mixer_index “0″ # optional

 

These options can be quite different depending how debian calls your dac, but i always used that with different usb dacs and it always worked. You can try by changing in 1,0 instead of 0,1 but this is up to you. As you can see, I din’t changed everything from resampling to buffer size etc etc. This will be done in future tweaking tutorials. Anyway the quality of music reproduction with these settings is pretty awesome, so expect some minor improvements with further tweakings.

Some examples:

If you wish to enable audio buffering (and so ram reading). Uncomment these strings.

#audio_buffer_size “2048″
#buffer_before_play “10%”

If you want to send the audio stream directly to the usb dac, bypassing any software\hardware mixer. Change the string

mixer_device “default”

in

mixer_device “none”

ctrl+ x e Y

reboot

Now You should choose a client in order to control your mpd box. The best available is GMPC for Windows\Linux. Pretty simple and straightforwarding (sometimes it freezes, hope this will get solved) you can find it here. Then you can use Mpdroid or Mpod to control mpd via smartphone. These 2 clients are really good and goodlooking.

Happy music, folks!

L'articolo Ho to install Mpd on an existing Debian installation on Raspberry Pi sembra essere il primo su RaspyFi.

]]>
http://www.raspyfi.com/ho-to-install-mpd-on-an-existing-debian-installation-on-raspberry-pi/feed/ 10