hpr4355 :: Record player audio - Streaming with Darkice
Archer72 has a brief overview of streaming a vinyl record to his laptop
Hosted by Archer72 on Friday, 2025-04-11 is flagged as Clean and is released under a CC-BY-SA license.
Record player, vinyl album, record album, record store, streaming, darkice, icecast, arecord.
(Be the first).
Listen in ogg,
opus,
or mp3 format. Play now:
Duration: 00:10:14
Download the transcription and
subtitles.
general.
Intro
Hello, this is your host, Archer72, for Hacker Public Radio.
In this episode, this is my third show involving my record player.
I am using a Zoom H1essential Stereo Handy Recorder microphone, recording into Audacity for this show.
Why visit the record shop?
Picking up a record at the record shop expands my music
choices.
I get a chance to talk to the owner on the weekend when searching
for
new music. He is an archaeologist and a teacher at a local college
during
the week, and is knowledgeable on all the music in the store.
One Year With the Institute - Archive.org
I wanted a way to listen to the records while on my laptop, preferably with headphones, as to not disturb the household.
How is this accomplished?
This is done using a combination of Darkice to capture the stream, and Icecast to stream it to the local network.
What is Icecast?
Icecast is a streaming media (audio/video) server which currently supports Ogg (Vorbis and Theora), Opus, WebM and MP3 streams. It can be used to create an Internet radio station or a privately running jukebox and many things in between. It is very versatile in that new formats can be added relatively easily and supports open standards for communication and interaction.
Icecast is distributed under the GNU GPL, version 2.
The default config file is located in
/usr/share/doc/icecast2/icecast.xml.dist.gz
if the default config gets mangled or corrupted by myself.
Several
other types of configs are also in /usr/share/doc/icecast2/
that include a bare bones config
and the installed icecast2 config is located in
/etc/icecast2/icecast.xml
Configuration needed to be personalized
<location>Cynthiana,KY</location>
<admin>ricemark20.nospam@nospam.gmail.com</admin>
Change
the
passwords from hackme
to a more secure password
<authentication>
<!-- Sources log in with username 'source' -->
<source-password>hackme</source-password>
<!-- Relays log in with username 'relay' -->
<relay-password>hackme</relay-password>
<!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
<!-- In my case, this is the IP address of the Raspberry Pi -->
<hostname>192.168.x.x</hostname>
mountPoint = live # mount point of this stream on the IceCast2 server
name = DarkIce Vinyl Stream # name of the stream
description = This is my Vinyl stream # description of the stream
url = http://localhost # URL related to the stream
genre = Podcast # genre of the stream
public = yes # advertise this stream?
localDumpFile = recording.ogg # Record also to a file
metadata = yes # enable metadata
What is Darkice?
DarkIce is a live audio streamer designed to record audio from an audio interface, such as a sound card, encode it, and send it to a streaming server. It supports various streaming servers including IceCast 1 and 2, ShoutCast, and Darwin Streaming Server. DarkIce can encode audio in formats like MP3 and Ogg Vorbis. To use DarkIce, you configure it with settings such as the audio input device, sample rate, and streaming server details, including the server’s address, port, and authentication information.
This description of Darkice is a result of using the Brave Search LLM, or Large Language Model.
The default config file is located in
/usr/share/doc/darkice/examples/darkice.cfg.gz
and
is
copied to the /etc directory. From there, use the gunzip
command, for example gunzip darkice.cfg.gz
I used the config file from a blog by Steffen Müller on stmllr.net
August 10, 2012 as a template for my configuration
This is the configuration I used in the end.
darkice-pi.cfgChanges to the template
The audio device is configured in the [input]
section,
defined by arecord
dash lowercase ‘L’ to list the
capture
device, which in my case is the Behringer
UMC202HD USB
Audio Interface
[general]
duration = 0 # duration of encoding, in seconds. 0 means forever
The section of the config file for audio input looks like this.
[input]
device = plughw:0,0 # This refers to card 0, device 0
Start Darkice
darkice &
Update Metadata
I was looking for a way to update the Currently Playing metadata, but my coding skills are not too good. For this, I used Claude.ai to generate code from the prompt: BASH script to send HTTP request to change metadata on icecast stream
update-metadata.shDefault values
HOST="localhost" # 192.168.x.x
PORT="8000" # Default Icecast port
MOUNT="/stream"
USER="admin"
PASSWORD="hackme" # Icecast admin password
SONG="Unknown"
Usage
update-metadata.sh -s "HPR Test"
If there are any suggestions for improvements, please leave a comment or upload a show. I look forward to hearing about if an how other people are using a personal streaming server. Also, I am looking forward to the show from the Reserve Queue,
2024-10-13 Fred Black What LP records do I have