Soundplant 50.7
User Manual

Soundplant home: https://soundplant.org


Introduction:

Usage Instructions:

Contact

Usage Hints

Manually Editing .keymap Files

About / Release History

Soundplant Customization & Feature Sponsorship

Planned for Future Versions

Credits







Introduction

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 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 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.


v.50.7 System Requirements

The Windows version runs on minimum Windows 7 or higher, 64-bit required

The Macintosh version runs on minimum macOS 10.13 High Sierra or higher & natively supports Apple Silicon & Intel

For best performance, a computer from 2016 or later with a 4+ thread CPU, 8+GB RAM, & a dedicated GPU is recommended; for basic use, Soundplant can run on most computers made in the last 10+ years, but on older/slower machines you may have to turn down some settings. Your built-in cheapo soundcard will work fine, and so will any professional quality audio interface. For optimal display, minimum 1280×720 screen resolution is recommended.


Licensing

Soundplant is independently produced software distributed as free for non-commercial use, with a 25-launch trial of the registered version features. 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). The 25-launch trial 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 Single User License permits one person to run Soundplant on multiple Windows and Mac computers. For organizations, Soundplant offers multiuser and unlimited user licensing options.

The registered (paid licensed) version permits unlimited use of the following pro features:







Usage Instructions


Quick Start

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 play its assigned sound, and so will double clicking the onscreen key. In the default configuration, hitting Shift + the same key 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 in the Global Function Toolbar 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 the default detailed view mode, the Soundplant window is divided into 5 main sections:

  1. the Onscreen Keyboard in the center
  2. the Key Configuration Panel on the bottom, with controls for editing the behavior of each key, the sound waveform, and sound properties information; all of these controls pertain to individual keys
  3. the Key Function Toolbar within the Key Configuration Panel, with key-specific functions
  4. the Channels Meter on the right, displaying realtime sound channel use and playback progress
  5. 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



Onscreen Keyboard

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 white 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 under Preferences ➔ interface ➔ animated key glow to force it to display a fixed highlight while playing instead of an animated one. Keys that are queued or paused have a pause icon; keys that are looping have an infinity icon. Keys show a thin yellow border while they are pressed which disappears when released.

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 at once, 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. Keys can also be dragged from one Soundplant window to another.

There are 3 collapsible-expandable keyboard sections, divided into main keys (all main numbers & letters), navigation keys (Home/End/arrows/etc.), and numpad (the numeric keypad). Sections can be collapsed by clicking on the blue minimize button that appears in the upper right corner of each section when hovered over (see pic). At least one section must remain expanded at any time. If the navigation keys are collapsed but the main keys remain open, the arrow keys slide over to the main keyboard area, as on most laptops layouts.

While in the default detailed view mode, a single click to any key brings up its settings in the Key Configuration Panel, and a double click to any assigned key plays its sound; in 'simple' or 'info' view, a single click plays its sound, and a mouseup simulates a key release. A double click to any unassigned key opens an open sound dialog.

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 Backspace/Mac Delete key has a similar silence function but can be configured to have a more finely targeted functionality in conjunction with the channel priority and fade settings, and it won't kill sounds that are queued. By default Ctrl+Shift+Backspace (Windows)/Ctrl+Shift+Delete (Mac) performs a fade out all that initiates a fade out in all currently playing sounds using the fade out length set in each key's fade time. This behavior can be changed under Preferences ➔ miscellany ➔ Backspace/Delete function.




Key Configuration Panel

In the lower portion of the screen, key configuration options control how a key starts and kills sounds, realtime effects can be set, MIDI triggers can be assigned, and information about the sound is displayed, including a visualization of its waveform. Each of the 88 assignable keyboard keys can have its own unique configuration. Key configurations can only be modified while in the default detailed view mode.

Selecting Keys

To select a key for configuration, do any of the following while in '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, 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 at 32-bit depth. Soundplant, unlike typical media players, decompresses sounds in their entirety on loading rather than during playback, allowing for lowest latency and best quality.

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, where a green play button will appear on mouse hover (see pic); 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 pressing 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 or invisible until they are adjusted 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 have a contrasting color until clicked to make the settings identical.

Key Settings

A custom key label can be set by clicking on the large sound file name text. A cursor will appear allowing editing the label; Soundplant will ignore sound triggers while typing into this field. 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. Only a key with a sound file assigned or a playlist can have a custom label.

Clicking full sound file path text beneath the large key label opens a new window in Explorer/Finder to the containing folder of the sound file.

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.

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, or start from one point but loop from another point, instead of using this infinite loop function create a playlist.

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 keys Escape and Backspace/Mac Delete, and it can be used to set specific keys to kill other keys. It has the following options:

If limit 1 play is on, the sound will only be permitted to play once per session. Once the sound ends (whether on its own or manually killed), subsequent presses to the key have no effect. But while it is playing, keymode functions can still be triggered using the key, for example it can be paused, killed, faded, etc. as per its keymode. When the key reaches "finished playing once" status, the onscreen key appears dimmed out, though it is still selectable and editable. Its "finished playing" status can be reset by turning off 'limit 1 play', or reloading the keymap, or: Key combo Ctrl+Shift+1 resets the "finished playing" status of all 'limit 1 play' keys at once, so they can be played again. 'limit 1 play' is ignored while in zoom waveform view to allow playing repeatedly while fine tuning offset points.

Realtime Effects

There are 7 realtime effects units 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 more intended for low latency sound triggering than serious DSP use, but offers this balanced selection of relatively cpu-light filters to modify and tune sound without harming latency (when used in moderation). Effect labels are highlighted to indicate whether they are active or not; when turned on, an effect is a part of the sound's realtime processing graph and is actively using computer resources, which can effect latency and sound quality if used heavily on many keys at once, especially at high output sample rates. In addition to clicking and dragging, effect knobs can be modified by using a mousewheel or trackpad scroll while hovering over the knob. Holding down Shift while adjusting any knob enables high precision adjust mode allowing smaller fractional value increments.

