BUTTM - Manual
About
BUTTM (Broadcast Using This Tool Modernized) is a modern broadcasting application inspired by BUTT, the well-known broadcasting client.
With BUTTM, you can stream audio from up to two audio devices to multiple Icecast and Shoutcast compatible servers at the same time. It is available for Windows and macOS. Support for Linux may be added in the future.
You can broadcast live audio from your audio interface, or with the help of third-party tools such as Blackhole on macOS or VoiceMeeter on Windows, you can stream any audio that is currently playing on your computer.
It is intended for semi-professional and professional users. Of course it also suits existing BUTT users who prefer a more modern interface.
Features
Besides the basic features you would expect from broadcasting software, BUTTM adds the following capabilities:
- Streaming to multiple servers simultaneously
- Audio effects such as a 10-band EQ, a compressor and a limiter
- Scheduler to automatically start and stop broadcasts
- Support for two audio devices with auto ducking
- Audio monitor to preview your signal
- Notifications for selected events by email or URL calls
- Control through network and MIDI
- Recording
- Many additional features
Install
Go to the official download page and download BUTTM for your preferred operating system. Then follow the installation instructions for Windows or macOS below.
Windows
After downloading the application, open your Downloads folder and double-click BUTTM-setup.exe.

Then follow the instructions in the setup wizard to complete the installation.
macOS
After downloading the application, open your Downloads folder and double-click BUTTM.dmg. Drag the BUTTM.app icon to the Applications folder as shown below. This copies BUTTM to your Applications folder. When the copy is complete, open the Applications folder and start BUTTM.app.

Install on macOS
Main Window
The main window of BUTTM is the central place for controlling your broadcasting setup. It gives you direct access to all Stations and shows their current state.

Main Window
Toolbar
At the top of the main window you find the Toolbar. It provides quick access to the most important functions like Settings, Mixer and Effects.
Streaming Section
The Streaming area below the toolbar is the central part of the window. Here you can control your stations and monitor their current state. Click Connect All to connect all enabled stations. Click Disconnect All to disconnect all stations.
You can enable or disable individual stations by clicking the checkbox in the upper left corner of each station. Disabled stations are ignored when using the Connect All button.
Tip
Click on the Stream Info text to cycle through the available information: Stream Time, Stream Status and Stream Data.
The listeners section shows the number of active listeners. If no listeners are displayed, your stream hoster does not provide this information to BUTTM. Go to Settings → Stream to enable or disable listener stats.
Current Song
Below your stations you can manually update the current song. To update the current song automatically from specific sources, see the Song Update section.
Recording Section
At the bottom you find the Recording area. Here you can start and stop recording and monitor the recording state.
Click the folder icon to open your recording directory.
Tip
Click the Recording Info text to cycle through the available information: Recording Time, Recording Status and Recording Data.
VU-meter
The VU-meter on the right helps you keep your audio levels in range. It shows both the current peak and RMS levels. The lighter bar shows the peak level and the darker bar shows the RMS level.
To avoid clipping, make sure the peak indicator never reaches the top (0 dBm). The built-in Limiter can help you with this.
Getting started
When launching BUTTM for the first time, a license window appears that informs you that the application is running in Trial mode. In Trial mode all features are available, but the audio signal is interrupted every five minutes by a voice that says "BUTTM Trial, please purchase the software". This allows you to test every feature before deciding to purchase it.

License Window
The license window presents three options:
Close to start using BUTTM in Trial mode.
Load License to load a license you already purchased.
Buy License to purchase a new license.
You can open the license window again at any time by selecting File → License.
After closing the license window, a message box appears and advises you to add your first server in the Server Manager.
You can add a server immediately or do it later by clicking the Server Manager button.

After adding a server it is automatically assigned to the default Station #1. By default an MP3 encoder with 128 kbps is assigned to Station #1. To assign a different encoder to Station #1, open the Station Manager. To modify the settings of an encoder, open the Encoder Manager. BUTTM includes four predefined encoders, one for each codec (MP3, AAC, Opus and FLAC). You can add additional encoders if needed. For example, you can create another MP3 encoder with a lower bit rate and use it with a different Station.
By default BUTTM uses the system's default audio interface for broadcasting. If you need to select a different audio device, click the Settings button in the main window toolbar and open the Audio settings.

Start broadcasting
You are now ready to go live. Click Connect all or use the Connect button of an individual Station.
Tip
If BUTTM does not start correctly and you suspect a damaged configuration, hold down the Shift key while launching the application.
BUTTM will then ask whether you want to start with a new configuration file.

