Soundplant home page: http://www.soundplant.org
• Main Features
• System Requirements
• Quick Start
• Onscreen Keyboard
• Key Configuration Panel
• Key Function Toolbar
• Detailed Channels Meter
• Global Function Toolbar
• Other Usage Miscellany, Quirks, & Known Issues
Manually Editing .keymap Files
About / History
Soundplant Customization & Feature Sponsorship
Planned for Future Versions
Soundplant is a digital audio performance program that turns your computer keyboard (yes, your QWERTY keyboard) into a versatile, low latency, multitrack sample-triggering device and playable musical instrument, allowing the assignment of sound files of any format and size 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, to mix together tracks in realtime, as an educational aid, to trigger sound effects or background tracks during a show, to create music or loops, to sketch sound designs, or to 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, 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-and-drop, point-and-click 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, and its ultra-optimized use of the computer keyboard with lowest-possible latency requiring no extra hardware or MIDI.
- 72 keyboard keys can be used to trigger sounds, all with very low latency
- drag and drop sound files onto keyboard keys for quick and easy key assignment
- plays virtually all sound file formats in existence, including .wav, .aif, .mp3, .mp4, .m4a, .aac, .flac, .wma, .alac, .wv, .ogg, .snd, .ape, and many many more, even audio from video files like .wmv, .mov, .avi, .divx, .mpg, .flv, .3gp, etc.
- 'background key input' allows Soundplant to continue receiving key hits while minimized or hidden — trigger sounds with global hotkeys while using any other audio software, typing a document, or doing anything else in any other program
- *new* 32-bit floating point internal mixing for highest possible sound quality — this is the best-sounding Soundplant ever
- *new* capable of playing 256 sounds simultaneously, allowing for dense soundscapes and complex virtual instruments
- *new* sound output device selection
- *new* direct internal recording of Soundplant's output
- launch an unlimited number of Soundplant instances for even more flexibility to output to multiple audio devices, gain more 'banks' of sounds and greater polyphony, and record multiple tracks simultaneously
- realtime volume, panning, and pitch control for each key
- *new* realtime reverb, lowpass, resonance, and LFO effects for each key
- randomization settings on effects for richly varying the playback of sounds
- *new* up to 96 kHz output sample rate for ultra high fidelity
- intuitive visual interface displays full playback progress info for up to 12 tracks in detailed view, or switch to simple view for a smaller window with larger keys
- in addition to keyboard key triggering, Soundplant can also play sounds via mouse click, like a 'virtual cart machine'
- waveform display
- pitch adjust allows micro-tuning to the 100th of a semitone and a 10 octave range — plus, easily auto-assign the same sound to multiple keys at varying pitches to create playable instruments
- precise sound start and end offset control to the 100,000th of a second, more than most editors — plus, easily auto-splice pieces of a sound across multiple keys (for example, to extract individual drum sounds from a breakbeat loop)
- support for wav file cue points — easily set playback offsets to cue points defined in any audio editor
- customizable sound triggering, allowing for looping, overlapping, restarting, muting, pausing, and fading, controlled by secondary key press or *new* by key release
- onscreen keyboard keys are highlighted and animated as they play and can be color-coded and custom-labeled
- a true performance program that continues running even while configuring keys and loading and unloading sounds on the fly
- works identically on Windows or Mac
- saves and loads keyboard configurations as .keymap files, which are fully cross-platform compatible and can be easily transferred between different computers with the handy 'save keymap with sounds'
- includes several options for minimizing CPU and RAM usage for performance tuning so that it can run well even on older computers — Soundplant can give new life to that dusty old laptop you thought you'd never use again
Soundplant is not very demanding for basic use and can run on virtually any Windows or Mac computer made in the last 8+ years; for optimal performance, 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 1124px width and 667px height screen resolution is recommended.
The Windows version runs on Windows 8, 7, Vista, or XP sp2+; Vista or higher and 64-bit is recommended.
The Macintosh version runs on Mac OS X 10.6 Snow Leopard or higher.
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/44 kHz, compressed files (.mp3, .mp4, .flac, etc.), and audio from video files; recording; background key input; sound output device selection; and output sampling 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 keys in the onscreen display of the computer keyboard. Pressing any keyboard key will cause its assigned sound to play, and so will double-clicking the onscreen key. Hitting the same key with Shift held down stops the sound, and hitting Escape or Backspace (or big Delete on Mac) stops all playing sounds. Click any key to select it and set its options 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 ***, for those who want to just skim these instructions.
In detailed view mode, the default view, the Soundplant program window is divided into 4 main sections:
- the Onscreen Keyboard in the center
- the Key Configuration Panel on the bottom, containing controls for editing the behavior of each key, sound waveform display, sound properties information, and the Key Function Toolbar; all of these controls pertain to individual keys
- the Detailed Channels Meter on the right, displaying realtime sound channel use and playback progress
- the Global Function Toolbar along the top, containing buttons for global program functions such as keymap file operations and preferences; all of these buttons pertain to general program functionality and not to specific keys
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 a green glow while their assigned sound plays, which gradually lessens in relation to sound playback progress. 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 (the top-left-most key being F1 and the bottom-right-most key being the right arrow; the edit keys and the arrow keys serve as their own rows). 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 in the order that they are laid out. The Escape key is a universal silence key which stops all currently playing sounds (also, 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).
Key Configuration Panel
In the lower portion of the screen, key configuration options control how a key starts and stops (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:
- in detailed view, click any key on the keyboard
- in detailed view, click any active sound channel
- ***in detailed or simple view, hold down Control and press any key (if a Control+key combo is pressed while in simple view, Soundplant will automatically switch to detailed view to display the key's settings)
- key configurations can be cycled through by scrolling the mouse wheel
- key configurations can be set to display in response to key hits via the select key on key press option in the Preferences (off by default)
- if in simple view and the click key to play sound option is off in the Preferences, click any key to select it and automatically go into detailed view
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, the file's name, path, and sound properties are displayed, along with a visualization of its waveform.
A description of all key configuration options follows.
keymode and shift+mode 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. The 'shift+mode' controls the behavior of the key if pressed in conjunction with the Shift key, allowing the flexibility of an additional keymode function using 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 can support accurate detection of holding down many keys simultaneously.
- In sustain mode (default), Soundplant will simply trigger another overlapping instance of the sound in the mix. With hold down toggled on this behavior is no different, however it will prevent the key hit from automatically repeating if the key is kept depressed.
- In restart mode, Soundplant will stop the sound that was playing and restart the sound. With hold down on this behavior is no different, however it will prevent the key hit from automatically repeating if the key is kept depressed.
- In kill mode, Soundplant will stop the sound from playing. If multiple instances of the sound are playing, then 'kill' will successively stop the most recently triggered instance as it is pressed multiple times. 'kill' is the default 'shift+mode', meaning that holding down the Shift key and pressing any key will kill sounds triggered by that key. With hold down on, the sound is killed on release of the key.
- In mute mode, the sound will be muted, but remain occupying a sound channel and playing at zero volume; pressing the key again will un-mute the sound if it has not already finished playing. When a key is set to 'mute', it becomes a mute/un-mute toggle switch. With hold down on, the sound is muted on release of the key, such that the sound is only audible while the key is being pressed.
- In pause mode, the key becomes a pause/unpause toggle. As with 'mute', sounds that are paused continue to occupy a sound channel until killed. With hold down on, the sound is paused on release of the key, such that playback only progresses while the key is being pressed.
- The fade mode allows you to trigger fade ins and outs of the sound. If the sound is not playing, then pressing the key in 'fade' mode causes the sound to start playing from 0 volume and fade in to the currently set key volume; if the sound is already playing, then hitting the key fades out the sound from its current volume to 0. Precise fade in and out times can be set via the fade time controls. Use 'fade' in conjunction with other keymodes via the 'shift+mode' to start and stop sounds with and without fades as needed for maximum flexibility. For example, with Tab set to 'keymode':'kill' and 'shift+mode':'fade', hitting Tab will start its sound at full volume, and then Shift+Tab will fade it out. Or, starting the sound with a Shift+Tab will fade it in, and then pressing Tab without Shift will stop the sound immediately. You can also set the fade in or out time to 0 if, for example, you only want a fade out but no fade in, or vice-versa, without needing to use Shift. Turning on fade out to end gives the sound a dynamic fade out time based on its playback progress at the time that the fade out is triggered. With hold down on, pressing and holding the key initiates the fade in, and releasing the key initiates the fade out; this can be used to mimic traditional musical keyboard attack/release behavior. If the sound is already playing and in the middle of a fade out (whether from a key release with 'hold down' on, or from a secondary key press), pressing the key again will trigger an overlapping new instance of the sound fading in.
Sounds set to loop will do so ad infinitum until they are killed. If the sound has 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.
The channel priority setting enables fine tuning the manner in which sounds are killed automatically by Soundplant (e.g., aside from if the key has a 'kill' keymode and is explicitly killed). ***'low' priority sounds are automatically killed on the next sound trigger by any key (i.e., 'low' can be used to create or simulate monophonic or "single voice" instruments). Sounds set to 'norm' (default) will be automatically killed if Escape or Backspace is pressed. 'high' priority sounds will only be killed automatically if Escape is pressed. For example, you can set long background sounds to 'high' and short foreground sounds to 'norm' to ensure that you can use Backspace/Mac Delete to abruptly stop multiple foreground sounds as needed while avoiding eliminating the higher priority background track from the mix.
There are 7 realtime effects sliders which can be used in combination to tweak the sound or alter it beyond recognition, all non-destructively (effects are not permanently saved in the 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 (unlike in previous Soundplant versions, where a pan of -100% meant the right channel was inaudible). ***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. This is a "resample" pitch shift which effects 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 will be two octaves higher than, and 1/4 the duration of the same sound set to 0. 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. ***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. ***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 the 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 and, while the sound is playing, a white playhead indicating playback progress of the most recent trigger instance of the key. It 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 out of a track, or to 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 simultaneously). Define a start point and end point for the offset using the left and right sliders or adjust on a finer level using the arrow buttons along the bottom which allow setting to the 100,000th of a second. Click and drag the highlighted space between the two sliders to move both the start and end points simultaneously. Double-click the waveform to reset the offset selection back to the entire length of the sound. If the sound contains cue points saved with an audio editor, start cue and end cue controls appear 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 (which is essentially an mp3 with cue points). Though Soundplant enables finer control over offset points than many editors, using cue points saved in an external audio editing program can provide an easier way to set a complex array of precise offset points than Soundplant's handy but small waveform display. Offset settings are not realtime and only apply to the next trigger of the sound. ***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 Detailed Channels Meter to set the playhead to reflect that instance.
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, and all other interface elements are disabled until this prompt is closed. 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.
To the right of the filename is the sound properties display, showing the bit depth, sampling rate, file size, number of channels, and length of the assigned sound. The size of the sound displayed in MB is the uncompressed size (e.g. the actual size of the decompressed audio loaded in RAM).
Select a key color to define how the onscreen key appears by using the mini palette to the right of the displayed key name. Soundplant will automatically give a random color to each newly assigned key unless it had a previous color set.
Key Function Toolbar
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; the free version only loads .wav & .aif, 16-bit, uncompressed. You can select multiple sound files in this 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 in the Preferences. ***When a large sound is streamed from disk instead of loaded to RAM, realtime pitch shift 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 in a memory efficient manner (the target key will refer to the same 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.
multi-key pitch assign enables the memory efficient batch assignment of the sound at varying pitches onto multiple keys in 2 easy steps. This allows simulating a polyphonic instrument using just a single sample, as well as altering 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. Use this function take advantage of the precise microtuning features of Soundplant to discard the bias of western compositional technique and create your own custom scales. 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" of the chromatic scale). ***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 external audio editing program set in the Preferences 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.
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.
Detailed Channels Meter
At the right edge of the screen is the detailed sound channels meter, which gives a realtime indication of which sounds are playing including playback progress, total sound length, key name, and sound name. Soundplant is capable of playing up to 256 sounds simultaneously, however for practical reasons the amount of channels displayed onscreen is limited. Depending on the 'channels meter display mode' setting in the Preferences, the meter will display either 6 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 appear as space permits.
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. 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.
The channels meter can be interacted with in the following ways:
- click on the X button to instantly stop a channel's sound
- click on the dynamic time display to toggle between a time elapsed count up (default) and time remaining count down (casn also be permanently set in the Preferences)
- click anywhere else in an active sound channel to select that key for configuring; if there are multiple instances of the same sound currently playing, then clicking the sound channel also forces the play head in the waveform display to correspond to the clicked channel's instance
Global Function Toolbar
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 (which can be customized in the Preferences).
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 to speed up the loading of saved keymaps, as analyzing waveforms can take time especially on large files). 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, Soundplant will automatically search for files in the following additional locations if it can't find them in the originally stored location: 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. 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). If Soundplant can not find a file, it will prompt with an option to allow you to manually select the new location of the file (or a different file to load in its place). 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 42 can open older keymaps saved in all previous versions of Soundplant, however it saves keymaps in a newer format that can only be opened in version 40 or later.
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. See below for a detailed explanation of each option.
list keymap creates a temporary 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 that is displayed is written to a temporary location and will be deleted automatically, so if you want to save the file, you can 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, triggering multiple sounds with a single key, 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 at once by turning on background key input.
Soundplant home page directs your browser to soundplant.org where you can purchase a registration and find the latest version, news, free keymap downloads, and links to recommended software and hardware for use with Soundplant.
help documentation opens this user manual file.
about displays credits, copyright, and registration information.
The record 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 affect 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 setting in the Preferences. 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 also be toggled on and off by the keyboard shortcut Control+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 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). 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 (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. 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 Contol+Shift+Tab to immediately turn off 'background key input'. 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. '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). level is the volume level of the effect; the reverb unit's output level is independent of the master volume. room size is the simulated size of the room, where 0% is small and 100% is outer space. width is the spatial width of the reverb. damping is how much power is lost at each reverberation, where 0% is full reverberation and 100% is mostly lost. ***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.
master volume controls the master level of Soundplant's mixed output. When this setting is above 100%, realtime processed amplification occurs, which can result in distortion when playing sounds which are loud to begin with or when playing many sounds at once. ***This setting is saved in keymaps. Finer control with a wider slider is available when 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. Preferences are saved in a file named "Soundplant42.cfg", and if you ever need to reset the preferences, you can delete this file and it will be regenerated with the factory default settings on the next launch of Soundplant. On Windows, this file can be found in the user's Application Data folder in a subfolder named "Soundplant"; for example, on Windows 8 it would most commonly be found under C:\Users\[your user name]\AppData\Roaming\Soundplant. On Mac it is stored in the user's Application Support folder in a subfolder named "Soundplant", most commonly /Users/[your user name]/Library/Application Support/Soundplant.
external audio editing program is the application that Soundplant launches when you activate the 'launch editor' function in the key configuration panel. Click to choose an executable file (or a shortcut/alias to it).
The keymap files default folder is the location that opens when you click 'open keymap' or 'save keymap'. Click to choose the folder.
The sound files default folder is the location that opens when you click 'open sound'. Click to choose the folder.
The save recordings default folder is the location that opens when you click the record button to end a recording session and save the output file. Click to choose the folder.
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 or devices with multiple output channels. Only devices with standard system sound drivers appear in this menu; ASIO-only devices are not supported. The majority of audio interfaces available today include standard system drivers, and those that do not often offer downloadable drivers on the manufacturer's web site. 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. 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 allows fine tuning latency. On Mac, this setting can usually be left at the lowest value of 64, but it has more significance on Windows. 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 high sampling rates). ***On Windows, 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 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 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 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 smoother animations but can use more cpu than medium, especially on older/slower computers and when playing many sounds simultaneously.
time progress 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 glow animation 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. However turning it off can reduce cpu usage and increase performance, especially on older/slower computers. When off, keys still light up with a green glow when playing, but are not animated.
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.
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, especially on older/slower computers when rapidly pressing many keys in succession; 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.
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, a single click will suffice. 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.
Clicking save current key's configuration as default stores the currently selected key's configuration as the overall default key configuration, meaning the key configuration that automatically applies to all currently empty keys, or all keys in a new keymap, or when clicking the 'reset key' button, 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 current key's configuration 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, offsets, and of course sound file. To set more complex empty keymap configurations with different sets of keys having different preset configurations, consider saving an empty keymap template. ***Holding down shift while clicking this button restores the default key setting to Soundplant's original factory defaults. Also note that clicking this button immediately sets the default key for the remainder of the current session of Soundplant even if you don't hit the 'Apply' button. This can be useful if you need to temporarily change your default key settings.
memory usage adjusts how Soundplant manages RAM. Under the default setting, maximize for best performance, 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. In low memory situations or when loading very large sounds that are impractical to fit in RAM, Soundplant will automatically stream 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 realtime pitchshift and sustain keymode disabled due to performance limitations, 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 'out of memory' error messages, activate the don't load to RAM sounds larger than... setting. Here you can fine tune the 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 must decompress 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.
The background key input section adjusts behavior related to the that 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. When foreground window on sound trigger 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.
The Windows-only low cpu mode forces Soundplant to use less cpu at the expense of latency; it is off by default. This can be useful when running on an older/slower computer to help tune performance or to reduce battery drain if running on an unplugged device. On newer/faster computers with plenty of processing power to spare this setting usually has no noticeable effect.
The Mac-only overdrive mode forces Soundplant to use more cpu in order to reduce latency; it is off by default. The performance gain from turning this on is usually only slight but may be desirable for users aiming to shave off every last millisecond of latency for fastest possible triggering. However, it will only have a beneficial effect on performance on newer/faster Macs, and on slower Macs turning this on can even impede performance in certain situations because it can hog the cpu. Use with care. Soundplant must be restarted for this change to take effect.
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. This button no longer appears once the program is registered.
apply saves the current Preferences and closes the panel. If any 'audio output' settings have been modified 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. cancel discards any modified settings and closes the panel.
Other Usage Miscellany, Quirks, & Known Issues
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 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 realizable 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 automatically 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 can use a program like Virtual Audio Cable on Windows or Jack or Soundflower on Mac to reroute Soundplant's audio into another program's input for realtime effects processing in programs like Max, Audiomulch, etc.
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 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.
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. 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", 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. A high quality keyboard 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 3rd party 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, GlovePIE, or OSCulator to convert MIDI device 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 (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, 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 limitation in Soundplant's use of 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.
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 Mac it's very 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 Windows it can be harder to locate the setting to change this because the configuration depends on the manufacturer. Often 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.
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 (especially helpful for slower computers, but also for those who want the best possible Soundplant performance for the most demanding applications such as millisecond-accurate drum pad use): run Soundplant in simple view mode and do not maximize the Soundplant window or manually resize it to a custom size, or if you must run in detailed view mode then set the 'channels meter display mode' to '6 large meters'; keep 'select key on key press' off; keep 'background key input' off; keep 'memory usage' set to 'maximize for best performance'; keep the 'sampling rate' setting at the lowest acceptable quality; set the 'buffer size' to the lowest value at which audio output does not glitch; set the 'refresh rate' to 'medium'; turn 'key glow animation' off; on Mac, try experimenting with turning on 'overdrive mode' if your computer can handle it; on Windows, keep 'low cpu mode' off; and of course, use as fast a computer as possible!
Thus concludes the primary usage instructions. Please send all bug reports, questions, problems, comments, suggestions, criticisms, reactions, etc. to soundplant [at] 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 containing newer info than this document, and some free keymap downloads at http://www.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:
- you have an unlimited universe of sounds available to you; use a healthy mix of found sounds, real instruments, synthesized instruments, processed sounds, full length tracks, single notes, chords, phrases, melodies, effects, loops, voice, ambiance, field recordings, plundered music/media, etc...
- experiment heavily with the multi-key pitch and offset assign functions; when pitch assigning, create custom scales to invent new chords and note relationships; use multi-key offset assign with long sounds to create new, shorter sounds
- experiment with the randomization settings; use big random ranges to create wild variations in your sounds, or use very small ranges to make subtle variations in samples that will be triggered many times in succession, for example to make a snare or high hat sound sound a little more lifelike and realistic when it is overlapped repeatedly on itself
- create entire keymaps based around a single sample multi-key-assigned or copied onto multiple keys with varying settings
- assign the same or similar sounds with different effects at different keys; employ techniques of slight variation to make your keymap a unique playable instrument
- take advantage of running multiple simultaneous instances of Soundplant with 'background key input' on to trigger multiple sounds from different instances at once; or, have each instance output to a different audio device, with different keymaps using only certain keys to enable some keys outputting to one device and other keys outputting to another
- use the record function in combination with multiple Soundplant instances to record multiple tracks at once, or to exclude certain sounds from the recording if desired; use the Control+Shift+R recording shortcut in combination with 'background key input' to make all instances begin recording simultaneously to generate synced multitrack recordings.
- use with drum sounds and beat fragments to create a drum pad and manually create beats or drum loops, or add a drum track to another track
- make new beats out of old ones by extracting drum sounds using the multi-key offset assign function; 'amenize' your beats in realtime
- use samples that are timed to loop in sync with each other (for example, use a sequencer to export tracks as individual files) in conjunction with the mute, pause, and fade modes and realtime volume and panning to bring in and out each track, mixing the song in realtime
- take advantage of the option to configure keys and alter sounds while playing them
- use the 'shift+mode' setting to vary playback without having to reconfigure a key
- utilize the 'low' channel priority setting to create more lifelike sounding instruments, for example when playing drumkit sounds setting an open hi-hat sound to 'low' can give a more realistic behavior so that it is immediately killed on the next drum hit
- control in realtime the 'time stretch' effect found in audio editors using multi-key offset across many keys in conjunction with loop and low channel priority (i.e., you will then be looping very small portions of the sound, which is what 'time stretching' does to create the illusion of elongating sounds)
- add live 'solo' tracks to otherwise pre-programmed songs, such as those created with sequencing software
- use the memory efficient copy function to endlessly duplicate your sounds onto other keys to create varying effects and to allow the playing percussive samples more rapidly (for example, to simulate drum rolls)
- think of Soundplant as a digital instrument; abandon all established notions of pre-digital music and scales, tonal systems, harmonics, instrumentation, etc; listen to Harry Partch and Pierre Schaeffer for inspiration...
- for practicing your computer keyboard playing skills, play old school arcade games like those available in MAME
Manually Editing .keymap Files
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 TextEdit) 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 key's fade lengths or sound file names, especially in conjunction with advanced find-and-replace or text processing tools. Also, some visually impaired users have found it easier to edit keymaps in this manner.
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 #. The property for changing file paths is #fname, which defines the path 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. For example, 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 HFS paths with the colon character as the delimiter, not slash as in Unix paths). 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 #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, and #lforealtime. Key properties have 4 different types of possible values: integers (whole numbers with no decimal point), floats (fractional numbers with a decimal point), strings (chunk of text enclosed in quotes), and nested lists (a 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. 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 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).
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
About / History
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. I am more of a multimedia artisan than a computer scientist; for this project, I found Macromedia Director (now Adobe Director) to have the perfect combination of artist-friendliness and complex functionality through its programming language Lingo. Though originally intended as an experimental music-making tool, Soundplant's feature set has evolved over the years to also meet the needs of DJs, sound designers, and audio technicians in applications such as radio, television, and stage performance.
The first public release of Soundplant, version beta 12, was produced in 1999 in Buffalo, New York, USA. The second public release version 26 was produced between 2001 and 2002 in Brooklyn, New York, USA. The third public release version 39 was produced during 2009-10 in Staten Island, New York, USA. This fourth public release version 42 was produced during 2012-14. It has the following major additions & improvements over version 39:
- 32-bit floating point internal sound mixing adjustable to up to 96 kHz for highest possible sound output quality, making this the best sounding Soundplant ever
- 256 sounds can be played simultaneously, with up to 12 channels of playback progress displayed in detailed view mode
- sound output device selection
- reverb, lowpass, resonance, and lfo realtime effects
- direct internal recording of Soundplant's output
- completely overhauled sound mixing engine now uses the great and lightweight FluidSynth, a solid and battle-tested open source sound engine enabling many of the above improvements
- 'hold down' mode allows precise control over key releases
- redesigned interface with more room for sound names, an enlarged waveform display, and vector graphics for better window stretching
- key labels text size setting
- customizable key label text
- 'buffer size', 'interface refresh rate', and 'key glow animation' settings for performance tuning
- 'background key input startup state' setting
- 'foreground window on sound trigger' setting
- added an 'only on sound trigger' option to the 'select key on key press' setting
- added a 'locate file…' option to the alert that appears when loading a keymap and the sound file can't be found in its original location, and improved automatic searching for sound files when loading keymaps
- 'reload sound from disk' button
- improved master volume control offering up to 200% processed amplification
- finer individual key pan and volume control and better, smoother fades
- smoother realtime pitch shift
- onscreen keyboard layout changed to match the now more common layout with smaller return key and backslash on the row above it
- RAM or disk loading option for each key no longer available, this is now handled automatically to take advantage of modern system capabilities with more RAM
- fade in and out times can be set to 0 to more easily have a key that only fades in or only fades out
- 64-bit optimizations have been included for systems which support it, speeding up sound loading especially for compressed sounds
- improved support for surround sound files containing greater than 2 channels (Soundplant can now play them, but only as mixed down to 2 channels)
- increased the 'recent keymaps' dropdown list size to 25 keymaps
Soundplant Customization & Feature Sponsorship
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 schools, museums, musicians, theaters, retailers, and audio engineers. Please send customization or feature sponsorship inquiries to soundplant [at] soundplant.org.
Planned for Future Versions
- improved support for having multiple keymaps open simultaneously and outputting to multiple sound devices at once, whether by allowing multiple open keymap "banks" in a single instance via a tabbed display with each configurable to output to a different device, or better interconnection and organizability of multiple running instances, or making output device settable at the key level
- ability to select multiple keys at once for batch modification
- drag and drop to move key assignments around on the keyboard from one key to another
- ASIO support on Windows for improved performance on audio interfaces which provide better ASIO drivers than standard system drivers or for multi-output interfaces which only allow access to certain output channels via ASIO
- better support for non-USA keyboard layouts especially AZERTY
- customizable onscreen keyboard layouts to better match the infinite variety of keyboard layouts or custom devices
- queue/'wait in line' feature that allows queuing up multiple sounds to be played in sequence, and/or support for playlist files
- more realtime effects
- a sweep mode for effects to use instead of realtime or random that auto adjusts the effect up and down while playing
- more detailed waveform display with zooming
- interactive help system and tutorials, ideally in multiple languages
- improved offset assign using audio data to auto detect the start and stop position of multiple sound events within a larger sound
- log function to generate a list of played sounds and their timings
- more control over customizing the formatting of 'list keymap'
Soundplant programmed and designed by Marcel Blum;
Soundplant was developed in Lingo with Adobe Director 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;
Thanks also to Thirteen/WNET, Squeaky Wheel/Buffalo Media Resources, Bob Wong/Audio Image Engineering, Jeremy Gold, Man or Astro-man?, Ed Novick, Paul Pinto, John-Hans Melcher, Direct-L and the Adobe Director community, and everyone else who knows they deserve it!
November 1, 2014
© Marcel Blum
Stapleton, Staten Island, New York, United States Of America
Soundplant is a registered trademark of Marcel Blum