New WAV Trigger features

I’ve just finished adding a bunch of new features (and one bug fix) to the WAV Trigger firmware. Version 1.30 includes the following changes and enhancements:

  • Increases total supported track count to 4096 – double the previous 2048 tracks.
  • Increases total MIDI Banks to 32.
  • Trigger Banks – map triggers to different banks of 16 tracks.
  • Voice Lock – when starting a track using a trigger or serial command, you can specify the track to not be used by the voice stealing algorithm. This lets you, for example, start a backing track and then play MIDI without risk of cutting off the backing track.
  • New serial reporting mode – The WAV Trigger can now be set to send track status messages whenever a track starts or stops.
  • True MIDI Channel/Omni – The WAV Trigger can now be set to respond to only a specific MIDI channel, or to Omni mode (all channels.)
  • Improved performance and timing of volume faders.
  • Fixed bug that allowed re-triggering when both Re-Trigger and Polyphonic trigger options were de-selected.
  • Fixed sample-rate offset algorithm to allow full 2X up.

I’ve also update the WAV Trigger InitMaker app to v1.20 support the new options. The screenshot below highlights some of the new features, and the app now (finally) sports it’s own application icon.



If you’d like to help me test all this, the links below will get you preliminary releases of both the new WAV Trigger firmware and InitMaker app. Please let me know here if you discover any issues with either.

WAV Trigger Firmware v1.30b (beta) hex file (zip)

WAV Trigger Init File Maker Utility v1.20 – Windows executable (zip)

WAV Trigger Init File Maker Utility v1.20 – OS X (10.6 and above) Install Image (dmg)

