• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required as is 20 years of participation in forums (not all true). There are daily reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

How to integrate your turntable/analog source in your streaming system - Step by step instructions for dummies

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
Hello all,

I thought it would be good to put together some simple instructions to integrate a turntable, or any other analog source, into a 2022 wifi streaming environment.

My own experinece tells me there are at least two reasons one would want or need to do this:

1. There is a tendency nowadays to use the cheap DACs we adore as preamplifiers, and they do a terrific job. Low noise, remote control, source selection... but there are very few models that have analog inputs, and the ones that have them (think matrix audio mini i pro, minidsp flex, sonos environment, edit: the new wiim mini can also do the job as pointed out by Jmudrick. 106eur in Amazon.de. I don't know if you need two of them or if it can stream to any other streamer you have, maybe someone using it can comment) don't come cheap if the only extra feature you need is this.

2. No cables! I always had my music rig separated from the tv rig, but recently i moved my speakers to both sides of the screen like so many people do... and in the average little european room, chances are that there is no space there for a turntable, or at least not in a way that is comfortable to use. This means that the turntable ends up at a relatively long distance from the amplifier and running cables across the room starts to be a problem... Additionally, a streaming system allows you to have a headphones rig anywhere in the house, or even in your mobile phone, and you might want to listen to your records there too, why not?

I was in this situation one year ago, and being a complete noob in audio and audio electronics, let alone linux and raspberry pi, it took me some time and reading to find the right way to do it and instructions detailed enough to my level of knowledge (= 0).

There is nothing new in this tutorial, everything is relatively easy to find in the internet, the intention is just to put everything together in one place with instructions detailed enough so that everyone can follow them successfully without having to look anywhere else.
Additionally, and in line with my other instructions for noobs threads, i have chosen to explain a minimum cost solution. The people who are willing to spend significant money in this can access to solutions that work out of the box.

what do you need?

- Turntable (obviously)

- Phono pream (not necessary but recommended)

- Raspberry pi zero 2w - the older zero w also works, but the price difference is so ridiculous that doesn't really make sense)

- Creative Sound Blaster HD - or any USB card with analog input really. I use this here because it also has a phono stage built in. The popular Behringer UFO 202 and similar also work well, have a built in phono stage and sometimes are sold in amazon for 10 $. I had the two but not simultaneously, so i can't tell which one is better.
I think the line in ADC of the Sound Blaster is very good and generates very little to almost no noise, so if you already have a phono preamp that you like, this can be a killer cheap combination. On the contrary the phono stage is... meh.... I mean, it is usable, but i think to remember that the one in the Behringer was a bit better in terms of noise.
The Sound Blaster HD is discontinued but you can find it in ebay very cheap. I think i paid 30 euros for mine and I am sure it can be found even cheaper.

- micro SD card: a very small one will do. You can just use a 8Gb one and if you already have something smaller, you can even give it a try.

- USB phone charger: i use an old one that gives 1.5 A and is enough for the pi, the usb card and a 1 tb HDD. I bet that for just the pi and the card, something smaller could do. But remember, if you use one less powerful and you find issues, the lack of power could be the reason.

- Connectors: the pi zero family have a ***** micro USB host socket, and this makes the connectivity to the USB card a bit difficult. The best thing is to buy a male micro USB to female USB-A and connect this to the male USB A terminated cable that comes with your card (if you dont have it, the Sound Blaster HD needs a USB A to mini USB. The Behringer has a fixed cable)

Streaming sound from your turntable.

When you start searching around for a solution, very soon you realize that there are zillions of solutions to use almost anything as a streamer, but what you need here is a server to output your signal to the rest of your equipment, and the solutions available to do this, my friend.... aren't many.

In this instructions i will use Logitech Media Server (LMS), and to be honest, i doubt there is something better and easier than it. No need to say that is completely free.
One way to get and use LMS is piCorePlayer (pCP). This software comes bundled and integrated with LMS, and the at pCP are active in the Logitech Squeezebox forum, where you can ask questions, find information and make donations if you wish (in their website).


Forum:
https://forums.slimdevices.com/showthread.php?114828-Announce-piCorePlayer-8-0-0

And with no further delay, there go the instructions.

1. Download piCorePlayer 8.1.0 - Standard Version here:
you will notice that there is a 64bit kernel version as well. If you are using the pi zero w, you can only use the standard version, not the 64bit. With the zero 2w, in theory, you could use both. When the 2w was released they adapted piCorePlayer to work with it, and when i asked them in those days they recommended to go first with the standard version to avoid troubles, as it was a fresh release. This was a few months ago, so maybe today the 64bit version works without issues, but i can't confirm that. What I can confirm is that the standard version works beautifully.

2. Download and install in your computer BalenaEtcher here:
This is an app that allows you to write piCorePlayer to your SD card

3. Download Putty here:

4. Download Advanced IP scanner here:

5. Set up piCorePlayer.
The guys at piCorePlayer have excellent instructions that are way better than mine here:
But remember that the aim of this post is to have all the information together, so i will still explain here what is the minimum you need to do to stream your analog source without any of the other features ot pCP

5.1 Insert the SD card in your computer and open balenaEtcher. Select the pCP zip folder that you downloaded (no need to decompress it) and burn it to your SD card following the steps that BalenaEtcher tells you.
When BalenaEtcher tells you it is done, extract the SD card from your computer and insert it again.

5.2 Open a new windows notepad document in your computer and paste the following text:

# Maintained by piCorePlayer
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=staff
# Two Character Country Code
country=LU
update_config=1

network={
ssid="the name of your wifi"
psk="the password of your wifi"
key_mgmt=WPA-PSK
auth_alg=OPEN
}

Please notice the text in red that you will need to fill in with your information. Don't really know what is the purpose of the country code but there it is... Leave the "" with the ssid and password.
Save the notepad documet with the name wpa_supplicant and save it in the SD card.
This little document will allow pCP to access to your wifi.
Eject the SD card and insert it in your raspberry pi, with the USB card already connected.

5.3 Accessing pCP from your computer.
In order to continue setting up pCP you need to find out what is the IP address of your raspberry pi. You can use Advanced IP scanner to find out. Just open it, press scan, and you will see a list of devices with their IP addresses. There will be one called pCPsomething. This is the one you need. Copy the IP address of this one (in the example below, pCP.fritz.box is the one.

1651353624854.png


Paste the IP address in a web browser and you will see the main control page of pCP/LMS. It looks like this:

1651353787749.png


As mentioned before, this package contains piCorePlayer and LMS. For our purpose we are only interested in LMS, so i will go straight to the point and will not inclued piCorePlayer in this tutorial.
Go to the bottom of the page and select the tab called "beta". This will allow you to access settings that otherwise you would not see:

1651353849317.png


then return to the top of the page and go to the LMS tab.

5.4 Install LMS
The first thing to do here is to install LMS. Press "Install LMS"
The installation will not work, instead, you will be asked to create a partition and to select the size of said partition. Select 300 Mb. The partition will be created.
After this you might be requested to reboot. Do so.
Then you can press again "Install LMS" and this time it will work.
When finished, you will see a lot of new buttons. Press "Start LMS"

5.5 Create a squeezebox account (edit: See @somebodyelse post #8 if you prefer not to create a squeezebox account)
This is the most peculiar part of all this. Believe it or not, in 2022, several years after logitech abandoned all this, you can still create a LMS account. What is more, you must do so to use it. Don't ask me how this is possible, but it is, and of course it is for free and you don't need to own any Logitech device.
Still in the LMS tab, press "LMS webpage"
And it will bring you to the login website of LMS. There you can create an account (clicking the selfexplanatory "I need to create a mysqueezebox.com account") and get your credentials. With them, you can enter the LMS control website.

1651353928589.png


Once in, you will need to pass a series of tabs that ask you to select where is your music etc. You can just skip all of them as they are not necessary for this project, and you will get to the LMS main page. It looks like this:

1651353980576.png


Once here, you need to go to "settings" at the bottom left corner and you will see several tabs. Go to the one called "plugins"

5.6 Wavinput plugin
Here you need to activate the plugin that allows to capture the analog in signal, it is called wavinput. Just select it and click "apply" in the lower right corner. If you intend to stream the analog signal to other upnp streamers (i.e. volumio, moodeaudio, your tv, etc.) you can do it if you activate as well a second plugin called "UPnP bridge".
You will need to reboot after activating the new plugins.

5.7 Set up the analog input as a favorite
In the main LMS page, go to favorites, and clicking on the pencil icon you can create a favorite. It only asks you for a name, and you can call it as you want, i.e. turntable, and an URL. The URL field MUST be wavin:default
And that's it, when you "play" this favorite you created, you will be playing the signal it is getting as an audio input from the analog source of your USB card.

6 Setting up the USB soundcard.
As explained at the beginning, you can use different USB cards with line or phono inputs. If you are using the Sound Blaster X-fi HD, you can choose between a line level input (if you already have a phono stage or you are using an analog source with a line level output, i.e. a casette deck or a reel to reel tape) and a phono input (to connect directly to your turntable without using a separate phono stage). I don't find the built in phono stage of the Sound Blaster good enough, but might be worth checking out if you dont want to invest in a separate phono stage.
To select between the two options, you can go use alsamixer.
Alsamixer is a tool you can access from a ssh client. In order to do so, open the Putty app you downloaded at the beginning. You will see a window like this:

1651354128450.png


here you need to input the IP address of your pi (that you found out before), port must be 22 and connection type SSH. Below these fields you are offered to save these values so that next time you use it don't need to retype them again. However this is not necessary.
When done, press Open and you will access a command window for your pi. You will requested to input a login and a password:
Login as: tc
Password: piCore
you will see this:

1651354254163.png


then you can type alsamixer, and you will get into the alsamixer window of your card:
It looks like this, very 80s:

1651354292171.png


As you can see to the right, above PCM capture source, "Line" (line level input) is selected as default. If you want to use the built in phono stage of the card, use your cursor to move to the left and then with the cursor up/down you can select between Line, Phonograph and Mic. Phonograph refers to the phono stage. Select it, press "esc" to exit alsamixer, and in order to make your change permanent when you switch off your system, type:

sudo alsactl store

And basically that's it. Everything should be up and running now. You should be able now to go to favorites, select your analog input, and stream your turntable signal to your piCorePlayer streamer, or if you activated the upnp bridge plugin, you will find your volumio/moode/tv/upnp streamer in the list of players on the top right corner of your screen. You just select the one you want to use, and it will get the signal from your LMS.

If you want to control your LMS from your android smartphone, there are several apps you can choose from. i use Squeezer. It is a very simple app from where you can connect to your LMS and access a simplified version or the LMS GUI, from where you can select your streamer and send your analog signals.

20220501_065244.jpg


And here you have the result (sorry for the mess, normally all this is hidden behind the shelf). The soundcard is the box sitting on top of the phone stage, the led is not as bright as it seems in the picture. As you can see I have a USB connected to the pi so I can plug, additionally that small 1 TB SSD drive with my ripped CDs to it. This is one of the additional features (actually the main one) of LMS. You can have your music library there too. But I didn't want to include that part in this tutorial in order to keep it as simple as possible.

PS. Latency: my system, as described here, has a latency of ca. 5-6 seconds. It is a lot, but for me it doesn't really matter. I would even prefer to have a longer latency so that i have time, from the moment i drop the stylus on the record, to go and grab my headphones. I don't know if the latency could get reduced if, for instance, you use a raspberry pi 4 instead of the zero. There are some settings that can have some effect in the latency, but i dont think you can make it much shorter.

Note on the Behringer UFO 202: If you are really on a budget and you don't have a phono preamp, this card can be the one for you. It sells regularly for 20 eur and I have seen it in Amazon.com for 10$. You can find it used in ebay sometimes for as little as 5 eur, and to be honest, it works surprisingly well and you have your turntable server all set up for as little as 30-35 eur. An additional advantage of the Behringer is that it has a physical switch to select line in vs phone in, so you can skip the alsamixer part of the tutorial.

That's all folks, enjoy your music and feel free to correct or add whatever you think might be useful. Cheers!
 
Last edited:

Jmudrick

Addicted to Fun and Learning
Joined
Oct 7, 2018
Messages
646
Likes
557
FWIW both my Paradigm PW Link ($199 with Anthem Room Correction) and WiiM ($89) streamers have analog input and manage the ADA conversion from my Pluto phono preamp without complication.
 
OP
M

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
True, unfortunately wiim mini did not exist when i went through all this. the paradigm link though, sells for 400 -500 euros here in europe, i would put it in the same price league than the sonos devices.
 

thegeton

Active Member
Forum Donor
Joined
Aug 20, 2020
Messages
260
Likes
458
Location
Manchester, WA
You could also use one of these.
 
OP
M

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
You could also use one of these.
Actually if you want to stream the signal, one of those analog to toslink adc doesn't make it any easier as you will need to input the spdif signal somehow to your server. If is is a pi based server you can use a spdif i/o hat, but i think it makes the setup unnecessary complex and more expensive.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
2,787
Likes
2,104
5.5 Create a LMS account
This is the most peculiar part of all this. Believe it or not, in 2022, several years after logitech abandoned all this, you can still create a LMS account. What is more, you must do so to use it.
You don't need a mysqueezebox.com account to use LMS. A few of the plugins require it (Tidal, not sure of the others) but if you don't use those it's not needed.
 
OP
M

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
You don't need a mysqueezebox.com account to use LMS. A few of the plugins require it (Tidal, not sure of the others) but if you don't use those it's not needed.
Ah didn't know that!
But how do you access to the LMS gui and set everything up? for instance squeezer requires your account details to connect to lms so that you can access your libraries, play the wavin etc...
 
Last edited:

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
2,787
Likes
2,104
The server has a startup option --nomysqueezebox to remove the mysqueezebox stuff from the web gui, but even without that it will work. Note the 'Skip' button in the bottom right corner of your screenshot - I think this page only appears on initial startup. After that it will be in the Settings, under the mysqueezebox.com tab where there is also an option to disable integration. I haven't tried LMS on piCorePlayer but I wouldn't be surprised if it has an option in the piCorePlayer web gui to use the --nomysqueezebox option. In daphile there is a checkbox for 'Disable mysqueezebox.com' if you go to Settings->General and look in the media server area. On Gentoo you could add it to /etc/conf.d/logitechmediaserver.

Squeezer doesn't require mysqueezebox.com either. When not connected it will scan the local network for LMS servers and offer the ones it finds in a 'Choose a server' dropdown which also has an option for a manually entered address if the scan can't find your server. These will be used with the 'local server' option, along with an optional username/password in case you've configured your server to need them. There is also a mysqueezebox.com login option, but it's not compulsory.
 
OP
M

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
The server has a startup option --nomysqueezebox to remove the mysqueezebox stuff from the web gui, but even without that it will work. Note the 'Skip' button in the bottom right corner of your screenshot - I think this page only appears on initial startup. After that it will be in the Settings, under the mysqueezebox.com tab where there is also an option to disable integration. I haven't tried LMS on piCorePlayer but I wouldn't be surprised if it has an option in the piCorePlayer web gui to use the --nomysqueezebox option. In daphile there is a checkbox for 'Disable mysqueezebox.com' if you go to Settings->General and look in the media server area. On Gentoo you could add it to /etc/conf.d/logitechmediaserver.

Squeezer doesn't require mysqueezebox.com either. When not connected it will scan the local network for LMS servers and offer the ones it finds in a 'Choose a server' dropdown which also has an option for a manually entered address if the scan can't find your server. These will be used with the 'local server' option, along with an optional username/password in case you've configured your server to need them. There is also a mysqueezebox.com login option, but it's not compulsory.
Good to know, thanks! Somehow i set it up using the account credentials and now i can see them every time i start squeezer and it needs to connect. Didn't know there was a way around it. Well, in any case it remembers them but good to know thanks!
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
1,549
Likes
1,941
Location
Detroit, MI
Actually if you want to stream the signal, one of those analog to toslink adc doesn't make it any easier as you will need to input the spdif signal somehow to your server. If is is a pi based server you can use a spdif i/o hat, but i think it makes the setup unnecessary complex and more expensive.
x2

One of the biggest advantages of this setup is the ability to stream the turntable output to other streamers on your network. Just like @MarcosCh I am unable to locate my turntable near my speakers / amplifiers / DSP / TV due to space constraints so being able to locate the turntable elsewhere is a godsend.

I've been using a RPi3 with a HifiBerry DAC+ ADC Pro HAT for the past two years in such a setup and it works great.

Michael
 

Jmudrick

Addicted to Fun and Learning
Joined
Oct 7, 2018
Messages
646
Likes
557
x2

One of the biggest advantages of this setup is the ability to stream the turntable output to other streamers on your network. Just like @MarcosCh I am unable to locate my turntable near my speakers / amplifiers / DSP / TV due to space constraints so being able to locate the turntable elsewhere is a godsend.

I've been using a RPi3 with a HifiBerry DAC+ ADC Pro HAT for the past two years in such a setup and it works great.

Michael
Linkplay (eg WiiM and Play-Fi (eg PW-LINK) devices have this capability as currently I stream phono output from the listening room to the den using the PW-LINK.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
1,549
Likes
1,941
Location
Detroit, MI
Linkplay (eg WiiM and Play-Fi (eg PW-LINK) devices have this capability as currently I stream phono output from the listening room to the den using the PW-LINK.

Interesting, good to know. Definitely seems like a good commercial offering.

I would have said a RPi streamer is a lot cheaper than the PW-LINK but these days with the unavailability of RPis and subsequent price gauging that is no longer the case!

Michael
 

Jmudrick

Addicted to Fun and Learning
Joined
Oct 7, 2018
Messages
646
Likes
557
Interesting, good to know. Definitely seems like a good commercial offering.

I would have said a RPi streamer is a lot cheaper than the PW-LINK but these days with the unavailability of RPis and subsequent price gauging that is no longer the case!

Michael
One always has to keep in mind you're getting Anthem Room Correction (with mic) with the PW Link. There are ways to get the unit shipped outside the US for less than the price difference between US and EU.
 
OP
M

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
There are ways to get the unit shipped outside the US for less than the price difference between US and EU.
This might be worth. I was just checking and the very few dealers selling it in EU are asking the said 400-500 euros... if bought for 200$ in US can be get here for ca 300 euros realistically.
Now, if you don't even have a phono preamp and just want to spin a record from time to time, the behringer+zero solution is difficult to beat!
 
Last edited:

thegeton

Active Member
Forum Donor
Joined
Aug 20, 2020
Messages
260
Likes
458
Location
Manchester, WA
Actually if you want to stream the signal, one of those analog to toslink adc doesn't make it any easier as you will need to input the spdif signal somehow to your server. If is is a pi based server you can use a spdif i/o hat, but i think it makes the setup unnecessary complex and more expensive.
I just connect the s/pdif directly into the DAC input, skip all that other stuff. Works fine.
 
OP
M

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
I just connect the s/pdif directly into the DAC input, skip all that other stuff. Works fine.
Ah ok, in that case, sure. But well, the objective here is to stream over wifi (= to multiple destinations without cables)
 
Last edited:
OP
M

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
I asked in one of the wiim threads and I was told that it can indeed stream the analog input, but only to another wiim:


Member @Brantome did not seem to be 100% sure but nobody corrected him yet.

So this means if you want to use a wiim mini, you will likely need an additional for each receiving rig, 100eur a pop. Not ideal but fair enough.

I cannot edit post #1 anymore to add this info but i leave it here for those interested.
 
OP
M

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
I thought it would be good to add the following instructions for those using a raspberry pi 4b because it is a bit different from the zero family.

The instructions in post #1 work for the zero w and zero 2w, but with the 4b there is a little problem... and this is that the 4b has a built in card for the headphones, and this card is set as the default card in alsa. As a result, when you create your "wavin:default" wavin wants to extract the sound from the headphone card, and of course, it does not get it.

I have found two ways of solving this:

1. Setting your capture USB card as the default card.
I don't recommend doing this, because it is a bit more complicated, and most importantly, i have not found the way to make the change permanent. That is, it works, but every time you boot the pi you need to do it again. I will not give more details, but for those curious, what you need to do is to change the following conf file where the default card is set. you can do it with vi. In the ssh: sudo vi /etc/asound.conf

2. Direct wavin to the correct card input instead of the default.
This is much easier and works very well. The first thing you need to do is to find out how your USB card is named in alsa:
Start a ssh session in Putty as described in post #1 (remember, login: tc password: piCore) and once in, enter:
arecord -l
you will get something like this, that is a list of input devices (cards with microphone or line in capabilities). Your card should be obviously there. In my case with the Sound Blaster:

[email protected]:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: HD [USB Sound Blaster HD], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HD [USB Sound Blaster HD], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0

Here we can see that the sound blaster is the card 1 (the card 0 is the headphones of the pi that is not on the list because it is not a capture device) and the name is "HD". We also see that it has two devices, 0 and 1.

Ok, this information is enough. We can close the ssh window and we go again to LMS web and create a favorite as we did in post #1, but instead of inputing "wavin:default" in URL we are going to try these two possibilities:

wavin: plughw:CARD=HD,DEV=0
wavin: plughw:CARD=HD,DEV=1

(Note that you should not leave a space between wavin: and plughw, i added a space there because otherwise a get a :p )

We don't know beforehand what is the device (0 or 1) that will work, so we try both and see. In my case the good one was 0. The favorite looks like this:

1651924319279.png


And that’s it folks.
What are the advantages of using a much more expensive pi 4b instead of the zero 2w?
To be honest, not many, especially if you are using this setup only to stream an analog signal. However if you also want to add a HDD with your music as shown in the picture in post #1. Well, then you will not need a usb hub and cable adapters, the access to your files will be a bit faster, and i can imagine the pi 4b can provide more power in case your HDD needs it. Up to you, in my book both are perfectly capable and stable.

PS: thanks to bpa and the folks at slimdevices forum for hepling to solve this.
 

Miercoles2022

Member
Joined
Jan 8, 2022
Messages
15
Likes
22
Location
Maryland, USA
Great thread! I used a similar setup a few years ago when my turntable couldn’t be colocated with the main system. I’ve been a dedicated LMS user for 20 years (o_O). Streaming record playback throughout the house was very cool. I’ve been thinking of setting it up again recently, so thanks for this reference thread! I think I even have a second monitor out from my phono pre, so I could have the best of both worlds — streaming records through LMS, plus a direct, analog-only option for focused listening.
 
OP
M

MarcosCh

Major Contributor
Joined
Apr 10, 2021
Messages
1,243
Likes
853
Great thread! I used a similar setup a few years ago when my turntable couldn’t be colocated with the main system. I’ve been a dedicated LMS user for 20 years (o_O). Streaming record playback throughout the house was very cool. I’ve been thinking of setting it up again recently, so thanks for this reference thread! I think I even have a second monitor out from my phono pre, so I could have the best of both worlds — streaming records through LMS, plus a direct, analog-only option for focused listening.
Thanks!
Another use case i find super useful is to stream to my headphone rig (which is basically a pi running moodeaudio where i apply EQ) and even to my phone and keep on listening when i walk around the house :D
 
Top Bottom