Most effects are computed uniquely per-key, which allows infinite possibilities for sound design but also means that turning on a lot of different effects on a lot of different keys can quickly multiply the CPU resources required and potentially lead to audio glitches especially on slower computers. Volume, pan, and pitch speed are all computationally negligible, but other effects can require more intensive processing. The processing graph starts with the volume gain unit as the base sound emitter, which is connected to all other units in a chain ending at reverb. Since reverb is the most cpu-expensive effect, reverb processors are paraphonically shared between keys for efficiency. The effects chain is routed in the following order:

┌─────────┐ ┌──────┐ ┌────┐ ┌────────────────┐ ┌───────────┐ ┌─────────┐ ┌──────────┐ ┌────────────┐ ┌──────────────┐ ┌──────────┐ │dry sound├─►volume├─►pan*├─►processed pitch*├─►distortion*├─►ring mod*├─►eq/filter*├─►reverb send*├─►shared reverb*├─►master out│ └─────────┘ └──────┘ └────┘ └────────────────┘ └───────────┘ └─────────┘ └──────────┘ └────────────┘ └──────────────┘ └──────────┘ *if active

So in a typical Soundplant session, with sounds assigned to the Q and W keys and several instances of both the Q and W sounds playing at once, the realtime effects graph would look like this, with each key's unique effects paraphonically shared by the different instances of each key's sound, and then all keys paraphonically sharing reverb (provided they are all using the same reverb impulse response type):

┌──────────┐ │ Q key │ │ sound ├──┐ │instance 1│ │ ├──────────┤ │ │ Q key │ ┌▼─────┐ ┌────┐ ┌────────────────┐ ┌───────────┐ ┌─────────┐ ┌──────────┐ ┌────────────┐ │ sound ├─►volume├─►pan*├─►processed pitch*├─►distortion*├─►ring mod*├─►eq/filter*├─►reverb send*├─┐ │instance 2│ └▲─────┘ └────┘ └────────────────┘ └───────────┘ └─────────┘ └──────────┘ └────────────┘ │ ├──────────┤ │ │ │ Q key │ │ │ │ sound ├──┘ │ │instance 3│ │ └──────────┘ ┌▼─────────────┐ ┌──────────┐ │shared reverb*├─►master out│ ┌──────────┐ └▲─────────────┘ └──────────┘ │ W key │ │ │ sound ├──┐ │ │instance 1│ │ │ ├──────────┤ │ │ │ W key │ ┌▼─────┐ ┌────┐ ┌────────────────┐ ┌───────────┐ ┌─────────┐ ┌──────────┐ ┌────────────┐ │ │ sound ├─►volume├─►pan*├─►processed pitch*├─►distortion*├─►ring mod*├─►eq/filter*├─►reverb send*├─┘ │instance 2│ └▲─────┘ └────┘ └────────────────┘ └───────────┘ └─────────┘ └──────────┘ └────────────┘ ├──────────┤ │ │ W key │ │ │ sound ├──┘ │instance 3│ └──────────┘ *if active

Randomizing Effects

Each effect knob has a randomize button to toggle its random mode. This powerful feature allows setting a value range along the knob 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 knob. Adjust both boundaries simultaneously while maintaining range size by clicking and dragging from the center of the knob or using the mousewheel or trackpad scroll. Double click any randomized knob to set the random value range to the maximum range. With great power comes great responsibility! When randomization is on, multiple playing instances of the same key's sound can no longer paraphonically share the same effect processors between each instance. This applies to the randomized effect unit and all effect units behind that effect in the chain so that each playing instance maintains its own unique effects processing path. This enables richer sound variation, but can lead to greater cpu demands and, in intensive scenarios (like when playing dozens of sounds at once) and on slower computers, a higher chance of audio glitching unless latency settings are increased, because of the potential exponential increase in processing demands. Drawing from the example above, if each key Q and W have randomized ring mod effects, the processing needs inflate for almost every effect along the chain:

┌──────────┐ ┌──────────┐ ┌────────┐ ┌────────┐ ┌────────────────┐ ┌───────────┐ │instance │ │ Q key │ │instance│ │instance│ │instance │ │instance │ │randomized│ │ sound ├─►volume ├─►pan* ├─►processed pitch*├─►distortion*├─►ring mod ├──┐ │instance 1│ └────────┘ └────────┘ └────────────────┘ └───────────┘ └──────────┘ │ └──────────┘ │ ┌──────────┐ │ ┌──────────┐ ┌────────┐ ┌────────┐ ┌────────────────┐ ┌───────────┐ │instance │ ┌▼─────────┐ ┌────────────┐ │ Q key │ │instance│ │instance│ │instance │ │instance │ │randomized│ │key shared│ │key shared │ │ sound ├─►volume ├─►pan* ├─►processed pitch*├─►distortion*├─►ring mod ├─►eq/filter*├─►reverb send*├─┐ │instance 2│ └────────┘ └────────┘ └────────────────┘ └───────────┘ └──────────┘ └▲─────────┘ └────────────┘ │ └──────────┘ │ │ ┌──────────┐ │ │ ┌──────────┐ ┌────────┐ ┌────────┐ ┌────────────────┐ ┌───────────┐ │instance │ │ │ │ Q key │ │instance│ │instance│ │instance │ │instance │ │randomized│ │ │ │ sound ├─►volume ├─►pan* ├─►processed pitch*├─►distortion*├─►ring mod ├──┘ │ │instance 3│ └────────┘ └────────┘ └────────────────┘ └───────────┘ └──────────┘ │ └──────────┘ ┌▼─────────────┐ ┌──────────┐ │shared reverb*├─►master out│ └▲─────────────┘ └──────────┘ ┌──────────┐ │ ┌──────────┐ ┌────────┐ ┌────────┐ ┌────────────────┐ ┌───────────┐ │instance │ │ │ W key │ │instance│ │instance│ │instance │ │instance │ │randomized│ │ │ sound ├─►volume ├─►pan* ├─►processed pitch*├─►distortion*├─►ring mod ├──┐ │ │instance 1│ └────────┘ └────────┘ └────────────────┘ └───────────┘ └──────────┘ │ │ └──────────┘ │ │ ┌──────────┐ │ │ ┌──────────┐ ┌────────┐ ┌────────┐ ┌────────────────┐ ┌───────────┐ │instance │ ┌▼─────────┐ ┌────────────┐ │ │ W key │ │instance│ │instance│ │instance │ │instance │ │randomized│ │key shared│ │key shared │ │ │ sound ├─►volume ├─►pan* ├─►processed pitch*├─►distortion*├─►ring mod ├─►eq/filter*├─►reverb send*├─┘ │instance 2│ └────────┘ └────────┘ └────────────────┘ └───────────┘ └──────────┘ └▲─────────┘ └────────────┘ └──────────┘ │ ┌──────────┐ │ ┌──────────┐ ┌────────┐ ┌────────┐ ┌────────────────┐ ┌───────────┐ │instance │ │ │ W key │ │instance│ │instance│ │instance │ │instance │ │randomized│ │ │ sound ├─►volume ├─►pan* ├─►processed pitch*├─►distortion*├─►ring mod ├──┘ │instance 3│ └────────┘ └────────┘ └────────────────┘ └───────────┘ └──────────┘ └──────────┘ *if active