Managers
The Managers in BUTTM provide a flexible way to organize your setup. The Server Manager lets you manage all of your broadcasting servers. The Encoder Manager allows you to configure different audio encoders for broadcasting and recording. The Station Manager lets you manage your stations. A station is the element that appears on the main screen and is used to start or stop a broadcast. Each station consists of one server and one encoder.
Station Manager
A station represents the unit that controls your broadcast. Every station is shown in the [main window] and provides buttons to connect to or disconnect from the server. It also displays the current state and the number of active listeners, if this information is available.

Station Manager
The Station List shows all available stations. Select the station you want to edit. To add, copy or delete the selected station, click the +, copy or - button. To rename a station, double-click its entry in the Station List. For each station you must select the server and encoder it should use.
The image below shows how the Stations appear on the main window.

Stations on the main window
Server Manager
In the Server Manager you configure the servers that are used by a station. Keeping servers and stations separate allows you to set up many servers while using only a few stations or even a single station. This gives you flexibility when needed.
BUTTM supports Icecast and Shoutcast compatible servers. This includes Icecast 2.3, 2.4, 2.5, Icecast-kh, liquidsoap, Shoutcast v1 and Shoutcast v2. Shoutcast v2 servers work only if support for legacy clients is enabled in the server configuration, which is true for most default setups.
As in the Station Manager, you can add, copy or delete a server in the Server List by clicking the +, copy or - buttons. You can rename a server by double-clicking its name in the list.
If you are a user of the older broadcasting software BUTT, an Import from BUTT button appears above the Server List.
It lets you import your existing BUTT server entries with a single click.

Icecast
To add a new Icecast server, click the + button and give it a custom name. Then make sure that Icecast is selected as the Server Type.

Icecast Settings
Fill in the required fields under Server Information. You usually receive this information from your hosting provider.
If you run your own server, you can find the required details in your server configuration files.
Below is a description of each field.
Address:
The IP address or hostname of the server. Do not include http:// or https://.
Port:
The server port. It must be a number between 1 and 65535.
Username:
The user name for your server.
Password:
The password that belongs to the user name. Click on Show to reveal your password.
Note
Make sure you do not confuse your stream hoster’s web login credentials with your source client credentials.
They are not the same. If you are unsure which credentials to use, please contact your stream hoster.
Mountpoint:
Icecast allows streaming to different endpoints called mount points. A mount point normally begins with a leading slash, but you can omit it. BUTTM adds the slash automatically.
Use legacy Icecast protocol:
If enabled, BUTTM connects using the older SOURCE protocol instead of PUT. Turning it on can sometimes resolve connection issues.
Enable encryption (SSL/TLS):
Enable this option if you want to use encryption and the server supports it.
Warning
Encryption with Icecast 2.4.x is not recommended. After ending a broadcast, the connection is not closed correctly by the server. As a result, BUTTM cannot reconnect unless you restart the server or wait a long time. Switching to Icecast 2.5.x or Icecast-kh is recommended.
Custom Listeners URL:
Enter a custom URL for listener stats (see info text below)
Custom Listeners Mountpoint:
Enter a custom mountpoint for listener stats (see info text below)
Info
BUTTM derives the URL for listener statistics from the server settings. This usually works only with plain Icecast or Shoutcast servers.
If you are using a stream hoster, the setup is often more complex and listener statistics may be available on a different mountpoint or URL.
In such cases you can specify a custom mountpoint or URL that BUTTM should use instead.
For example, if you stream to the mountpoint /stream but the listener statistics are available at /live, enter /live in the Custom listeners mountpoint field in the server settings.
If you are unsure which URL or mountpoint to use, please contact your stream hoster.
The ICY Metadata fields are optional. If your station is publicly listed, you should fill them in.
If you want the station name or genre to appear in media players, enter the information here.
After entering all required details, click Test Connection to check whether a connection to the server can be established.
Shoutcast
To add a new Shoutcast server, click the + button and give it a custom name. Then make sure that Shoutcast is selected as the Server Type.

