Files
Vinyl-Streamer/README.md
T
2026-07-19 14:33:42 -04:00

57 lines
3.2 KiB
Markdown

# Vinyl Streamer
A lightweight, local-network streaming service that captures analog audio from a turntable and broadcasts it over the network using Icecast. Listen to your vinyl records in real-time from any device in your home.
## 🎛️ Hardware Prerequisites
To build this streaming node, you will need the following physical components:
* **Raspberry Pi:** A Raspberry Pi 3B, 4, or Zero 2 W is recommended, along with a reliable power supply and MicroSD card.
* **USB Audio Interface (ADC):** A device to convert the analog audio to a digital signal for the Pi.
I had best restults with the [Behringer UCA202](https://www.amazon.ca/-/fr/Behringer-UCA222-Interface-audio-rouge/dp/B0023BYDHK/)
* **Turntable:** Your vinyl record player with analog output like the [Audio-Technica AT-LP60XBT-BK](https://www.amazon.ca/-/fr/dp/B07N3RFXRL)
* **[3.5mm to RCA Cables]((https://www.amazon.ca/VCE-adaptateurs-st%C3%A9r%C3%A9o-femelle-Plaqu%C3%A9/dp/B06XCR898P)):** To connect the turntable/preamp to the audio interface.
* **[3.5 mm Splitters](https://www.amazon.ca/-/fr/R%C3%A9partiteur-femelle-dextension-Adaptateur-Compatible/dp/B0CN8WRSNG):** To keep the connection available to your Home Theater or Speakers
## 💻 Software Prerequisites
The streamer relies on two core pieces of software: a capture/encoding client and a broadcast server.
* **Linux OS:** A headless Linux distribution like Raspberry Pi OS Lite or Dietpi if you want fast bootup.
* **ALSA (Advanced Linux Sound Architecture):** Standard Linux sound drivers to detect and manage the USB audio interface (`alsa-utils`).
* **Darkice:** The streaming client. It captures the live audio from the ALSA device, encodes it (to MP3, Ogg Vorbis, etc.), and sends it to the server. *(Note: **Liquidsoap** is a powerful alternative to Darkice if you want to implement advanced scripting, like silence detection).*
* **Icecast2:** The streaming media server. It receives the encoded stream from Darkice and serves it to network clients (browsers, media players, smart speakers) via a local HTTP URL.
* **Docker or podman**: The virtualization software if you dont want to install on bare metal
---
## 🚀 Installation & Setup
### Option A: Bare-Metal Package Installation
1. Update your system and install the required packages:
```bash
sudo apt update
sudo apt install alsa-utils darkice icecast2
```
2. Configure Icecast by following the prompts to set your broadcast passwords.
3. Identify your USB audio device using `arecord -l` to find the correct ALSA card number.
4. Edit the `/etc/darkice.cfg` file to link your hardware capture device to the Icecast server.
### Option B: Docker Compose Deployment
If you prefer a containerized homelab setup, you can deploy the stack using Docker Compose.
**`docker-compose.yml`**
run
```
docker compose up -d
```
*(Ensure your ALSA device is mapped correctly and your `darkice.cfg` points to the `icecast` container hostname).*
## 🎧 Listening to the Stream
Once the services are running and a record is spinning, you can access the stream from any device on your local network by pointing your browser or a network media player to:
`http://<RASPBERRY_PI_IP>:8000/vinyl`