As you can see, we went from 7 potential effects processing nodes for each of 2 keys for 14 total processors in the chain, to 17 potential nodes per key for a total of 34 processors. And if eq or reverb wet were randomized also then those nodes would have to be multiplied as well because they could no longer be shared by the concurrent instances of the same key. This is not to discourage use of Soundplant's effects capabilities - by all means go nuts and create some awesome sounds! - but knowledge of these effects routing implications of randomization and multiple sound instances can help diagnose latency bottlenecks and enable more judicious use of effects when processing limits are hit up against.

The following effects are available and separately configurable for each key:

volume sets the sound's amplitude level. This volume control uses processed amplification at values above 100%, which can be helpful for quiet sounds but can lead to distortion. Note that volume is the one effect unit that is always on/active. When other effects are active, the volume controls the base input gain of the dry unprocessed sound into the rest of the effects chain. Double clicking the knob while not randomized sets the volume to 100%.

pan sets the sound's location in stereo space, implemented as a "true pan" in which 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 knob while not randomized resets the pan to 0%.

pitch+time offers different ways to adjust the pitch of the sound in semitones, with precision to the cent or 100th of a semitone enabling microtonal accuracy if Shift+drag is used. Both speed and processed can be used in combination to change the tempo of the sound without altering pitch, either automatically via the lock pitch toggle or manually (for example, to lower the speed by 20% while maintaining the original pitch, lower the speed knob to -3.85 semitones and raise the processed knob by the opposite amount to +3.85 semitones to compensate). Double clicking either knob while not randomized resets its value to 0.

The filter unit allows suppressing or emphasizing different frequencies of the sound and contains 3 effect options:

distortion processes the sound with a Chebyshev waveshaper algorithm. The distortion knob adjusts the seed number used to generate the Chebyshev polynomial. Different values can create widely varying effects but generally the higher the setting, the greater the frequency range that is effected, and the more noise is produced; also, even and odd values affect the sound in different ways. wet adjusts the mix between processed and unprocessed sound that is output by the unit, such that at 0% the effect is inactive, and at 100% only the processed version of the audio can be heard. Double clicking the wet knob while not randomized has a different function depending on the state of the knob; if it was inactive (0%), double clicking sets it to 50% thus activating the effect, or if it was greater than 0% double clicking sets it to 0% deactivating it.

ring mod processes the sound with a frequency shifting ring modulator, shifting all frequencies by an equal amount, destroying the harmonic relationship between them. The ring mod knob adjusts the frequency of the modulator. wet adjusts the mix between processed and unprocessed sound that is output by the unit, such that at 0% the effect is inactive, and at 100% only the processed version of the audio can be heard. Beware, ring mod can be particularly computationally expensive when active on many sounds at once. When using randomization on this effect, it can be much less cpu-heavy to only randomize the wet knob because then all instances of the key's sound can paraphonically share a single unrandomized ring mod processor while having individually randomized effect send gains. Double clicking the wet knob while not randomized has a different function depending on the state of the knob; if it was inactive (0%), double clicking sets it to 50% thus activating the effect, or if it was greater than 0% double clicking sets it to 0% deactivating it.

convolution reverb is the final effects unit in each key's processing chain. This type of reverb processing uses prerecorded impulse responses modeling the reverberation characteristics of a real or simulated environment, yielding a wide array of reverb, echo, and tone-shaping effects. Soundplant includes 31 preset impulse responses to choose from, some synthesized and some from public domain recordings of real spaces; in the menu they are sorted by their length which determines how long of a reverb tail they create, or how long they stretch out the source signal. Soundplant also enables supplying your own custom impulse response file to add to the list by clicking open sound... from the impulse response menu (many free IRs and synthetic IR generators can be found on the web). Impulse responses are typically recordings of a brief decaying impulse (such as a sine wav or hand clap) in an enclosed space, but can also be generated from any audio file to produce unique and interesting results (for example, try modulating a piano playing a melody by using as an IR a recording of strings playing a similar melody). Custom provided impulse response file references are saved in the Soundplant .keymap. In addition to the echo and decay found in typical reverbs, convolution reverb can affect sound tone as it allows simulating complex textures and the unique ways sound bounces off of different materials like wood or metal. wet adjusts the mix between processed and unprocessed sound that is heard, such that at 0% the effect is inactive, and at 100% only the processed version of the audio can be heard. Because reverb can be very computationally expensive, in Soundplant the convolution reverb units are paraphonically shared among all keys for efficiency. This means that having multiple keys with reverb active does not increase CPU usage as long as each key is using the same impulse response. CPU usage is only increased with each key that uses a different impulse response. This also means that the wet knob works in a subtly different way than other effect wet controls in that it essentially controls the send of the dry sound to the globally shared reverb unit and the amount that the dry sound bypasses the unit. Other factors affecting the degree of reverb CPU usage are the length of the impulse response (longer = more CPU) and the overall sample rate set via Preferences ➔ audio ➔ sample rate (higher = more CPU). Note that since reverb adds a tail to the sound, killing a playing sound that has reverb active can mean that audio will continue to be audible several seconds after the source sound ends (depending on the length of the selected impulse response). Double clicking the wet knob while not randomized has a different function depending on the state of the knob; if it was inactive (0%), double clicking sets it to 50% thus activating the effect, or if it was greater than 0% double clicking sets it to 0% deactivating it.

