Building a Raspberry Pi-based streamer - a guide for the nervous

Discussion in 'Digital: DACs, USB converters, decrapifiers' started by Kattefjaes, Feb 19, 2017.

  1. Biodegraded

    Biodegraded Friend

    Pyrate Contributor
    Joined:
    May 28, 2017
    Likes Received:
    8,088
    Trophy Points:
    113
    Location:
    Vancouver BC
    Success! Volumio streaming over wifi via UPnP/DLNA from Minimserver on a Windows 10 machine, controlled by either Hi-Fi Cast or 2Player on an Android phone. Previous solution, WDTV Live Plus, worked well but I feel like the RPi & Digi+ (not Pro and without the output transformer; went cheap as I'm connecting with Toslink) is giving more detail into the Modi Multibit*. The WD unit might suffer from not great optical implementation (see Archimago).

    I chose Volumio over Rune despite the caveats above only because I read somewhere it was small enough to fit on a 2Gig card I had lying around. It didn't, but I'd already downloaded it, so... One odd thing is that it seems to need its wireless hotspot enabled as well as connection to my local network to play more than one track at a time. Not sure why this should be, need to look into it further.

    Echoing many others, thanks @Kattefjaes for the encouraging documentation.

    *for which, thanks again @msommers !
     
  2. DigMe

    DigMe Friend

    Pyrate
    Joined:
    Aug 25, 2016
    Likes Received:
    8,802
    Trophy Points:
    113
    Location:
    Tejas
    I had the one-track-at-a-time problem when I was using Foobar to play the musicthrough Rune. Now I choose an album in file explorer and right click and choose "Cast to device" in windows and choose Rune. That plays all tracks/albums that a I add to Rune without stopping at each track.
     
  3. Biodegraded

    Biodegraded Friend

    Pyrate Contributor
    Joined:
    May 28, 2017
    Likes Received:
    8,088
    Trophy Points:
    113
    Location:
    Vancouver BC
    Well, that's wierd - now it's fine without hotspot. Maybe another example of the Volumio flakiness @Kattefjaes mentions...
     
  4. Pyruvate

    Pyruvate Friend

    Pyrate Contributor
    Joined:
    Sep 29, 2015
    Likes Received:
    1,425
    Trophy Points:
    93
    Location:
    Here
    Spotify support is too unstable on the Raspberry Pi (across every platform I tried). Even with ethernet, I would still experience stuttering when streaming, or not being able to connect to my playlists. I'm not sure if the processor is too slow to handle it, but I pretty much gave up and went back to an old laptop. Might possibly look into an Intel NUC or chromebox.

    Maybe someday someone will figure this all out. Anyway, I guess I'll go look for random projects to do with my now spare Raspberry Pi haha.
     
  5. DigMe

    DigMe Friend

    Pyrate
    Joined:
    Aug 25, 2016
    Likes Received:
    8,802
    Trophy Points:
    113
    Location:
    Tejas
    I don't think it's a processing issue. No prob streaming Tidal or music over airplay.
     
  6. gaspasser

    gaspasser Flatulence Maestro

    Pyrate Contributor
    Joined:
    Jan 16, 2016
    Likes Received:
    6,105
    Trophy Points:
    113
    Location:
    Suburban DC
    I have no issues with Spotify-Volumio-volspotconnect. However, I now prefer sound of Gungnir Multibit USB gen 5 via iPad for Spotify instead of via 502DAC BNC
     
  7. starence

    starence Facebook Friend

    Contributor
    Joined:
    Sep 27, 2016
    Likes Received:
    133
    Trophy Points:
    43
    Location:
    United States
    I have a 6 inch coax cable from BJC, made with their flexible cable. I think what I had to do was order a 1 footer, and add a note to make it shorter.
     
    Last edited: Oct 13, 2017
  8. Cspirou

    Cspirou They call me Sparky

    Pyrate
    Joined:
    Sep 27, 2015
    Likes Received:
    8,221
    Trophy Points:
    113
    Location:
    Northwest France
  9. rlow

    rlow A happy woofer

    Pyrate Contributor
    Joined:
    Jul 18, 2017
    Likes Received:
    7,785
    Trophy Points:
    113
    Location:
    Canada
    Seems like a lot of great streamer/HAT board options out there right now. Any thoughts on the best sounding RPi boards out there (USB-out, S/PDIF-out or other)? Has anybody compared the latest offerings?
     
    Last edited: Nov 14, 2017
  10. nedifer

    nedifer Facebook Friend

    Contributor
    Joined:
    Oct 10, 2015
    Likes Received:
    124
    Trophy Points:
    33
    Location:
    San Francisco Bay Area
    @Kattefjaes, thanks for this write up! It is great documentation on how to perform one of these builds and helpful to those who are initially nervous about undertaking something like this.

    I recently built a similar system for my sister, but took a slightly different route. My sister is not inclined to have to fiddle too much with technology so I wanted to get her set up with something that would be fairly easy to maintain.

    The base of the system is also a Raspberry Pi, but using a Pi2Design 502DAC hat and running Max2Play for the operating system/management system and Logitech Media Server (LMS)/Squeezelite for the music server/player.

    The parts list for what I built was as follows:

    • CanaKit Raspberry Pi 3 Kit. There are various vendors that resell the base Raspberry Pi with the various parts you need to get it to work (such as a power supply, etc.) I've used CanaKit in the past and they have a decent base kit which includes a modest power supply and a pair of heat sinks for the processors on the boards.
    • An external hard drive to store the music. This can be of any size or quality. The one I got my sister was a Seagate drive that happened to be on sale for ~$80 at the time.
    • You will need a memory card to install in the Raspberry Pi which will be used to run the operating system for the Pi. The Samsung card we bought is a pretty fast one with ample space for the software needed to run the Pi.
    • The Pi 2 Design 502DAC is both a DAC, and an S/PDIF + AES transport (so it does both what the DAC+ and the Digi+/DigiOne cards do). This is a card that provides a lot of flexibility because you can start out using it as a DAC in its own right, but can easily add on an external DAC later if you want to improve your system even further. Pi 2 Design also makes a better and more expensive version of this card (the 502DAC Pro), but this lesser card emulates the HifiBerry cards, so it would be easier to use with the Max2Play operating system (which supports the HifiBerry cards already, but doesn't yet support the newer 502DAC cards natively).
    • The Pi 2 Design 502DAC Acrylic case is a case specifically designed for the Raspberry Pi and the 502DAC cards.
    • The Blue Jeans LC-1 cable is a decent RCA cable that you would use to connect the DAC to your stereo receiver.
    • An inexpensive Ethernet cable to connect the Raspberry Pi to your home network. You can also use Wifi, but I have had superior results using Ethernet.
    • Max2Play is a software package put together by a company in Germany that bundles the Linux operating system that you will need to run the Raspberry Pi along with drivers for various expansion cards (Hats) and various options for music servers into an easy to manage package. Using this will not only made it easier to set up the music server, but will also make it easier for the technically nervous to maintain and update it going down the road.
    • iPeng 9 is the software my sister uses to control the Logitech Music Server. For Android users, Orange Squeeze is a decent app.
    • dbPowerAmp is the software that I use to rip CDs into the music server. They have versions for Macs or PCs and it is $39 for a single license and $68 for the ability to install it on up to 5 computers. It has some features I find very useful, namely:
    • The software generates a hash or digital fingerprint based on what results from the rip and compares that to an online database of hashes generated by other users of dbPoweramp that have ripped the same CD. If it matches then dbPoweramp stops and doesn't continue to exhaustively verify that it has a bit-perfect rip of that track. This greatly reduces the amount of time it takes to get a good rip of a CD.
    • You can configure the software to generate files in multiple formats (in different directory trees) automatically as you rip a CD. I use this to create both FLAC output for the music server and MP3 output for portable devices (each in their own directory tree) during a single rip pass.
    All of the above hardware came to just under $300 and the software ran an additional $60 or so. It sounds great on my sister's modest system (an older Harman/Kardon receiver and a pair of old Bose 201 series speakers.)

    Set up consisted of:
    • Pressing the 502DAC card down onto the 40-pin connector on the Raspberry Pi and assembling the 502DAC Acrylic case around the two. The case didn't come with instructions but it was pretty easy to figure out. My one wish would be that the opening around the SD card be a little larger to make it easier to remove (to back it up). As it is, one might need long finger nails or a pair of tweezers to remove it.
    • Downloading the Max2Play software image to my laptop and writing the image to the SD card using Win32DiskImager.
    • Connecting the USB hard drive and Ethernet cables to the Raspberry Pi and then powering it up
    • Connecting to the maintenance web pages for Max2Play by entering http://max2play in a web browser
    • (Optional) Change the host name of the music server to whatever you want (after which you will need to use that host name when connecting to the Max2Play maintenance web pages)
    • Licensing the Max2Play software
    • Set the time zone for the server to your local time zone
    • Installing LMS via the Max2Play maintenance pages
    • Configuring music output via the 'HiFiBerry DAC+' (which the 502DAC emulates) in Max2Play
    • Creating an SMB file share on the USB hard drive in Max2Play
    • Copy over the FLAC library of music to the music share
    • Connect to the LMS server on the Raspberry Pi using the URL http://max2play:9000 (or whatever host name you set for the server)
    • Create a login on mysqueezebox.com and use that login on the LMS server (it's free...)
    • Configure LMS to use the FLAC library on the USB drive as the music library for the LMS server
    • Use the LMS settings page to scan the music library and index it. I also configured it to automatically scan to discover new music every morning at 4 am.
    • Configure the LMS settings to use line out (maximum volume) for the output through the DAC to the stereo (this sends the best quality signal to the stereo system which is where one then controls volume)
    • Add LMS plugins to taste
    • Start playing music!
    Set up took less than two hours, aside from the time it took to copy the music library to the hard drive (which will vary depending on the size of your library). Sorry to not provide exact details of each of the above steps but the music server is now 3000 miles away so it is hard to access for documentation purposes. But all of the above can be readily found out on the Max2Play web site or (for LMS administration) via googling.

    The beauty of the system is that for an entry level price, my sister ended up with something she can greatly enjoy now but with ample avenues for improving the sound down the road as funds permit:
    • She can upgrade the power supply for the Raspberry Pi and/or the 502DAC to a decent linear power supply, thereby improving the sound quality further.
    • The 502DAC card is currently being used as a DAC via the RCA output from the card but in the future she can employ it as a digital output with good clocking to a better external DAC such as a Schiit Modi Multibit or even better.
    • She can upgrade to a Roon server (say, on an Intel NUC) and employ the Raspberry Pi/502DAC as a Roon endpoint.
    • She could offload the music library to a NAS to reduce load on the Raspberry Pi and potentially improve the sound quality in the process (YMMV).
    The Max2Play interface makes it easy for my sister to upgrade both the OS and management server, as well as the LMS music server software. And I am working to rope in my neice, who is interested in learning more about computers, so she can help to manage the system (thereby learning more about computer administration in the process).

    I do want to give a shout out to @Michael Kelly of Pi2Design who was helpful in ensuring that the 502DAC would be a good solution in this use case and in helping get a card to me in time to build the music server for my sister in time for Christmas. He answered several inquiries over the weekend and got a card to me in ample time to get everything in place before I had to travel to the East Coast to be with my wife's family.

    All in all, I think that a Raspberry Pi solution in the manner that @Kattefjaes or I put it together makes for a great entry point for budget users who want good quality output but can't afford the eye-watering prices a lot of vendors are charging these days. It can serve as the basis for a myriad of inexpensive or more expensive upgrades that can further improve the sound quality while helping users dip their toes into the world of digital music management.

    There are easier turn-key solutions to be bought for more money, but due to the design work of companies like Pi 2 Design and the folks who produce the Raspberry Pi on the hardware end and the folks who developed Max2Play, LMS/Squeezelite and dbPoweramp on the software end, there are great solutions out there for folks on a limited budget who are willing to experiment a little.
     
    Last edited: Dec 24, 2017
  11. crazychile

    crazychile Eastern Iowa's Spiciest Pepper

    Pyrate BWC
    Joined:
    Jan 19, 2016
    Likes Received:
    2,519
    Trophy Points:
    93
    Location:
    Eastern Iowa
    Hey I finally got the Rapberry Pi with Digi+ board up and running. It only took me almost a year and a half. Actually, once I found the time and understood what needed to be done it went pretty easy. I initially had a problem with not being able to locate the IP address when I tried a few months back but that worked the first try this time around. I had upgraded the router since then so maybe that helped.

    I'm running the RPi to a Yggdrasil via coax and I think it sounds pretty good. I just plugged a USB hard drive into it to check it out. My distro is Rune Audio. I have a few questions...

    1. Is there a noticeable improvement by using a NAS connected by Ethernet vs. the USB drive I'm now using? I'd like to avoid spending more money on a NAS since I already have a pile of external hard drives. I'm not so concerned about creating a network to share stuff across machines.

    2. Is there an advantage to one software distro over another for the RPi? The thing that bugs me about Rune is that it loads stuff into a queue, so to play a whole album I have to load it all into the queue or it will just play one track from the album and then jump to whats next in the queue. I looked for screenshots of Volumio and Moode, but it looked like they were very similar. Then again it was hard to tell. Then again maybe I just haven't figured out how to configure Rune yet.

    3. If I keep the Digi+ board I'll likely solder in a BNC to free up the coax input on my DAC. Or maybe I'll just buy a new digital board from Pi2Designs that has AES/EBU if it has any real advantage over what I currently have. Have any of you compared these boards and prefer one over the other?

    4. Linear power supplies... I'm leaning towards getting one but I don't want to spend a lot. I've heard that this is most effective powering only the digital board. Some have also said that the iFi walwart (not really a LPS) doesnt make a big enough improvement to be worth the money. So I don't know what to make of it. Has anyone found a cheap LPS that makes an improvement, and does it power the whole RPi or just the digital board?

    Thanks!
     
  12. DigMe

    DigMe Friend

    Pyrate
    Joined:
    Aug 25, 2016
    Likes Received:
    8,802
    Trophy Points:
    113
    Location:
    Tejas
    I can't answer all your questions but I play my music from my computer over Ethernet.. I go to the folder that is the album I want to queue up, right click on the folder> cast to device>Rune Audio. This is via Windows10. I haven't compared to USB drive but to me the whole point of this is to get rid of USB in your chain so why put USB back in? Tidal is played and controlled via Bubble UPnP on Android decide. You can also play music from your HD using Bubble. I do have the Ifi but I've had it since the beginnng so I can't compare to a cheaper PS. I've been pretty happy with Rune and using the methods above I never use the Rune interface over browser.
     
  13. Greg121986

    Greg121986 Almost "Made"

    Contributor
    Joined:
    Nov 15, 2016
    Likes Received:
    417
    Trophy Points:
    63
    Location:
    Grand Rapids, MI
    + 1,000,000,000 votes for Rune Audio. I've been using it for awhile now and it's wonderful. I can corroborate that Tidal works nicely with BubbleUPnP. I stream via Ethernet from my 48TB Arch server as well. It takes a long time to index the library, but that is due to the 100 Mbit Ethernet limitation on the Rpi. I wish they'd support CuBox but I can live with it for now. Rune Audio is Arch Linux with MPD installed plus some tweaks. The pre-canned option is just so much easier than rolling your own.

    Also, make sure you install the Addon option. This makes it easy to upgrade and install additional features. Most important of which is to allow the upgrade of MPD itself. Numerous "high-end" streamers that use MPD (Hint: it's all of them) use very old and deprecated versions of MPD. The Addon function with RuneAudio makes keeping your system up to date shamefully easy!
     
  14. crazychile

    crazychile Eastern Iowa's Spiciest Pepper

    Pyrate BWC
    Joined:
    Jan 19, 2016
    Likes Received:
    2,519
    Trophy Points:
    93
    Location:
    Eastern Iowa
    Thanks for the tips guys. I’ll have to look into BubbleUPnP. I’ve heard it mentioned before but never taken the time to research it.

    I knew I threw out a lot of questions there. At least I have the system working now and can investigate the details at my leisure.
     
  15. Kattefjaes

    Kattefjaes Mostly Harmless

    Pyrate
    Joined:
    Sep 5, 2016
    Likes Received:
    4,521
    Trophy Points:
    113
    Location:
    London, UK
    Certainly if you are going for a single 5v PSU that plugs into the Pi, the iFi iPower seems to be cleaner than some LPSsen. If that's not what you fancy, you could hit Mouser or somewhere for an inexpensive linear supply, but that will be rather bigger, more power hungry and cumbersome.

    For an SMPS, it's pretty decent, despite iFi's claims that they're spun from the souls of dead fighter jets and unicorns. I'm sure we're all used to their horrible marketing by now. I'd say that they were their own worst enemies, but pitching gibberish like that at the HF-style crowd probably works.
     
  16. haywood

    haywood Friend

    Pyrate
    Joined:
    Oct 22, 2015
    Likes Received:
    764
    Trophy Points:
    93
    I'd look at upgrading from the digi+ before getting a lps to feed it. A lot of us have had success with the 502dac which has a very good power section to help alleviate the need for a lps as well as AES and BNC outputs, and I think there's also the digi+ pro and digione that offer upgraded performance.

    I like moode for software but 1) it's a bit of a slog to install right now and 2) I'm biased.
     
  17. Kattefjaes

    Kattefjaes Mostly Harmless

    Pyrate
    Joined:
    Sep 5, 2016
    Likes Received:
    4,521
    Trophy Points:
    113
    Location:
    London, UK
    Thanks, I wasn't asking for help, but I appreciate the thought.
     
  18. Biodegraded

    Biodegraded Friend

    Pyrate Contributor
    Joined:
    May 28, 2017
    Likes Received:
    8,088
    Trophy Points:
    113
    Location:
    Vancouver BC
    @crazychile : re. LPS, somebody a while back - can't remember if it was in this thread or another - mentioned old Iomega Zip Drive warts could be found cheap on Ebay; for example, here's one.

    Re. the player and queueing, I second @DigMe - use something else as a control point. Going direct from Windows as he does made everything in my folders play in alphabetical-by-title rather than track-number order - Windows didn't want to read the track-number tags - so I installed a UP'n'P server (Minimserver, but there are many others including Bubble) to get around that. This was pre-Creators update, must check if it changed since. Either way, you don't then have to deal with Rune as the front end.
     
  19. wormcycle

    wormcycle Friend

    Pyrate
    Joined:
    Aug 13, 2016
    Likes Received:
    1,506
    Trophy Points:
    113
    Location:
    Toronto, ON, Canada
    Before I started using Roon, and turned my two RPi Digi+ Pro to the Roon endpoints, I was running the same configuration and distro. Adding BNC, which using a Hifiberry connector is really easy, and iPower made a difference. I was struggling to define it but I think microdynamic got better and for me it creates an impression of hearing more details.
    did not evaluate those two changes, BNC and iPower, separately, but I was so impressed with Digi+ Pro that I decided to make some basic improvements without going crazy, just to potentially make it even better. My DAC was Bryston BDA-2.
    I do not really believe in connecting USB drives to RPi. I also think that Ethernet, even over powerline, is the best link to your music when using RPi. If you prefer wi-fi just get a wi-fi extender with Ethernet port. And you can disable wi-fi on RuneAudio.
     
  20. DigMe

    DigMe Friend

    Pyrate
    Joined:
    Aug 25, 2016
    Likes Received:
    8,802
    Trophy Points:
    113
    Location:
    Tejas
    My albums play in correct order from Windows when I use the Cast to Device feature. It just adds the folder as is to a Windows-based queue that pops up. I was previously using foobar to control but at some point it started only playing one track at a time and I couldn’t solve it.
     

Share This Page