Posts

Showing posts from April, 2026

Raspberry Pi 5 as network storage, music server, and player - PART 13

Image
13. ONBOARD DISPLAY Commercial streamers traditionally have no form of display, until you get to the higher-priced models such as WiiM Ultra or Eversolo, and it seems to me that newcomers to the world of streaming are attracted to displays(?) It's possible to add an LED or OLED text display, or even a full video display to a Raspberry Pi, though a higher level of setup skill is required. I consider a full video display to be overkill for what is otherwise a miniature device, especially since you are just duplicating the display already available on your smartphone.  But I do think a basic OLED text display is worthwhile, so I made the effort to modify the Geekworm case to accommodate a 2.7 inch 256x64 pixel OLED screen. At the outset I will suggest that if you wish to fit an OLED screen, choose a larger equipment case!  Small cases for the Pi typically have very little free space available, and I had to grind away sections of the Pi's heatsink, as well as a corner of the ...

Raspberry Pi 5 as network storage, music server, and player - PART 12

12. OK I WANT ONE, WHAT DO I NEED? If you choose the conventional rPi5 and small metal case, here's your shopping list: Raspberry Pi 5 Model B 4GB RAM US$70 Pimoroni NVME base US$15 Pimoroni NVMe base metal case US$16 Geekworm H509 passive heatsink US$6 or Geekworm H505 fan+heatsink (better than official active cooler) US$7 or PiHut 40mm fan+heatsink (similar, but quieter) US$9 27W power supply US$13 32GB microSD, Sandisk Extreme US$15 M.2 drive for storage, say 1TB US$90 (SSD drives have become expensive lately) Total: approx US$195 + delivery where applicable, this includes 1TB storage. Alternatively if you want the larger case with Compute Module 5 (like mine ) this will add another $30. NEXT - 13. ONBOARD DISPLAY

Raspberry Pi 5 as network storage, music server, and player - PART 11

11. USER INTERFACES To control your Lyrion server/player: From an iPhone - use  iPeng  or  SqueezePad From an Android phone - use  Squeezer  or  SqueezePlayer  or  Orange Squeeze  or  Squeeze Ctrl or F-Droid - available only via direct apk install, or via the F-Droid open source installer - https://f-droid.org/packages/com.craigd.lmsmaterial.app/ From a tablet computer or desktop computer or laptop - use the excellent browser-based "Material Skin" interface - in a web browser go to - http://pcp.local:9000 or http://<IP_address_of_Raspberry_Pi>:9000 NEXT - 12. OK I WANT ONE, WHAT DO I NEED?

Raspberry Pi 5 as network storage, music server, and player - PART 10

Image
10. DSD playback - dsf and dff files For DSD playback the DAC atttached (or contained within) your streamer needs to be DSD-capable.  There are 2 methods of DSD playback: - native DSD - DSD-over-PCM (DoP) Which method you use depends on your DAC.  Check the specifications to find which mode your DAC supports. native DSD For native DSD playback there is no configuration change necessary  for Lyrion, and no need to install the "DSDPlayer" plugin. But there is one small configuration change necessary for the player component - squeezelite . In the pCP configuration page, under "Squeezelite Settings" "Device supports DSD/DoP" enter this text - 3:dop This tells squeezelite to delay/mute the audio for 3 milliseconds when Lyrion switches between PCM and DSD sources, to avoid audible clicks. And although this setting is related to DoP, bizarrely it affects native DSD playback as well.  Without this setting squeezelite will transcode DSD audio files to PCM - and in...

Raspberry Pi 5 as network storage, music server, and player - PART 9

9. ALTERNATIVE MUSIC SERVER SOFTWARE FOR THE RASPBERRY PI At this point I will mention some other software which competes with Lyrion: Volumio and Moode . Bear in mind Volumio and Moode operate only as combined server/player (what I call one-box solution).  They cannot serve audio streams to a separate streamer device, as with the system configuration shown in Part 7. Apart from this, the choice between Lyrion, Volumio and Moode really comes down to user interface.  Volumio and Moode have their own dedicated interfaces.  Lyrion, on the other hand, has a choice of interfaces, some restricted to different operating systems, others browser-based, and thus available across all operating systems. NEXT - 10. DSD playback

Raspberry Pi 5 as network storage, music server, and player - PART 8

Image
8. COMBINED SERVER & PLAYER But wait, you don't actually need a separate streamer/endpoint at all!  In addition to being a Lyrion  server , the rPi can be configured to also act as the Lyrion player .  I like to refer to this configuration as a "one box solution". For this you will need to connect the Raspberry Pi to a DAC - it can be a "DAC-hat" attached directly to the rPi's 40 pin header, but I prefer to use a separate DAC, connected to the rPi via USB.  I will be using a Topping E30II lite DAC, but you could use something as small and cheap as the Apple iPhone headphone dongle. Go ahead and connect your DAC to the Raspberry Pi's USB connector. In the pCP configuration page, first enable the USB audio output, then enable "<whatever_DAC_device_is_detected>" Now we must install the player software "squeezelite". Go to the "Squeezelite" tab and select "Install" when complete, select "Start Squeezelit...