Waveform & Offsets

The waveform display at bottom shows an overview of the sound's waveform. While the sound is playing, a moving 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. 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 slice multi-key function for a quick automated 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 with finer control down to the individual sample level. Offset changes are applied in realtime allowing start and end points to be adjusted while playing the sound, especially handy when adjusting loop points. Along the bottom of the waveform, the start offset and end offset positions are shown; note that these value are relative to the duration of the sound at its default normal speed and won't reflect any speed changes made with pitch shift. Double click the waveform to reset the offset selection back to the entire length of the sound.

zoom 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, with separate waveforms for each channels if the sound is stereo:

In zoom view, the small waveform along the bottom of the screen becomes a thumbnail for viewing the larger version of the waveform above. You can zoom in and out by using the mouse scroll wheel or by clicking the zoom buttons detailed below. Offset start and end points are represented by draggable boundaries positioned over the large waveform and duplicated underneath over the thumbnail waveform. When zoomed in, a scrollable slider appears over the thumbnail indicating the currently visible area of the large waveform section. Along the bottom, in addition to the start offset and end offset position values, the length in seconds of the current viewable area, and the total offset selection length are displayed; as with the displayed offset positions, these values are relative to the duration of the sound at its default normal speed and don't reflect any speed changes made with pitch shift. Note that very short sounds less than 1/4 second in length can not be zoomed into due to lack of enough waveform data to display. 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 pressing the assigned keyboard 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'.

The following function buttons are available in zoom view:




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 384 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. With compressed sound files, Soundplant decompresses them to RAM on loading for lowest latency and best quality, rather than decompressing while playing like most players; this means that uncompressed wav files tend to load faster than compressed mp3/mp4/flac/etc. 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 assign the same sound to multiple keys, Soundplant will automatically do this in a memory efficient manner keeping only 1 copy of the sound in memory. Pressing Ctrl+ any assignable key twice in a row also opens the 'open sound' dialog. Double clicking any unassigned key also opens the open sound dialog. The free version only loads .wav, 16-bit, uncompressed files.

reset key reverts the key's settings back to its initial blank unassigned state with the default empty key configuration, and, if the key had a sound assigned, unloads the sound from memory (unless the same sound file is also being used by another key).

copy multi-key... duplicates the key's settings onto a set of adjacent keys. Activating the copy function will temporarily disable all other buttons and prompt to select target keys on the onscreen keyboard. Mousing over the onscreen keyboard will highlight sets of keys next to the current key to enable making a selection. Only unassigned keys can be selected as targets. Alternatively to using this function, a key can be copied to another 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.

pitch assign multi-key... enables the 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 a single sample with a designated range of pitches. Clicking this button will temporarily disable all other buttons aside from the pitch shift panel and prompt to select a group of adjacent unassigned keys. 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 during this step before selecting the key group. Clicking on the keyboard to select the key group will then prompt to set the end pitch for the batch. You can select the speed or processed pitch shift knob. An unmovable marker on the pitch knob shows the range's start pitch, and you can drag the knob to set the end pitch. 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 duplicate the start key's configuration onto 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.

slice multi-key... enables the easy cutting up of a sound across multiple keys by auto-setting offsets. 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 the button will temporarily disable all other buttons 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 the waveform below graphically reflects the positioning of the resulting offsets. Clicking on the keyboard will apply the key group selection and duplicate the key's configuration to all selected keys with the specified offset variations to divide pieces of the sound across the selected keys. This function offers 3 different slicing methods for choosing how to chop up the sound:

launch editor is for the editing of audio files in an external editing program. As Soundplant is non-destructive, with effects that favor fast realtime processing over highest quality, you may find that work will sometimes need to be done in a dedicated audio editor or DAW in order to fine tune and add permanent higher quality effects to your sound files. The 'launch editor' button will open the application set as the Preferences ➔ miscellany ➔ audio editor and attempt to make it load the key's assigned sound file (if a sound has been assigned). If no editor program has yet been chosen, it will first prompt you to select one. The first time you return to Soundplant from the editing program, Soundplant will check if the sound file has been modified and if yes, automatically reload the modified sound; 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. When reloading the sound, all key configuration settings will remain in place, but note that if you changed the length of the sound, offset settings may need to be adjusted manually. If you save changes to the sound in your editor after returning to the Soundplant window for the first time after launching the editor, Soundplant will no longer automatically check for modifications to reload, but you can use the reload sound button. Holding down shift while clicking this button allows selecting a different audio editor if one had already been previously set (a shortcut for changing the editor setting without having to open the Preferences).

reload sound manually forces reloading the sound file, for example if you have made 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'. 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 loaded sound data.


record from input opens the input recording panel allowing recording from any audio input source on your computer (whether a microphone, a line in, or your Stereo Mix/What U Hear for sampling from a streaming player or browser):

