My dad had a collection of old 78rpm records and some LPs of jazz music from the 1920s and 1930s. When I was a child he would put these on when my grandparents visited as they liked the music. I was fascinated by the process of playing a 78 - you had to change to a special pickup needle - and was amazed at how fast the records spun. (Note to self - I have more in common with a dog fascinated by a washing machine than I realise).

I like listening to this music today, as it brings back cosy memories of my childhood and grandparents visiting.

In part 1 I repaired the record player and got it going again. This post is a reference of how I recorded the records and set up a streaming internet music server.

Methven Simpson, 83 Princes St, Edinburgh

As an Edinburgh resident I found one record interesting:

PXL_20251008_201807840-1.MP.jpg

I'm curious to learn about the history of "Methven Simpson", and whether H.M. The King did ever visit Edinburgh to buy a pianola. I visited "83 Princes St" and it is now a shared office facility. Maybe there's a Steinway piano hidden in there still that someone has forgotten about?

The rest of this post is a "reminder of how I did it" to setting up the radio station, so is for reference rather than reading.

Step1 - Recording to Tascam DR-07

I used my Tascam DR07 digital audio recorder to record to SD card. I recorded at 24bit resolution. The dynamic range of 78 records is probably only a few bits, but I thought 24 bits would potentially give me more freedom to adjust gain if necessary.

I experimented by connecting the recorder directly to the output of the phono cartridge, and applied the RIAA curve correction in Audacity. (Effect/EQ and Filters/Filter curve EQ) then select 'RIAA' from 'Factory presets' in 'Presets and settings' within the dialog.

I think this possibly produced better results than using the built-in phono pre-amp but it's hard to tell. I reverted to using the built in pre-amp as this meant I could listen to the records as they were recorded.

Step2 - Cleaning and tracks

Some of the records had quite noisy 'pops' and scratches. The background "sausages frying" sound is part of the appeal of these old 78s, so I didn't want to make them too clean.

Using Audacity:

  • Remove the audio at the beginning, end and middle by highlighing the section and deleting.
  • Effect/Volume/Amplify to normalise the gain.
  • Sometimes remove bad click manually by removing a few samples of audio (Click removal removes the 78 sound so I didn't use this.)

Step3 - Labelling tracks

Using Audacity:

  • Analyse/Label sounds (Sometimes had to adjust with the settings to get clean breaks)
  • Sometimes I had to create a new label - use Edit/Labels/Add at selection. Other times I had to delete labels, using Edit/Labels/Label editor.
  • Check the beginnings of labels manually as sometimes the beginning is missed with the automatic labelling.
  • I then used 'Edit/Labels/Label Editor' to name the tracks - Replace "Track 10" etc in labels with the track names as printed on the sleeve.
  • I then export the files using File/Export audio… Select Export range: multiple files as FLAC.
  • Load the files into Musicbrainz Picard. Add artist/title/catalog number/image

Step4 - Compress

To save on storage space on the server I compressed the files using the OPUS codec. Installing the 'parallel' tool lets me use all cores of my Macbook at once - and the compression takes hardly any time:

parallel opusenc --bitrate 160 {} "{.}.opus" ::: ./*.flac

(At the time of writing the server re-encodes this to MP3; I figured this might have better compatiblity than the newer OPUS codec - so in retrospect it might be better to encode to MP3 so the server doesn't have to re-encode. The quality of these old records is hardly enough to have to worry about the quality loss in this re-encoding step however).

The internet radio station

The radio station is hosted on a shared Debian Linux server; I added its own name to my 'pointinthecloud.com' domain.

I pretty much followed these instructions in the Linux journal article to set up streaming: I used icecast as a streaming server, and liquidsoap randomly select files, and sends them to icecast for distribution.

Install the software:

apt install icecast2 liquidsoap

The server listens on port 8000, so needs a firewall rule. It runs as its own user - so add both of these:

ufw allow 8000/tcp
adduser radiomusic

Copy the music from my Macbook to the server using scp into

/home/radiomusic/music

…ensuring it is readable by user 'radiomusic'

Configuring liquidsoap

Make a file /home/radiomusic/radio.liq:

# Random playlist from folder
music = playlist(mode="random", reload_mode="watch", "/home/radiomusic/music")

safe_music = fallback(track_sensitive=false, [music,blank()])

# Stream to Icecast
output.icecast(
  %mp3(bitrate=128), # Output format: MP3 @ 128 kbps
  host = "localhost",
  port = 8000,
  password = "put a random password in here",
  mount = "stream",
  name = "PastFM",
  description = "My grandparents records",
  safe_music
)

Finally, start the server. I should set up a systemd service, but for now I used run:

liquidsoap radio.liq

…in 'tmux'

Go to the URL http://<server>:8000/stream and enjoy the music!

Copyright?

I think I will share the URL of the station here eventually. I believe that most of these records are so old they are out of copyright, but want to double check first.