WAV Trigger

The Robertsonics/SparkFun WAV Trigger represents an entirely new class of embedded audio player. It inherits the best features of the MP3 Trigger and then goes way beyond.

Unlike most other embedded audio players, the WAV Trigger is polyphonic; it can play and blend up to 14 tracks at a time. Each track can start, pause, resume and stop independently, and can have it’s own volume setting, allowing you to create the perfect interactive mix of music, dialog and sound effects.

The WAV Trigger supports the MIDI protocol on its serial control port, enabling low-latency, 14-stereo voice poly-phony for creating a basic musical instrument sampler. The latest firmware adds real-time playback rate control (sample-rate conversion) and MIDI Pitch Bend.


  • Supports up to 2048** uncompressed 16-bit stereo WAV files up to 44.1kHz – CD quality
  • Polyphonic! Play and mix up to 14 stereo tracks independently and simultaneously
  • Sample-accurate starting and playback of up to 14 parallel stereo tracks
  • Real-time playback rate control and MIDI Pitch Bend**
  • Trigger-to-sound delay: 8 msecs typ, 12 msecs max
  • Pause and resume individual or groups of tracks
  • Multiple random trigger ranges
  • True line-level stereo output: 2.1V RMS ground centered, 100dB SNR
  • On-board mono audio amplifier and speaker connector. 2W into 4 Ohms, 1.25W into 8 Ohms, 1% THD+N
  • 16 trigger inputs are individually adjustable for contact closure, 3.3V or 5.0V control
  • Trigger inputs can be individually inverted (active low or high)
  • Trigger inputs can be individually set to be edge, latched** or level sensitive
  • Output volume adjustable from +10dB to -70dB in 0.5dB increments
  • Firmware track fades (attacks & decays) and cross-fades
  • A dedicated “Play” status digital output pin
  • 3.3V and 5.0V output pins
  • Extensive serial control. Pin compatible with SparkFun FTDI Basic
  • MIDI serial option; Velocity-sensitive triggering of up to 2048** tracks
  • Low-power sleep mode option

(** with the latest firmware update)

The WAV Trigger supports feature configuration through the use of an “init” text (ASCII) file on the microSD card.  An open-source, cross-platform (Windows, OS X and Linux) utility can create this init file automatically for you using a GUI interface:


WAV Trigger FAQ

The WAV Trigger plays uncompressed WAV files up 16-bit stereo 44.1kHz, the same format as an audio CD. Without the need for decompression algorithms, it becomes possible to layer multiple tracks at the same time, meaning the WAV Trigger is polyphonic. Specifically it can play and mix up to 14 stereo tracks simultaneously and independently.

WAV files also make it possible to pause and resume any or all of the tracks. You don’t always have to start at the beginning of the track.

MP3 audio exists to save either memory or bandwidth, neither of which is a problem with the WAV Trigger. An 8GB microSD card can hold over 12 hours of stereo WAV audio.

No, not at present. The WAV Trigger’s 32-bit ARM Cortex-m4 processor certainly has the horsepower to perform real-time MP3 decompression of perhaps several MP3 streams, but it’s a licensing issue – MP3 decoding requires a license – and there’s really no need.

It’s extremely easy to convert MP3 files to WAV files. Audacity, a free open-source audio editor, will do this, as will pretty much any other audio editor. Here’s a video showing how to do this.

Polyphonic means more than one sound, or track, at a time. Using the latest version of firmware, the WAV Trigger can play 14, 16-bit stereo, 44.1kHz sound files at the same time. This means, for example, that with the ability to assign input triggers to specific tracks, and to set trigger inputs to be “level-sensitive”, you could make a 16-key stereo musical keyboard that plays can play 14-note chords using just the WAV Trigger and some buttons.

You can also loop background music and trigger specific narration on top of the music. With the ability to assign random track ranges, you can easily create a random playlist and then either interrupt with specific tracks or layer in narration or sound effects.

The latest version of firmware supports playing and mixing 14 tracks with an average speed microSD card.

The WAV Trigger supports up to 16 digital inputs that can be configured as either passive or active inputs. Passive means it takes just a contact closure to ground to activate. The trigger connectors provide a ground pin for each input, so it’s easy to make 2-wire connections to switches or pushbuttons. Active means that it takes a 3.3V or 5.0V signal from another microcontroller, like an Arduino, or from an active sensor. The WAV Trigger inputs are 5V tolerant and can be independently set for either active-low or (inverted) active-high.

Each trigger input can also be independently programmed to be any one of 9 functions. The Next, Previous, Random, Pause, Resume and Stop functions all work on a programmable range of tracks. Each trigger can also be set to be polyphonic or solo, and to allow re-triggering or locked out until the track has finished.

By default, triggers are passive and play the corresponding numbered WAV track, with re-triggering and polyphony enabled. You can change the behavior of any trigger by creating an init file read by the WAV Trigger at power up. We provide an open-source, cross-platform (Windows, OS X and Linux) application that allows you to select trigger and other options, and will generate the Init file for you.

The trigger response time – the time from the active edge of the trigger to when you start to hear the corresponding sound – is typically 8 milliseconds, 12 milliseconds max. This assumes that you’ve edited the WAV file to remove any silence at the beginning of the file, and that you are using the latest version of firmware.