Soundplant's input record function is designed for flexible live recording on the fly while continuing to use Soundplant for triggering other sounds and even simultaneous output recording, and also enables optional live monitoring and processing of your input source through Soundplant's realtime effects; it can be useful for live looping performance, podcast and mixtape production, and as a teaching tool. Soundplant begins recording as soon as the record button is clicked and the panel opens, with a timer showing the length of the current recording and a stereo levels meter and oscilloscope visualizing the input. When completed, recordings are instantly loaded onto the selected key for subsequent triggering while also saved to a file. If the selected key previously had a sound loaded, it will be replaced by the new recording with all key configuration settings preserved. The recording format is 32-bit and uses the sample rate set under Preferences ➔ audio ➔ sample rate and file format set under Preferences ➔ audio ➔ recording format.

The following recording panel controls are available:

The input record toggle shortcut Ctrl+Shift+A opens the panel and starts recording, then hitting it again closes the panel and saves the recording. This in combination with the Preferences ➔ audio ➔ auto save input recordings setting can make a recording without needing to touch the mouse. Escape cancels and closes the input recording panel (it will not stop any sounds if hit while the panel is open). If you plan to make very long input recordings over 2 hours in length, you must use the 'compressed' recording format option set under Preferences ➔ audio ➔ recording format to conserve RAM and avoid hitting up against memory limits. Recording is available in the registered version only.


save key settings as default sets the currently 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, and MIDI assignment (and of course sound file). If this function is invoked on a playlist key, it will save the current playlist key settings such as queue mode (though it won't save the playlist toggle on). To set more complex empty keymap configurations with different sets of keys having different preset configurations including MIDI assignments and colors, save an empty .keymap template. Holding down shift while clicking this button restores Soundplant's original factory default key settings.


Select a key color to define how the key appears (in the onscreen keyboard as well as when playing in the channels meter) by using the palette to the right of the displayed key name. There are 24 preset color choices available as well as a custom color picker offering the full 16 million color 24-bit palette (see pic). If you set a custom key color on any key, the chosen color is saved as a preset in the custom color picker popup, and these saved custom presets are stored with .keymaps. Soundplant will automatically give a random color (chosen from its 24 presets) to each newly assigned key unless the key already has a color set.


Playlist

playlist provides several methods for flexibly triggering multiple sounds, whether in sequence as in a traditional playlist, or synchronizing the simultaneous start of multiple tracks. Queued sounds - that is, sounds which have been sequenced in a playlist but are inactive and waiting to start playing - appear in the Channels Meter with a pause icon, displaying in the order that they will play from top to bottom, and keys of queued sounds have a pause icon as well (think of a queued sound as a sound paused at 00:00). Soundplant enables queuing to be as simple or as complex as you need, with playlist length limited only by Soundplant's maximum 88 loaded sounds per instance (playlists can contain repeats of the same track, and there is no limit to the total amount of tracks in a playlist). Soundplant even allows multiple playlists to play simultaneously, and multiple playing instances of the same playlist. 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. In essence, playlist keys send simulated key presses to other sound-assigned keys in Soundplant, in a preset or shuffled order, or all at once. These individual sound-assigned keys can still be controlled by their own keys and settings while part of a playlist, for example to to alter its realtime effects or keymode behavior.

Only blank unassigned keys can become a playlist trigger; the playlist switch is disabled for keys which have a sound loaded. Turning on the 'playlist' switch activates the playlist editing interface, with configuration options specific to playlists only, and the bottom section of the Key Configuration Panel becomes a drag-and-drop editable list:

Click and drag already-loaded sounds from onscreen keyboard keys in the into the desired position in the playlist, or drop in sound files from an Explorer or Finder window. Playlist tracks display with their list position number followed by their source key and then track name. To reorder the list, click and drag sounds in the playlist to new positions; to remove an item from the list, drag and drop the sound outside of the playlist area. You can load new sound files while in playlist editing mode by dropping files either onto specific keys or onto the playlist itself, or by using the open sound button on the Key Function Toolbar; if using 'open sound' or dropping files directly into the playlist, the selected sound file(s) will be automatically appended to the current playlist and assigned to the first available keyboard key(s) starting from F1. As you edit the list, the total length of the list is displayed. While in playlist editing mode, you can still press other keys to trigger sounds as normal. When a key has a playlist assigned to it, a playlist icon appears in the upper right corner of the onscreen key. All items in a playlist play according to their individual key configuration settings including effects settings and keymode, unless overridden by the playlist key's own keymode; there are no playlist-global effects. To jump to a playlist sound's key configuration for editing, double click any playlist item. To select all keys whose sounds are in the playlist simultaneously for bulk editing, double click any empty portion of the playlist area (anywhere that does not contain a track).

In the playlist editing interface, several playlist settings are available:

Here is a step-by-step example for setting up and triggering a simple preset 'play sequentially' playlist of 3 sounds:

  1. Click an unused key on the onscreen keyboard to configure as the playlist-triggering key, for example the Q key.
  2. With the Q key selected, in the Key Configuration Panel click the 'playlist' button. This will bring up the playlist editing interface showing an empty playlist, with the default 'play sequentially' mode set, prompting you to drop sounds into the list. The Q key is now a playlist-triggering key and its onscreen key shows a playlist icon.
  3. Drop your first sound, Soundfile1.wav, into the playlist area at the bottom where the waveform would normally be. This loads Soundfile1 into Soundplant (automatically assigning it to the 1st available visible keyboard key, typically F1) and sets it as the 1st sound in the playlist.
  4. Drop Soundfile2.wav into the playlist underneath Soundfile1. This loads Soundfile2 and makes it occupy the 2nd position in the playlist.
  5. Do the same for Soundfile3.wav, dropping it below Soundfile2 in the playlist and making it occupy the 3rd position in the list.
  6. Press the Q keyboard key. Soundfile1 will immediately start playing and display in the Channels Meter with its progress actively updating. Beneath Soundfile1 in the Meter, Soundfile2 and Soundfile3 will also appear but will be inactive and have a pause icon indicating that they are queued. Soundplant will play the sounds back to back in the order that they were set in the playlist: Soundfile1 followed by Soundfile2 followed by Soundfile3, with their respective display in the Meter updating in realtime.

Some general things to note about the behavior of playlists in Soundplant and how they work in conjunction with Soundplant's other functions:


MIDI assign enables triggering Soundplant keys via any connected MIDI device that emits noteon messages (virtually any MIDI keyboard, grid controller, or instrument). If the device emits noteoff also, Soundplant can support that with the "hold" keymodes; for example with a keymode of "kill/hold", a noteon starts playing the sound and noteoff stops the sound (note that not all MIDI devices send noteoff messages). Clicking 'MIDI assign' causes Soundplant to poll the system for any connected MIDI devices, and if found, it will prompt you to trigger the desired note/button on your device to associate with the selected Soundplant key, listing all detected MIDI input devices:

You can use the same note to trigger multiple keys if desired, and if you have multiple MIDI devices connected, you can assign different device notes to different keys in any desired combination. Soundlpant is MIDI channel agnostic or "omni"; it will respond to MIDI messages from any MIDI channel. Once a key has a MIDI assignment, its onscreen key will get a keyboard icon in its upper left corner. The MIDI assign switch, if active, can be clicked again to deactivate and remove the MIDI assignment. MIDI assignments are saved in keymaps.

The Escape and Backspace/Mac Delete keys can also be MIDI assigned, by clicking on the keyboard icon that appears in the upper left corner when hovering over either key (see pic). MIDI input triggers Soundplant whether or not its window is in focus. MIDI assign is available in the registered version only.

Soundplant 50.7 includes a special alpha preview of MIDI Control Change support which can be toggled on or off by Shift+clicking MIDI assign (note: this must be activated manually for each Soundplant session in which you want to use it, which means every time you restart Soundplant, load a new keymap, or launch a new Soundplant window, MIDI CC listening will be turned off in that new session by default). This enables Soundplant's knobs to be adjusted in response to MIDI CC messages from physical knobs, sliders, or other encoders. In this initial alpha implementation, MIDI CC mappings are fixed (hard-coded to specific CC numbers noted below), and MIDI CC messages affect the currently selected onscreen key(s) & only work while in detailed view mode. This functionality will be fleshed out fully in the next release which will allow richer configuration; in the mean time feel free to send feedback about how you might prefer for CC to work in Soundplant and what kind of more flexible setup capability you envision. For now, mappings are "omni" and respond to messages from any connected MIDI device emitting the relevant control change message once this mode is activated, with mapping values fixed as follows (roughly corresponding to the default CC mappings of the Korg nanoKONTROL):

MIDI CC Number controls this Soundplant knob
0 global master volume
1 key volume
2 pan
3 pitch speed
4 pitch processed
5 eq filter low band or lowpass filter post-gain (depending on active filter mode)
6 eq filter mid band
7 eq filter high band or highpass filter post-gain (depending on active filter mode)
16 filter resonance (eq, highpass, & lowpass)
17 filter frequency (highpass & lowpass)
18 reverb wet
19 distortion
20 distortion wet
21 ringmod
22 ringmod wet



Channels Meter

At the right edge of the screen is the 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 an unlimited number of sounds simultaneously, however for practical reasons the amount of channels visibly displayed in the meter is limited to 24 maximum, depending on the Preferences ➔ interface ➔ channels meter size setting. An indicator on the bottom of the meter shows the total number of channels in use at any time. 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 pause icon. Sounds that are looping display with an infinity icon. 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).

