Broadcastify Raspberry Pi Image v3.0 Beta

stromyc

Member
Feed Provider
Joined
Aug 23, 2023
Messages
7
I am currently trying to upload only a single frequency to Broadcastify with a Raspberry Pi 4, using RTL-SDR.COM dongle. I will use the RTL-SDR dongle with an antennae to receive broadcasts on my Rasberry Pi, which can be monitored using Gqrx. Do I need a sound card to stream to broadcastify with this setup?
 

DC31

Member
Feed Provider
Joined
Feb 19, 2011
Messages
1,604
Location
Massachusetts
Install Pulseaudio Volume Control on the pi (sudo apt install pavucontrol). Then you will find it in the Sound and Video section of the pi menu. This enables virtual “audio cables” that you can use to route the audio. Install and setup darkice (sudo apt install darkice) to stream to bcfy. In pavucontrol you will find GQRX in the Playback tab outputting to the built-in audio. With darkice running, you will find it in the Recording tab. Set the source to monitor of the built-in audio.

if it were me (since it sounds like you want to stream one analog channel), I would install RTLSDR_Airband. That will receive the channel from your sdr and stream it to bcfy within one program. Can also output to pulse and route it using pavucontrol.


There are at least ten ways to skin this cat. You will find that any with a waterfall or graphical display of the monitored frequencies will use significant CPU hp. A pi4 can run them pretty well but may run hot or with little glitches.
 

stromyc

Member
Feed Provider
Joined
Aug 23, 2023
Messages
7
Install Pulseaudio Volume Control on the pi (sudo apt install pavucontrol). Then you will find it in the Sound and Video section of the pi menu. This enables virtual “audio cables” that you can use to route the audio. Install and setup darkice (sudo apt install darkice) to stream to bcfy. In pavucontrol you will find GQRX in the Playback tab outputting to the built-in audio. With darkice running, you will find it in the Recording tab. Set the source to monitor of the built-in audio.

if it were me (since it sounds like you want to stream one analog channel), I would install RTLSDR_Airband. That will receive the channel from your sdr and stream it to bcfy within one program. Can also output to pulse and route it using pavucontrol.


There are at least ten ways to skin this cat. You will find that any with a waterfall or graphical display of the monitored frequencies will use significant CPU hp. A pi4 can run them pretty well but may run hot or with little glitches.
Currently I am using the BCFY Shell to configure Darkice. I use that to start up application and also use PulseAudioVolumeControl loopback.

I can confirm that darkice is running by going to terminal and typing ps aux | grep darkice.

When I go to PulseAudioVolumeControl, I do not see darkice listed in the Recording tab.

Do I need to install a soundcard to my Raspberry Pi, I do not currently have a sound card installed.

Thanks again for taking the time to respond!
 

stromyc

Member
Feed Provider
Joined
Aug 23, 2023
Messages
7
Currently I am using the BCFY Shell to configure Darkice. I use that to start up application and also use PulseAudioVolumeControl loopback.

I can confirm that darkice is running by going to terminal and typing ps aux | grep darkice.

When I go to PulseAudioVolumeControl, I do not see darkice listed in the Recording tab.

Do I need to install a soundcard to my Raspberry Pi, I do not currently have a sound card installed.

Thanks again for taking the time to respond!
Actually looking at the darkice error logs, its showing: PulseAudioDspSource.cpp:166: : pa_simple_new()failed: %s
Connection refused [0].

So darkice is trying to start, but aborting with the above error code.
 

DC31

Member
Feed Provider
Joined
Feb 19, 2011
Messages
1,604
Location
Massachusetts
The bcfy image has pulseaudio disabled. That is what makes it very hard to work with. However, it does include rtlsdr_airband if you want to give that a try.
 

DC31

Member
Feed Provider
Joined
Feb 19, 2011
Messages
1,604
Location
Massachusetts
Ok I missed your last post, sorry. It sounds like you have pulse running. Sometimes a full reboot (as in power-cycle) of the pi will help.

in your darkice.cfg what are you using for input?

[input]
device = default # OSS DSP soundcard device for the aud$

try either default or pulse
 

DC31

Member
Feed Provider
Joined
Feb 19, 2011
Messages
1,604
Location
Massachusetts
Sorry again, I may be confusing you. I haven’t used the bcfy configuration script for darkice before, all mine have been done manually.
still you should be able to choose Loopback1 or 2 then go into pavucontrol and find it there
 