Shoutcast Settings
Fill in the required fields under Server Information. You usually receive this information from your hosting provider.
If you run your own server, you can find the required details in your server configuration files.
Below is a description of each field.
Address:
The IP address or hostname of the server. Do not include http:// or https://.
Port:
The server port. It must be a number between 1 and 65535.
Password:
The password that belongs to the user name. Click on Show to reveal your password.
DJ / User ID (optional):
This field is usually not required but can be used when connecting to Shoutcast v2 servers.
Stream ID (optional):
This field is usually not required but can be used when connecting to Shoutcast v2 servers.
Note
Make sure you do not confuse your stream hoster’s web login credentials with your source client credentials.
They are not the same. If you are unsure which credentials to use, please contact your stream hoster.
Custom Listeners URL:
Enter a custom URL for listener stats (see info text below)
Info
BUTTM derives the URL for listener statistics from the server settings. This usually works only with plain Icecast or Shoutcast servers. If you are using a stream hoster, the setup is often more complex and listener statistics may be available on a different URL. In such cases you can specify a custom URL that BUTTM should use instead.
The ICY Metadata fields are optional. If your station is publicly listed, you should fill them in.
If you want the station name or genre to appear in media players, enter the information here.
After entering all required details, click Test Connection to check whether a connection to the server can be established.
If you are satisfied with the configuration, click Save & Close and then select the new server for one of your stations in the Station Manager.
Encoder Manager
In the Encoder Manager you configure the encoders (codecs) that are used by a station or for recording. Keeping encoders and stations separate allows you to set up many encoders while using only a few stations or even a single station. This gives you flexibility when needed.
BUTTM supports MP3, AAC/AAC+, Opus and FLAC.
As in the Station Manager, you can add, copy or delete an encoder in the Encoder List by clicking the +, copy or - buttons. You can rename an encoder by double-clicking its name in the list.
BUTTM includes four encoder presets, one for each codec. If you delete or change a preset by accident, you can restore all four presets by clicking the Restore Defaults button.

Encoder Manager
BUTTM supports a wide range of parameters for each codec. If you are not familiar with these settings, the default values should work well in most situations. In case you want to learn more about the parameters, please refer to the original codec documentation.
If you are satisfied with the configuration, click Save & Close and then select the new encoder for one of your stations in the Station Manager.
Settings
BUTTM provides a wide range of settings that allow you to adapt the application to your needs. Below you find a detailed description of each settings category.
Audio
The Audio settings page is one of the most important sections. Here you can select the audio devices that BUTTM should use for broadcasting and recording.

Settings: Audio
Devices
Update device list:
Click this button to search for new audio devices that were connected while BUTTM was running.
Sample Rate:
Set the global sample rate for all audio devices. Each device runs at the rate you choose here.
If the selected rate differs from the rate configured in your audio driver or operating system, BUTTM automatically converts the audio to the selected rate.
Tip
To avoid unnecessary sample rate conversions, which increase CPU usage and reduce audio quality, ensure that the device driver sample rate, the BUTTM device sample rate and the codec sample rate (see Encoder Manager) are all set to the same value.
Input Device 1:
Select your main audio input device. If you use only one input device, select it here.
Input Device 2:
Select your secondary audio input device. A typical example is a microphone.
You can optionally enable auto ducking to reduce the level of Input 1 whenever Input 2 becomes active.
Tip
On Windows you can loop back an output device to an input device. This is helpful when you want to stream audio from desktop applications. Devices that support loopback have [Loopback] in their name.
Monitor Device:
This is an output device. It allows you to preview your audio before going online.
Left Ch.:
Select which channel number should be used for the left audio channel.
Right Ch.:
Select which channel number should be used for the right audio channel.
Mode:
Select whether the audio device should output Mono or Stereo.
The following modes are possible:
- The device has multiple channels and Mode is set to Stereo → Output is stereo.
- The device has one channel and Mode is set to Mono → Output is mono.
- The device has multiple channels and Mode is set to Mono → Left and right channels are summed to mono.
- The device has one channel and Mode is set to Stereo → The single channel is sent to both stereo channels.
Note
If one of the input devices is set to Mono, the global output signal will be mono, too.
Auto Ducking
Enable Auto Ducking:
When enabled, BUTTM reduces the level of Input 1 once the signal level of Input 2 rises above a defined threshold.
Ducking Threshold:
Ducking remains active while the Input 2 level is above this threshold.
Ducking Amount:
Defines how much Input 1 is attenuated when ducking is active.
Attack:
Defines how long it takes until ducking becomes active after the threshold is exceeded.
Release:
Defines how long it takes until ducking is disabled again after the Input 2 level falls below the threshold.
Signal and Silence Detection
BUTTM can trigger certain actions, such as starting or stopping a stream, based on the audio level for a specified amount of time.
Signal threshold:
A signal detected event occurs once the level rises above this threshold.
Signal duration:
Defines how long the level must remain above the threshold before a signal detected event is issued.
Silence threshold:
A silence detected event occurs once the level falls below this threshold.
Silence duration:
Defines how long the level must remain below the threshold before a silence detected event is issued.
Stream
On the Stream settings page you can adjust streaming behavior.

