introduction


The Audio Streaming Series is meant to encourage and support fellow audio enthusiasts in building their very own highest quality Raspberry Pi based audio streaming solution. 


It'll be quite a journey. There's no rush though. Take your time. In the end it should turn out to be a fun project. For us hobbyists it's all about fun and satisfaction while working on the project, isn't it.


The project won't be a one hour exercise. Run it step by step. Try to understand what's being done. Look what others are saying. I don't want to force you into anything. And I don't pretend to offer the best of all solutions. 


I do think that the presented solution can very well compete in the audio streaming and computer based audio jungle out there.


Overall project objectives


What's required to build a highest quality audio streaming solution all by yourself?

Ambition!

And someone who gives directions.

The objective of this series is not just to show how to build a basic audio streaming or playback solution. There are plenty of solutions out there that can get you going.

The objective is to give directions, even for those with less technical background, towards a better than standard audio streaming solution. Your own audio streaming solution! Build all by yourself. 
The plan is not to end up with some of those mediocre installations. The idea is to end up with a serious audiophile setup that can compete even with many of the high quality commercial streaming solutions out there all done by yourself at a more than reasonable budget. 

Overall project scope



The scope of the project is to set up a highest quality home audio streaming/playback solution.

A Raspberry Pi will serve as the digital brain of choice.  

The project also focuses on selecting and applying also additional hardware and software serving the purpose. Making the Raspberry Pi fly.


Architecture


Let's have a little closer look at what should be considered base ingredients for planning and building such a home audio streaming solution. 

1. Hardware

We need plenty of hardware, such as 
  • a streaming server
  • storage
  • a streaming client
  • an audio interface
  • a remote control unit/terminal
  • network infrastructure ( router, repeater, cabling)
  • power supplies and power infrastructure
  • a PC for setting it all up

2. Software

We also need software, such as 
  • a server operating system
  • a streaming server software
  • a streaming client operating system
  • a streaming client software
  • a remote control software
  • DSP software

Not sure if I missed anything. Yep. I hear you. The list looks quite extensive. And that's by far not all we need to look into along the way. 

Combining and configuring all these items - and doing it in the best possible way - will turn into a rather complex task. Such a high complex environment will allow a huge number of options from all angles - HW, SW and configurations. The high complexity makes it a huge challenge to bring it all together. That's what this project is all about.

By now you should have realized a high quality streaming solution is vastly more complex than a high quality CD player.  And let's assume that there's some truth in the audiophile principle "Everything matters" - you bet -  there'll be a lot of "Everything" and a lot that "matters". 

Here's the point.

You better think twice to run such a project. If you get along with rather good audio quality and you 
own a basic stereo system - simply stay away from such a project - save your money and time.  For casual listening IMO it's more than sufficient to use a newest generation HD Bluetooth (aptX-HD/LDAC) capable audio device (speakers & DACs) fed by a smartphone. Every quality smartphone will have the capability to act as a quality streaming client. Every audio streaming provider (Tidal, Qobuz, Spotify, Amazon...) offers apps for your smartphone. You'll be up'n running in minutes. It actually can't get easier and cheaper then that... 

...if... 

  1. you can live with the resulting level of audio quality...
              ...which is not necessarily that bad, admittedly not that bad at all on 44.1/16 material 
  2. and you can live with a certain loss a flexibility


To achieve highest quality audio levels, to get more flexibility running things like room correction, or if you want to use your own audio data collection, or you're simply a tweaker and audiophile by heart, you'd need to approach the subject slightly different. 


Where to start?

We need to look at the key players first. To me it's the streaming client and the server. 

As already outlined the project will solely focus on Raspberry Pi,  Raspberry PI 4 Model B, to be exact, to be used as streaming server and also used as client. I've been working with PC based solutions, other SBCs and also commercial solutions over the years. I have a very good idea of where to put an RPi based solution in the streamer charts. 

The remote controller will be Web, iOS or Android based - that'd be your smartphone. I also assume all of you own a Windows, MAC or Linux PC to be able to run the initial setup and later on the required maintenance tasks. Yep. This is not a one-off exercise.