The Channels Meter can be interacted with in the following ways:




Global Function Toolbar

Along the top of the screen are a row of controls with general program functionality which affect the entire keymap as a whole, and realtime animated audio visualizations.

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. 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 Soundplant program folder; the Desktop; the Documents folder; and the last recently accessed sound-containing 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, including 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 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 50 saves keymaps in a new format that can be opened only in versions 50.0 or later, and can open older keymaps saved in previous versions of Soundplant going back to v.40 (2012). As Soundplant 50 uses a new audio engine different from prior versions of Soundplant, note that when loading an older keymap from an earlier version, some settings and effects are interpolated to their approximate v.50 equivalent and will sound subtly different. Expect that properties like volume levels and effect intensities may need to be tweaked to reproduce the desired sound more precisely. V.50 does not have an exact equivalent to earlier versions' "LFO" effect, but you can get a similar sound from the ring mod unit. If you need to load a keymap created in v.39 or earlier in v.50, you'll need to first resave it in previous version 47 before it can then be loaded into v.50. Old major versions of Soundplant are still available on the Soundplant website. Note that system-standard key combos like Ctrl/⌘+S for save won't work in Soundplant because it prioritizes using the computer keyboard for sound triggering with hundreds of available combos; for this reason many standard key combos are intentionally ignored by Soundplant, which means that you must click the save button to save your keymap.

The recent keymaps button in the lower right corner of 'open keymap' activates a pull-down menu giving one-click access to the 24 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'). Hovering over an individual keymap name will display the full path of the keymap file (helpful if you have multiple keymaps with the same name in different locations). Holding down Shift and clicking any recent keymap opens it in a new Soundplant window. Shift+clicking the 'recent keymaps' arrow clears the history list.

save with sounds in the lower right corner of 'save keymap' 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 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.

launch another Soundplant opens a new Soundplant window instance with an empty keymap. Soundplant can run in an unlimited number of simultaneous instances, enabling outputting to multiple audio devices simultaneously, preloading multiple banks of sounds, recording multiple tracks of Soundplant output at once (or recording only select sounds while excluding others from the mix), triggering multiple sounds simultaneously with one key with finer control than the playlist function offers, 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 Preferences ➔ background key input ➔ only trigger input with key combo. 'launch another Soundplant' is available in the registered version only.