Raspberry Pi 5 as network storage, music server, and player - PART 7

Image
7. READY TO GO We are now fully set up and ready to play music, to a separate streamer/endpoint. This is my rPi5 piCorePlayer-Lyrion server streaming to a WiiM Mini, with optical S/PDIF output to a Topping E30 II lite DAC. As you can see, I can play 192 kHz PCM files to the DAC, which is the highest sample rate the WiiM can handle, and also the highest rate optical S/PDIF can handle. NEXT - 8. COMBINED SERVER & PLAYER

Raspberry Pi 5 as network storage, music server, and player - PART 6

Image
6. RASPBERRY PI SYSTEM TWEAKS If you are not using wifi, it's a good idea to disable the wifi/bluetooth chip, to save a little power and heat. pCP has a menu option to disable wifi, but I prefer to do it manually - mount /mnt/mmcblk0p1 vi /mnt/mmcblk0p1/config.txt Use the arrow key to get to the end of the file, then press "i" to insert additional text - dtoverlay=disable-wifi dtoverlay=disable-bt Then press "Esc" to exit insert mode, then to save the revised file - :wq Cooling With the passive heatsink on my Pi I was getting CPU temperatures which slowly rose to just under 55 degrees Celsius.  That's not bad, and coincidentally 55 degrees is the default temperature at which a fan is configured to kick in, if fitted.  It makes me suspect that the rPi maybe throttles back my CPU at this temperature? I decided I wanted to get temperatures down a bit, so I fitted a 40x40mm PWM fan, then I adjusted the fan control configuration to kick in at 48 degrees, and stop...

Raspberry Pi 5 as network storage, music server, and player - PART 5

Image
5. ENABLE UPnP/DLNA Bridge Plugin (to stream to a DLNA streamer) From the pCP configuration interface -  http://pcp.local:9000 in the drop-down menu go to Plugins > Manage Plugins Scroll to the very bottom of the list and select "Use unsupported extensions" then select the checkbox for "UpNP/DLNA Bridge" After a short wait, you will be returned to the upper list of plugins and a prompt to restart Lyrion.  It's best to fully close the Lyrion configuration webpage, return to the piCorePlayer page, and click "Restart LMS". Now when you go to the Lyrion server settings, in the drop-down menu there will be a new listing for "UPnP/DLNA bridge". Don't worry about error messages regarding a missing configuration file, this will resolve itself once a DLNA endpoint can be seen on the local network. If your DLNA streamer device is a WiiM Mini , there's a very important setting to change under "UpNP/DLNA Bridge" - change the "G...

Raspberry Pi 5 as network storage, music server, and player - PART 4e

4e. INSTALLATION - INSTALL LYRION From the pCP web interface go to the "Lyrion" tab and select "Install" When complete, select "Start LMS" Select "Configure LMS" - you will be taken to the Lyrion setup wizard.  You can select some of the initial options on that page, but it's not critical - all of those options can be configured later. Select "Next" at the far-lower-right of the webpage (it's in a horizontal black band). Select your Local Music Folder from the directory tree.  This is the path we created earlier - /mnt/nvme0n1p1/pCP_SHARE/pCP_MUSIC The same for Playlist Folder. Finally you will get to the main Lyrion interface.  Click on the 3x horizontal lines, top-left, then Server settings. Under "Basic Settings" for Media Library Name I used "pCP". Save Settings. Lyrion "tweaks" I don't want to see images of artists - I think it makes the display messy. So - Lyrion Server Settings > Plugi...

Raspberry Pi 5 as network storage, music server, and player - PART 4d

4d. INSTALLATION - CREATE NETWORK SHARE Next we need to set up Samba, so our Pi will act as a network share, allowing us to copy music onto it from our desktop or laptop computer. From the pCP web interface -  http://pcp.local go to the "Drives" tab, "Setup Samba Share" "Install" Once installed, click "Start Samba" Server Name - piCorePlayer Server WorkGroup - WORKGROUP (default Workgroup name for a home network, Windows and Mac) Share Name - pCP_SHARE (if using the directory path used in section 4c.) Share Path - /mnt/nvme0n1p1/pCP_SHARE (if using the directory path used in section 4c.) Create File Mode - 0775 click "Set Shares" now click "Set Password" - I used "mysamba" Network file sharing is now fully set up. In Windows File Explorer go to "Network" and you will see "PICOREPLAYER". Double-click it and you will see the shared folder "pCP_SHARE".  Double-click this folder and you will...

Raspberry Pi 5 as network storage, music server, and player - PART 4c

