edit on the readme
This commit is contained in:
@@ -7,19 +7,21 @@ A lightweight, local-network streaming service that captures analog audio from a
|
||||
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. (e.g., Behringer UCA202, ART USB Phono Plus, or a HiFiBerry DAC+ ADC hat).
|
||||
* **Turntable:** Your vinyl record player.
|
||||
* **Phono Preamplifier:** Required to boost the turntable's low-level phono signal to a standard line-level signal. *Note: You can skip this if your turntable has a built-in preamp or if your USB audio interface includes a dedicated phono stage.*
|
||||
* **RCA Cables:** To connect the turntable/preamp to the audio interface.
|
||||
* **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 a customized container environment.
|
||||
* **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
|
||||
|
||||
---
|
||||
|
||||
@@ -41,30 +43,9 @@ The streamer relies on two core pieces of software: a capture/encoding client an
|
||||
If you prefer a containerized homelab setup, you can deploy the stack using Docker Compose.
|
||||
|
||||
**`docker-compose.yml`**
|
||||
```yaml
|
||||
services:
|
||||
icecast:
|
||||
image: infiniteproject/icecast
|
||||
container_name: vinyl-icecast
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- ICECAST_SOURCE_PASSWORD=hackme
|
||||
- ICECAST_ADMIN_PASSWORD=admin
|
||||
- ICECAST_PASSWORD=hackme
|
||||
- ICECAST_RELAY_PASSWORD=hackme
|
||||
restart: unless-stopped
|
||||
|
||||
darkice:
|
||||
image: pltnk/darkice
|
||||
container_name: vinyl-darkice
|
||||
devices:
|
||||
- /dev/snd:/dev/snd # Pass through the ALSA audio device
|
||||
volumes:
|
||||
- ./darkice.cfg:/etc/darkice.cfg:ro
|
||||
depends_on:
|
||||
- icecast
|
||||
restart: unless-stopped
|
||||
run
|
||||
```
|
||||
docker compose up -d
|
||||
```
|
||||
*(Ensure your ALSA device is mapped correctly and your `darkice.cfg` points to the `icecast` container hostname).*
|
||||
|
||||
|
||||
Reference in New Issue
Block a user