Mark-H
Posts: 7
Joined: Fri Apr 01, 2016 8:43 am

Audio streaming using B.U.T.T.

Fri Apr 01, 2016 9:02 am

I'm interested in getting Daniel Nöthen's "Broadcast Using This Tool" running on a Raspberry Pi.

I've had it running well on various Windows PCs but it would be attractive to be able to run the application on a Raspberry Pi (low power etc.)

More by luck than skill I got B.U.T.T. to work on an old desktop PC under Ubuntu but it had a tendency to loose connection to (it seemed) the USB sound card and I couldn't easily find the cause of this.

I'm now interested in starting again with B.U.T.T. and trying a Raspberry Pi. Daniel makes the source code available (Source Code (tar.gz)) but it isn't obvious how to compile this on a "standard" Raspberry Pi.

I will also need to grapple with getting a sound card recognised (I've an old Sound Blaster MP3+ USB available) and I'm thinking of getting one of the newer Raspberry Pi's for the project as I suspect my original B will have processor speed problems with what I want to do.

I've had a bit of a Google but can't find anyone who has used B.U.T.T. on a Raspberry Pi.

There are examples of using Dark Ice but I like the level indication (and other features) of B.U.T.T.

Help and suggestions most welcome.

XionTech
Posts: 8
Joined: Mon Oct 12, 2015 9:48 pm

Re: Audio streaming using B.U.T.T.

Thu Apr 27, 2017 6:55 pm

Im looking to do this same thing. I have a pi 3 so I'm assuming the processor would handle it. Did you ever make any progress?

Mark-H
Posts: 7
Joined: Fri Apr 01, 2016 8:43 am

Re: Audio streaming using B.U.T.T.

Thu Apr 27, 2017 7:39 pm

Sadly not. B.U.T.T. is extremely stable on an old Windows 7 PC so I've left it at that for the time being.

The approach most likely to work easily (with my very limited skills) in my view is to get the Pi to run Ubuntu.

https://ubuntu-mate.org/raspberry

looks interesting.

When I reactivate my interest in this matter I think I might try that. My existing Pi runs Shoutcast and Icecast well so getting another would be no great burden.

ktb
Posts: 1447
Joined: Fri Dec 26, 2014 7:53 pm

Re: Audio streaming using B.U.T.T.

Thu Apr 27, 2017 8:39 pm

If you check the README file in the source code archive, it makes compiling and installing it fairly easy.

On a Raspberry Pi 3 B:

Code: Select all

[email protected]:~$ mkdir -p ~/software/source
[email protected]:~$ cd ~/software/source

[email protected]:~/software/source$ git clone https://github.com/mstorsjo/fdk-aac.git
[email protected]:~/software/source$ cd fdk-aac
[email protected]:~/software/source/fdk-aac$ ./autogen.sh
[email protected]:~/software/source/fdk-aac$ ./configure --enable-shared --enable-static
[email protected]:~/software/source/fdk-aac$ make -j3
[email protected]:~/software/source/fdk-aac$ sudo make install
[email protected]:~/software/source/fdk-aac$ sudo ldconfig

[email protected]:~/software/source/fdk-aac$ cd ~/software/source

[email protected]:~/software/source$ sudo apt install libfltk1.3-dev portaudio19-dev libmp3lame-dev libvorbis-dev libflac-dev libsamplerate0-dev libopus-dev libogg-dev

[email protected]:~/software/source$ wget https://cytranet.dl.sourceforge.net/project/butt/butt/butt-0.1.15/butt-0.1.15.tar.gz
[email protected]:~/software/source$ tar xf butt-0.1.15.tar.gz
[email protected]:~/software/source$ cd butt-0.1.15
[email protected]:~/software/source/butt-0.1.15$ ./configure
[email protected]:~/software/source/butt-0.1.15$ make
[email protected]:~/software/source/butt-0.1.15$ sudo make install
Then you might want to create a desktop entry file for it
/usr/local/share/applications/butt.desktop

Code: Select all

[Desktop Entry]
Version=1.0
Name=butt
Comment=broadcast using this tool
GenericName=Streaming Tool
Keywords=Stream,Audio,Shoutcast,Icecast,Record
Exec=butt %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=butt
Categories=AudioVideo;Audio;AudioVideoEditing;
StartupNotify=true
Icons and other resources are available in the source archive under usr/share/ which you may also want to copy to /usr/local/share/

Code: Select all

[email protected]:~/software/source/butt-0.1.15/usr/share$ sudo cp -r icons /usr/local/share/
[email protected]:~/software/source/butt-0.1.15/usr/share$ sudo cp -r pixmaps /usr/local/share/
[email protected]:~/software/source/butt-0.1.15/usr/share$ sudo cp -r doc /usr/local/share/

Mark-H
Posts: 7
Joined: Fri Apr 01, 2016 8:43 am

Re: Audio streaming using B.U.T.T.

Thu Apr 27, 2017 9:06 pm

@ktb

Many thanks for the tips. I'll give that a go when I get a chance (not for some weeks probably).

XionTech
Posts: 8
Joined: Mon Oct 12, 2015 9:48 pm

Re: Audio streaming using B.U.T.T.

Tue May 02, 2017 3:05 am

I did end up installing it on my Pi3 with the UbuntuMate. But...I'm not satisfied because I edited some of my code and now I want to cross-compile it with the changes for my Windows machine. (Not as easy...) It is literally kicking my b.u.t.t.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 26053
Joined: Sat Jul 30, 2011 7:41 pm

Re: Audio streaming using B.U.T.T.

Tue May 02, 2017 8:32 am

XionTech wrote:I did end up installing it on my Pi3 with the UbuntuMate. But...I'm not satisfied because I edited some of my code and now I want to cross-compile it with the changes for my Windows machine. (Not as easy...) It is literally kicking my b.u.t.t.
leaving both up, but please try to keep questions to one thread, duplicates make it difficult for others to track down the right information.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

PiBurner
Posts: 23
Joined: Wed Mar 23, 2016 2:34 pm

Re: Audio streaming using B.U.T.T.

Thu Nov 09, 2017 3:47 pm

This doesn't work 11/9/17 on rasbian Stretch. gives the following error:

~/software/source/fdk-aac $ ./autogen.sh
./autogen.sh: 2: ./autogen.sh: autoreconf: not found

and:
./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/home/pi/software/source/butt-0.1.15/missing: Unknown `--is-lightweight' option
Try `/home/pi/software/source/butt-0.1.15/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing

needed to install a couple of things:
sudo apt-get install autoconf libtool
then it worked.

Thanks for the info, I really like BUTT. I installed the .16 version this time.
ktb wrote:
Thu Apr 27, 2017 8:39 pm
If you check the README file in the source code archive, it makes compiling and installing it fairly easy.

On a Raspberry Pi 3 B:

Code: Select all

[email protected]:~$ mkdir -p ~/software/source
[email protected]:~$ cd ~/software/source

[email protected]:~/software/source$ git clone https://github.com/mstorsjo/fdk-aac.git
[email protected]:~/software/source$ cd fdk-aac
[email protected]:~/software/source/fdk-aac$ ./autogen.sh
[email protected]:~/software/source/fdk-aac$ ./configure --enable-shared --enable-static
[email protected]:~/software/source/fdk-aac$ make -j3
[email protected]:~/software/source/fdk-aac$ sudo make install
[email protected]:~/software/source/fdk-aac$ sudo ldconfig


[/quote]

PiBurner
Posts: 23
Joined: Wed Mar 23, 2016 2:34 pm

Re: Audio streaming using B.U.T.T.

Sun Nov 12, 2017 4:42 pm

One more thing, BUTT wouldn't restart after the first time I used it. The following error to got written in the BUTT notices:
PA: Format not supported: Device unavailable
I ended up editing the .buttrc file in /home/[username]/ and set the device under the [Audio} section to '0'.
Now it starts correctly every time, however, any changes to BUTT configuration now need to be done in .buttrc, and not with the 'Settings' button, but that's no big deal for me.

saldzi
Posts: 12
Joined: Tue Jan 22, 2019 9:31 am

Re: Audio streaming using B.U.T.T.

Tue Jan 22, 2019 9:37 am

Dear All
I followed all instruction successfully, but I can't update songname manually from setting tab stream. Please help

oscarsantis
Posts: 1
Joined: Tue Apr 21, 2020 8:35 pm

Re: Audio streaming using B.U.T.T.

Tue Apr 21, 2020 8:51 pm

I have a RP3b.
I installed Butt 0.1.20 downloaded https://sourceforge.net/projects/butt/, I followed the build instructions.
First I start qjackctl and then start Butt on terminal and i receive this message:

Code: Select all

Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 924
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 924
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.front.0:CARD=0'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM front
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM surround21
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM surround21
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.surround40.0:CARD=0'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM surround40
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM surround41
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM surround50
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM surround51
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.surround71.0:CARD=0'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM surround71
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM iec958
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM spdif
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM spdif
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 934
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 934
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 934
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5036:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5036:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_a52.c:823:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_alsa.pcm.iec958.0:CARD=0,AES0=6,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM iec958:{AES0 0x6 AES1 0x82 AES2 0x0 AES3 0x2  CARD 0}
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
cannot connect alsa_pcm:capture_1 to alsa-jack.jackC.998.12:in_000
Expression 'alsa_snd_pcm_start( stream->capture.pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2934
Expression 'AlsaStart( stream, 0 )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 4233

and Butt don't starts.

Return to “Beginners”