4c. INSTALLATION - FORMAT & MOUNT NVME DRIVE At this point we need to access the pCP operating system via SSH, and for this we need to know the Pi's IP address - from your desktop computer you can go to your router's administration page in a web browser - and there you can determine the rPi's IP address. Mine was 192.168.1.18 We will log into the Pi using an SSH client application - older versions of Windows don't have this capability built-in, so you need to install  PuTTY On Windows 10/11 you can run SSH from the Command Prompt or Power Shell, on macOS from Terminal. In all cases, run this command to log in - ssh tc@192.168.1.18   (substitute your Pi's IP address. "tc" is the username for pCP) Accept the security warning. Enter the password you created earlier. You should see the piCorePlayer welcome text.  If not, something has gone wrong, so exit the SSH session and try again. Now we need to know what drives the pCP recognises, so run this command ...

Raspberry Pi 5 as network storage, music server, and player - PART 4b

4b. INSTALLATION - INITIAL CONFIGURATION Finally, remove the microSD card and plug it into your rPi.  Connect the rPi to your home router with an ethernet cable, then apply 5V power to the rPi. After pCP is fully booted up, in a web browser go to - http://pcp.local You will be presented with the piCorePlayer configuration interface. You are first prompted to set a system password. Save. Continue. "Check for update" - this will probalby fail since, by default, the piCorePlayer partition size is not large enough.  We will fix that later. "Accept default hostname" - pCP (or choose a different hostname if you wish) "Enable SSH" - YES "Enable NTP" - if you select "Leave Default" pCP will attempt to get time information from your router. I prefer to manually enter "pool.ntp.org", or for region-specific server such as Australia - "au.pool.ntp.org" then "Set and Enable" pCP will reboot, then continue guided setup -...

Raspberry Pi 5 as network storage, music server, and player - PART 4a

4. piCorePlayer INSTALLATION 4a. Create microSD card containing piCorePlayer Download piCorePlayer from - https://docs.picoreplayer.org/downloads/ For rPi4/rPi5 choose the 64bit version. The downloaded file will be LZMA-compressed, with file extension "xz".  While it's possible to uncompress this file using WinZip, WinRAR or 7zip, this is not necessary.  The image-writing utility will take care of this. Now download Raspberry Pi Imager - https://www.raspberrypi.com/software/ and install it.  You are now ready to write the Raspberry Pi OS to a microSD card. Plug a microSD card into your Windows or Mac computer - you might need a USB adapter if your computer doesn't accept microSD - then launch Raspberry Pi Imager. CHOOSE DEVICE- select your model of Raspberry Pi (Raspberry Pi 5) CHOOSE OS - scroll down to the last option "Use custom" now select the piCorePlayer image file you just downloaded. NEXT CHOOSE STORAGE - here select your attached microSD card. NEXT ...

Raspberry Pi 5 as network storage, music server, and player - PART 3

 3. CHOICE OF SOFTWARE First we will deal with the situation where our rPi is both network storage and music server, but we want to stream to a separate endpoint/streamer ; Many/most commercially available streamers only support the DLNA/UPnP protocol.  If you have such a streamer, and you wish your rPi to be a DLNA server, then I think the most straightforward choice of operating system for the rPi is DietPi , which makes it easy to install and run a DLNA server ... however ... I encourage everyone to consider the Lyrion music server instead.  Lyrion opens the door to, arguably, the very best selection of control interface applications.  And the best operating system for the rPi with Lyrion, arguably, is piCorePlayer (pCP) - https://www.picoreplayer.org/ As a bonus, pCP includes an intuitive setup menu, making it relatively easy to configure the music server settings, and optionally the player settings, and also the network file sharing settings. To follow is a f...

Raspberry Pi 5 as network storage, music server, and player - PART 2

Image
  2. CHOICE OF HARDWARE There are many choices of equipment case for a Raspberry Pi 5 plus NVME drive.  These are my two favourites - The smaller one - Pimoroni - accommodates a conventional Raspberry Pi 5 plus M.2 drive, while the larger case - Geekworm - accommodates a Raspberry Pi Compute Module 5 plus 2x M.2 drives.  The Geekworm case is 96 x 90 x 44mm - that's still smaller than an Intel NUC.  The Pimoroni case is a tiny 95 x 60 x 37mm. I chose the larger Geekworm case, since I was aiming to add an OLED display at a later stage, and the small case is simply too small to accommodate a display of any sensible size. The larger case is designed for the Raspberry Pi Compute Module 5, not the "normal" Raspberry Pi 5.  The difference is that the Compute Module consists only of the CPU, RAM and network modules. It's then plugged into a matching carrier board to provide physical connectivity - USB/ethernet/M.2/GPIO, etc. Geekworm sells a matching passive heatsink ...

Raspberry Pi 5 as network storage, music server, and player

1. OVERALL SYSTEM CHOICE Music servers and network audio are subjects which appear regularly on hifi forums, often regarding the overall system configuration - whether to host a music server on a personal computer, or a standalone server, or network attached storage device.  Quite a few of us have chosen the latter option; NAS, but this can be difficult for a newcomer - commercial NAS devices often bundle their own branded server software, which then can make it confusing to know which control apps are compatible, and if other devices such as streamers can be integrated. A good alternative to commercial NAS devices is a suitably configured Raspberry Pi mini-computer, but again, newcomers are often nervous about how complicated this may be to assemble and configure.  And to make the idea even less appealing there are some howto's on the internet which show a messy collection of electronic boards connected by an equally messy series of cables! With the introduction of the Raspbe...