Liquid Soap or Dark Ice OP25

Status
Not open for further replies.

AB5ID

Member
Joined
Aug 6, 2007
Messages
855
Location
Lee's Summit, MO (Kansas City)
I am a Linux newbie. I stumbled my way through installing OP25 and making it work by online tutorials and YouTube videos. Now I would like to stream my setup, what would be better liquid soap or dark ice? I ask because my Linux Fu it's not very strong. I got op25 working basically by cutting and pasting with a lot of frustration along the way. I'm using an older 64-bit 4 core AMD laptop running Skywave Linux.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,464
Location
Talbot Co, MD
I am a Linux newbie. I stumbled my way through installing OP25 and making it work by online tutorials and YouTube videos. Now I would like to stream my setup, what would be better liquid soap or dark ice? I ask because my Linux Fu it's not very strong. I got op25 working basically by cutting and pasting with a lot of frustration along the way. I'm using an older 64-bit 4 core AMD laptop running Skywave Linux.

I ran darkice for a long time (>1yr) before I switched to liquidsoap. In my experience, the liquidsoap configuration is more stable and required less periodic reboots to keep everything running properly. Perhaps more importantly, some kernels (raspbian) have problems running a stable aloop module that is needed to connect op25 to darkice.
 

RRR

OFFLINE
Premium Subscriber
Joined
Dec 6, 2005
Messages
2,059
Location
USA
When I saw the title of this thread, I honestly thought there was going to be something to do with literally using liquid soap with a scanner somehow. The names some computer programmers give to things are ridiculous sometimes. Regardless, I sure don't understand the whole linux thing, but having competition is good.
 

AB5ID

Member
Joined
Aug 6, 2007
Messages
855
Location
Lee's Summit, MO (Kansas City)
Newbie question again. Do I have to install icecast or just liquidsoap to try and stream from op25? I have a very good stable decode going now with op25 (thanks to a new tcxo dongle) and would like to try and stream it as a next step.
I ran darkice for a long time (>1yr) before I switched to liquidsoap. In my experience, the liquidsoap configuration is more stable and required less periodic reboots to keep everything running properly. Perhaps more importantly, some kernels (raspbian) have problems running a stable aloop module that is needed to connect op25 to darkice.
 
Last edited:

boatbod

Member
Joined
Mar 3, 2007
Messages
3,464
Location
Talbot Co, MD
Newbie question again. Do I have to install icecast or just liquidsoap to try and stream from op25? I have a very good stable decode going now with op25 (thanks to a new tcxo dongle) and would like to try and stream it as a next step.
You will need to install either darkice or liquidsoap but there is no need to install both, although they will happily coexist on the same system as long as you only use one at a time.
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,064
Location
NE Wisconsin
You don't need Icecast unless you are setting up your own private streaming server. If you're feeding BCFY then liquidsoap is all that is necessary to stream to their servers. One suggestion. Include audio AGC to level out some of the audio differences.

Below is an example op25.liq file to stream audio to broadcastify.com that includes some audio compression.
Edit host, mount point, and passwords to match your assigned values.

Additionally, you can include metadata on your feed if you create a tag file to be called by your trunk.tsv file.
You'll need to edit meta.json with the same values as those specified in op25.liq to stream to BCFY and then add
-M meta.json to your rx.py command line.


op25.liq

#!/usr/bin/liquidsoap
# Example liquidsoap streaming from op25 to icecast
# (c) 2019, gnorbury@bondcar.com
#
set("log.stdout", true)
set("log.file", false)
set("log.level", 1)
# Make the native sample rate compatible with op25
set("frame.audio.samplerate", 8000)
# Compress and normalize, producing a more uniform and "full" sound.
# @category Source / Sound Processing
# @param s The input source.
def nrj(s)
compress(threshold=-20.,ratio=3.,gain=3.,normalize(s))
end
input = nrj(mksafe(input.external(buffer=0.25, channels=2, samplerate=8000, restart_on_error=false, "./audio.py -s -x 2")))

# Consider increasing the buffer value on slow systems such as RPi3. e.g. buffer=0.25
# Longer buffer results in less choppy audio but at the expense of increased latency.
# LOCAL AUDIO
# Uncomment the appropriate line below to enable local sound
#
# Default audio subsystem
#out (input)
#
# PulseAudio
#output.pulseaudio(input)
#
# ALSA
#output.alsa(input)

# ICECAST STREAMING
# Uncomment to enable output to an icecast server
# Change the "host", "password", and "mount" strings appropriately first!
# For metadata to work properly, the host address given here MUST MATCH the address in op25's meta.json file
#
output.icecast(%mp3(bitrate=16, samplerate=22050, stereo=false), description="op25", genre="Public Safety", url="", fallible=false, icy_metadata="false", host="audio3.broadcastify.com", port=80, mount="your_mount_point", password="hackme", mean(input))



(Bill)
 
Status
Not open for further replies.
Top