• Other Usage Miscellany, Computer Keyboard Quirks, & Known Issues
Manually Editing .keymap Files
Soundplant Customization & Feature Sponsorship
Soundplant is live performance audio software that turns your computer keyboard (yes, your QWERTY keyboard) into a versatile, low latency, multitrack sample trigger and playable musical instrument. It allows the assignment of sound files of any format and length onto virtually all keyboard keys, giving you hours of instantly-playing random access audio at your fingertips with no extra hardware needed. Use Soundplant as a performance, presentation, or installation tool, as a drum pad, as an educational aid, to mix together tracks in realtime, trigger sound effects or background tracks during a show, create music or loops, sketch sound designs, make beats, and give new life to old sounds - all via an input device you've been practicing on for as long as you've been typing. Because it's a standalone software sampler that uses your own samples to create custom soundboards, Soundplant is an infinitely flexible electronic instrument limited only by the variety of sounds that you feed it. An easy to use interface provides drag & drop configuration of each key, including options which control the way each sound is triggered along with several lightweight non-destructive realtime effects. Playing sounds are displayed with a progress bar and track time, and you can even trigger sounds with Soundplant hidden while using any other program.
Soundplant is not a synthesizer, plugin, editor, or sequencer, but it is way more than a media player. Soundplant was designed to do one thing and do it well: to trigger sounds from the computer keyboard with maximum speed, efficiency, and ease of use. Users love its rock-solid stability for live event use, its simple one sound per one key metaphor which eliminates the usage complications of many other software samplers, its versatility for handling sounds of all types from short effects to full length songs to hours-long mixes, and its ultra-optimized use of the computer keyboard with lowest-possible latency requiring no extra hardware or MIDI.
Soundplant is not very demanding for basic use and can run on virtually any Windows or Mac computer made in the last 8+ years; a multicore processor and 4GB of RAM are recommended. Your built-in cheapo soundcard will work fine, and so will any add-on professional quality audio interface. For optimal display, minimum 1280x720 screen resolution is recommended.
The Windows version runs on Windows 10, 8, & 7; 64-bit is recommended but not required
The Macintosh version runs on latest macOS 10.14 Mojave down to minimum OS X 10.9 Mavericks
Soundplant is independently produced software distributed as free for non-commercial use, with a 25-launch trial of the registered version features. The registered (paid licensed) version permits unlimited use of the following features: expanded sound file format support for sounds above 16-bit, compressed files (.mp3, .mp4, .flac, etc.), and audio from video files; recording; background key input; sound output device selection; ASIO support; and output sample rates above 44 kHz. If you use Soundplant commercially (defined as: if you make money while using Soundplant), and/or require the professional features of the registered version, please purchase a license at the Soundplant web site. Your support will help improve this program in the future (see planned improvements section) and provide income to the author. The 25-launch trial of the registered features allows you to try all features before you buy so that you can be sure it completely meets your needs before purchasing. Soundplant's flexible license permits a single user to run Soundplant on an unlimited number of Windows and Mac computers.
Aside from a few items, Soundplant is designed to be largely self-explanatory. For the most basic usage, simply drag and drop sound files onto onscreen computer keyboard keys. Pressing any keyboard key will cause its assigned sound to play, and so will double-clicking the onscreen key. In the default configuration, hitting the same key with Shift held down stops the sound, and hitting Escape stops all playing sounds. Click any key to select it and configure its settings in the Key Configuration Panel on the bottom of the screen to have finer control over how sounds are triggered. Save and load .keymap files using the buttons along the top of the screen.
A more detailed explanation of the usage of Soundplant follows. The least self-evident items will be marked with a red flag ▰ for those who want to just skim these instructions.
In 'detailed' view mode, the default view, the Soundplant program window is divided into 5 main sections:
The keyboard display provides an overview of all of the usable keyboard keys and their assigned sound filenames. Each key can be colored and custom-labeled (in the Key Configuration Panel) for ease of reference. Keys show an animated green glow while their assigned sound plays, which gradually lessens in relation to sound playback progress, moving out toward the edges of the key as the sound reaches its end. This glow animation can be turned off in the Preferences to force it to display a fixed green highlight while playing instead of an animated one. Keys that are queued or paused have a yellow instead of green glow.
Sound files can be dragged from any folder window in Explorer (Windows) or Finder (Mac) and dropped over any unassigned key. If multiple files are dropped, then all dropped files will be assigned to successive keys on the keyboard, starting from the key under the mouse and moving from left to right and top row to bottom row.
Key configurations (including assigned sound and settings) can be moved from one key to another by clicking and dragging a key and dropping it onto another key; if done while holding Ctrl (Windows) or Option (Mac), the key assignment is copied rather than moved.
While in 'detailed' view, a single click to any key brings up its settings in the key configuration panel, and you can also scroll the mouse wheel or touchpad to cycle between keys. A double click to a key plays its assigned sound (in 'simple' view, a single click plays its sound).
The Escape key is a universal silence key which kills (stops) all currently playing sounds, and the onscreen Escape key can be single clicked to achieve the same function. ▰ The Windows Backspace/Mac Delete key has a similar silence function but won't stop sounds that have a 'channel priority' set to 'high' (see the channel priority setting), and it won't kill sounds that are queued. Ctrl+Shift+Backspace (Windows)/Ctrl+Shift+Delete (Mac) is a universal fade out all command that fades out all currently playing sounds using the fade out length set in each key's fade time.
In the lower portion of the screen, key configuration options control how a key starts and kills sounds, realtime effects can be set, and information about the sound is displayed, including a visualization of its waveform. Each of the 72 assignable keyboard keys can have its own unique configuration. To select a key for configuration, do any of the following:
After selecting a key to configure, the key is highlighted in the onscreen keyboard, and the name of the key is displayed in the upper left corner of the Key Configuration Panel.
If the key has a sound file assigned, a visualization of its waveform is displayed on the bottom. On the top, the file's name, path, and sound properties are shown including the bit depth, sampling rate in kHz, number of channels, length in h:m:s:ms, and file size in MB (note that in the case of compressed files like .mp3, .mp4, .flac, etc., the displayed file size is the uncompressed size, e.g. the actual size of the decompressed audio loaded in RAM). ▰ An alternative way to play the selected key's sound (e.g. simulate a key press) via single mouse click is to click the large letter of the key in the upper left corner of the Key Configuration Panel; this can be especially helpful for use with touchscreens.
Multiple keys can be selected by holding down Ctrl (Windows) or Command ⌘ (Mac) and single-clicking the desired keys, or Ctrl/⌘+clicking and dragging to select a range of keys, or shift+clicking to select all keys between the clicked key and the last selected key. This allows for settings to be adjusted in bulk for many keys simultaneously in realtime. Multi-key selection mode can be exited by single clicking any key, or by double clicking anywhere in the Soundplant interface that is not an interactive button/hotspot, or by hitting the Escape key (note: hitting Escape while in multi-key selection mode will not stop any sounds). When in multi-key selection mode, settings that differ between keys will appear blurred out until they are adjusted to make the settings identical, and differing slider knob positions will cause the knob to be invisible until any point along the slider is clicked to make the settings identical. If the keys selected all have the same sound file assigned then the waveform will display and start and end offsets are bulk-settable; if offset settings differ between keys with the same sound then the differing offset slider will appear red in color until clicked to make the settings identical.
A description of all key configuration options follows.
Click on the large filename text to set a custom key label. A prompt will appear allowing typing in a new label; Soundplant will ignore sound triggers while typing into this prompt. By default Soundplant will automatically label the key with the name of the sound file minus the file extension, but you can use this function to set it to any text you like. Or, for playlist-triggering keys that have no assigned sound, the default playlist key label "[playlist]" can be changed to a custom name.
Select a key color to define how the onscreen key appears by using the mini palette to the right of the displayed key name. There are 18 color choices available here. Soundplant will automatically give a random color to each newly assigned key unless it had a previous color set. ▰ For those who really want even more colors to create custom keyboard skins, advanced users can define any RGB color for any key by manually editing .keymap files.
keymode and shift+ mostly affect how Soundplant will respond if the key is pressed or released after the assigned sound has already been triggered and is still playing. It's important to understand that if the key's sound is not yet playing, then pressing the key will always start its sound regardless of which keymode is set. 'shift+' controls the behavior of the key if pressed in combination with the Shift key, allowing the flexibility of an additional keymode function on the same key. ▰ The hold down toggle (off by default) further adjusts key behavior by allowing control over what happens when the key is released and can be used to simulate a more traditional musical keyboard-like response. Not all keyboards are mechanically capable of supporting 100% accurate detection of holding down multiple keys simultaneously.
Sounds set to loop will do so ad infinitum until they are killed. If the sound has start and/or end offsets defined, then the loop will only occur between the two defined offset points. The loop setting is realtime and will apply to all currently playing instances of the key's sound. If you want a sound to repeat only a fixed number of times, instead of using this infinite loop function create a playlist via multi queue.
multi queue provides several methods for flexibly triggering multiple sounds, whether in sequence as in a playlist, or synchronizing the simultaneous start of multiple tracks. Queued sounds - that is, sounds which have been sequenced but are inactive and waiting to start playing - appear in the Channels Meter with a yellow border highlight, displaying in the order that they will play from top to bottom, and keys of queued sounds have a yellow highlight as well, similar to paused sounds (think of a queued sound as a sound paused at 00:00). Each queued sound occupies one of Soundplant's 256 available sound channels. Soundplant enables queuing to be as simple or as complex as you need, with playlist length limited only by Soundplant's maximum 72 loaded sounds and 256 channels per instance. Soundplant even allows multiple playlists to play simultaneously. Playlists can be a daylong sequence of album-length tracks, or 5 different snare sounds triggered simultaneously with a single key, or a brief melody made out of a composed series of tones, or stem tracks of a single song all starting in sync, or endlessly shuffled breakbeat slices. Any and all of these kinds of playlists can be active while you continue to manually trigger other sounds in realtime. Playlists can either be queued up on demand by pressing keys in a desired sequence, or set in advance by dragging and dropping, via the 2 primary 'multi queue' modes:
Some general things to note about the behavior of playlists in Soundplant and how they work in conjunction with Soundplant's other functions:
The channel priority setting enables fine tuning the manner in which sounds are killed automatically by Soundplant. This setting has no effect on the behavior of a key's individual 'kill' keymode for explicitly killing single sounds, but it does effect the behavior of the global silence key Backspace/Mac Delete. It has 4 options:
There are 7 realtime effects sliders which can be used in combination to tweak the sound or alter it beyond recognition, all non-destructively (not permanently saved in the source sound file). Soundplant is not meant for serious DSP use and is more concerned with low latency sound triggering, but offers several lightweight filters to modify sound without increasing latency. Each effect has realtime and random toggle buttons. If 'realtime' is on (default), the slider will affect all currently active instances of the key's sound. If 'realtime' is off, then the setting will only apply to the next time the key is pressed. Turning on 'random' allows setting a value range along the slider within which Soundplant will select a random value and assign it to each subsequent triggered instance of the sound; this can be used to create interesting variations in sounds. Set the random range boundaries by clicking and dragging either end of the slider. Adjust the left and right boundaries simultaneously while maintaining range size by clicking and dragging the middle portion of the slider. Turning on 'random' automatically turns off 'realtime'. ▰ Double-clicking the slider bar when 'random' is on sets the random value range to the maximum range.
volume sets the sound's amplitude level. This volume control does not use processed amplification; at the highest setting (100%) the sound plays at its normal volume (however, the Soundplant master volume control can modulate this at the global level and does use processed amplification at settings above 100%). ▰ Double-clicking the slider bar sets the volume to 100% when 'random' is off.
pan sets the sound's location in stereo space, implemented as a "true pan" whereby both left and right channels are mixed and shifted simultaneously and remain audible rather than one channel simply being faded out. For example, a pan of -100% means that both the left and right channels are audible entirely on the left channel. ▰ Double-clicking the slider bar resets the pan to 0% when 'random' is off.
pitch adjusts the pitch (speed) of the sound in semitones, with accuracy to the cent or 100th of a semitone. Soundplant uses a "resample" pitch shift which affects the duration of the sound in addition to its pitch, i.e., lowering pitch will stretch out the sound and raising pitch will shorten the sound; when adjusting pitch, the sound's duration display will adjust to reflect the modified length of the sound. Octave markers are provided along the slider bar (12 semitones = 1 octave). For example, a sound with a pitch setting of +24.00 will be two octaves higher than, and 1/4 the duration of the same sound set to 0.00. The up and down arrow buttons to the left and right of the slider bar allow fine tuning of the pitch setting more precisely than the slider; one click adjusts the pitch by one cent, enabling microtonal accuracy. ▰ Double-clicking the slider bar resets the pitch to 0 when 'random' is off.
reverb send adjusts the level at which the global reverb realtime effect is applied to the key. Because high quality reverb is a CPU-intensive effect, Soundplant keeps latency low by using a single reverb unit through which all keys can be individually processed via the 'reverb send' slider. The reverb unit settings in the Global Function Toolbar adjust the properties of the global reverb effect. Note that adding reverb to a sound can mean that its generated reverberations continue to be audible even after the sound itself is killed, depending on the settings. ▰ Double-clicking the slider bar resets the reverb send to 0% when 'random' is off.
The lowpass filter has 2 settings. The main lowpass slider sets the cutoff and resonant frequency of the filter in hertz. filter resonance sets the height above DC gain in decibels which the filter resonance exhibits at the cutoff frequency, and will only affect the sound if the lowpass filter is on. ▰ Double-clicking these sliders when 'random' is off resets the filter to off or the resonance to 0.
lfo applies low frequency oscillation to the lowpass filter, volume, and pitch effects. ▰ Double-clicking the slider bar resets lfo to 0% when 'random' is off.
The waveform display shows an overview of the sound's waveform. While the sound is playing, a moving white playhead indicates the playback position of the most recent trigger instance of the key, and you can click anywhere along the highlighted part of the waveform to seek the playhead to that point in the sound. For stereo sounds, the top half of the waveform represents the left channel, and the bottom half represents the right. The waveform display includes controls for setting the sound's start offset and end offset. This allows limiting the portion of the sound that is played when the key is pressed; use offsets to, for example, trim silence, remove an unwanted song introduction, refine a loop, or extract individual sounds out of a larger track (see the offset assign function below for a quick automatic way to splice portions of a sound across multiple keys). Define start and end points using the left and right sliders, or more precisely by entering zoom view to edit offset points in a full screen zoomable version of the waveform, or by using the clickable arrow buttons along the bottom which allow adjusting to the 100,000th of a second. Offset changes are applied in realtime allowing start and end points to be adjusted while playing the sound, especially handy when adjusting loop points (note: when multiple keys are selected, offset changes are not realtime updated). ▰ Double-click the waveform to reset the offset selection back to the entire length of the sound. While the sound is not playing, click and drag anywhere in the highlighted part of the waveform to move both the start and end points simultaneously. While the sound is playing, if desired you can still drag the start and end points simultaneously by holding down shift while clicking the highlighted part of the waveform to allow selection dragging instead of playback position seeking. Normally the waveform playhead shows the playback progress of the most recently triggered instance of the sound, but if multiple overlapping instances of the key's sound have been triggered, and you want the playhead to reflect a particular instance other than the last one pressed, click on that instance in the Channels Meter to set the playhead to reflect that instance.
If the sound contains cue points saved with an audio editor, start cue and end cue controls appear within the waveform display which allow cycling through the cue points to set the start and end offsets. Soundplant can read cue points in 8-bit, 16-bit, and 24-bit .wav files, and in compressed Shockwave Audio .swa files (a little-known but convenient format which is essentially an mp3 with cue points). Though Soundplant enables finer control over offset points than many editors, using cue points saved from a dedicated external audio editing program can provide an easier way to set a complex array of precise offset points.
zoom view displays the waveform in a detailed full screen mode, hiding all other controls and enabling more precise setting of start and end offsets and examining of sound properties:
In 'zoom view', the small waveform along the bottom of the screen becomes a thumbnail for viewing the larger version of the waveform above. To bring any portion of the waveform into view, click and drag the large black magnifying glass icon to the desired position over the small waveform, and adjust the size of the grey highlight rectangle (representing the size of the zoom view) by clicking and dragging its edges. You can also zoom in and out by using the mouse scroll wheel or by clicking the zoom in and out buttons detailed below. Offset start and end points are represented by draggable yellow arrows positioned over the large waveform. ▰ When either offset point is not within the currently selected zoom view, its arrow icon will still appear, greyed out, in the left or right margin, for convenient access even though the actual point is offscreen; at any time, a greyed out offset arrow can be clicked and dragged from the side margin into view in order to set an offset point within the current view. Click anywhere along the large waveform to start the sound playing from the clicked point, or, if the sound was already playing, to seek to that point; you can also play by hitting the selected key, or clicking the play buttons detailed below, and you can continue to trigger other sounds via the keyboard as normal while in 'zoom view'. When entering 'zoom view' on a sound for the first time, the sound file must be reanalyzed in a more computationally intensive manner in order to retrieve the detailed waveform data; this can take some time on very long sounds depending on computer speed, however once complete the data is cached allowing zoom view to be opened instantaneously on subsequent occasions. The following function buttons are available in zoom view:
In the upper right corner of the Key Configuration Panel are a row of key-specific function buttons.
open sound brings up a dialog box for browsing for sound files to assign to keys (providing an alternative method for loading sounds other than dragging and dropping them). Soundplant supports virtually all digital audio file formats in existence as well as audio from video files, of any bitrate and up to 192 kHz sampling rate, both compressed and uncompressed. Here is a non-exhaustive list of supported formats: wav, aif, mp3, mp4, flac, m4a, aac, ape, alac, ogg, snd, bwf, au, swa, wma, m4b, m4r, m4p, oga, mp2, mp1, ra, rm, rv, rmvb, wv, amr, ogv, 3gp, 3g2, m4v, wmv, mov, avi, divx, mpg, flv, f4v, asf. The free version only loads .wav & .aif, 16-bit, uncompressed. You can select multiple sound files in the open sound dialog; if more than 1 file is selected, then the files will be assigned to successive unassigned keys on the keyboard, starting from the currently selected key and moving from left to right and top to bottom. If the currently selected key already has an assigned sound, you can use 'open sound' to to select a single file to replace the current key's sound file but retain its configuration settings. If you select multiple files in the 'open sound' dialog and the current key already has a sound assigned, the current key's sound will not be replaced, rather the new assignments will be bumped to the next available keys. If you open a particularly long sound that is too large to fit in RAM, it will be automatically streamed from disk instead. Generally, Soundplant will be able to play sounds of unlimited length unless in very low memory situations; RAM use optimization settings can be adjusted under Preferences➔memory usage. ▰ When a large sound has to be streamed from disk instead of loaded to RAM, realtime pitch shift, realtime offsets, and sustain keymode are disabled due to performance limitations.
reset key reverts the key's settings back to its initial unassigned state with the default empty key configuration. If a sound had been assigned to the key, this will unload the sound from memory (unless the same sound file is still being used by another key).
copy key... duplicates the key's settings onto another key. If the key has a sound assigned, the copy is done in a memory efficient manner whereby the target key will refer to the same sound data in memory rather than reload the file. Activating the 'copy' function will temporarily hide all other buttons, change the cursor, and prompt to select a target key on the onscreen keyboard. Only an unassigned key can be selected as a target. ▰ Alternatively to using this function button, a key can be copied by simply clicking and dragging the key while holding down Ctrl (Windows) or Option (Mac) and dropping it onto the desired target key. Keys can also be moved by clicking and dragging the key without holding down Ctrl or Option and dropping it onto the target key, bringing about a reset of the source key rather than duplicating it.
multi-key pitch assign... enables the memory efficient batch assignment of the sound at varying pitches onto multiple keys in 2 easy steps. This is a convenient way to simulate a polyphonic instrument using just a single sample, but can also alter the sound's speed to extremities that can make it into a totally different sound. Clicking this button will temporarily hide all other buttons aside from the pitch slider, change the cursor, and prompt to select a group of unassigned keys next to the current key. Mousing over the onscreen keyboard will highlight sets of keys next to the current key to enable making a selection. The start pitch for the multi-key assignment can also be adjusted using the pitch slider before selecting the key group. Clicking on the keyboard to select the key group will prompt to set the end pitch for the batch. An unmovable marker on the pitch slider bar shows the start pitch for the batch, and you can drag the pitch slider to set the end pitch for the batch. A dynamic display of the semitonal distance between the keys in your selection will appear and adjust as you slide the controller. Clicking 'apply' will complete the process and assign the start key's configuration to all selected keys with the specified pitch variation. Note that the traditional western chromatic scale places notes 1 semitone apart; distance in semitones away from the base "A" note in the standard diatonic scale are as follows: B-2, C-3, D-5, E-7, F-8, G-10 (with the whole semitone points in between constituting the "accidentals", or sharps and flats, of the chromatic scale). The pitch assign function can also be used to take advantage of the precise microtuning features of Soundplant to discard the bias of western compositional technique and create custom scales. ▰ Even if you do not set an end pitch, leaving the pitch unchanged, you can still hit 'apply' to copy the key onto all of the selected keys; in this manner, 'multi-key pitch assign' can also be used as a handy way to quickly duplicate a key onto multiple other keys.
multi-key offset assign... enables the easy dividing up of equal-sized slices of a sound across multiple keys by auto-setting offsets in a memory efficient manner. It can be used, for example, to extract individual drum sounds from a drum loop by taking a 4/4 beat and splicing it across 4 keys (or 8 or 16 keys to achieve smaller splices). Clicking the 'offset assign' button will temporarily hide all other buttons, change the cursor, and prompt to select a group of unassigned keys in a manner similar to 'pitch assign'. Mousing over the onscreen keyboard will highlight keys indicating the size of the selection as text displayed below will dynamically show the potential length of each key's slice of the sound (depending on the amount of keys selected and the length of the original sound), and the waveform display will graphically reflect the positioning of the resulting offsets. Clicking on the keyboard will designate the key group selection and assign the start key's configuration to all selected keys with the specified offset variation, auto-adjusting each key's offsets to precisely divide pieces of the sound across the selected keys. Note that the division points between slices are completely mathematically determined at equal-length points along the sound, which means that you may need to manually adjust the generated offset settings to match inexact timings of events in the sound that you want to extract in order to get a more perfect sound (keeping in mind that, for example, a human-played drum set rarely has rhythmic timing accurate to the 100,000th of a second).
launch editor is for the editing of audio files in an external editing program. Soundplant is non-destructive, and you may find that work will sometimes need to be done in an audio editor in order to fine tune and add permanent effects to your sound files. The 'launch editor' button will open the application set as the Preferences➔external audio editor and attempt to make it load the key's assigned sound file (works with most editors). The first time you return to Soundplant from the editing program, Soundplant will check if the file has been modified and prompt to ask if the newly edited file should be reloaded; if you choose not to reload an edited sound, Soundplant will continue playing the pre-edited copy of the sound currently loaded in memory. If you do reload the sound, all of the key's configuration settings will remain in place. When reloading a sound file, if the sound had been copied or multi-key-assigned to other keys, then those other keys will also refer to the newly edited sound data.
reload sound from disk manually forces reloading the sound file, for example if you have made multiple changes to it in an external editing program. After clicking launch editor, Soundplant only checks for sound file modification the first time you return to the Soundplant window from the audio program. If you modify the sound later, or if the sound file is modified by means other than 'launch editor', you can make Soundplant reload the sound file with 'reload sound from disk'. All key configuration settings will remain. When reloading a sound file, if the sound had been copied or multi-key-assigned to other keys, then those other keys will also refer to the newly edited sound data.
save key settings as default sets the selected key's configuration as the global default key configuration, meaning the key configuration that automatically applies to all currently empty keys, the 'reset key' button, and all keys in subsequent new keymaps, overriding Soundplant's built-in defaults. For example, Soundplant's factory default key configuration has 'shift+mode' set to 'kill'. But if the currently selected key's 'shift+mode' is set to 'fade', and you 'save key settings as default', then all currently unassigned keys and future keys in subsequently created new keymaps (i.e., the next time you click 'new keymap' or 'reset' an individual key, or restart Soundplant) will have their 'shift+mode' set to 'fade'. With this function, you can store all possible key configuration settings except for key color, sound start and end offsets, 'playlist...', and of course sound file. To set more complex empty keymap configurations with different sets of keys having different preset configurations, save an empty keymap template. ▰ Holding down Ctrl+Shift while clicking this button saves the selected key's configuration as default only for the duration of the current Soundplant session and avoids storing the settings permanently, making future launches of the program revert to using the previously saved defaults; this can be useful for temporarily changing default key settings while configuring complex keymaps. ▰ Holding down shift while clicking this button restores Soundplant's original factory default key settings.
At the right edge of the screen is the detailed sound Channels Meter, which gives a realtime indication of which sounds are playing, paused, or queued including playback progress, total sound length, key name, and sound name. Soundplant is capable of playing or queueing up to 256 sounds simultaneously, however for practical reasons the amount of channels displayed onscreen is limited. Depending on the Preferences➔channels meter display mode setting, the meter will display either 6 (default) or 12 simultaneous channels; whenever there are more sounds playing than space permits to be displayed, a white bar indicator will appear on the bottom of the meter. Channels are displayed in a dynamic top-to-bottom, first come first shown order, such that if there are more sounds playing than the channel display limit, the earliest sounds triggered will be displayed, however as sounds end or are killed they are dynamically removed from the meter and previously hidden overflow channels will come into view as space permits. Sounds that are paused or queued display with a yellow border. Sounds that have a fade in progress show a realtime fade progress indicator in the form of an animated volume level line moving up (fade in) or down (fade out).
▰ Soundplant's 256 channels are allocated in a way that provides balance between maintaining low latency and maximizing polyphony. Each of the 72 usable keyboard keys have 3 permanently reserved dedicated channels. The remaining 40 channels are shared by all keys for use as needed, allocated dynamically. As such, the maximum amount of simultaneous instances of any single key's sound is 40 + 3 = 43 simultaneous instances. Once the single key 43 instance limit is reached Soundplant will ignore subsequent triggers of that key's sound until another channel becomes free. If you (are crazy enough to) want to play more than 43 simultaneous instances of a single sound, assign the sound to additional keys, since each key adds 3 more dedicated channels of polyphony.
The Channels Meter can be interacted with in the following ways:
Along the top of the screen are a row of buttons with general program functionality and sliders which affect the entire keymap as a whole.
new keymap empties all sound file assignments and clears them from memory, and resets all key configurations to the default key settings.
open keymap, save keymap, and save keymap as allow saving and loading of keyboard configurations, which Soundplant stores as '.keymap' files. These are small text files which contain references to the assigned sound files and their configurations; they do not contain audio data (though they do contain cached waveform data). Keymaps can also be loaded by dragging keymap files anywhere onto the program window, or onto the program icon (including the dock icon on Mac). When saving keymaps, absolute paths to sound files are stored in keymap files, but when opening keymaps, if Soundplant can't find them in the originally stored location, it will automatically attempt to search for files in best-guess paths relative to the keymap file's location as well as in the following additional locations: the same folder as the keymap; every folder in which it has already successfully loaded sounds for the current keymap; the default sound files folder set in the Preferences; the default keymaps folder set in the Preferences; the Soundplant program folder; the Desktop; and the Documents folder. If Soundplant can not find a file, it will prompt with an option to allow manually selecting the new location of the file (or a different file to load in its place). You can safely transport keymaps between different computers, even between Windows and Mac, and Soundplant will be able to load the keymaps as long as it can find the needed sound files in one of the above locations (it is usually easiest to keep the .keymap and sound files together in the same folder when transporting keymaps, especially using save keymap with sounds). You can also save empty keymap templates to load sounds onto in the future and preserve key settings. For example, if you want all of the arrow keys to be colored red and set to loop, you can set this on an empty keymap with no sounds loaded, and in the future when you load this empty keymap template and open sounds onto those keys, they will retain the previously set key configurations. ▰ Soundplant 47 can open older keymaps saved in all previous versions of Soundplant (even going back to the very first version of Soundplant released in 1999!), but it saves keymaps in a newer format that can be opened only in versions 40 or later, and features new to v.47 won't be available if opened in an earlier version.
The recent keymaps button in the lower right corner of 'open keymap' activates a pull-down menu giving one-click access to the 25 most recently saved and loaded keymaps, in the order that they were last accessed. If there are no recent keymaps, this button has the same effect as clicking 'open keymap'. ▰ Holding down 'Shift' and clicking 'recent keymaps' clears the history list.
save keymap with sounds creates a folder and saves a copy of the current keymap and all of its associated sound files in it. This is handy for creating unique copies of used sound files and putting them all into a single location. It is also helpful in packaging up keymaps for transport to other computers (because Soundplant will automatically find all of the keymap's associated sound files if they are kept in the same folder as the .keymap file). If you are working on a keymap that has already been saved with sounds once, doing a 'save keymap with sounds' again to the same folder will copy into that folder any sound files that may have been added since the last save.
preferences opens the Preferences panel.
list keymap creates a tab-delimited text file listing the contents of the current keymap (all loaded sound files and their assigned keys) and opens it in your computer's default text-editing program (normally Notepad on Windows or TextEdit on Mac). From here it can be printed, or saved or copied-and-pasted anywhere you wish and further manipulated in other programs such as a word processor or spreadsheet if desired. Note that the text file is written to a temporary location and will be deleted automatically, so if you want to save the file, do a manual 'save as' through the text editor and select a permanent location for the file.
launch another Soundplant provides an easy one-click way to open a new instance of the program. Soundplant can run in an unlimited number of simultaneous instances, enabling outputting to multiple audio devices simultaneously, preloading multiple banks of sounds, expanding sound channel polyphony, recording multiple tracks of Soundplant output at once (or recording only select sounds while excluding others from the mix), and other possibilities. Used creatively, this can be a powerful feature that adds more flexibility to your use of Soundplant. With multiple instances open, you can have multiple keymaps open and send key input to multiple instances by turning on background key input, and use modifier keys to selectively send input to different instances as set in the background key input Preferences.
Soundplant web site directs your browser to soundplant.org where you can purchase a registration and check for updates, news, free keymap and sound file downloads, FAQs, and links to recommended software and hardware for use with Soundplant.
help activates Soundplant's contextual help mode, allowing you to select any onscreen item to obtain instructions on using it. Clicking this button turns the cursor into a question mark with which you can highlight and select any of Soundplant's major interface elements. Click the button/slider/screen region you want to learn more about to open this Soundplant User Manual to the appropriate section heading. Clicking the 'help' button while already in contextual help mode - e.g., double clicking the button - opens this file at the beginning of the document.
about displays credits, copyright, and registration information.
The record Soundplant's output button activates and deactivates the record function, which captures Soundplant's mixed output into a single .wav file using a direct internal recording method for highest quality and lowest impact on latency. Click once to instantly start recording; an elapsed time display will appear. When finished with the recording session, click again to stop recording; a file dialog will prompt to select a destination for the the resulting .wav file. It will have the same sampling frequency as the current Preferences➔audio output➔sample rate setting. If on Mac, the .wav file will always be 32-bit; on Windows, Soundplant can only record to a 32-bit .wav if using an ASIO output device, otherwise the .wav will be 16-bit if using a non-ASIO sound driver. If you want to record multiple output tracks at once, or only record certain sounds while not recording others, use multiple instances of Soundplant. Record length is limited only by disk space. Recording must be stopped before opening another keymap or changing any audio output settings. ▰ Recording can be toggled on and off by the keyboard shortcut Ctrl+Shift+R. This can be especially useful when recording multiple tracks at once using multiple instances of Soundplant with background key input on, so that all record tracks have a synced start time. Recording is available in the registered version only.
Soundplant has 2 view modes to allow customizable window sizes. detailed is the default view and includes the entire Soundplant interface. simple shrinks the interface to show just the bare essentials, hiding the Key Configuration Panel and the Detailed Channels Meter (though note that you can still get a general idea of which sounds are in use and their playback progress by watching each playing key's glow animation). The view mode setting is saved in Soundplant's configuration and persists after quitting the program. While in 'simple' view mode, you can still assign sounds to keys by dragging and dropping audio files onto the desired key. You may notice a slight performance gain when in 'simple' view, especially on older computers and when playing many sounds simultaneously, because the Soundplant interface uses less system resources with a smaller window size and fewer animated elements; for absolute fastest possible triggering, 'simple' view can shave a few milliseconds off of latency. 'simple' view also expands key size allowing an extra line of key label text to display for sounds with long names, and making keys easier to click-to-trigger (this can be especially helpful for use with touchscreens). ▰ While in 'simple' view, you can send a simulated key hit to any key (i.e., play its sound) by clicking the key; in 'detailed' view, the same thing is accomplished by a double-click. This behavior can be turned off in the Preferences.
background key input enables Soundplant to respond to keys even while its window is not in focus. This powerful feature opens many possibilities as it allows triggering Soundplant sounds while using other audio software, or while typing a document, or while using another instance of Soundplant with a different keymap loaded, or while doing anything in any other program, even if Soundplant is minimized, hidden, or behind other program windows. Additionally, in the background key input Preferences, Soundplant can be set to only accept background key input if a modifier key combo such as Ctrl/Alt/Option is pressed. On Windows, when 'background key input' is on, a Soundplant icon appears in the system tray; it can be clicked to toggle the visibility of the Soundplant window and hide Soundplant entirely from the taskbar (yes, this can be used to play tricks on people by running Soundplant in the background without them noticing!). ▰ If 'background key input' is on, at any time you can hit the panic key combo Ctrl+Alt+Shift+tilde on Windows or Ctrl+Option+Shift+tilde on Mac (~) to immediately turn off 'background key input' and kill all sounds. Note that when triggering sounds while Soundplant is not in focus, there is a slight increase in latency, because of the way key events are passed through the operating system. For absolute fastest possible triggering, input keys directly into Soundplant while its window is in focus. Also note that when triggering sounds from within other programs, Soundplant can not detect the automatic "key repeat hits" that result when holding down keys (depending on system settings); it can only detect these while Soundplant's window is in front. On newer versions of macOS, depending on your permissions and security settings, you may have to explicitly grant Soundplant "Accessibility" permissions in order to allow Soundplant to detect the full range of keyboard hits while it's backgrounded; go to System Preferences➔Privacy tab➔Accessibility and make sure Soundplant is added as a permitted program. 'background key input' is available in the registered version only.
The reverb unit section allows configuration of the global realtime reverb effect. To keep latency low and reverb quality high, Soundplant uses a single powerful reverb processing unit through which all keys are fed at an adjustable per-key send level (which defaults at 0 for each key). Reverb unit settings are saved in keymaps. Finer control of reverb settings with wider sliders is available when Channels Meter display mode is limited to 6 channels. There are 4 reverb parameters:
master volume controls the master level of Soundplant's mixed output. When this setting is above 100%, realtime processed amplification occurs; this is useful for turning up quiet sounds, but can result in distortion when playing sounds which are loud to begin with or when playing many sounds at once. Double clicking the slider sets the volume to 100%. This setting is saved in keymaps. Finer control with a wider slider is available when Preferences➔channels meter display mode is limited to 6 channels.
Clicking the preferences button on the Global Function Toolbar opens the Preferences panel for customizing Soundplant's behavior. You can still trigger sounds while the Preferences panel is open. The 1st time Soundplant is launched, it will search for existing preferences from older versions of Soundplant going back to version 41i and import them if found, otherwise it will use factory default preferences. ▰ Soundplant stores separate Preferences for every user on a multi-user computer, so if you log in as a different user and run Soundplant, you can have a different set of Preferences. If you ever need to reset the Preferences, hold Ctrl+Atl+Shift (Windows) or Ctrl+Option+Shift (Mac) while launching Soundplant; this is useful in the rare cases where an audio device's driver does not properly support a selected setting and causes crashes on startup, or if the Preferences get corrupted and cause errors.
The audio output section controls sound quality and output device selection and tunes performance.
The device dropdown menu allows setting a specific sound output device for computers with multiple sound devices connected, and channel for devices with multiple output channels. When this is set to 'default', Soundplant will output to the sound device set as the operating system's default device at the time of Soundplant's launch. If the output device saved in the Preferences is not connected at the time of Soundplant's launch, it will automatically switch to using the system default device. On Windows, Soundplant supports both standard system WDM devices as well as ASIO devices, and in this menu ASIO driver output choices are prefixed with "ASIO". Due to the quirks of audio on Windows, ASIO drivers tend to offer lower latency and higher sound quality, so if you are on Windows and have an ASIO device it is recommended to use its ASIO driver in Soundplant. Recording Soundplant's output on Windows is in 32-bit quality if using an ASIO output device, but limited to 16-bit if using a WDM device. If you don't have an ASIO device, you may still reap much of the benefits of ASIO in Soundplant (and other apps) by installing the free virtual ASIO driver ASIO4ALL which functions as a universal ASIO driver for any standard WDM soundcard. ▰ For rare cases when poorly implemented ASIO drivers cause problems, holding Shift while clicking to open this menu prevents Soundplant from scanning for ASIO devices which can avoid slowdowns or crashes during the device scan process. Output device selection is available in the registered version only; the free version always outputs to the system default device.
sample rate sets the sampling frequency of Soundplant's output mix. The higher the rate, the higher the sound quality, but also the higher the CPU load and latency. Not all audio hardware properly supports all sampling rates above the default 44.1 kHz. Sampling rates above 44.1 kHz are available in the registered version only.
buffer size sets the size of the audio buffer measured in number of samples, allowing fine tuning latency. Generally, the lower the buffer size, the lower the latency, and this should be set to the lowest possible setting at which audio does not glitch, which can vary depending on hardware quirks and the 'sample rate' setting. Buffer size may need to be increased when operating at a high sample rate. On Mac, this setting can usually be left at the lowest value of 64 unless using the highest sample rates. But it has more significance on Windows, where the sheer quantity and variety of available hardware means that the optimal buffer size setting can vary widely between different computers and different audio devices, and for best Soundplant performance tuning, some experimentation with this setting can be fruitful. ▰ The default Windows buffer size is 256, however this is more of a catch-all setting to ensure smooth playback on as many Windows computers as possible. On most newer Windows computers latency can be noticeably improved by lowering the buffer size to 128, or in some cases even lower. If an ASIO device is used you can usually set this to the lowest setting of 64. If the buffer size is set too low, you will hear obvious glitches during audio playback.
save and load audio output settings in keymaps allows the device, sample rate, and buffer size Preference settings to be overridden when opening a keymap by settings saved within the keymap. This is handy if, for example, you want to associate a keymap with a certain output device, especially when managing multiple running instances of Soundplant with each instance outputting to a separate device. When this is turned on, Soundplant will load output settings from a keymap if the following conditions are met: the keymap was saved on the same OS platform as the current running instance of Soundplant (i.e. if running Windows then the keymap must have been saved on any Windows computer); the saved audio output device is currently connected/available; the keymap contains saved output settings (i.e. it must have been saved with 'save and load audio output settings in keymaps' turned on). If any of these conditions are not met, Soundplant will ignore all saved output settings and default to the settings defined in the Preferences. This feature is available in the registered version only.
The interface section controls Soundplant's cosmetic appearance and tunes performance.
channels meter display mode sets the maximum amount of channel progress indicators that are visible in the Detailed Channels Meter, which can be either 6 large channels (default) or 12 small channels. Note that this setting has no effect on Soundplant's polyphony, as Soundplant can play up to 256 tracks of sound simultaneously regardless of how many channels are visible, but there are practical and performance limits on how many of these can fit on the screen at once. At the lower setting, channels are fatter, time elapsed and sound name text is enlarged by 2 point sizes, and the extra screen real estate permits the 'master volume' and 'reverb unit' controls to have wider and more precise sliders. Furthermore, with only 6 channels visible, Soundplant uses slightly less CPU due to there being fewer animated elements onscreen, and a performance boost may be noticed on older/slower computers. Adjust this setting depending on how you use Soundplant, how fast of a computer you are running it on, and how many sounds you typically play simultaneously or need to see displayed simultaneously.
refresh rate adjusts the frame rate at which the interface is updated (including playback progress animations and time elapsed displays). high allows for slightly smoother animations but can use more CPU than medium (default), especially on older/slower computers and when playing many sounds simultaneously.
animated key glow controls whether or not onscreen keyboard keys show a glowing green animated indication of playback progress. This animation can be a helpful visual indicator complementing the Detailed Channels Meter, or even more so when in 'simple' view mode and the Channels Meter is hidden, and aids hand-eye coordination when playing the keyboard while looking at the screen. However, turning it off can reduce CPU usage and increase performance, especially on older/slower computers and when playing many keys at once. When set to off, keys still light up with a green glow when playing, but are not animated. When on unless looping (default), looping sounds' keys won't animate, but non-looping sounds do; this can be a more visually intuitive way to observe looping keys since a looping sound never ends, especially when using short loops like single tones. When set to on both non-looping and looping keys animate their progress, and for looping keys the animation resets each time the loop restarts.
time display sets the behavior of the Channels Meter time display to be either a time elapsed count up (default) or a time remaining count down. ▰ This can also be toggled by clicking on any channel's time display in the Channels Meter.
key labels text size adjusts the display size of onscreen keyboard key label text; the larger the text size, the less text can fit overall. The default medium size allows for 3 lines of text per key in 'detailed' view or 4 lines in 'simple' view, while large shows text at 3 point sizes larger allowing 2 lines in 'detailed' view or 3 lines in 'simple' view.
key appearance offers an aesthetic/cosmetic choice over how onscreen keys are rendered. 3d (default) displays keys in a more realistically shaded, soft-edged, some would say (ugh) skeuomorphic manner, while flat is a more minimalist, gradient-less depiction. Select whichever is more appealing to your eye. 'flat' mode can use slightly less CPU especially on older/slower computers when many keys are playing due to less complex pixel rendering.
If select key on key press is turned on, hitting a key automatically selects it for editing in the Key Configuration Panel. This can be convenient in many situations, but keep in mind that if this is turned on you won't be able to configure one key while simultaneously pressing other keys, because the Key Configuration Panel changes with every key hit, displaying the most recently pressed key. Also, note that having this feature on can cause a slight performance hit when rapidly pressing many keys in succession, especially on older/slower computers; for absolute fastest possible triggering, keep this turned off. When set to always, hitting any key will select it, even if the key has no assigned sound. When set to only on sound trigger, hitting a key will only select it if it has a sound assigned and the hit triggers the sound. For example, with only on sound trigger, hitting a key set to kill whose sound has already been playing will not select the key, since the hit is killing the sound and not triggering it. This can be useful when managing multiple simultaneous instances of Soundplant, for example if you have some keys assigned in one instance but unassigned in another, to avoid unintentionally selecting keys.
memory usage adjusts how Soundplant manages RAM. Under the default and recommended setting, auto-manage, all sounds will automatically be loaded into RAM unless there is not enough available memory. Most computers today have enough RAM to load many hours of audio without issues and still have plenty left over for other programs and operating system functions. This is an important distinction between Soundplant and other audio players. Most players stream audio data from disk in realtime, which conserves RAM and allows for faster initial sound loading, but has 2 limitations: disks are slower than RAM which means higher latency (much higher if, for example, the disk has powered down because it hasn't been accessed in a while), and also disk-based playback requires the disk to constantly be accessed during playback, which can cause unwanted vibration and electrical interference leading to audio signal noise. In Soundplant, when you first load a sound onto a key, Soundplant loads it into RAM at that moment, making it available for instant low latency playback at any time on demand thereafter, with none of the risks or drawbacks of disk use. This means that even if you are loading sounds over a network, or from an external drive with a janky connection, once loaded into Soundplant they will play flawlessly, at the lowest possible latency and highest sound quality (even if the source disk is disconnected!), the only drawback being slightly longer initial sound load time. In low memory situations or when loading very large sounds that are impractical to fit in RAM, Soundplant will automatically fall back to streaming them from disk instead. Sounds streamed from disk play with slightly higher latency and rely on disk speed and availability for playback, and also have certain features disabled due to performance limitations (realtime pitch shift, realtime offsets, and sustain keymode), thus it is usually more desirable for best performance and reliability to load as many sounds as possible into RAM. But if more control over memory management is needed, for example if you need to load many long tracks at once and want to free up memory for other programs, or if you encounter frequent 'out of memory' error messages, activate the don't load to RAM sounds larger than... setting. Here you can fine tune an exact sound size threshold above which Soundplant will cease loading sounds to RAM and stream them from disk instead; set it to the lowest setting if you need to free up as much memory as possible. Most of the situations that require this setting are uncommon, such as if you are loading many huge audio files on an old computer with little RAM. ▰ Keep in mind that when loading compressed sounds such as mp3, m4a, flac, etc., Soundplant decompresses the entire sound into RAM, and the amount of memory required for such files is the full uncompressed size and not the size of the compressed file on disk. For example, a single 5MB mp3 file can equal 50MB when uncompressed, and if you have one of these loaded onto all 72 keys in Soundplant it can start to hit up against the limits of available memory (depending on system configuration, how much RAM is installed, and what other programs are running). The sound size indicated in the sound properties display of the Key Configuration Panel is the full uncompressed size.
low CPU mode forces Soundplant to use less CPU processing power at the expense of slower speed/higher latency; it is off by default. Turning it on can be useful to reduce battery drain if running on a mobile/unplugged device, or to prevent the CPU fan from turning on, or to manually allocate a larger percentage of processing power to other running programs when using an older/slower computer to help tune performance. On newer, faster, efficient computers with plenty of processing power to spare, this setting will have a less noticeable effect, but on old computers it can be a big help in certain situations. For example, if you are performing on a laptop running on battery and notice that your remaining charge is dangerously low, turn on this setting to minimize Soundplant's power usage.
keymap files default folder sets the starting location that opens when the 'open keymap' or 'save keymap' Global Function Toolbar buttons are first clicked in a session. The yellow arrow button to the right is a handy shortcut to opening the set folder in a new window in Explorer (Windows) or Finder (Mac).
sound files default folder sets the starting location that opens when the open sound Key Function Toolbar button is first clicked in a session. The yellow arrow to the right is a handy shortcut to opening this folder in a new window in Explorer or Finder.
save recordings default folder sets the starting location that opens when the record button is clicked to end a recording and save the output file for the first time in a session. The yellow arrow to the right is a handy shortcut to opening this folder in a new window in Explorer or Finder.
playback activity logging turns on or off Soundplant's activity logging and sets the location for storing log files; the yellow arrow to the right is a handy shortcut to opening this folder in a new window in Explorer or Finder. Activity logging is useful if you need to document the tracks you play in Soundplant. With activity logging on, Soundplant logs and time stamps the following events in a tab-delineated text file: sound start; sound end; sound kill; sound pause; sound resume; new keymap; save keymap; log start; log end. While logging is on, an "activity logging on" indicator displays in the upper right corner of the onscreen keyboard. If multiple Soundplant instances are running then each instance will create its own separately named log file. The logging state set here in the Preferences persists after quitting, thus if it is left on, the next time Soundplant is launched logging will begin immediately at startup. ▰ As an alternative, the keyboard shortcut Ctrl+Shift+L starts and stops logging on the fly without saving the logging state as a permanent setting. Each time a new logging session is started, a new log file is created.
persistent cache sets the location and size limit of Soundplant's cache which remains stored on disk even when Soundplant is not running. By default, this is turned on with a maximum size of 4GB and stored in the standard system user data folder. Soundplant caches data from the sound files you load the first time they are opened, including waveform information and decompressed audio data, in order to speed up commonly repeated processes. This enables dramatically faster loading of frequently accessed keymaps and sounds, with the only cost being disk space. Caching makes the most difference in loading times if you use a lot of long compressed sound files and/or frequently use the waveform 'zoom view' feature, and the higher the max size, the more improved loading speed for a larger set of sounds over time. The default system cache location and size will be adequate for the typical user, but if you use Soundplant heavily you might want to set a higher size to improve loading times even more, and if you have a different drive that is faster and/or has more free space you might want to set a custom cache location. Likewise if you have limited free disk space available you can lower the cache size limit or turn caching off entirely. Note that if you change the cache location setting, clicking 'apply' will move the existing cache to the new location which can take some time on slower systems depending on disk speed and cache size. Turning persistent caching off and clicking 'apply' clears the cache. When persistent caching is off, Soundplant uses a temporary cache stored in the system temp folder which is cleared every time a new keymap is open or when Soundplant quits. Though on by default, persistent caching will turn itself off if it is having problems writing to the cache folder or if the cache location doesn't have enough free space; if you find that persistent cache is unexpectedly turning off, try setting a different cache location that is writeable and has plenty of free disk space. On Windows, if Soundplant is uninstalled, the persistent cache is automatically deleted by the uninstall process, but only if the default cache location is being used; if a custom Soundplant cache location was set then the uninstaller leaves that untouched.
external audio editor sets the application that Soundplant launches via the launch editor Key Function Toolbar button. Click to select an executable file (or a shortcut/alias to it).
use space key as global pause/unpause (off by default) allows designating the space bar as a convenient global pause/resume toggle key rather than as an ordinary sound triggering key. When on, at any time a space key hit will pause any currently playing sounds and unpause any paused sounds, and sounds can not be assigned to the space key (if a keymap is loaded which contains a sound assignment on the space key with this setting on, that assignment will be ignored). Also, if on, when in waveform zoom view, if no other sounds are playing, then a space hit starts playing the currently zoomed sound.
click key to play sound enables mouse clicking the onscreen keys to simulate key hits, and is on by default. In 'detailed' view mode, double-click a key to play its sound; in 'simple' view mode, single click. If the key's 'hold down' toggle is on, a second click on the key simulates a key release. If 'click key to play sound' is turned off, single-clicking a key in 'simple' view will automatically go into 'detailed' view and select and display it in the Key Configuration Panel.
The background key input section adjusts behavior related to the background key input function.
startup state sets whether 'background key input' is on or off when Soundplant first launches; since it can be potentially dangerous and cause unintended sound triggers, it is off by default.
only accept input with key combo restricts how Soundplant responds to background key presses. In the default 'off' setting, if 'background key input' is on and the Soundplant window is in the background, Soundplant will respond to all key input, which means that typing anything into any other program can trigger sounds in Soundplant. But sometimes this behavior can be undesirable or inconvenient, particularly if the keys you want to use in Soundplant have a conflicting function in the foreground program, or if you have multiple Soundplant instances running with different sounds assigned to the same keys. When 'only accept input with key combo' is set to 'Ctrl+', 'Ctrl+Alt+' (Windows) or 'Ctrl+Option+' (Mac), if 'background key input' is on and Soundplant is in the background it will ignore all key input unless the selected key combo is used. For example, with this set to 'Ctrl+', if 'background key input' is on and Soundplant is minimized, hitting Ctrl+A will play the sound assigned to the 'A' key, but hitting just 'A' by itself will be ignored by Soundplant. When running multiple Soundplant instances, this setting can be used to selectively access different instances' banks of sounds, allowing for each key to trigger up to 3 different sounds depending on which key combo is used. Also, this setting comes in handy if you want to run Soundplant while using another program and the foregrounded program has its own functions mapped to keys which you do not want to activate.
When foreground window on sound trigger (off by default) is on, if 'background key input' is on and Soundplant is in the background, the Soundplant window is automatically brought into focus whenever a key is hit that triggers a sound. This can be useful when juggling multiple running instances of Soundplant and you want the frontmost visible window to always be the instance with the most recently triggered sound, or as a way to quickly switch back into Soundplant after switching away to work in another program.
With only trigger playlists (off by default) turned on, if 'background key input' is on and Soundplant is in the background, Soundplant ignores key hits unless it's a playlist-triggering key. This can be useful when using large playlists containing many sounds occupying many keyboard keys, but you only want to trigger them as part of a playlist; it can be especially helpful in conjunction with the 'single key step through' playlist mode and/or when using another program that has many of its own keyboard functions. When this is on, individual sounds can't be triggered but certain global key functions are still usable: Escape, Backspace, and Ctrl+Shift+Q for killing sounds, and Ctrl+Alt+Shift+tilde (Windows)/Ctrl+Option+Shift+tilde (Mac) for deactivating 'background key input'.
enter registration code... brings up a code entry dialog where you can enter the license code you receive when you purchase Soundplant in order to unlock the registered features. Follow the instructions given to you with your purchase to activate your registration. Once the program is registered, this button becomes remove registration....
remove registration... only shows if your copy of Soundplant has been licensed. It unregisters the program, removing your personal license information from the computer and reverting to freeware mode, useful if you need to switch license type or hand over the computer to another user who is unlicensed or has their own license.
apply saves the current Preferences and closes the panel. If any 'audio output' settings have been modified, all currently playing sounds are stopped, and there can be a brief delay to apply the changes because the audio engine is reinitialized and all sounds in the current keymap are reloaded. If the 'persistent cache' location is changed this can also cause a delay while any existing cache files are moved to the new location.
cancel discards any modified settings and closes the panel.
Generally Soundplant is designed to avoid using keyboard keys for anything other than triggering sounds. However there are a select few global functions mapped to keyboard shortcuts for convenience. All of these have already been mentioned above, but here is a complete list of them all in one place for ease of reference:
You can move the Soundplant window by clicking and dragging its title bar, or by clicking and dragging anywhere in the program's interface that is not an interactive button. Using this latter method is recommended, as when you drag Soundplant by clicking and dragging within the Soundplant window, Soundplant's interface continues to update and animate as the window moves. Dragging by the titlebar temporarily halts the refreshing of the Soundplant window as the window moves.
The Soundplant program window is resizable by the standard method on Windows of clicking and dragging anywhere around the edge of the window border, or on Mac by clicking and dragging the resize icon in the bottom right corner of the window. Note that when resizing, as the height of the Soundplant window is increased, the font size of sound name text labels increases, while as the width of the window is increased, the amount of text that is fit onscreen increases but the font size does not increase. This means that if you want to fit more text on the screen (for example, if your sound file names are long and you want them to not be cut off), expand the width of the window more than the height; if you want the text to be larger and more easily readable, expand the height. Use these resizing options in conjunction with the 'detailed' and 'simple' view modes and the 'key labels text size' setting to customize Soundplant to display as much or as little as you want, as large or as small as you want. The Soundplant window is sized to fit most optimally on modern monitors with HD aspect ratios. ▰ After resizing the window, double-clicking anywhere in the program's interface that is not an interactive button restores the window's size to its default dimensions.
Those looking for more advanced realtime processing of Soundplant's output than Soundplant's own minimal effects provide, or to to record Soundplant's output into a DAW, can use other software to reroute Soundplant's audio into another program's input using a virtual output device. On Mac you have the system-built-in option of creating an "Aggregate Device" via Apple's Audio MIDI Setup utility. There is also the cross platform Jack, or on Windows only check out Virtual Audio Cable or ASIO Link. This technique allows realtime effects processing of Soundplant's output in programs like Max or Audiomulch, or to send Soundplant's output into a DAW like GarageBand, Audition, Pro Tools, etc. You would need to set Soundplant to output to the virtual audio output device in the Soundplant Preferences, and then set your recording/processing software's input to the virtual input device. Keep in mind that the easiest and most efficient way to record Soundplant is to use Soundplant's own built-in record function, but using these virtual audio device methods allows more flexibility when doing realtime processing or recording from many sources at once.
When any key is kept held down continuously, the operating system typically interprets it as multiple repeat key presses, at repeat rates which differ depending on system settings; this can be adjusted or turned off in the Windows Control Panel➔Keyboard or under the Mac System Preferences➔Keyboard. Normally Soundplant reacts to these auto-generated repeat key hits as if they were actual key hits, and you can get some interesting effects by experimenting with this, especially in conjunction with the mute, sustain, and pause key modes, and the pitch shift and offset sliders. However, auto key repeat can be avoided entirely without altering system-wide settings by using Soundplant's 'hold down' function which can be set per-key. Note that when holding down multiple keys simultaneously, the system will only generate repeat key hits for the last key pressed; it will not repeat multiple keys at once. Also note that on Mac, depending on system settings, some keys auto-repeat when held down and others don't, due to the way Mac handles international character input; if you want key repeat on and to behave consistently for all keys, there is a "hidden" macOS setting for this, see this article.
When pressing multiple keys simultaneously (what you might call 'chords'), you may find that certain keys do not work as expected; on many cheap generic keyboards, you won't be able to trigger more than 4 or 5 keys simultaneously due to keyboard hardware limitations. At worst, some Windows laptops have a really annoying "feature" where the computer emits a system beep when many keys are pressed at the same time (usually this "beep on keyboard error" setting can be turned off in the BIOS or under Device Manager➔Non-Plug And Play Drivers). Intensive Soundplant use can be hampered by these kinds of keyboard quirks, which vary widely among different keyboards; some simply don't support pressing multiple keys at once (aside from 'modifier' keys - Shift, Ctrl, Alt), while others support this only partially and will allow certain keys to be pressed down simultaneously and not others. This is because on cheaper keyboards, multiple keys share the same sensor, and each sensor can only report a single key hit at any given time. Also, many keyboards have better support for detecting multiple simultaneous keys if connected via a PS/2 port rather than USB. If you find that the behavior of your keyboard has a limiting affect on what you are trying to do in Soundplant, consider upgrading; for the best possible keyboard experience, look for a keyboard that has "n-key rollover" aka "NKRO", which means that each key has its own dedicated sensor and guarantees that the keyboard supports detection of an unlimited number of keys simultaneously. One excellent maker of high end n-key rollover keyboards is Das Keyboard, and you can find many others, often marketed for gamers such as those by Razer. A high quality keyboard is a worthwhile investment as it enhances all use of your computer, not only Soundplant!
Soundplant is optimized for use with the computer keyboard, but it is possible to use it with other input devices with the help of other software and hardware. If you want to use a MIDI device with Soundplant's sound triggering engine, you can use 3rd party software such as Bome's Midi Translator or OSCulator to convert MIDI or OSC input into computer keyboard hits. This has been found to work well with Soundplant by many users with MIDI controllers. There are many other hardware and software options that can convert input from various other devices into keyboard key hits which work well with Soundplant, including MaKey MaKey (invention kit that can make virtually any object send keyboard key hits), JoyToKey or GamePad Companion (converts input from game controllers into keyboard hits), FAAST (converts body motion input from Microsoft Kinect into keyboard hits), Webcam Zone Trigger (converts motion detected in video feeds to key hits), and P.I. Engineering X-keys (custom programmable keypads).
Soundplant is made for use with a standard U.S.A. QWERTY keyboard, but has been found to work well on other common keyboards layouts (like AZERTY, U.K. QWERTY, QWERTZ, etc.) with some minor quirks. For example, some keys on non-U.S. keyboards may not exactly match their onscreen equivalent, and 'shift+mode' may respond differently than expected on a couple of keys. You will have to do some testing with your non-U.S. keyboard to learn how it works with Soundplant. If you find that the operation of your non-U.S. keyboard hinders your use of Soundplant, consider buying a cheap U.S. keyboard for optimal Soundplant use (easily found for under $10).
On low resolution displays with lower overall resolutions than the Soundplant default 'detailed' view window size of 1124x667 pixels, Soundplant will automatically start in 'simple' view mode instead which is easier to use in these situations. For example, some netbooks have only 600 pixels of height. You can manually force Soundplant into 'detailed' view if desired but the interface will be shrunken to fit the small screen and may be slightly distorted or difficult to use depending on how small the monitor is.
Soundplant does not treat the numeric keypad (on the right end of full sized keyboards) as unique keys. Hitting these keys will have the effect of hitting their corresponding 'real key' on the left portion of the keyboard, which of course will vary depending on whether 'numlock' is on or off. You can use the numeric keypad with Soundplant as if it were a set of duplicate keys.
Soundplant will not run properly on a computer that has been left on without restarting for over 24 days. This is because of a low level limitation in the software framework that Soundplant uses to access the computer's system clock. The most likely situation in which this quirk can be encountered is in public installations such as classrooms, kiosks, or art displays. If you plan to run Soundplant on a computer that is left on constantly for weeks at a time, keep in mind that the computer must be restarted at least every 24 days (of course it's generally a good idea to restart any computer more often than this for optimal performance).
While Soundplant can open virtually any digital audio file format, it can not play DRM-encrypted files.
Soundplant can load most surround sound audio files (e.g. files with more than 2 channels of audio), however as Soundplant can only output in 2 channels, it automatically mixes down multichannel audio to 2 channels.
There are some atypical situations where getting 'background key input' to work from within another program requires extra tweaking. Some games and other intensive programs enter a low level input mode while they are in the foreground which can prevent Soundplant from receiving key input. The solution to this is usually to run Soundplant as administrator. In most versions of Windows, you can right click on the Soundplant program icon and then in the menu that comes up click "Run as administrator". If you want it to always run as admin automatically, in most versions of Windows right click Soundplant➔Properties➔Compatibility tab➔check "run this program as administrator". On Mac, you may have to grant Soundplant "Accessibility" permissions: go to System Preferences➔Privacy tab➔Accessibility and make sure Soundplant is added as a permitted program. Also, there are certain rare specific cases where 'background key input' may not work because of low level OS security restrictions, some of which are unavoidable: for example, while entering a password in another program some systems prevent background programs from detecting key presses to prevent malicious key logging. If you are still having difficulty with 'background key input' even while running Soundplant as admin, try disabling any antivirus software you may have running and checking your system security or antimalware settings for any kind of keyboard restrictions.
Soundplant relies on the computer's system clock for tracking the visual displays of sound playback progress, because polling the system clock comes with less overhead than polling the soundcard. However, some computers have slightly inaccurate system clocks. These inaccuracies are usually only at the microsecond level and of no major consequence. But in rare situations involving very short looping sounds that have been left playing for many thousands of loops, system clock timing flaws can cause the playhead on the waveform and the progress meters to become slightly out of sync with the playing audio of the loop.
The function keys F1 through F12 are sometimes by default reserved for system functions, especially on laptops, and you typically have to combo hit the "Fn" key + the desired function key in order for Soundplant (or any other program) to receive the standard key input for F1-F12. But this can almost always be remedied by changing a system setting. On Windows it can be hard to locate the setting to change this because the configuration depends on the computer manufacturer. Sometimes Windows laptops have a "Fn lock" capability that allows you to lock the Fn key in the on position by hitting Fn+Escape, and this tends to be the quickest and easiest solution. But for a more permanent solution, you'll have to locate the software setting, which may be in the Windows Control Panel, or in a manufacturer-branded dedicated program or system tray icon for input device settings, or in the system BIOS. On Mac it's easy: under System Preferences➔Keyboard, check the box for "Use all F1, F2 etc. keys as standard function keys" (note that even with this option enabled, it is still possible for certain function keys to be assigned as special system operation shortcuts, usually F11 to show the desktop and F12 to show the dashboard; these shortcuts can be disabled under System Preferences➔Keyboard➔Shortcuts). On Macs with a Touch Bar, at any time you can hold down the "Fn" key to temporarily access the function keys in the Touch Bar, or, you can also set the function keys to always be available on the Touch Bar when Soundplant runs by going to System Preferences➔Keyboard➔Shortcuts and then selecting "Function Keys" in the left sidebar, and then clicking the "+" symbol and selecting Soundplant; keep in mind that if you want to use Soundplant in the background while using other programs and want to trigger sounds with the function keys, you can also add those desired foreground programs to this list, or alternatively you can go into System Preferences➔Keyboard➔Keyboard and simply set "Touch Bar shows" to "F1, F2, etc." and the function keys will be available at all times from all apps system-wide.
If you desire to achieve the absolute lowest possible sound triggering latency at the expense of some interface niceties, here are some things to keep in mind to reduce as much non-essential overhead as possible (helpful for slower computers, and also for latency freaks who want the best possible Soundplant performance for the most demanding applications such as millisecond-accurate drum pad use):
Thus concludes the primary usage instructions. You might also want to check the latest Soundplant FAQs containing newer info than this document at http://soundplant.org/spfaq.htm.
Please send all bug reports, questions, problems, comments, suggestions, criticisms, reactions, etc. to: soundplant@soundplant.org. I would love to hear about your experiences using this program, the crazier the better! Check the web site for program updates, FAQs, and free keymap downloads at http://soundplant.org.
Further remarks, hints, history, credits, and supplemental information for advanced users are below.
Here are a few ideas to help get you started thinking in terms of the potential of Soundplant:
Keymap files created by Soundplant are standard text files which contain no line feeds. They represent a database of all of the keyboard keys and all of the attributes of the assigned sounds. Keymap files are not really meant to be human-readable - meaning they are not organized in the most human-friendly way - but they are fairly easily human editable - meaning you can open them in any text editor (like Notepad++ or Sublime) and change items such as file paths and other properties. This can be useful for example for making mass modifications to key properties that might be tedious to make in Soundplant such as changing all keys' sound file names, especially in conjunction with advanced find-and-replace or text processing tools. You can also set key colors to any RGB color beyond just the 18 selectable in the Soundplant interface by manually editing the color values stored in the file. Additionally, some visually impaired users have found it easier to create and edit keymaps in this manner (if you wish to create a keymap from scratch this way, I recommend starting with an already existing keymap as a template, such as these).
The keymap file contains one giant, comma-delineated, bracketed list of data [] inside of which are many smaller bracketed lists, including one for each key. Each of these key property lists are preceded by a numeric key code that represents the key. Every key on the keyboard has a unique key code (see below for a chart). Each of these lists contains a set of property definitions preceded by a hash symbol #.
For example, the property for changing file paths is #fname, which defines the name and location of the assigned sound. If you want to change the file path, replace the existing #fname value with the new path; the path must be in quotes and must contain the full path and filename. If your sounds have moved to a different drive or folder, you can use a find-and-replace to change all occurrences in the .keymap file of the old path to the new path (note that on Mac, files paths are stored using old-style HFS paths with the colon character as the delimiter, not slash as in Unix paths).
Key properties have 6 different possible values types: boolean (either 1 or 0, with 1 = on and 0 = off), integer (positive or negative whole number with no decimal point); float (positive or negative fractional number with a decimal point); string (chunk of text enclosed in quotes, such as #fname); RGB color value (3 comma-separated values ranging from 0-255); and nested list (comma-separated series of values enclosed in brackets). It is important to retain the proper formatting of these values. For example, the start offset property #mstarttime is a float, so even if you want the sound to start playing from the beginning, the value has to be "0.00" and not "0". If you want the sound to start playing from the 5 second point the correct value would be "5000.00".
There are dozens of modifiable properties for each key, most of which have fairly self-explanatory names; there are also several properties which should not be modified manually and are for internal use only, or are relatively meaningless. The modifiable properties of most interest for configuring keys are: #newcolor (RGB value key color which can be manually set to any possible RGB color even beyond those selectable within Soundplant, replacing the deprecated #color in v.43 and earlier), #fname, #smallfname (key text label), #fadetime (fade in time in milliseconds), #fadeouttime, #fadetoend, #holddown, #loop, #mstarttime (start offset in milliseconds), #mendtime (end offset), #srk (keymode), #shiftsrk (shift+mode), #priority, #mrateshift (pitch shift), #pitchrandom, #pitchrealtime, #vol, #volrealtime, #volrandom, #pan, #panrealtime, #panrandom, #reverbsend, #reverbsendrandom, #reverbsendrealtime, #lowpass, #lowpassrealtime, #lowpassrandom, #resonance, #resonancerandom, #resonancerealtime, #lfo, #lforandom, #lforealtime, #queue (multi queue mode), and #queueseq (playlist of comma-separated key codes).
In addition to individual key properties, keymaps also contain at the end of the file a short list of global properties called #globalprops. The modifiable global properties are #roomsize (reverb setting), #width (reverb setting), #damping (reverb setting), #level (reverb setting), #mastervol, #fsynthdevice (audio output device name), #fsynthsamplerate (output sample rate), and #fsynthbuffer (output buffer size).
Keymap files must have no line breaks until the end of the file. So all the important data must be on one single gigantic unbroken line, the first line in the file. Any deviation from this will break the keymap.
In keymap file data, keyboard keys are not explicitly referred to by their letters, but rather by a more internally efficient key code numbering system. For those who have a further interest in manually tinkering with keymap files on an advanced level, the table below lists all 72 assignable keys and their corresponding key code. Note that keymap files actually contain dummy entries for several other key codes beyond those 72, which are currently unused in Soundplant. You can ignore those additional entries, however they should remain in the keymap file for best compatibility.
keymap key code | equivalent USA keyboard key |
---|---|
0 | A |
1 | S |
2 | D |
3 | F |
4 | H |
5 | G |
6 | Z |
7 | X |
8 | C |
9 | V |
11 | B |
12 | Q |
13 | W |
14 | E |
15 | R |
16 | Y |
17 | T |
18 | 1 |
19 | 2 |
20 | 3 |
21 | 4 |
22 | 6 |
23 | 5 |
24 | = |
25 | 9 |
26 | 7 |
27 | - |
28 | 8 |
29 | 0 |
30 | ] |
31 | O |
32 | U |
33 | [ |
34 | I |
35 | P |
36 | enter |
37 | L |
38 | J |
39 | ' |
40 | K |
41 | ; |
42 | \ |
43 | , |
44 | / |
45 | N |
46 | M |
47 | . |
48 | Tab |
49 | space |
50 | ` |
96 | F5 |
97 | F6 |
98 | F7 |
99 | F3 |
100 | F8 |
101 | F9 |
103 | F11 |
109 | F10 |
111 | F12 |
114 | ins |
115 | home |
116 | page up |
117 | del |
118 | F4 |
119 | end |
120 | F2 |
121 | page down |
122 | F1 |
123 | left |
124 | right |
125 | down |
126 | up |
The earliest version of Soundplant was written back in 1999 to fill what I saw as a gap in low budget sound software for the PC. It was inspired partly by legendary tracker programs such as Scream Tracker and Impulse Tracker which as a secondary function allow the user to play samples using the keyboard; by the single button professional samplers used in old-school rap; by a program that I saw on an Amiga years ago which had a similar function (and also worked with video); and by consumer level sampling keyboards. I intended to keep it simple so that all the user would need would be some good samples and some good ideas. For this project, I found Macromedia Director (later Adobe Director) to have the perfect combination of artist-friendliness and complex functionality through its programming languages Lingo and Javascript and extensibility with C++. Though originally intended as an experimental music-making tool, Soundplant's feature set has evolved over the years to meet the needs of DJs, sound designers, and audio technicians in applications such as radio, television, and theater.
This seventh proper release of Soundplant, v.47, was produced during 2017-18. It has the following major additions & improvements over previous release v.45:
A brief major version history of Soundplant:
Soundplant is available for new feature sponsorship or customization to meet your or your company's needs, for example, if you need a special extra function not offered in the public version, custom splash screen or interface design, specialized version for kiosk use, etc. Past Soundplant customization customers have included musicians, museums, theaters, retailers, schools, and audio engineers. Please send customization or feature sponsorship inquiries to soundplant@soundplant.org.
Soundplant programmed and designed by Marcel Blum;
Soundplant was written in Lingo and Javascript and uses C++ extensions by Antoine Schmitt, Valentin Schmidt, Gary Smith, Marmalade, Tabuleiro, and Stephan Eichhorn;
splash screen art by Jen Russo;
Soundplant uses FluidSynth, © Peter Hanappe et al., used under the GNU Lesser General Public License;
Soundplant includes a distribution of FFmpeg, © Fabrice Bellard et al., used under the GNU General Public License, source code available at the Soundplant website;
Soundplant uses vector icons designed by Keyamoon, Heydon Pickering, John Caserta, Dave Gandy, Ed Merritt, and Stephen Hutchings;
Feature sponsorship thanks to Nike, Man or Astro-man?, John Wingert, Jeremy Gold for Project KITT Jeep, Bob Wong/Audio Image Engineering Singapore, and Dan McGee;
Thanks also to Thirteen/WNET, Squeaky Wheel/Buffalo Media Resources, Ed Novick, Paul Pinto, John-Hans Melcher, Direct-L and the Adobe Director community, and everyone else who knows they deserve it!