Converting records with a USB turntable and Raspberry Pi Peviously I left a laptop sitting by my record player running Audacity but that was inconvenient so I stuck a Raspberry Pi over there and run these commands via SSH.
I am not an expert, I’m just using the equipment I have so please don’t interpret this as “the best way to convert records”
Components:
- Record player with USB output (AT-LP120XUSB)
- Raspberry Pi (Using a 3B but probably anything will work)
- NAS
Prior Art:
-
Hi-Fi analog to digital with IceCast
Utilizes IceCast to stream audio around your network. Involves running several services and is primarily focused on streaming. -
PiDeck
A system for DJing with your turntable, not for converting -
Z-LiveRec
This is an interesting piece of software but is built as a desktop application. I’d rather run everything from the command line. If it had a web interface I would consider purchasing it. -
Ripping Vinyl Records on a Raspberry Pi
This is very close to what I am doing! Ed describes some issues writing to his local storage and file server but I haven’t noticed anything similar. Perhaps he was using an older Raspberry Pi? (I’m using a Raspberry Pi 3)
My Setup:
-
Connect Raspberry Pi to record player via USB
-
Ensure mount directory exists and mount the NAS via SMB
mkdir -p /tmp/nas; sudo mount.cifs //nas.local/home /tmp/nas -o user=daniel,nounix,uid=$(id -u),gid=$(id -g) -
Change to the relevant directory
cd /tmp/nas/my_new_record -
Identify the correct audio device
arecord -lI’m going to be using
card 2, device 0which is indicated on the second line:**** List of CAPTURE Hardware Devices **** card 2: CODEC [USB AUDIO CODEC], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0 -
Begin recording
# Start a tmux session so the recording continues even # if the SSH connection gets disconnected tmux; sudo arecord --device "hw:2,0" -vv --vumeter=stereo -c 2 -f "S16_LE" -r 44100 raw_audio.wav;Explanation:
--device "hw:2,0"This means “card 2, device 0” that we found in step 4-vvDouble verbosity. Activates the VU meter--vumeter=stereoShows two channels in the VU meter-c 2Record two channels-f "S16_LE"Record in Signed 16-bit little endian. I picked this simply becuase it matched the Audacity default that I was previously using-r 44100record in 44.1 kHz. Again, picked because it matched the Audacity default
-
Finish recording by pressing
ctrl-con thearecordcommand
Future work:
- Detect the end of the record / the record getting stuck and send a Pushover notification
- I thought about automaticallyrecording when the Pi detects a record playing but I decided that it would be too confusing to have to deal with unlabeled files