Settings: Stream
Automatically start streaming on app launch:
Enable this if you want BUTTM to connect all enabled stations when the application starts.
Start streaming when a signal is detected:
Enable this if you want BUTTM to connect all enabled stations when a signal detected event occurs (see Signal and Silence Detection).
Stop streaming when silence is detected:
Enable this if you want BUTTM to disconnect all enabled stations when a silence detected event occurs.
Show listener stats if available:
Enable this if you want BUTTM to retrieve and display the number of active listeners in the specified interval.
Note
If listener numbers do not appear in the main window during a broadcast, your stream hoster likely does not provide this information.
Reconnect delay:
Defines how many seconds BUTTM waits before attempting to reconnect.
Reconnect mode:
There are three reconnect modes:
- Never: BUTTM never reconnects.
- Normal: BUTTM reconnects when the mount point is in use or the connection was lost during a broadcast.
- Always: BUTTM reconnects regardless of the server error message.
Record
On the Record settings page you can adjust recording behavior.

Settings: Record
File
Encoder:
Select which encoder, as defined in the Encoder Manager, should be used for recording.
Recordings Folder:
Choose the folder where recordings should be stored. You can enter the path manually or click Choose to select one.
File name:
Define the file name for your recordings.
Both the Recordings Folder and the File name fields may contain specifiers. Below you find a table with valid specifiers and their meaning.
| Specifier | Description |
|---|---|
%i |
Adds an index number to the file name |
%a |
Abbreviated weekday name (e.g. Mon, Tue) |
%A |
Full weekday name (e.g. Monday, Tuesday) |
%b |
Abbreviated month name (e.g. Jan, Feb) |
%B |
Full month name (e.g. January, `February) |
%d |
Day of month as zero-padded decimal number (01-31) |
%H |
Hour (24-hour clock) as zero-padded decimal (00-23) |
%I |
Hour (12-hour clock) as zero-padded decimal (01-12) |
%j |
Day of year as zero-padded decimal (001-366) |
%m |
Month as zero-padded decimal (01-12) |
%M |
Minute as zero-padded decimal (00-59) |
%p |
AM/PM indicator |
%S |
Seconds as zero-padded decimal (00-59) |
%U |
Week number of the year as decimal (00-53),, with Sunday as the first day of the week |
%w |
Weekday as decimal (0-6), where 0 = Sunday, 1 = Monday, ..., 6 = Saturday |
%W |
Week number of the year as decimal (00-53), with Monday as the first day of the week |
%y |
Year within century as zero-padded decimal (00-99) |
%Y |
Year with century as decimal (e.g. 2025) |
%Z |
Time-zone abbreviation |
File name specifiers
File split interval:
Define the interval at which a new recording file should be automatically created.
Sync file split to full hour:
Enable this option to align file splitting with the full hour. For example, if the interval is set to 30 minutes and the current time is 8:55, the first split occurs at 9:00. After that a new file is created every 30 minutes.
Split now:
Click this button to create a new recording file immediately.
Recording
Overwrite existing files:
Enable to overwrite existing files without asking for confirmation.
Automatically start recording on app launch:
Enable if you want BUTTM to start recording when the application starts.
Automatically start recording when connected:
Enable if you want BUTTM to start recording when a station connects.
Automatically stop recording when disconnected:
Enable if you want BUTTM to stop recording when all stations are disconnected.
Start recording when a signal is detected:
Enable if you want BUTTM to start recording when a signal detected event occurs (see Signal/Silence Detection).
Stop recording when silence is detected:
Enable if you want BUTTM to stop recording when a silence detected event occurs.
Song Update
BUTTM offers several modules to retrieve song information automatically and send it to the server, so your listeners know what is currently playing.
To activate a module, enable the checkbox next to its title (for example, Update song from text file).
from text file
Use this option to read current song information from a text file. BUTTM checks the file every second. When a change is detected, the new song information is sent to the server.

Settings: Update song from text file
Path to song text file:
Enter the path to the text file or click Choose to select it.
Read Mode:
BUTTM supports three file reading modes:
- First line: Use the first line of the file as the song information.
- Last line: Use the last line of the file as the song information.
- First two lines: The first line is interpreted as the artist and the second line as the title.
Output Format:
If First two lines is selected as the read mode, you can define how the song information should be formatted.
The default value is %ARTIST% - %TITLE%.
For example, if the first line is Sia and the second line is Unstoppable, the song information sent to the server will be Sia - Unstoppable.
Note
It is recommended that the song text file is encoded in UTF-8.
from window title
To update the song information from a window title, for example from Spotify, enable this feature and select the corresponding application name. Click on Update list to refresh the list of available applications.

Settings: Update song from window title
Note
macOS:
If only BUTTM appears in the application list, make sure that BUTTM has Accessibility permission enabled in the Privacy and Security system settings.
from application
Use this module to retrieve the current song information directly from an audio application.

Settings: Update song from application
Application:
Select the application that should provide the track information. The currently supported applications are:
- Apple Music / iTunes
- Spotify
- VOX
Output format:
Define how the song information should be formatted. Applications usually provide an artist and a title.
With the default format %ARTIST% - %TITLE%, BUTTM would output Sia - Unstoppable if the artist is Sia and the title is Unstoppable.
Note
This feature is currently only available on macOS!
from URL
Use this module to retrieve the current song information from a web URL. BUTTM downloads a file from the specified server and uses the first line of that file as the song information.

Settings: Update song from URL
URL:
Enter the URL from which the song information should be retrieved.
Update interval:
Define how often BUTTM should check the URL for updated song information.
from network
If you want to receive song information from a network client, you can use this update module.

Settings: Update song from network
Port:
Enter the network port on which BUTTM should receive song information.
Protocol:
Select the protocol used by the client. Choose either UDP or TCP.
Input format:
Specify how the network client formats the incoming data.
The default value %ARTIST%:%TITLE% means that the client sends artist and title separated by a colon.
Output format:
Define how the song information should be formatted after parsing.
With the default format %ARTIST% - %TITLE%, BUTTM outputs Sia - Unstoppable if the client sends Sia:Unstoppable.
Misc
This section allows you to fine-tune the song update feature.

Settings: Misc
Song prefix:
A text prefix that is added before the song information sent to the server.
Song suffix:
A text suffix that is added after the song information sent to the server.
Update delay:
Icecast- and Shoutcast-based systems often introduce several seconds of audio delay.
Use this setting to delay the song update so that it aligns more closely with the audio stream.
Note
The song information in the BUTTM main window is updated immediately, even if a delay is set. The delay only affects when the updated song information is sent to the server.
Force UTF-8 encoding:
If you encounter issues with artist or title names that contain non-ASCII characters, first ensure that your input data (e.g. text file) is UTF-8 encoded.
If problems persist, enable this option. It instructs the Icecast server that the transmitted song information uses UTF-8 encoding.
Network Control
Network Control allows you to control BUTTM over the network. This can be useful if you want to integrate BUTTM into an automation system. When enabled, BUTTM starts a UDP server and waits for incoming commands, which are described below.

Settings: Network Control
Allow control from:
- Disabled: Disables network control.
- Local only: Allows control only from the same machine on which BUTTM is running.
- Network: Allows control from any machine in your local network.
Warning
When Network is selected, anyone with access to your network can send control commands to BUTTM. Use this setting only in a secure environment.
Control port (UDP):
Define the UDP port on which BUTTM should listen for control commands.
Control Commands
BUTTM expects commands formatted as COMMAND:PARAMETER. Most commands do not require a parameter. In such cases, the parameter can be omitted and the command becomes COMMAND.
The table below lists the available commands.
| Command | Parameter | Description |
|---|---|---|
| CONNECT ALL | - | Connects all enabled stations |
| DISCONNECT ALL | - | Disconnects all connected stations |
| CONNECT STATION | Station name | Connects a specific station |
| DISCONNECT STATION | Station name | Disconnects a specific station |
| START RECORDING | - | Starts recording |
| STOP RECORDING | - | Stops recording |
| SPLIT RECORDING | - | Creates a new recording file |
| SET SONG TITLE | Song title | Updates the current song information on the server |
| GET STATUS | - | Returns the current system status as a JSON object (see below) |
| QUIT | - | Stops all streams and closes BUTTM |
Network commands
Status Reply
After sending a GET STATUS command the following JSON object is returned:
{
"currentSong": "Sia - Unstoppable",
"recording": true,
"recordingKBytes": 80,
"recordingPath": "/Users/daniel/Music/BUTTM recordings/2025/rec_20251123_10_42_35.aac",
"recordingSeconds": 5,
"stations": [
{
"enabled": true,
"encoderName": "MP3 Encoder",
"listeners": 65,
"serverName": "Icecast",
"state": "offline",
"stationName": "Station #1",
"streamKBytes": 0,
"streamSeconds": 0
},
{
"enabled": true,
"encoderName": "AAC Encoder",
"listeners": 78,
"serverName": "shoutcast",
"state": "online",
"stationName": "Station #2",
"streamKBytes": 3056,
"streamSeconds": 191
}
],
"streamLevelPeakLeft": -4.76306915283203,
"streamLevelPeakRight": -4.78192901611328
}
Info
recordingSeconds is always measured relative to the moment the recording started.
recordingKBytes reflects the size of the current recording file. If you perform a file split, this value resets to 0.
Examples
To connect all enabled stations send CONNECT ALL.
To connect a specific station send CONNECT STATION:Station name.
To update the current song information send UPDATE SONG:The New Song.
MIDI Control
Here you can configure your MIDI device (for example a Rodecaster) to control BUTTM.
BUTTM supports CC and NOTE ON message types. The tables below describe the MIDI implementation in detail.

Settings: MIDI Control
MIDI device:
Select your MIDI device.
Update device list:
If you connected your MIDI device after starting BUTTM, click this button to refresh the list.
MIDI Command:
The command you want to configure.
Enable command:
Enable this option to activate the selected MIDI command.
Learn:
Click this button to activate learning mode. In this mode BUTTM listens for incoming MIDI commands.
When a valid command is received, the channel and CC or note values are assigned automatically.
Channel:
Select the MIDI channel manually or let BUTTM detect it using the Learn mode.
CC/Note:
Enter the CC number or note manually or let BUTTM detect it using the Learn mode.
CC mode:
Absolute Mode: Incoming CC values from 0 to 127 are mapped linearly to the internal range.
For example, for a volume slider, 0 maps to minimum and 127 maps to maximum volume.
Relative Modes: Incoming CC values represent increments or decrements.
Select the relative mode that matches your MIDI controller.
Soft takeover:
If you switch between adjusting a slider with the mouse and using a MIDI controller, the two can become unsynchronized.
This may cause jumps when adjusting the slider via MIDI after moving it with the mouse. Enable Soft takeover to prevent this.
MIDI Implementation
CC Messages
| Command | CC value | Action |
|---|---|---|
| Connect all Stations | Any | Connects all enabled Stations |
| Disconnect all Stations | Any | Disconnects all connected Stations |
| Connect/Disconnect all Stations | > 63 / < 64 | Connects / Disconnects all enabled Stations |
| Start recording | Any | Starts recording |
| Stop recording | Any | Stops recording |
| Start/Stop recording | > 63 / < 64 | Starts recording / Stops recording |
| Input 1 gain | 0–127 (absolute mode) | Sets Input 1 gain from -18 dB (0) to +18 dB (127) |
| Input 2 gain | 0–127 (absolute mode) | Sets Input 2 gain from -18 dB (0) to +18 dB (127) |
| Streaming gain | 0–127 (absolute mode) | Sets Streaming gain from -18 dB (0) to +18 dB (127) |
| Recording gain | 0–127 (absolute mode) | Sets Recording gain from -18 dB (0) to +18 dB (127) |
| Monitor gain | 0–127 (absolute mode) | Sets Monitor gain from -18 dB (0) to +18 dB (127) |
| Master gain | 0–127 (absolute mode) | Sets Master gain from -18 dB (0) to +18 dB (127) |
| Crossfader | 0–127 (absolute mode) | Blends between Input 1 (0) and Input 2 (127) |
| Mute/Unmute Input 1 | Any | Toggles mute state of Input 1 |
| Mute/Unmute Input 2 | Any | Toggles mute state of Input 2 |
NOTE ON Messages
| Command | NOTE ON value | Action |
|---|---|---|
| Connect all Stations | > 63 | Connects all enabled Stations |
| Disconnect all Stations | > 63 | Disconnects all connected Stations |
| Connect/Disconnect all Stations | > 63 | Connects / Disconnects all enabled Stations |
| Start recording | > 63 | Starts recording |
| Stop recording | > 63 | Stops recording |
| Start/Stop recording | > 63 | Starts recording / Stops recording |
| Mute/Unmute Input 1 | > 63 | Toggles mute state of Input 1 |
| Mute/Unmute Input 2 | > 63 | Toggles mute state of Input 2 |
Info
Some MIDI devices send a NOTE ON message with a value below 64 when a key is released instead of sending a NOTE OFF message.
To avoid false triggers, BUTTM only accepts NOTE ON messages with values higher than 63.
Notifications
BUTTM can send notifications by email or call a URL when certain events occur. The sections below describe how to configure these options.
Follow these steps to send an email when a specific event happens.

Enter your mail server credentials in the Email Settings section.
The screenshot shows an example using a Gmail account. In this case the password is an API key that must be created in your Google account first.
To verify your settings, click Send Test Mail to send a test message.
Next, select the events that should send an email in the Send email when... section.
In the Email text section you can define the subject and the message body. You may use variables to customize the content.
Valid variables are: %EVENT% %STATION% %SERVER% %DATE% %TIME% %SONG%.
URL
Follow these steps to call a URL when a specific event occurs.

Select the HTTP method you want to use. In most cases this will be GET or POST, although PUT or PATCH may be required in some setups.
Enable each event that should trigger a URL call. After enabling an event, enter the URL and click Test URL to verify your configuration.
Security
Here you can adjust security related settings. The default configuration is secure, but you may change it if needed.

Certificates
CA certificate file:
This option allows BUTTM to load a file containing one or more trusted Certificate Authority (CA) certificates. The file is typically in PEM format.
BUTTM uses these certificates to validate SSL/TLS connections.
A self-signed certificate can also be placed here. When included, it is treated as a trusted root certificate. This is useful for internal services, development environments, or setups where a private certificate is required.
CA certificate folder:
This option points BUTTM to a directory that contains multiple individual CA certificate files.
When establishing a secure connection, BUTTM can search this directory to locate the certificate needed to verify the server's certificate chain.
SSL/TLS
Allow self-signed certificates:
Permits BUTTM to accept servers that use self-signed certificates even if they are not part of the trusted CA store.
Allow expired certificates:
Allows BUTTM to connect even when the server presents a certificate that is past its validity period.
Allow host name mismatch:
Lets BUTTM continue the connection even when the certificate's Common Name or Subject Alternative Name does not match the server's host name.
Ignore all SSL/TLS errors:
Disables all certificate validation checks. Any certificate, valid or invalid, will be accepted.
Danger
Enabling any of these options reduces connection security and may expose the application to man-in-the-middle attacks or other threats. They should only be used in controlled, non-public environments.
Misc
This section contains settings that do not belong to any of the other categories.

Update
Automatically check for updates:
Enable this to let BUTTM check for updates when the application starts.
GUI
Stay always on top:
Enable this if you want the main BUTTM window to remain in the foreground.
Remember window geometry:
Enable this if you want BUTTM to remember the window position and size across restarts.
Logging
Set log level:
Select the desired log level. Debug is the most detailed level, while Critical logs only essential information.
Tip
When reporting a problem, please set the log level to Debug and attach the exported log file to your report.
To export the log file, choose File → Export log file.
Audio Mixer
The Mixer provides an overview of all audio channels and their current levels. Each channel is shown as a vertical strip with a level meter, a gain fader, and a numeric gain display.

Audio Mixer
Input 1 and Input 2 display the live audio coming from the corresponding input sources. These controls allow you to balance the input volumes before they are sent to Stream and Recording signal paths. To mute one of the input channels press the M button or map your MIDI controller to this button.
The Mixer provides separate output channels for different destinations:
Streaming:
Controls the signal level that is sent to the streaming output. The fader affects the streaming path only.
Recording:
Controls the level used for recordings. Adjusting this fader affects the recording path only.
Monotor:
Controls the volume used for monitoring. This adjustment applies only to your local monitor output.
Master Gain:
Applies gain adjustment to the Streaming, Recording and Monitor signals.
Crossfader:
The Crossfader blends Input 1 and Input 2. The left side corresponds to Input 1, the right side to Input 2.
Tip
Double click any slider to reset it to its default position.
Audio Effects
This section provides tools to adjust and refine the sound of your audio. The effects help you shape the signal in a practical way and make it easier to achieve a clear and balanced result.

Audio Effects
Effects order:
Here you can choose how the effects are chained together. The default order is Equalizer → Compressor → Limiter, which is the most common setup.
If you prefer a different order, for example placing the Compressor after the Limiter, you can select that as well. Any other permutation is also possible.
Each effect can be enabled or disabled individually by checking or unchecking the Stream and Recording boxes.
Equalizer
The 10-band equalizer (EQ) lets you fine-tune the tonal balance of your audio by boosting or reducing specific frequency ranges. Each band represents a part of the audible spectrum, from low bass to high treble. Adjusting these bands allows you to correct tonal issues, highlight certain frequencies or shape the audio to better fit your material or preference.

Effects: 10-band Equalizer
Each band can be set from −12 dB to +12 dB:
- Positive values increase the selected frequency range and make it more prominent.
- Negative values reduce the selected range and soften frequencies that are too dominant.
For quick results, the application includes a range of presets designed for different styles and listening preferences. These presets provide ready-made EQ curves that can be used as they are or as a starting point for your own adjustments.
Compressor
Dynamic range compression reduces the difference between loud and quiet parts of the audio, giving listeners a more consistent experience. It is used by nearly all professional radio stations.

Effects: Compressor
To determine whether the signal exceeds the threshold, a compressor usually measures the signal level over time and compares it to the threshold. BUTTM provides two measurement modes:
RMS:
The signal level is averaged over a short period. This introduces a slight delay, but the result is smoother and more natural.
Peak:
The compressor reacts immediately to individual samples without averaging. This makes it respond faster and sound more aggressive.
Threshold:
Sets the input level at which compression begins. Signals louder than this value are reduced in level.
Ratio:
Defines the strength of the compression applied once the signal passes the threshold. Higher values result in heavier dynamic reduction.
Attack:
Controls how quickly the compressor reacts after the signal exceeds the threshold. Short times clamp peaks fast, longer times allow initial transients through.
Release:
Determines how fast the compressor stops reducing gain after the signal falls back below the threshold. Shorter times restore level quickly, longer times sound smoother.
Makeup:
Boosts the output level to compensate for gain reduction introduced during compression, helping match or increase loudness after processing.
The GR (Gain Reduction) meter shows how much the compressor is currently compressing the signal level.
A value of −3 dB means the compressor is compressing the signal by 3 dB. The lower the negative value, the stronger the compression.
The compressor uses the same settings for both the Stream and Recording signal paths.
Be aware that different Stream and Recording output levels can lead to different compressor behavior.
For example, if the Recording output level is set higher than the Stream level, the compressor on the Recording path will receive a louder signal and therefore apply more compression.
The GR meter always shows gain reduction (compression) for the signal path where the compressor is active:
- If the compressor is enabled for Stream, or for both Stream and Recording, the meter shows the Stream gain reduction.
- If the compressor is enabled only for Recording, the meter shows the Recording gain reduction.
A recommended procedure for configuring the compressor is:
- Play the loudest audio source you plan to broadcast (often music) and set it up using the master gain slider.
- Enable the compressor and adjust the threshold and ratio. The attack and release settings can usually remain unchanged unless you have a specific requirement. You will notice that the overall level decreases as the compressor reduces peaks.
- Adjust the makeup gain to bring the output back to its previous loudness.
- Test with a quieter source (for example your voice). It should now be louder relative to the music.
If it is still too quiet, reset the makeup gain to 0 and repeat from step 2.
Finding the optimal settings can take some time and depends on careful listening as much as on meters.
Once configured, BUTTM saves your settings so you usually only need to do this once.
As general guidance:
- Music should be compressed subtly, with a relatively high threshold and a ratio between 2:1 and 3:1.
- Speech can be compressed much more strongly, with a low threshold and a ratio of 5:1 or higher. This makes speech easier to understand and reduces level differences between speakers or inconsistent microphone distances.
- For mixed music and speech, configure BUTTM's compressor for music and use an additional compressor (often a hardware device) before the microphones in the audio chain.
Limiter
The limiter in BUTTM ensures that your output signal never exceeds a defined maximum level. This prevents clipping, distortion, and unexpected volume spikes, especially useful for livestreaming or broadcasting where consistent loudness and protection against overloads are critical. Because BUTTM uses a look-ahead limiter, peaks are detected slightly before they reach the output stage, allowing the limiter to react cleanly and transparently even to very sudden transients. This makes the limiter ideal as the final stage in your signal chain, ensuring stable, broadcast-safe output levels at all times.

Effects: Limiter
Pre Gain:
Sets the input gain feeding into the limiter. Increasing this value drives the signal harder, resulting in more frequent or stronger limiting. Useful for increasing loudness before final peak control.
Ceiling:
Defines the maximum output level the limiter will allow. BUTTM prevents the signal from ever exceeding this value, making it the primary safety threshold for distortion-free output.
Attack:
Controls how quickly limiting starts when the signal approaches the ceiling. Lower values catch sharp transients immediately, while slightly longer times retain more natural transient detail.
Release:
Sets how fast the limiter recovers once the signal falls back below the ceiling. Short settings restore volume quickly, longer settings sound smoother and help avoid pumping.
The GR (Gain Reduction) meter shows how much the limiter attenuates the signal level currently.
A value of −3 dB means the limiter is attenuating the signal by 3 dB. The lower the negative value, the stronger the attenuation.
The limiter uses the same settings for both the Stream and Recording signal paths.
Be aware that different Stream and Recording output levels can lead to different limiter behavior.
For example, if the Recording output level is set higher than the Stream level, the limiter on the Recording path will receive a louder signal and therefore apply more attenuation.
The GR meter always shows gain reduction (attenuation) for the signal path where the limiter is active:
- If the limiter is enabled for Stream, or for both Stream and Recording, the meter shows the Stream gain reduction.
- If the limiter is enabled only for Recording, the meter shows the Recording gain reduction.
Uninstall
Windows
To uninstall BUTTM open your Windows Control Panel and click on Uninstall a program.

Control Panel
Now right click on the BUTTM line in the list of installed applications and select uninstall.

Programs list
If you also want to remove the configuration file, simply confirm the option during the uninstallation process.
If you want to remove the configuration file manually go to %APPDATA%/BUTTM in your Windows Explorer and delete the file BUTTM.ini.

Windows Config Path
macOS
To uninstall simply delete BUTTM.app from the Applications folder.
To delete the configuration file open a Terminal and enter:
rm ~/.config/BUTTM/BUTTM.ini
To delete the log file run:
rm ~/Library/Logs/BUTTM/BUTTM.log