Soundplant web site / check for updates directs your default browser to soundplant.org and checks for updates (the web site will alert you if you are running an outdated version of Soundplant). There you can purchase a license, download updates, access free keymap and sound file downloads, and view FAQs and links to recommended software and hardware for use with Soundplant. The web site will alert you if you are running an out of date version of Soundplant.

help activates Soundplant's contextual help mode, allowing clicking 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 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 in your default browser.

about displays version, copyright, credits, and license status information.

The record Soundplant's output button toggles the record function, which captures Soundplant's 32-bit mixed output into a single 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 file. The save format depends on the Preferences ➔ audio ➔ recording format setting. The default lossless format saves an uncompressed .wav file with the same sampling frequency as the current Preferences ➔ audio ➔ sample rate setting. The compressed format saves a much smaller Opus-encoded 48kHz .webm file (comparable quality to .mp3). Soundplant records to RAM in the specified format and doesn't write the recording to disk until you choose a save file. This results in higher quality and lower latency, but also means that for very long lossless recordings, a lot of memory can be consumed up until you stop and save the recording. The compressed option allows recordings to take up significantly less memory and avoid hitting any limits or slowing down the computer and is recommended if you plan on making recordings over 2 hours long. If you want to record multiple output tracks at once, or only record certain sounds while not recording others, use multiple simultaneous instances of Soundplant. 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 3 view modes to allow customizable window sizes and configurations. detailed is the default view and exposes all Soundplant controls. simple shrinks the interface to show just the bare essentials, hiding the Key Configuration Panel and the 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). info is a compromise between detailed and simple, keeping the Channels Meter and waveform but hiding all key configuration settings. The 'simple' and 'info' views are essentially "read-only" playback modes which hide most settings, and can be handy for use with young students or beginners, or as a performance mode when you know that your keymap settings are final and won't need further modification. You can still assign sounds to keys in these views by dragging and dropping audio files onto the desired key, or by opening the open sound dialog by double clicking any unassigned key in 'info' view or single clicking any unassigned key in 'simple' view. In 'simple' and 'info' view, all Global Function Toolbar buttons are hidden, with audio visualizations expanding to take up the entire toolbar area (unless all visualizations are turned off in the Preferences); toolbar buttons can be accessed when in in these modes by hovering over the toolbar area. The view mode setting is saved in Soundplant's configuration and persists after quitting the program. 'simple' and 'info' views make keys easier to click-to-trigger, which can be especially helpful for use with touchscreens. While in 'simple' or 'info' view, you can send a simulated key hit to any key (i.e., play its sound) by single clicking the key, and then a simulated key release on mouse up; in 'detailed' view, the same thing is accomplished by a double click. This behavior can be turned off under Preferences ➔ miscellany ➔ click key to play sound. Running in 'simple' view provides a slight performance gain, especially on older computers and when playing many sounds simultaneously, because the Soundplant interface uses less resources with a smaller window size and fewer animated elements; for absolute fastest possible triggering, 'simple' view can shave microseconds off of latency.


background key input enables Soundplant to respond to keys 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 respond to background key input if a modifier key combo such as Ctrl/Alt/Option is pressed. By default, the background key input state persists after quitting, such that if left on, the next time Soundplant is launched background key input will still be on, but this can be changed in the Preferences. On Windows, when 'background key input' is on, a Soundplant icon appears in the system tray. Use with care — keep in mind that with 'background key input' on, Soundplant will respond to keys even when you may not expect it like when entering a login, replying to a message, or typing in a save dialog. At any time you can hit the panic key combo Ctrl+Meta+Shift+Escape (Ctrl+Win+Shift+Escape on Windows or Ctrl+⌘+Shift+Escape on Mac) to immediately turn off 'background key input' and kill all sounds in all currently running instances of Soundplant. On Windows, the Soundplant 'background key input' system tray icon 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!). 'background key input' is available in the registered version only.


activity logging toggles logging Soundplant's playback activity to a file stored in the folder location set under Preferences ➔ miscellany ➔ logs folder, useful if you need to document the tracks you play in Soundplant. With activity logging on, Soundplant logs and timestamps the following events in a tab-delimited text file: sound start; sound end; sound kill; sound pause; sound resume; new keymap; open keymap; save keymap; log start; log end. If multiple Soundplant instances are running then each instance will create its own separately named log file. By default the logging state persists after quitting, thus if it is left on, the next time Soundplant is launched logging will begin immediately at startup, but this can be changed in the Preferences. Each time a new logging session is started, a new log file is created. The keyboard shortcut Ctrl+Shift+L also toggles logging.


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. This setting is saved in keymaps. Double clicking the knob sets the volume to 100%.


Realtime audio visualizations display at the right end of the toolbar and can be turned off by clicking the red X button in the upper right corner that appears in each panel when hovering over, or toggled in the Preferences. Turning off one will cause those remaining to take up the available space allowing for higher resolution rendering of the remaining visualization(s). Or turn them all of if you find them annoying, which will slightly decrease Soundplant's CPU and GPU use.




Preferences

Clicking the preferences button on the Global Function Toolbar opens the Preferences panel for customizing Soundplant's behavior. The 1st time Soundplant is launched, it will search for existing preferences from older versions of Soundplant going back to version 50.0.8 and import them if found, otherwise it will use factory default preferences. Keys can still trigger sounds while the Preferences panel is open. 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 will have a different set of Preferences.

apply saves the current Preferences and closes the panel. It is only clickable if settings have been modified.

cancel discards any modified settings and closes the panel.

Audio Preferences

The audio section controls sound quality, device settings, and performance tuning:

Interface Preferences

