BeSting Pro v1.4

User Guide

Note: an online version of this document is available which may be more up-to-date.

Table of Contents

MIDI Implementation
Power User Tips
Release Notes


BeSting is a synthesizer and a MIDI controller. BeSting was designed to "play well with others" and be infinitely expandable by combining it with other software. This is mostly possible because of BeOS's built-in MIDI and audio capabilities.

When launched, BeSting displays two windows stacked on top of each other. The "performance window" is the black window with yellow lines at regular intervals. The "control window" is the funky honeycomb/honey window with sliders and buttons. I have found that it is convenient to layer the windows on top of each other, and switch between them by selecting the tabs at the top, as if it were a tab view. However, if you only want to use one window or the other, you can double-click the window's tab to hide it.

To play BeSting directly, you click the mouse inside the performance surface and move it around. The left and right mouse buttons trigger subtly different sounds. Pretty fun, right? There's not much to this window. The bright yellow lines indicate octaves of the note "C" and the other, dimmer lines mark the intervening notes. These serve as reference points if you are trying to play in key with a song. The performance window was not meant to be played like a pitched instrument, however. Just wiggle the mouse like crazy for some wild pitch bends. For playing accurate pitches, we will look at the MIDI input later.

The control window is a bit more complicated. There are 9 sliders:

Volume - This adjusts the volume of the sound.
Pan - adjusts left/right stereo balance
Filter Frequency - varies the sound from "very dull" to "very bright"
Filter Envelope - goes from "fast closing filter" to "fast opening filter"
Modulation - varies the amount & speed of tremolo and vibrato
Glide - adjusts the response time of pitch & veloctiy
Delay Level - volume of the delayed signal
Delay Regeneration - feedback of the delayed signal
Delay Time - adjusts from "flange" to "very long echo"

There are also 5 buttons:

Panic - turns the currently playing note off.
Snapshot - sends the current control settings via MIDI
Channel - chooses the MIDI channel to send/receive on
Output - chooses a midi device to send MIDI information to
(!!!) - opens the "About" box.

That should be enough to get you started. For more details on these controls, check out the Power User section.

MIDI Implementation

The Performance window sends and receives these MIDI messages:

Note on/off (mouse down/up)
Breath (left/right mouse button)
Pitch Bend (left - right axis)
Channel Pressure (up - down axis)

The Control Window sends and receives these messages:

Volume - controller 7
Pan - controller 10
Modulation - controller 1
Glide - controller 5
Filter Freq - controller 80
Filter Env - controller 81
Delay Level - controller 82
Delay Regen - controller 83
Delay Time - controller 16

"Snapshot" sends all of these messages simultaneously, so you can save & playback all the settings from a midi sequencer, much like a preset. The delay time may also change based on midi tempo. For details, see the Power User section.

Power User Tips

Using BeSting as a controller
BeSting can be used to control other synths. Just be aware that because there is no standard range for MIDI pitch wheel values, the lines on the performance window will mean very little. The slider controls also transmit MIDI messages, and can be used to control any synth that accepts these controller numbers as input.

Getting PHAT bass sounds
For a big fat bass sound, turn the filter frequency really low. The lower you turn the filter envelope, the more percussive the sound will become. Watch your speakers!

Volume / Overdrive
BeSting starts with the volume at the value 100. If you go beyond 100, the overdrive circuit is activated. Overdrive can cause some strange effects in BeSting and other software, but boy, does it sound sweet.

The dead spot
Depending on the exact setting of the overdrive and other parameters, there may be a "dead spot" in the middle of the performance window where the sound gets really quiet. This is a side effect of the synthesis method used by BeSting, and is not a bug. It's these types of discontinuities that give BeSting its character!

Playing two (or more) BeStings
You can run more than one instance of BeSting. For example, try running BeSting twice, and then connect the MIDI output of the first instance into the input of the second. Now when you move the sliders of the first instance, the other sliders move with them. Tweak the pan and filter envelope of the second instance so they are slightly different than the first instance. You can achieve some really nice stereo effects this way. You can also play multiple BeStings from your sequencer, by assigning each to a different track.

Playing BeSting from a keyboard
If you play BeSting from a keyboard, you may want to crank up the "Glide" parameter to get that slinky feel. If you're lucky enough to have a keyboard with lots of knobs, be sure to crank them around as you play. BeSting responds to the controllers listed above, and it also maps the remaining MIDI controls to filter frequency, so it's a fair guess that every knob on your axe will do something to the sound.

Connecting BeSting's audio output
Need to tweak the sound more? BeSting is a BeOS media node, which means you can route its output into other media nodes. For a good example, check out "Fun with Cortex". This tip was demonstrated on the TV show "Screen Savers". This is also a good way to record your performances. Because BeSting time-stamps the audio data, you will be able to record into a sequencer and get almost perfect synchronization.

Connecting BeSting's MIDI I/O
BeSting has some rudimentary port selection built-in: You can choose a single input for BeSting to play into. But BeSting will accept multiple inputs and outputs if you have a program that can make the connections (most sequencers have this feature built in).

Playing BeSting from a sequencer
If you record a performance into your sequencer, and then edit it later, be sure to move the pitch bends and channel aftertouch along with the notes, otherwise the performance will change drastically.

Presets for BeSting
BeSting doesn't have preset storage built in, but you can recreate any sound you like by using the "Snapshot" button. This will transmit all the current settings via MIDI into your sequencer. You'll probably want to do this at the beginning of all your songs, so playback will sound the same later.

The filter envelope
The "Filter Envelope" slider may be a bit counterintuitive at first. Basically, leaving the slider in the middle position means there will be no effect on the sound. If you move the slider to the left, the filter will slowly "close" making your sound duller over time. By moving it to the far left, the filter will close more quickly. The reverse is true if you move the slider to the right... the filter will open (get brighter) over time. The envelope retriggers at the start of every note, but you can also send MIDI control "spikes" in the filter freqency to simulate a retriggering effect. This technique can get you some bubbly acid synth lines.

How Delay Time works
The majority of the slider is allocated to very short flanging and slapback delays. In the rightmost portion of the slider, the time scale changes and becomes longer delays that are tempo-dependent. If your sequence sends MIDI tempo information, BeSting will use this information to set the delay times dynamically. BeSting defaults to 120 BPM

If you are having problems
One of the most common mistakes is to transmit to BeSting on the wrong MIDI channel. Be sure that you are sending MIDI data on the selected channel. Also, many MIDI devices for BeOS do not handle MIDI nodes dynamically. You may need to start BeSting first, so the other device can see the already-running copy of BeSting when it looks for MIDI devices.

Release Notes

Version 1.1 - 12/9/00 - Fixed MIDI input bug
Version 1.2 - 12/12/00 - Fixed MIDI channel selection bug, Panic bug.
Version 1.3 - 5/26/01 - Improved frequency precision and reduced cpu load.

Version 1.4 - 11/15/01 - Right mouse button now triggers pulse wave shape. Sends/Receives MIDI breath control.

Copyright 2000 by Ben Loftis. All rights reserved.

Please visit my product page.

Warranty Disclaimer


By downloading or installing this software, you are agreeing to the above Warranty Disclaimer