DC31

Member
Feed Provider
Joined
Feb 19, 2011
Messages
1,604
Location
Massachusetts
Back again!

i set it all up as you should and i get the same error message as you do. I suspect a bug in the image.
 

stromyc

Member
Feed Provider
Joined
Aug 23, 2023
Messages
7
Ok I missed your last post, sorry. It sounds like you have pulse running. Sometimes a full reboot (as in power-cycle) of the pi will help.

in your darkice.cfg what are you using for input?

[input]
device = default # OSS DSP soundcard device for the aud$

try either default or pulse
These are the steps that I have taken so far:

1. I downloaded the older Broadcastify Raspberry Pi Image V2.11
2 I changed the darkice.cfg file and tried the following:

input = pulseaudio # This did not work returns an error # "pa_simple_new() failed %s Connection refused [0] input = pulse # This did not work returns an error # "ALSA lib pulse.c:243 (pulse_connect) Unable to connect: Connection refused [0] input = default # This setting does not return an error codes and darkice is running. I also see that my feed indicates online at broadcastify. # However, there is no sound on the broadcastify channel.

3. It appears that there is sound activity visible on the PulseAudio Volume Control, but no sound is being sent to broadcastify

How do I proceed from here?

Thanks
Back again!

i set it all up as you should and i get the same error message as you do. I suspect a bug in the image.
 
Last edited:

DC31

Member
Feed Provider
Joined
Feb 19, 2011
Messages
1,604
Location
Massachusetts
input = default
# This setting does not return an error codes and darkice is running. I also see that my feed indicates online at broadcastify.
# However, there is no sound on the broadcastify channel.
[/ICODE]

3. It appears that there is sound activity visible on the PulseAudio Volume Control, but no sound is being sent to broadcastify

How do I proceed from here?

Thanks
Well, it looks like you are making progress.

In PAvucontrol under the Playback tab you should see your GQRX playing and hopefully showing audio.

In the Recording tab you should see darkice.

Back to the Playback tab on the GQRX line there may be a box at the right side where you can choose the output that you want to use. Choose built-in audio if it is available, otherwise choose another and make note of what you chose.

Back to the Recording tab. On the darkice line there should be a similar box at the right. Click on that and choose the Monitor of the device that you chose in the Playback tab. If you are not seeing the monitors go to the bottom of the screen and in the Show: box choose All Streams.

Hopefully this will get you audio.
 

stromyc

Member
Feed Provider
Joined
Aug 23, 2023
Messages
7
DC31,

I really appreciate your help in trying to solve this issue! The information you have provided has been very helpful.

Hopefully, the moderator or author of this provided image for the Pi will eventually respond to the issues that I am encountering.

I was finally able to get the audio streaming to Broadcastify, but not using the BCFY Shell.

From what I can tell, and I am not a Debian/Linux super user, but there appears to be permission issues with running the system using the BCFY Shell. The connection between DarkIce and PulseAudio is not being allowed because of operations at ROOT level and USER level, and the needed permissions.

The way I found around this was to uninstall and reinstall PulseAudio using the terminal. From there I was able to edit a file located at /etc/darkice/darkice.cfg

I then used the command in the terminal, SUDO darkice, to get the program running, with the config file showing INPUT = pulseaudio

This will obviously not restart on reboot, so I will have to manually go thru this process to get things going again, but it is running.

Current setup is :

Raspberry Pi 3B ----> RTL-SDR --->. GQRX. ---> PULSEAUDIO. ----> DARKICE
 

blantonl

Founder and CEO
Staff member
Super Moderator
Joined
Dec 9, 2000
Messages
11,408
Location
San Antonio, Whitefish, New Orleans
There's not much for me to do here. We're providing a base image that matches the vast majority of use cases - that's what the Broadcastify Shell is here for. There are over 500 people using the image for standard broadcastify feeds.

We've got some ideas to bring aboard more use cases, but much of those are going to be focused on the Broadcastify Calls side going forward.

We have some stuff in development for single channels via RTL to calls... etc.

But once I roll that out, someone will want two channels to calls. How come you can't do FIVE channels to calls? I want a OP25 talkgroup to calls, and a standard broadcastify feed, and my own icecast server, along with recording locally, and able to listen live, along with Amazon transcribe. 😂

We're providing you the tools you need to get to what you want, and providing the shell that accomplishes 90% of use cases.
 

DC31