Finally, I’ve also revamped the Arduino Serial Control Library to take advantage of the enhanced features. A new advanced example sketch demonstrates how to put the WAV Trigger in reporting mode and use the library to find out when specific tracks have completed or stopped. Get the updated library here.


  • reply Richie ,

    Love your work Jamie!
    Thank you for giving us such an accessible way to handle wavs… and it sounds great!
    The wav trigger is comparable to a big rack mount sampler like an EMU, but in a pocket sized card… I really love it and look forward to the Tsunami, needless to say the Carina looks amazing.
    I have a question for you… I want to use the wav trigger in an embedded project… a midi instrument actually… but I really want to be able to run it through multi fx … especially stereo delay + reverb… and a stereo limiter… (chorus I can simulate with the wav trigger by triggering a second instance of the sound just after the first, and panning them etc… distortion I can prepare in the studio and have a distorted version of the sound… but delays are tricky) I am wondering if you know of a light weight dsp board that would go nicely with the wav trigger to achieve delays + reverbs? preferably something small like the wav trigger?
    Or perhaps the Carina will be ready soon? 🙂
    Thanks for your time,

    • reply Jamie ,

      Hi Richie,

      Thanks for the kind words. You could perhaps find one or more small guitar stomp box products that have the effects you want and repackage the electronics. There’s also the Teensy Audio Board and its library, but that would involve programming and I don’t know how extensive the DSP library really is.

      I haven’t finished publishing the specs yet, but the Tsunami actually has a stereo audio input. The first firmware release will focus on extending the audio player features to more outputs, but I’m hoping future releases will include applications for audio input, including DSP effects. The Tsunami also implements firmware updates directly from the microSD card, making it easier for me to support multiple applications.

    • reply Funken ,

      Tsunami looks really great ! can we just plug a midi keyboard direct to the the tsunami board (like arturia Keystep for example) ? and last one, do you have a release date ?

      • reply Jamie ,

        As long as your keyboard has a MIDI Out (not just a USB connection) you can plug directly into the Tsunami and rock. Because the Tsunami doesn’t have a 5-pin DIN connector, you’ll either need to make an adaptor or do what I do: Just cut the end off a MIDI cable and connect the only 2 wires that matter to the Tsunami MIDI In connector. I’ll post how to do this before Tsunami ships.

        I can’t give you a solid release date due to parts availability and SparkFun’s production lead times. Given my current info however, it’s possible it could be in stock and shipping by Feb 1.

      • reply Pascoal ,

        Hi Jamie,

        Message when I start the program WT-InitMaker_v120_20161111.exe

        In WinXP ……. it is not a valid application for Win32

        Do you have a solution?

        Thank you

        • reply Jamie ,

          UPDATE: I re-compiled with the XP compatibility switch enabled and tested it on my XP virtual machine. Seems to work fine. New version is now linked above and on the download page. Give it a try and let me know.

          I think the issue is that I switched to Visual Studio 2015 and need to tell it explicitly to build for backwards XP compatibility. I’ll re-compile and post an update later today or tomorrow. Sorry about that.

        • reply Pascoal ,

          Hi Jamie
          Now it’s perfect
          Thank you for your dedication.

          • reply Pascoal ,

            Hi Jamie

            When you say…………Trigger Banks – map triggers to different banks of 16 tracks …….

            I Will have 256 banks with 16 tracks?


            • reply Jamie ,

              Currently there are 32 trigger banks of 16 triggers. The default bank maps the triggers to tracks 1 – 16, the next bank maps the triggers to tracks 17 – 32, the next to tracks 33 – 48, and so on.

            • reply djsoulmachine ,

              Hi Jamie!

              I’m proud to share with you my project embedding your amazing Wav Trigger, a digital Mellotron M400 with some cool added features! Still need to to rebuild the original woodcase though…

              Hope you’ll enjoy it!
              Nothing would have been possible without you and I’m definitely looking forward to the Tsunami!

              Thank you so much Jamie!

              PS : Will I be able to upgrade the WT firmware to 1.30b without having to change the sound files number and/or my Arduino code?

              • reply Pascoal ,

                Hi Jamie,

                For new firmware – 5V or 3.3V

                SparkFun FTDI Basic Breakout – 5V – DEV-09716 – SparkFun Electronics
                SparkFun FTDI Basic Breakout – 3.3V – DEV-09873 – SparkFun …


                • reply Jamie ,

                  Either one. I use the 5V only because I typically close the 5V solder jumper on the WAV Trigger which allows the FTDI Basic 5V to power the WAV Trigger.

                • reply Corey Mutter ,

                  In 1.30b I found the track banking feature to work just like I’d expect – I have 10 “normal” triggers for tracks 1-10 and “next group” and “previous group” triggers. When I trigger “next group” then 1-10 start tracks 17-26, then 33-42, etc.
                  I have a trigger set to randomly start a track in the range 1-10 and the banking doesn’t affect that, though, it always starts something in the 1-10 range.
                  For my application it would be better for it also be offset with the bank, but that might not be better for all applications.

                  • reply Jamie ,

                    That’s the intended behavior. Trigger functions that allow track ranges are not affected by the trigger bank. The ranges can be any size, including much larger than 16 tracks, and having those shift would be terribly confusing.

                  • reply Let’s Talk Tsunami! – robertsonics ,

                    […] have enough memory to support true seamless looping (which requires more buffering per voice.) With the latest WAV Trigger firmware release, I feel as though I’ve reached the performance limit for this […]

                    • reply Pierreko ,

                      Is it possible to play 5.1 audio file with the Tsunami by trigging 4+1 audio files ? What about the decay ?

                      • reply Jamie ,

                        Yes. It’s currently possible using the serial protocol and Arduino Library. With the mono version of the Tsunami firmware, you can load all 6 tracks and specify the output for each, then start them all in sync with the resume command. But this is such a good idea that I’ll modify the new “Synced Pair” to be a “Synced Set” so you can do this using a trigger.

                        I don’t understand your question: “What about the decay?”

                        • reply Pierreko ,

                          I was thinking about the decay between each track but you answer my question ! It’s really interesting, it’s exactly what I’m searching to do… Do you already think about a way to upload the tracks with a mass storage system ?
                          thanks a lot !!

                          • reply Jamie ,

                            Tracks are played from a FAT formatted microSD card. You just pop the card into your Mac, Windows or Linux computer and drag the wav files onto it.

                            I had planned to support Mass Storage Device transfers over the USB port, but due to a bug in the Atmel SAM S70 (they call it “errata”) I couldn’t support both USB and hit exact audio sample rates (44.1kHz). It’s a long story, but the upshot is that providing USB would have meant that the audio would have been out of tune by some number of cents, which was not an option. Perhaps someday when there’s a fixed rev of the S70 and we can do a board design update, but for now you still have to put the card in your computer.

                            By the way, It would be great if further discussion about Tsunami could be in the post I specifically created for it:

                            • Pierreko ,

                              Yes I understand ; I already have the wave trigger. I’m really interested in the mass storage instead of using the MS card (it’s not really easy in an hardware project but it can be a solution while searching for another solution).
                              I’ll search for the bug you just said !

                              Thanks a lot ! I hope your player will be available soon :p

                      • reply Thomas Thoen ,

                        Hi, I’m working on a project that uses a lot (over 280) of wav files that need to be pieced together. Is there a way to send a set of wav files sequentially through the serial port that can be played sequentially (not simultaneously)? I’ve looked through the documentation and maybe I’m missing something? Any help would be appreciated!!


                        • reply Jamie ,

                          If I understand your question, then yes – there are several ways to accomplish this. The latest firmware and Arduino Library includes functions to determine when particular tracks have finished. Assuming you are using an Arduino, you can start a particular wav file (track), wait for that track to finish and then start the next one in your list.

                          If you’re only ever playing one track at a time, then the play status output can be used to determine when the WAV Trigger is no longer playing audio – i.e. when a single track is finished. You could poll that output and trigger then next track when it goes inactive.

                          Finally, it’s possible to program a trigger input to automatically play a sequential group of tracks, provided those tracks are numbered in the order that you want them to play.

                        Leave a comment