How to backup your vinyl records on OpenBSD

2022-04-17

This article describes how to use OpenBSD tools to backup a vinyl record

Overview

For users, creating a digital backup of their beloved vinyl collection has become a second nature. Thus, there exists a number of guidelines, covering all aspects of needed hardware and software along this process (i.e. record, analyze, and repair). Where it seems obvious that we need a specially designed hardware for recording (e.g. turntable with USB), the same may not be true when we'll talk about software. Keeping the recording step as simple as possible, we'll use software that is already included in OpenBSD.

What you will learn?

If you're interested in learning more about connecting a speakerphone to OpenBSD, feel free to read my article about that also.

What do you need?

I'm using a turntable Audio-Technica AT-LP120-USB which provides an USB-interface for a direct connection to my laptop.

Preliminary steps

So starting with recording, we need to first activate it on our system by executing the following sysctl command.

doas sysctl kern.audio.record=1

Sndiod configuration

Before we can configure sndiod for our setup, we need to check dmesg to get the information about the connected vinyl player.

dmesg | grep audio

In my case, the vinyl player connects to uaudio0 and it seems to be a BurrBrown from Texas Instruments.

uaudio0 at uhub0 port 2 configuration 1 interface 1 "BurrBrown from Texas Instruments USB AUDIO  CODEC" rev 2.00/1.00 addr 2
uaudio0: class v1, full-speed, sync, channels: 2 play, 2 rec, 3 ctls
audio1 at uaudio0
uhidev0 at uhub0 port 2 configuration 1 interface 3 "BurrBrown from Texas Instruments USB AUDIO  CODEC" rev 2.00/1.00 addr 2
uhidev0: iclass 3/0
ucc0 at uhidev0: 3 usages, 3 keys, enum

With that information, the basic sndiod setup is like:

doas sndiod -d -f rsnd/0 -m play -s default -F rsnd/1 -m rec -s turntable

Record/Play with aucat

As stated in my previous article about the speakerphone, you can use aucat for first tests:

Basic recording with aucat:

AUDIODEVICE=snd/turntable aucat -o /tmp/test.wav

Play back using internal speaker (default):

AUDIODEVICE=snd/default aucat -i /tmp/test.wav

That's all for now.