Member
Feed Provider
Joined
Feb 19, 2011
Messages
1,604
Location
Massachusetts
There's not much for me to do here. We're providing a base image that matches the vast majority of use cases - that's what the Broadcastify Shell is here for. There are over 500 people using the image for standard broadcastify feeds.

We've got some ideas to bring aboard more use cases, but much of those are going to be focused on the Broadcastify Calls side going forward.

We have some stuff in development for single channels via RTL to calls... etc.

But once I roll that out, someone will want two channels to calls. How come you can't do FIVE channels to calls? I want a OP25 talkgroup to calls, and a standard broadcastify feed, and my own icecast server, along with recording locally, and able to listen live, along with Amazon transcribe. 😂

We're providing you the tools you need to get to what you want, and providing the shell that accomplishes 90% of use cases.
I agree, Lindsay. Use the shell as designed and it should work. The thread above tries to use GQRX as a source for darkice. The BCFY image is not designed to do this. If the pi were set up from scratch, this is likely possible.
 

KJ4ODU

Feed Provider
Premium Subscriber
Joined
Nov 7, 2009
Messages
51
Location
Carrollton GA
There's not much for me to do here. We're providing a base image that matches the vast majority of use cases - that's what the Broadcastify Shell is here for. There are over 500 people using the image for standard broadcastify feeds.

We've got some ideas to bring aboard more use cases, but much of those are going to be focused on the Broadcastify Calls side going forward.

We have some stuff in development for single channels via RTL to calls... etc.

But once I roll that out, someone will want two channels to calls. How come you can't do FIVE channels to calls? I want a OP25 talkgroup to calls, and a standard broadcastify feed, and my own icecast server, along with recording locally, and able to listen live, along with Amazon transcribe. 😂

We're providing you the tools you need to get to what you want, and providing the shell that accomplishes 90% of use cases.

I been running the pi5 image for a good minute now.. p25 800mhz. And sometimes the control goes to idle... and have to manually reboot.. or SSH into it to reboot. I wish it had a fix to restart the sdrtrunk app when it goes ro idle..


Also if I add a 2nd SDR could I host a completely different frequency on the same Pi5 setup? Like one SDR ON 800 Trunk. And a 2nd SDR locked to like 147.000 ?
 

stromyc

Member
Feed Provider
Joined
Aug 23, 2023
Messages
7
It can definitely be done. It's just not a use case I've prepared for.

There's a zillion different permutations and combinations that one can use to broadcast something
There's not much for me to do here. We're providing a base image that matches the vast majority of use cases - that's what the Broadcastify Shell is here for. There are over 500 people using the image for standard broadcastify feeds.

We've got some ideas to bring aboard more use cases, but much of those are going to be focused on the Broadcastify Calls side going forward.

We have some stuff in development for single channels via RTL to calls... etc.

But once I roll that out, someone will want two channels to calls. How come you can't do FIVE channels to calls? I want a OP25 talkgroup to calls, and a standard broadcastify feed, and my own icecast server, along with recording locally, and able to listen live, along with Amazon transcribe. 😂

We're providing you the tools you need to get to what you want, and providing the shell that accomplishes 90% of use cases.
Thank you for the reply and thank you for efforts putting this all together. I'm certain it's operator error, and that is why I posted my questions to this forum. I just could not get the old or new Raspberry Pi images to run the BCFY Shell with out the connection errors between darkice and PulseAudio. The only solution I could find was to uninstall and reinstall darkice, and PulseAudio and then run it from the command line.

The Pi has been streaming to Broadcastify, for over a week now!

Thanks again.
 

stromyc

Member
Feed Provider
Joined
Aug 23, 2023
Messages
7
I agree, Lindsay. Use the shell as designed and it should work. The thread above tries to use GQRX as a source for darkice. The BCFY image is not designed to do this. If the pi were set up from scratch, this is likely possible.
GQRX is included with the Pi Image. I don't understand why it would not be used as a source for audio? What would you use for audio to send to Broadcastify?
 

DC31

Member
Feed Provider
Joined
Feb 19, 2011
Messages
1,604
Location
Massachusetts
GQRX is typically used to determine the correction factor needed for the sdr stick, if any. Newer sticks generally don’t need any.

the image includes SDRTrunk, Trunk Recorder, and rtl_airband, any of which can be used as the audio source for a feed. As I noted above, it sounds like you are wanting to stream an analog channel. Rtl_airband might be a good choice.
 
Top