My final solution will have no stationary displays, keyboards or alike on the server and client - that's what is called headless operation. I mean it's 2021. We've got numerous displays and keyboards all over the place. Pretty much everything can be controlled remotely nowadays.
Therefore keyboards and displays hooked up to a RPi are IMO simply not needed. These would make such a project unnecessarily more complex and more costly. 

I also assume that there's an existing network infrastructure covering router, repeater and network already in place at your home. Which very well could be a weak spot or a bottleneck!
For the time being I'm not covering the network subject extensively. Setting up a high quality home network would be a project on its own. Keep in mind. I'm not saying it's not worth to look at the network. It's actually a task that got to be done as well. A quality network is the backbone for the streaming task. You simply can't just ignore it. And yes. Even the network can have an impact on the audio performance. I might touch on the network subject throughout the project or later on.

I think that'll set the framework. 


Why Raspberry Pi?


Lets get sorted out. The Raspberry Pi family is by far the most successful single-board-computer (SBC) out there. It is affordable, it is flexible, it is reliable - it serves the purpose. And it also serves our purpose.

However. The RPi hardware is not necessarily the best HW platform you can get - other SBCs do partially better even at similar price levels.  

The traditional PC platforms based on Intel and AMD on the other side play in a complete different league - performance-wise (computation speeds). However. These PCs are a total overkill for the task. In most cases we don't need a PC performance,  and taming such a PC will be a much more complex and costly task - a nightmare. Keep in mind. You won't get a competitive PC @ $40. 

Then, what actually makes the RPI such a success story and the first choice for the project?

The package. 

  • The hardware (HW) plus 
  • the software (SW), 
  • long term software support,  
  • continuous evolution, 
  • OEM HW, OEM SW and last but not least 
  • a huge partially very knowledgeable and highly committed community. 

The point. You simply can not look at such a device from a HW perspective only.  There's a very strong interdependence between HW, SW and support.  Without quality SW (including firmware and drivers), great HW specs alone doesn't mean anything. The whole RPi family comes with excellent SW support. And that SW support achieves highest quality standards. 

A huge number of OEMs and a huge community is backing and supporting the RPi family because they know efforts are not wasted, they know that the RPi foundation understood the importance of reliable long term software support. 

Providing, evolving and maintaining quality SW is a continuous process over a long period in time. A costly endeavor. That's what many manufactures underestimate! And that's why they usually fail.

Many other SBC companies failed to succeed (beyond becoming a niche product),  because they were not able to comply to these factors - even providing a better HW didn't and still doesn't help. 

Without being able to deliver the full package a device is IMO pretty much worth nothing. And that's IMO the main reason why people and that includes me stick to the RPi universe.

Keep also in mind that  (commercial) special purpose (streaming) devices like e.g. commercial audio streamers, USB bridges asf.  face similar challenges on the SW side like these niche SBCs. These niche product manufacturers simply can't afford to support their devices forever. And that's one of the main reasons why such a solution shouldn't be considered a future-proof investment. Better think twice! 

On the other side for us audiophile audio folks the HW capabilities and the HW quality of a computer does play quite a big role. And the RPi HW has been known to be the weak spot of the RPI family for years. Luckily there are plenty of OEMs out there providing help with gadgets like high quality power supplies, isolators, filters, reclockers and so forth.  Properly chosen, the HW related RPi shortcomings
can get neutralized to a great extent. (Have a look at my system to get the idea). In my case it'll lift my RPi based system into the $400 budget region, which includes an IMO extremely well done USB setup and one of the IMO best power supply solutions out there.
 
The introduction of the RPi 4 in 2019 seriously changed the overall situation. There's been quite an evolutionary jump on the HW side. USB and networking made a huge jump in particular. I still wouldn't call the RPis off-the-shelve capabilities "audiophile" compliant, still, the device improved substantially in different areas. And after attaching the right gadgets and audio interfaces the RPi makes an excellent streaming platform.

Bottom line. All that puts us in a very nice position to start working on a very capable and highly competitive audio streaming solution. 


The challenge


Taking a rather mediocre entry level computer device as base and turn it into a high quality audio streaming solution.

(spoiler alert) I am pretty positive that's possible. With this series of articles I'd like to give a little guidance to get us all into that direction.

Enjoy! 

No comments:

Post a Comment