The WAV Trigger is a unique high-fidelity polyphonic audio player with surprising capabilities. Supporting up to 2048 uncompressed 16-bit, 44.1kHz wav files – the same quality as an audio CD – the WAV Trigger can play and mix up to 14 stereo tracks simultaneously and independently, with very low latency. Tracks can be controlled via 16 programmable trigger inputs, or by using a native serial control protocol or even MIDI.
Trigger inputs can be connected directly to switches and buttons, or to digital outputs from sensors or another microcontroller. Alternate functions can be specified using a free cross-platform GUI application, and allow triggers to play sequential or random tracks, pause and resume groups of tracks and even control volume. An Arduino library allows for complex serial control like real-time mixing, starting multiple tracks in sample-sync and smooth cross-fading between tracks.
On-board sample rate conversion allows for smoothly changing playback speed/pitch from 0.5x to 2x. in real-time.
MIDI allows you to use the WAV Trigger as a polyphonic sampling synthesizer to play your own sounds from any MIDI keyboard controller. MIDI Channels and Note numbers are mapped to track numbers, and MIDI Controllers adjust volume as well as attack and release times. MIDI Program Change is supported to switch between up to 16 banks of 128 sounds. The WAV Trigger audio engine even implements, pitch bending, voice stealing (oldest playing voices are used for new MIDI Notes when all 14 voices are being used), note attack (fade-in), note release (fade-out) and latency averages 8 ms.
The WAV Trigger supports both SDSC (up to 2GB) and SDHC (up to 32GB) type microSD cards.
Check the link in the documents below to keep up with the latest Firmware updates!
Note: This product is a collaboration with Robertsonics. A portion of each sales goes back to them for product support and continued development.
You can test out your WAV trigger with our known good files, they’re available by request here: WAV Trigger test WAV files
Trigger options are set by first selecting the trigger number in the WT-InitMaker app. If there’s already an entry for that trigger in the Init file, the options will indicate the current values for that entry. If there is no entry for that trigger, the options will reset to default. Using the “Save” or “Update” buttons will create or update an entry in the Init file for that trigger. Once saved, trigger settings may be transferred to the WAV Trigger over the serial port (if it is connected) using the “Test” button. This allows you to easily test the effect of changing options without having to deal with writing the init file, transferring the microSD card and power cycling the WAV Trigger.
Not all trigger functions support all options. For example, the Next, Previous and Random functions are inherently edge triggered type functions, so the “Type” field defaults to “Edge” and is disabled for these functions.
Hardware Interface: The “Contact Closure” option enables an internal pull-up for the trigger input so that with nothing connected, the trigger input is “high”. When combined with the non-inverted (default) option, a contact closure (button or switch) to ground will pull the trigger input low and activate the trigger. The “Active – 3.3V/5V” options disables the internal pull-up for the trigger, requiring either an external 3.3V or 5.0V signal to bring the input “high”. This allows the trigger to be driven with the digital output of another micro controller. The invert option will control whether the trigger will be activated on a low or high signal level.
Please note that you should never select “Active – 3.3V/5V” option without having an active signal connected to the trigger. With nothing connected, the trigger input is floating and will produce false and random triggers. Similarly, you should never apply 5V to a trigger without first setting it to “Active – 3.3V/5V”.
Type: This option affects only certain trigger functions. For the “Normal” trigger function, “Edge Triggered” starts the track when the trigger first goes active, and the track continues to play until stopped by some other event. “Level Triggered” starts the track when the trigger goes active, but the track plays only as long as the trigger remains active. When combined with the “Stop” function, “Level Triggered” will prevent one or more tracks from starting as long as it remains active, creating an “inhibit” function. Beginning with firmware v1.20, “Latched” will activate on a transition but remain active as if it was level type. Another trigger is required to stop any action that is started by a “Latched” type trigger.
Function: This option selects the function that the trigger will perform. Some of the functions require that a range of tracks be specified, and the values in the range can be from 1 to 999. The high value must be equal to or greater than the low value.
“Normal”, the default function, directs the WAV Trigger to play the corresponding track number. The track range is not used. Combining with the “Level Triggered” type option will make the trigger act like a MIDI Note On, causing the track to play only as long as the trigger remains active.
“Next” plays the next track in the specified range, starting with the low track and wrapping back to that track after playing the high track in the range.
“Previous” plays the previous track in the specified range, starting with the highest track and wrapping back to that track after playing the lowest track in the range.
“Random” plays a random track from the specified range. The only rule imposed is that it will not play the same track twice in a row.
“Pause” will pause all the tracks in the specified range. These tracks will remain paused until they are resumed or restarted. Combining with the “Level Triggered” type option creates a momentary Pause feature; the specified tracks will resume when the trigger is released.
“Resume” will resume all the tracks in the specified range, provided that they are still “paused”.
“Stop” will stop all the tracks in the specified range. Combining with the “Level Triggered” type option will create a “Stop and Inhibit” function, preventing all the tracks in the range from restarting as long as the trigger remains active. (Triggers that would have otherwise started an “inhibited” track are ignored, not queued.)
“Volume Up” or Volume Dn” will re-purpose the trigger to be a volume control. Each activation of the trigger will increase or decrease the output stage volume of the WAV Trigger by 1dB.
“MIDI Bank Up” or MIDI Bank Dn” will re-purpose the trigger to increment or decrement the MIDI Bank number. Each MIDI Bank maps MIDI note numbers 1 through 128 to the next bank of 128 track numbers.
“Trigger Bank Up” or Trigger Bank Dn” will re-purpose the trigger to increment or decrement the Trigger Bank number. Each Trigger Bank maps the normal function triggers to the next bank of 16 track numbers.
Invert: This check box will invert the logic of the trigger. The default is active low. Checking this option makes the trigger active high.
Re-Triggers: This option enables certain trigger functions to work again immediately while the track(s) that they may have previously started is (are) still playing. For example, with the “Normal” trigger function, enabling this option allows the trigger restart the corresponding track even if it has not finished playing, while disabling this option prevents the trigger from working until the track has finished playing (or is stopped by some other event.) Similarly, for the “Next”, “Previous” and “Random” functions, disabling this option prevents the trigger from working until whatever track was previously started from this trigger is finished.
Re-Triggers is enabled by default.
Polyphonic: This option specifies that the track played by the trigger function (for those functions that play tracks) should be mixed with any track(s) currently playing. When this option is disabled, activating the trigger will stop any and all tracks that are currently playing before the new track is started.
Loop: This option, when enabled, will cause the track to loop continuously regardless of the state of any trigger which may have started it. Please note that the WAV Trigger does not implement truly seamless looping – there will always be a small “gap” of silence at the loop point.
Lock: Beginning with firmware v1.30, this option allows you to specify that the track will not be subject to the WAV Trigger’s voice stealing algorithm. This allows you, for example, to use a trigger to start a backing track, and play MIDI notes on top of it without risk of the backing track being stopped because you played too many notes for the available number of voices.
Edge - Any press of the trigger starts track and it plays all the way through Options available - Invert, Re-triggers, Polyphonic, loop Level - Any press of the trigger starts track. Only plays as long as the trigger is active Options available - Invert, Polyphonic Latch - Any press of the trigger starts track, Plays in a loop. Only a stop trigger can stop this. Options available - Invert, Re-triggers, Polyphonic
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
Based on 18 ratings:
1 of 1 found this helpful:
Two WAV Triggers are operated just to trigger pre-recorded WAV files by signals from a Raspberry Pi running Python GPIO code. This limited the number of sounds. However, thanks to excellent support on a forum from Robertsonics, a third WAV Trigger is operated by two wires from an Arduino which decodes six bits and an interrupt bit from Python running on a second Raspberry Pi. This provides five polyphonic octaves (and with more bits could do more) of custom sounds recorded from Mathematica code than can run on a Raspberry Pi. And yes, latency is low even through the layers of code.
1 of 1 found this helpful:
Wav Trigger is great for my use, triggering .wav files from electric drum pads, using the 16 digital inputs on the board. I can’t wait for my Arduino to come in the mail so I can start experimenting with getting them to work together. Jamie (the designer) was helpful when I needed assistance.
1 of 1 found this helpful:
I built exhibits at a Museum… when you have to fade audio in and out… layer audio… control the volume… all via a pretty easy serial protocol. great product Sparkfun!
1 of 1 found this helpful:
Polyphonic and ease of use. This fill the needs of my microdrum project perfectly. Thanks for your hard work.
1 of 1 found this helpful:
Just getting started with this board and I’m already impressed with it’s features and sound quality. Love having polyphonic capability to layer sounds. Was tripped up initially by my own excitement to try it out and failed to read all the instructions. Here are a few pointers to make sure you have success from the start. Good power source and proper file format for the wav files. Read the instructions and the troubleshooting section if no sound. Looking forward to giving a robot a voice to entertain the grand kids with. Will integrate this with a multitude of sensors and visual to displays to create a talking robot. Let the fun and creativity begin.
Edit: Love is turning into like. I’ve been trying to make use of the “isTrackPlaying” to prevent a re-trigger of a playing sound when motion is detected. Believe that I’m doing everything correctly (settings and update calls) but get no status for playing track back from the Wav Trigger. Looking like a bug but It could be me. Trying to figure out how to get support. Success there will determine my overall satisfaction. Without this feature working my application is not possible without annoying re-triggers of playing tracks. Dropping to 4 stars.
EDIT: Well I’ve been in contact with robertsonics through the Sparfun forum (rapid response BTW) and it was recommended to update firmware to 1.30 (actually 1.30b prelim release). This appears to have resolved my problem. I’m a happy camper again and glad to see that this product is well supported. Bumping back to 5 fives.
I would recommend that you get in touch with our tech support team. They should have no trouble helping resolve this issue for you!
3 of 3 found this helpful:
I’ve been looking for a music synthesizer for several of my projects and found the existing MIDI synth chips less than pleasant to listen to; lots of noise and poor sound quality. The WAV Trigger is simply amazing for me. To be able to select among 2k sounds, at CD quality, and play up to 12 at once for less than $50 is simply amazing. The software to test and change the trigger options is great. You can even operate the board without a microprocessor by connecting to the 16 channels of trigger input. The only additional feature I’d ask for is to be able to dynamically change the balance (the relative Right/Left amplitude). I think this board will keep me busy for the next 6 months of research and development.
I connected the wave trigger to the sound system in church to play sound effects for some skits. It worked perfectly, played breaking glass sound and was able to time it with the box hitting the floor easily!
Unfortunately only the hardware is open source. The firmware that runs on the ST microcontroller is closed source. Other than that I have no complaints. The board does what the description says and works great.
EDIT: Having spoken with Jamie from Robertsonics (possibly the nicest guy ever), the firmware is, in fact, closed source. Having licensed it out, it wouldn’t be fair to those who originally paid a licensing fee for him to then release it as open source. You are, of course, welcome to write your own firmware for it if you need a more customized firmware. Happy hacking!
If you need to trigger audio, give this a shot. It’s worth it and works pretty well. It has a few minor glitches but plays loops and one shot segments great with no perceptible delay. It could use an improved WAV file parser b/c the WAV files it uses must not contain miscellaneous meta data and thus need to be exported from your computer using certain WAV exporters which do not include meta data (more rare on Macs but Audacity works well). There is no indication as to why a particular sound doesn’t play so examine this first if you don’t hear what is expected.
Also the test button on the board plays the first file with the lowest numbered file names (like 0001_Piano_C1) but if you name something beginning with 0000, the board does not see this file. Not a biggie…
It also could use a folder structure. Right now all files must reside at the root level - a little hard to organize when you have hundreds or thousands of sounds.
All that said, it’s a great board with online firmware improvements available. I recommend it if you need to play audio.
Super easy to use, pretty much everything just ‘worked’. Only tricky thing was getting the wav file format right.
Awesome functionality and the serial control is very useful! The sound is beautiful!
The physical controls work perfectly like it says it would.
But I bought this board to run sounds as part of a “Live Escape Room” music setup, and needed it to be controlled with an Arduino. And the serial communication (combined with the library) is just perfect for that, enabling me to play a theme song while adding sound effects accordingly to the players' actions. And the cherry on the cake are the built-in functions (playback speed, fade in/out, …) that even made me think about new ideas for my Escape Room.
I look forward to try the Tsunami version now (and run a quadrophonic system !)
Small Package, surprisingly powerful.
The Wav Trigger is working perfectly.
I’m working to make electronic drums.
The Wav Trigger’s strong points, as advertised, is that it can play polyphonic sounds, playing .wav files (which is really better than MP3, as there is no delay due to the MP3 format).
I think it could be useful to develop an Arduino shield version of the Wav Trigger, as it could avoid using a computer to change the sounds of the pins. I planned to use simple press buttons + a LCD to change the tracks, but I m not sure I can do it with the WAV Trigger.
Anway, it’s a good product.
We only used it in the most simple fashion but basically plug and play. Thank you.
easy to start any sounds project … it’s helpful to my project and I waiting now for FTDI to get in deep of wonderful sparkfun products
It´s great, do exactly what it promises to do.
is a great board