The interface section controls Soundplant's cosmetic appearance, mouse interactivity, and graphics performance tuning:

Background Key Input Preferences

The background key input section adjusts behavior related to the background key input function:

Miscellaneous Preferences

The miscellany section covers other general items:




Other Usage Miscellany, Computer Keyboard Quirks, & Known Issues

The Soundplant program window is resizable by the standard system methods of clicking and dragging anywhere around the edge of the window border. 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', 'info', and 'simple' view modes and the 'key labels font 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. While in 'detailed' view, if you downsize the window too much such that Soundplant's controls would be unusable, Soundplant will automatically switch to 'info' view. 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, which are 1184x680 multiplied by your system scaling settings. Ctrl+Alt/Option+Shift+Enter toggles a distraction-free fullscreen view which hides the window title bar and taskbar/dock.

Those looking for more advanced realtime processing of Soundplant's output than Soundplant's own minimal effects provide, or to record Soundplant's output into a DAW, can use 3rd party 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 VB-CABLE. This technique allows realtime effects processing of Soundplant's output in programs like Max, 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 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 (sometimes 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 your keyboard (or using a MIDI device instead). For the best possible computer 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 and MIDI, but it is possible to use it with other input devices with the help of other software. If you want to use an OSC device with Soundplant's sound triggering engine, you can use 3rd party software such as OSCulator or OSC Keypress to convert OSC input into computer keyboard hits; there also exist many utilities for converting OSC to MIDI. 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), 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) or a MIDI device.

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". 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.

On Mac, Soundplant requires system "Accessibility" permissions for receiving keyboard input and will request these permissions the first time it is launched. This is due to security restrictions Apple has put in place on apps that monitor keyboard input, and is an unavoidable onetime annoyance for using Soundplant. While Soundplant should automatically prompt you to grant these permissions, if you ever need to do this manually go to System Preferences ➔ Privacy tab ➔ Accessibility and if you see Soundplant in the list, make sure its box is checked, or if it's not in the list you can either drag Soundplant into the list or click the plus sign and add Soundplant as a permitted program. If you deny these permissions, Soundplant can still run and play sounds by mouse click or MIDI input, but won't be able to respond to keyboard presses until this permission is granted. If you are using a restricted or public Mac in an institutional setting such as a school which does not allow you to grant this permission, you'll need to ask your IT staff to enable it.

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):




Key Combo Shortcuts

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:



Thus concludes the primary usage instructions. You might also want to check the latest Soundplant FAQs containing newer info than this document at https://soundplant.org/spfaq.htm.





Contact

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 https://soundplant.org.

Further remarks, hints, history, credits, and supplemental information for advanced users are below.







Usage Hints

Here are a few ideas to help get you started thinking in terms of the creative potential of Soundplant:







Manually Editing .keymap Files (for advanced users)

Keymap files created by Soundplant are Unicode text files with data stored in the JSON format. They represent a database of all of the keyboard keys and all of the attributes of the assigned sounds. Keymap files are fairly easily editable - meaning you can open them in any text editor (like Notepad++ or Sublime) or JSON-specific editor (like JSON Editor Online or JSON Blob) 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. 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).

The Soundplant v.50 keymap file contains an optional initial line with a special bracketed list for backwards compatibility, followed by the main JSON data starting on line 2. All content from line 2 onward uses strict JSON formatting; the 1st line of data can be omitted if desired to create a perfectly conforming JSON file. The keymap JSON contains a set of object definitions enclosed in curly braces {}, 1 for each key on Soundplant's keyboard, each containing a set of property definitions corresponding to key configuration settings. Each of these key objects are named by a numeric keycode that internally represents the key. Every key on the keyboard has a unique keycode integer which will be unrecognizable to those unfamiliar with such inner workings, however for human readability each key object stored in the keymap has a property named "displayKeyID" which corresponds to the name of the key; for example the object named with keycode "13" has a "displayKeyID" of "=" because it represents the settings for the equals key.

There are 30+ modifiable properties for each key, which have mostly self-explanatory names. The property for file paths is "filename", which defines the full path of the assigned sound. If you want to change the file path, replace the existing "filename" value with the new path; conforming with JSON requirements, the path must be in quotes and must have certain characters escaped with backslashes. 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, just make sure to abide by those character escaping rules (for example the Windows path delimiter backslash must be escaped by using a double backslash). This can be done automatically using a JSON editor such as those linked above without having to worry about character escaping.

Key properties have 4 different possible values types: boolean (true or false, as in on or off), number (positive or negative, fractional or whole), string (block of text enclosed in quotes), and array (comma-separated series of values enclosed in brackets). More on JSON data types here. It is important to retain the proper formatting of these values. For example "loop" is a boolean property and can have a value of either true for on or false for off. Note that all numbers which appear in Soundplant suffixed with measurement units like "%", "semitones", or "Hz" appear in .keymap files as bare numeric values without these suffixes.

In addition to individual key properties, at the very end of the keymap JSON is an object of global properties named "globalSettings". This contains properties such as master volume.







About / Release 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 as a child 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. Though initially 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.

When I first started 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++. After years of Director being neglected by Adobe and my fighting an uphill battle of keeping Soundplant up to date through custom extensions, starting in 2019 I rewrote Soundplant mainly in JavaScript using Electron. The rewrite took about a zillion times longer than I hoped, delayed in part by a global pandemic, but was able to enter public beta in late 2020.

This eighth major release of Soundplant, v.50, was produced during 2019-23. It has the following additions & improvements over previous release v.47:


A brief history of prior major versions of Soundplant:







Soundplant Customization & Feature Sponsorship

Soundplant is available for new feature sponsorship or customization to meet your 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.







Planned for Future Versions







Credits







March 27, 2023
© Marcel Blum
Stapleton, Staten Island, New York, United States Of America
https://soundplant.org

Soundplant is a registered trademark of Marcel Blum