//// execute as "asciidoc manual.txt" ////
:author: Daniel Nöthen :doctype: book :toc2: :numbered: :lang: en :email: butt at danielnoethen dot de :encoding: utf-8
butt (broadcast using this tool) is an easy to use, multi OS streaming tool. + It supports ShoutCast and IceCast and runs on Linux, MacOS and Windows. + The main purpose of butt is to stream live audio data from your computers Mic or Line input + to an Shoutcast or Icecast server. Recording is also possible. + It is NOT intended to be a server by itself or automatically stream a set of audio files. +
.OS X:
Mount the butt-
.Windows:
Just run the butt-
.Ubuntu: Butt depends on the following packages and their dependencies: + 'portaudio19-dev', 'libvorbis-dev', 'libfltk1.3-dev', 'libmp3lame-dev' + 'libflac-dev', 'libsamplerate-dev', 'libopus-dev' +
Install the .deb package with +
+dpkg --install butt_
.Linux/MinGW: First of all you need to have the following libraries installed on your system + 'fltk-1.3', 'portaudio', 'libmp3lame', 'libvorbis', 'libogg', 'libFLAC', 'libopus', 'libsamplerate' + They are quite common and should be included in every linux distribution +
After installing the above libraries you can install butt from source as usual:
+tar -xzf butt-
+cd butt-
+./configure+
+make+
+sudo make install+
When you start butt the first time, it will create a default configuration +
file in in your home directory ('~/.buttrc') on Linux and OS X or at +
'C:\Users\
In order to connect to a server, you need to add a new server in the config window. + Just open the settings window and click on [ADD]. + Now fill in the input fields with the server data and click on the new [ADD]. +
Adding Stream Infos is not necessary for connecting to a server.
The command line option +-c
[Save]: Saves your current settings to the standard configuration + file or to the file that was passed to the -c option + [Export]: Saves your current settings to the given file + [Import]: Loads the selected file and applies the settings +
CAUTION: If you use the -c command line option and import another configuration file by using the + import function, pressing [Save] will overwrite the file that was passed to the -c option.
The dot matrix display shows you the current state of the butt software. + The states are: idle, streaming, recording. + When in streaming and/or recording state you can cycle through the information by clicking on the display. + You can choose between online duration, data sent, recording duration and data recorded +
The [>] symbol shines yellow if butt is connected to a server. + The [O] symbol shines orange if the +[start rec. when connected]+ checkbox is activated. + The [O] symbol shines red if butt is currently recording. +
The coloured LED lights (vu-meter) indicate the current input volume. For best listening experience + for you listeners I suggest to have the input volume below or within the orange LEDs. + Never let the volume go up to the red LEDs, they indicate saturation. +
Gain slider: The slider is only visible when the little +[more/less]+ button below + the +[settings]+ button was clicked. + With this slider you can attenuate and amplify the input signal between '-24dB' and '+24dB', respectively. + Double clicking the slider resets the gain to '0dB'. Use this slider only to fine tune your input signal. + It does not change the operating systems input volume setting. Instead, the input signal is multiplied + by the given factor. Thus adding to much gain will also add lots of noise. +
To start streaming just klick the play symbol. + butt will try to connect to the server until you press the stop symbol. +
You can stream with 3 different codecs: mp3, ogg/vorbis and ogg/opus. + In case opus is selected the samplerate is always upsampled to 48kHz. + Upsampling needs lot of CPU power. You can change the upsampling + algorithm in the +[Advanced]+ settings on the +[Audio]+ tab. Upsampling + is deactivated if you select 48kHz as sample rate.
Unfortunately, it is not possible to update Stream Infos while streaming. + You need to reconnect for updating the Stream Infos. +
However, at least you can update the current song on the fly. + You only need to type the song into the +Song Name+ input field at the + +[Stream]+ tab and hit Enter or click +[OK]+.
butt can also update the song automatically from a text file. + The first line of the text file must be the name of the song. + As soon as butt detects that the file has been changed it updates the + name of the song on the server. + A plugin for the amarok audio player can be found in the 'player_plugins/' + directory. + Don't hesitate to write a plugin for other audio players. + Just mail them to me and I'll add them to the butt package. +
.Stream infos: In the +[main]+ settings window you can add stream infos. + This allows you to deliver more details of your stream station. + For example the genre of your music, description of your station, web address etc. +
butt is able to record and stream simultaneously in different bit rates. + For example you can stream with 96kbit and record with 192kbit. + Recording is possible in mp3, ogg/vorbis, ogg/opus, FLAC or wav.
In case 'opus' is selected the samplerate is always upsampled to +48kHz+. + Upsampling needs lots of CPU power. You can change the upsampling + algorithm in the [Advanced] settings on the [Audio] tab or disable it + by selecting 48kHz as sample rate. Not all sound interfaces support a + samplerate of 48kHz, though. +
To record you first need to select the destination folder and specify a file name + in the +[Rec]+ tab. + butt will replace the variables +%d+, +%m+ and +%y+ with the current day, month and year. + e.g. +rec(%m%d%y).mp3+ -> +rec(03_28_2008).mp3+. + Other possible time variables are +%H+ (hours) +%M+ (minutes) +%S+ (seconds).
With the +%i+ variable you can add an index number to your file name. + This means with +rec_%i.mp3+ butt first tries to open +rec_0.mp3+. If that + file already exists, butt tries +rec_1.mp3+ and so on... +
If the 'start recording when connected' checkbox is activated butt starts the + recording immediately after being connected to a server. +
To manually start the recording press the record symbol. + To stop recording simply click on the record symbol again. +
You can also tell butt to split your recording into separat files every n minutes. Just enter a number higher than 0 + into the 'Split file every [..] minutes' field. + Let's assume your file name is +rec(%m%d%y)_%i.mp3+ Then the first file is + expanded to +rec\(03_282008)_0-1.mp3+, the second after n minutes to + +rec(03_282008)_0-2.mp3+, the third to +rec(03_28_2008)_0-3.mp3+, you got it. + If the 'sync to full hour' checkbox is activated the automatic file splitting + is synchronized to the full hour. That means if the time is '8:55' and file + splitting is set to '15 minutes', the second file starts at '9:00' and the third + at '9:15'.
.OS X:
Delete the butt.app from your 'Application' folder and +
remove the configuration file from '/Users/
.Windows: Run the Uninstaller from the butt folder in your windows start menu. +
.Ubuntu:
Run +sudo apt-get uninstall butt+ and +
remove the configuration file from '/home/
.Linux/MinGW:
Run +sudo make uninstall+ from the source tree. and +
remove the configuration file from '/home/
butt at danielnoethen dot de
Paypal: bipak@gmx.net