Tsunami Super WAV Trigger

The Tsunami Super WAV Trigger is the next evolutionary step beyond the original WAV Trigger.

Based on a new generation ARM Cortex m7, the Tsunami extends polyphony to 32 mono or 18 stereo simultaneous uncompressed 44.1kHz, 16-bit tracks. Each track can start, pause, resume, loop and stop independently, and can have its own volume setting, allowing you to create the perfect interactive mix of music, dialog and sound effects. The Tsunami also supports true seamless looping over an arbitrary track length.

The big news is that the Tsunami has 8 audio output channels, arranged as either 8 mono or 4 stereo pairs. Alternate versions of firmware support either mono and stereo architecture – you choose. The mono version adds a new “Synced Set” trigger function that can start up to 8 mono tracks on adjacent outputs. These tracks will start and stay in sample-sync for playing stereo or even 5.1 or 7.1 surround sound content with a single trigger. Any track can be dynamically routed to any output. And each output provides independent real-time volume and sample-rate conversion (pitch bend.)

Each Tsunami Super WAV Trigger has a dedicated MIDI port with an integrated opto-isolator, making it easy to connect to any MIDI controller. Tsunami’s MIDI implementation includes control of volume, pitch bend, attack and release times, and the ability to route any MIDI key to any of the output channels, as well as specifying single-shot or looping playback per key.

Note: It is very important to know that this is a 3.3V device, and its inputs – including triggers and serial RX – are not 5V tolerant!

Note: The Tsunami was developed in collaboration with Robertsonics. A portion of each sale goes back to them for product support and continued development.

Get Started with the Tsunami Guide

  • Supports up to 4096 uncompressed 16-bit, 44.1kHz mono or stereo WAV files – CD quality
  • Polyphonic – Play and mix 32 mono or 18 stereo tracks independently and simultaneously
  • 8 audio output channels, can be arranged as 4 stereo outputs. Route any track to any output
  • Outputs provide independent real-time playback rate control and MIDI Pitch Bend
  • Seamless looping over arbitrary track length
  • Trigger-to-sound delay: 8 msecs typ, 12 msecs max
  • Pause and resume individual or groups of tracks
  • Multiple random trigger ranges
  • 16 trigger inputs are individually selectable for contact closure or 3.3Vcontrol
  • Trigger inputs can be individually inverted (active low or high)
  • Trigger inputs can be individually set to be edge, latched or level sensitive
  • Output volumes adjustable from +10dB to -70dB
  • Firmware track fades (attacks & decays)
  • A dedicated “Play” status digital output pin
  • Extensive serial control. Pin compatible with SparkFun FTDI Basic 3.3V
  • MIDI Velocity-sensitive triggering of up to 4096 tracks, adjustable attack and release times

Tsunami Super WAV Trigger Product Help and Resources

Tsunami Hookup Guide

February 16, 2017

Hit the ground running with Tsunami, the Super Wav Trigger.

Alternative power source?

Recommended power source is a micro USB cable, but we do provide pads for your own power source. They are labeled 5-15 volts, but anything more that 7 volts on those pads results in the voltage regulators producing a lot of heat. (12 volts is alarmingly hot)

We recommend powering the board with 7 volts or less if you use the VIN pads for power.


Volume issues?

If you’re experiencing issues with being able to use the volume up and down triggers on any other output other than mono 1, you may have an older version of the firmware. Download the latest firmware version and update to fix this problem.


Maximum SD size.

Maximum SD card size is 32GB. (May change with future firmware)


Core Skill: Soldering

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.

2 Soldering

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


Core Skill: Programming

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.

2 Programming

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


Core Skill: Electrical Prototyping

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.

2 Electrical Prototyping

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


Customer Comments

  • Is there an equivalent to the WAV Trigger Serial Control Utility for use with the Tsunami?

    • Not currently. The new unified Configurator includes a tab for remote control functions, but the only thing it provides at the moment is polling for the firmware version and number of sounds.

      The source for the WAV Trigger Remote Control app is on GitHub, and it wouldn’t be difficult to modify the outgoing serial messages to accommodate Tsunami’s serial protocol. I’m currently working on a Bluetooth LE MIDI interface and moving the control app to a mobile platform, but I don’t have anything available at the moment.

  • I’m having trouble getting my firmware to work… I followed the procedure to the letter as to installing the .ini and the .hex files, formatted to Fat32, yet after I do the user+reset (it turns solid) and reset again, I get what I think is the Flash Write error (short flash every two seconds or so). The only thing I can think of is that my card is the Kingston SDC4/16GB, whereas the recommended one is the SDC4/16GBET. Is there a difference? All online retailers make them appear interchangeable. If there is a difference, do you mind suggesting a retailer where I can get exactly the correct SD card? I chose the Kingston because of the low latency, and the 8GB Toshiba is no longer purchasable anywhere. Thanks!

    • A quick flash every 3 seconds is normal behavior when audio is not playing. What makes you think the firmware is not running properly?

      • On the User Guide page it says that if the LED isn’t solid that the following list are the error messages. I guess I didn’t go further than that, thinking it wasn’t working properly.

        • Sorry if that’s not clear. The LED should go solid following a successful firmware update. Then when you reset, the firmware has a “heartbeat” flash every 3 seconds when audio is not playing to indicate that the firmware is indeed running. I suspect you’re fine.

          • Your suspicions are correct! But now onto the next can of worms… Everything works fine in Stereo, great!

            My issue is that when I load in the Mono firmware, it never stays as Mono, but reverts to Stereo. What I mean: I’ll save a new .ini in the Tsunami program, as Mono, and when I reopen it, it is Stereo. This happens no matter if I save as a new .ini or if I save over an existing .ini. Any suggestions? I’ve tried reinstalling the Tsunami program, but the issue persists.

            Also, I hear a ‘click’ noise in the outputs any time a MIDI command is sent to Tsunami. It’s not an audio ‘pop’ or clipping, it’s an actual ticking sound that happens. If I send the MIDI Clock to the Tsunami, the click noise is constantly happening. It happens every time I Note-On and Note-Off, and happens as I push down with aftertouch. Notes don’t even have to be played for it to happen, any MIDI command on the channels going to the Tsunami cause an audible click in the Tsunami outputs. I’ve tried sending commands through my drum machine and also just through my CPU interface, and the click happens in both instances.

            I wonder if grounding the MIDI In port of the Tsunami to the chassis would help? Or any suggestions?

            • The mono/stereo issue is with the Configurator utility, not the firmware. It just doesn’t allow you to open a previously saved mono .ini file as mono. You can create and save mono ini files and they will work correctly with the Tsunami mono stereo. I’m working on a new combined Configurator app that will work for both the WAV Trigger and Tsunami, and this will correctly open each type of file.

              Regarding the clicking, it certainly sounds like a grounding or power supply issue. Without knowing all the details of your power and wiring, it’s hard to help. It seems like any activity on the MIDI input is causing noise in the analog output. I suggest you troubleshoot by simplifying as much as possible. For example, use a dedicated power supply for the Tsunami, use headphones on the audio output and try a MIDI keyboard as a controller. If the clicking is still there, you may have a defective unit.

              • You’re right about the Mono firmware, it works as Mono when on the uSD, though it doesn’t load as Mono in the Config Util. My files weren’t converted to Mono, now they work great! But wait, there’s more!

                Both the Mono and Stereo files are only playing out of Out 1/ Out 1+2 respectively. Examples of my naming are 0060_S1 Kick M.wav, or 0072_S4 TomF S.wav. This should be enough to route them to the specified outputs, correct? As I said, they are only going to Out 1/ Out 1+2 (whether in Mono or Stereo mode).

                I decided to try an older firmware release, and the clicking noise isn’t there on v101, both Mono and Stereo. That’s good! But on all firmware versions, I am getting a “whine” from about 2k-20k (when I use a lowpass at 2k it disappears) whenever the Tsunami LED is lit (Tsunami in use).

                I really appreciate your help and time; this is an awesome sample player, and I’m really excited to begin using it in my live set-up. I understand that with new products like this, there are bugs and wrinkles to iron out; thanks again for your replies!

                • I have no doubt that you are experiencing these issues, but I remain convinced that it’s something to do with your connections. The minor differences between firmware v1.01 and v1.02 should have no bearing on the audio output, i.e. “clicking”. The “whine” continues to suggest wiring and/or power supply issues. We should take this off line. Please contact me directly via info<at>robertsonics<dot>com.

  • Question: Can one Tsunami play back both Mono & Stereo at the same time? An ideal setup for me would have 6 mono outs and 1 Stereo pair. Is this possible? Thanks.

    • No. But if you split your stereo tracks into separate left/right mono files, the Tsunami mono firmware provides a way to start and play both files in sync and route them to separate outputs. So it is possible to play stereo (and even 5.1 or 7.1) content using the mono firmware. You just have to provide each channel as a separate mono wav file.

  • Wow! I’m really interested in this unit, I’ve been wanting a MIDI sample player with multiple outs for since forever, and you know what they say… if you want something done right, you have to do it yourself!

  • I have two questions: -What size headphones/speakers can directly connect to all of the outputs? Perhaps these speakers on each output: COM-09151? -What was the design reason that the last two DAC stereo outputs were left unpopulated (Out5LR and Out6LR)? Was this just a layout concern or is the M7 not beefy enough (I can’t see how) to process so many concurrent WAV files?

    • The audio outputs are line-level, not meant to drive speakers directly. You can connect a pair of headphones to the pairs (½, ¾, 5/6, and/or 7/8) and get a decent level, depending on the impedance of the headphones.

      We made the decision to make Tsunami a 4-stereo/8-mono output device - it’s enough to differentiate it from any other embedded player that I’m aware of. If anything, it’s a memory constraint, since each output requires memory for mixing and DSP (gain and sample-rate conversion), and 8 seemed like a good number. There is no external RAM in the design, so everything has to fit in the processors SRAM. Each voice also takes substantial memory (SD buffering and per-voice DSP) so this was a good tradeoff between number of voices and number of outputs.

  • I’m not sure if I’m running into a bug.

    I’m running the board in mono mode, and when I trigger these from the .ini file… I get the expected result

    TRIG 01, 208, 0, 0, 1, ,

    TRIG 02, 208, 0, 1, 1, ,

    TRIG 03, 208, 0, 2, 1, ,

    TRIG 04, 208, 0, 3, 1, ,

    TRIG 05, 208, 0, 4, 1, ,

    TRIG 06, 208, 0, 5, 1, ,

    TRIG 07, 208, 0, 6, 1, ,

    TRIG 08, 208, 0, 7, 1, ,

    But only the first four of these Tsunami Arduino Serial commands sound from the correct channel

    tsunami.trackPlaySolo(1, 0, false); —>outputs to 1

    tsunami.trackPlaySolo(1, 1, false); —>outputs to 2

    tsunami.trackPlaySolo(1, 2, false); —>outputs to 3

    tsunami.trackPlaySolo(1, 3, false); —>outputs to 4

    tsunami.trackPlaySolo(1, 4, false); —>outputs to 1

    tsunami.trackPlaySolo(1, 5, false); —>outputs to 2

    tsunami.trackPlaySolo(1, 6, false); —>outputs to 3

    tsunami.trackPlaySolo(1, 7, false); —>outputs to 4

    any help would be awesome

  • Question: Is it possible to trigger 2 wav files, each to their own output, with 1 button press?

    • Yup. With the mono version of the Tsunami firmware, you can use the “Synced Set” trigger function to start up to 8 tracks, each to its own output. Because the tracks will start and stay in sample-sync, you can use this feature to play stereo, 5.1 or even 7.1 content.

  • Question: I have an application in mind where I need 12 synced mono audio channels out (it’s for ambisonic playback)…normally I would use a Mac Mini, a multichannel sound card and Max/MSP for this, but a Tsunami solution would be both more robust and more cost effective.

    Is there a way to set up a trigger for 6 tracks each on two Tsunami boards and then have them all start in sync from a single physical trigger…or a way to accomplish this via serial or MIDI signal? Thanks!

    • It depends upon what you mean by “in sync”. With a single Tsunami, using the “Synced Set” trigger function, up to 8 tracks , sent to 8 outputs, will start and play in sample-sync - meaning that they will literally be locked sample-to-sample.

      With two or more Tsunamis, there’s no way to lock their individual clocks, so the best you can do is connect a single switch or contact closure to a trigger input on both Tsunamis. When you do this, the tracks on each Tsunami will start within 3 to 8 milliseconds of each other, and will drift slightly over time due to the frequency tolerance of the oscillators. It will likely be good enough if the tracks don’t contain identical material - many MIDI instruments have this much variability in their timing - but if the tracks contain related or identical content, then there could be a noticeable comb filter effect.

      Hope this helps.

      • Thanks for the information; very helpful. I will have to do some more research, but I am afraid that even 3 ms would wreck ambisonic playback, especially if a source panned between the two board’s respective speakers…might could do a six above and six below sort of arrangement inside a dodecahedron and just disallow pans that would cross the equator.

  • I have a question about my application. I need to use the Midi in, and I need to have only one note at a time go to each output channel (only one- if there’s more than 8 notes simultaneously, I am ok with loosing one or more). I see that I can assign certain notes to certain channels, but that isn’t what I am hoping to do. Rather, I want the first note to be played on channel 0, the second on 1, etc. Eventually, channels would be reused- if channel 1 is no longer playing, the next note would be routed to it. The best summary is- I want notes to be randomly assigned to each channel, and never more than one note to a channel at a time. Is the mode that I have described supported?

    • No. That’s pretty specific and it’s awfully hard to provide a general purpose, non-programming interface that supports all the things anyone might want to to. For that reason, the serial control protocol, as embodied by the Tsunami Arduino Library, is designed to be flexible enough that you can write your own custom control logic in an Arduino. Using pretty much any 3.3V Arduino, such as a Teensy, which I believe has a MIDI library, you could get what you describe without a lot of code.

      • Well, yep, that was my plan B- to have an Arduino with a Midi interface to receive the incoming notes and then manipulate the Tsunami to play one note on each channel. Your board is still terrific for this purpose. I just thought I’d ask about my specific application. Thanks for the quick reply.

  • Hi, I’ve got another question: I’ve been pushing the Tsunami (~20 voices playing at a time, tracks fading in and out) and I’m running into some stuttering. It’s system-wide: all voices, whatever their output, stutter simultaneously when there is a stutter.

    It seems to happen randomly, maybe once every minute, and doesn’t seem to coincide with serial command inputs or the starting/ending of track playback.

    Does this sound like an SD card problem? I started with a Kingston 4G SDC4, which is on your list of recommended SD cards, but it was stuttering badly. I’m getting better results using an SD card that isn’t on the list, but still the occasional stutter. I don’t have a WAV trigger. is there a way for me to test my SD cards write times without one? do you have other suggestions for troubleshooting? Thanks

    • Update: I just ran 32 mono voices, routing a sine wave to a separate output and recording the output. I ran for 5 minutes with no glitches. This was with a SanDisk 4GB speed class 4 card. I ran the same test with a PNY 32GB U3 card, known to have problems, and got glitches. So I’m guessing your issue is indeed related to SD card. One thing to try is re-formatting on a Windows machine with a 32K allocation unit size.

      Also, you didn’t mention it but are you also using sample-rate offset commands? Speeding up the sample-rate increases the likelihood of running into SD card issues since it requires even faster access.

    • Based on what you describe (good detail, thanks) it does indeed sound it’s related to SD read access. The fact that changing the SD card changes the frequency of the problem is certainly a good indication. Unfortunately, the only way to test/measure a card at the moment is with a WAV Trigger - I haven’t ported the test software to Tsunami, and probably won’t in time to be of near-term help to you.

      It would be interesting to throttle back to say 16 voices or fewer and see if that eliminates or reduces the occurrence. Also, if you could record the stutter and send me a short wav file that includes it. We can take this off-line if you contact me at info(at)robertsonics(dot)com.

  • Hi, it seems that the Tsunami Serial Control Library for arduino only use the stereo firmware of the board. Any way to use mono outputs with serial commands ? Or with normal triggering, would it be possible to unlink the trigger and the outputs, and to set the outputs in the filename ? (Like you did in the Midi Note-on command method you described in the user guide) ? Thanks.

    • I’m pretty sure the library works fine with the mono firmware. The README file in the library indicates that the output range for the play functions are 1 - 4, but the code should actually accept a 1 - 8 range. Did you try it and have a problem? I believe I’ve tested the library with the mono firmware.

      Not sure I understand what you mean regarding the normal trigger function. You can currently already specify the output as part of the trigger settings. What would be the advantage of specifying the output in the filename, since a normal trigger can only map to a single wave file?

      • Glad to hear that the library will work in mono mode. ï will test it and report.

        To be precise, I want to use the random function to multiple outputs. That’s why ï need to specify the output in the filename.

  • Hi, I’m testing serial control of the Tsunami, and I’m generally getting good results, but I can’t get the reporting working. I’m using the new mono firmware (V1.01m), and am using 0xf0, 0xaa, 0x06, 0x0e, 0x01, 0x55 to turn reporting on. I get system and version info when I request it, just not reporting.

    I noticed that in the user guide, the output message code for reporting is 0x83, but the example uses 0x84. Is it possible that the wrong message code is listed for turning reporting on? Thanks

    • So sorry… looks like the User Guide is wrong. The command code (to Tsunami) for enabling track reporting is 0x0d, and the report response command code (from Tsunami) is 0x84. I’ll fix this ASAP.

      Turn track reporting on: 0xf0, 0xaa, 0x06, 0x0d, 0x01, 0x55

      If you look at the code in the Tsunami Arduino Serial Library, that’s going to be correct, since the library works. I must have changed things at some point during the final development stages and not updated the user guide. Nobody has brought this to my attention because most people probably use the Arduino library.

      • Thanks for the quick reply! Got it working now. As far as doing without the arduino library, it’s been seamless sending control messages straight from Max -> Sparkfun FTDI 3.3v breakout -> Tsunami Thanks again

  • Hello, I am user of the original WAV Trigger. Could you confirm my understanding for both ? I understand in WAV trigger MIDI Channel numbering is considered at same level as bank numbering and not anymore with Tsunami. As following (is that correct ?) :

    WAV Trigger rule : Track Number = (MIDI Channel * 128) + (MIDI Bank Number * 128) + MIDI Note Number with MIDI Channel (0 to 15), MIDI Bank Number (0 to 16) and MIDI Note Number (0 to 127)

    Example 1: MIDI Channel: 0, MIDI Bank Number: 1, MIDI Note Number: 1 => Track Number = 129

    Example 2: MIDI Channel: 1, MIDI Bank Number: 0, MIDI Note Number: 1 => Track Number = 129

    TSUNAMI rule : T = (MIDI Bank Number * 128) + MIDI Note Number with MIDI Channel (0 to 15), MIDI Bank Number (0 to 31) and MIDI Note Number (0 to 127).

    Example 3: MIDI Channel: 0, MIDI Bank Number: 1, MIDI Note Number: 1 => Track Number = 129

    Example 4: MIDI Channel: 1, MIDI Bank Number: 0, MIDI Note Number: 1 => Track Number = 1

    • Correct. Tsunami follows MIDI Channel Number conventions more closely than the WAV Trigger, in that it supports both dedicated channel assignment as well as Omni mode.

      • Is there special action at background when changing bank with Tsunami ? I would like to play on synthesizer tracks number 121 to 136 (as example) together adding program change frame when appropriate.

        • Not sure I understand the question. Changing banks with a Program Change message simply changes the MIDI Note to Track Number mapping for future note events. One thing to keep in mind is that if you hold a key while changing banks, then that track won’t get the Note Off message when you release the key.

          • I understand I need to send Program Change many times also when releasing. My question is more I am worry if there is more action at background when Program Change occurs like parsing sd, allocating memory… I can manage with Program Change for my need: play two instrument on the board with different and independent bank system then number of files is more than 128.

  • What is the latency? Is it fixed? Without this info is not possible to know if it would work as a drum-machine and even sample-playback synth…

  • Hello everybody,

    I’m having problems to get the the 8th channel in “synced pair mode” runnin? I want to start 8 Tracks with one Trigger (all in sync). Here are my settings (Mono Mode):

    BAUD 9600

    TRIG 01, 224, 0, 0, 14, 1, 7

    Seven Channels work just fine, but as soon as i chance the Track Range to 1 -8, the trigger won’t work.

    Does anyone else have this problem? (Besides that, the Tsunami crashes very often. Hopefully the SD Card ist the Problem.)

    Cheers, Jan

    • This is one of two issues we found and fixed after the v1.00 firmware went to production. Both issues only affect the mono firmware version and since we ship with the stereo firmware, I was holding off releasing an update in case we found other things. I will post a v1.01 update on the robertsonics download page tonight.

      Regarding the “Tsunami crashes very often” comment, I’d like to better understand what you mean. In all the testing and development done for this board, it doesn’t ever “crash” to my knowledge, and I’ve had it running for days at a time.

      UPDATE: Firmware v1.01 mono and stereo is now up on the Tsunami download page (link above). This should get you starting all 8 tracks. If you are using the stereo version, you don’t need this update as both issues affected mono version only.

      • Hey Robertsonics.

        Thanks for your reply. The “crashing” turned out to be a SD-Card Problem. Since it is replaced by a good one, there where no crashes at all. Again, thank you for your reply. I will test the new Firmware today!

        Cheers Jan

  • Anyone know how I could connect an i2c device to this board? Would I need an arduino in the middle? Want to add Freescale MPR121 touch sensors for triggers instead of buttons/switches…

  • I wonder…….(actually planting an idea) If I had a system or home automation that had presence detection in some or all rooms and that had a wired or bluetooth speaker to each room or area. Multiple doorbell and call buttons around the house. I understand that a controller would handle a lot of these functions. This board could play a different sound for each doorbell, or play that sound in the actively occupied room and then outward at slight delays to others speakers to create a simulated echo. Make no sound in say a occupied room with lights off. If a call buttons is pressed and held it would send out an alert to all. One press/two press… etc. I could probably do a lot of these things thru OpenHAB with rules or a minimal system via a controller (yes, a Pi, Arduino, Odroid etc). I’ll just throw this idea out-there and see if anyone runs with it.

  • Sooo, it’s essentially a (Amiga) MOD player? Or at least it can be made into playing MOD files?

  • This looks fantastic….but I would be more interested in re-purposing this board. Does it have a J-Tag port so that it can be re - programmed and debugged?

Customer Reviews

5 out of 5

Based on 4 ratings:

Currently viewing all customer reviews.

3 of 3 found this helpful:

Awesome!

This board is great, and functions as expected! The people at SparkFun were also very helpful with combining two shipping orders, saving me some money on shipping costs. A++ customer service! My only “issue” is I wish there were a Tsunami option with pins already soldered in, I would’ve happily paid more for it. It’s not impossible to solder, you just need an appropriate soldering iron. I ended up having a friend who owns a stereo repair company solder the pins in for me. Not a big deal, you just need precise equipment.

The board itself and the people at SparkFun rock! Overall great experience! Also, Jamie of RobertSonics was very helpful in assisting me in figuring out any issues I encountered, Jamie thank you thank you!

2 of 2 found this helpful:

Just what the doctor ordered!

I am using the Tsunami in a veterinary medical training simulator, using 7 outputs to drive 4 simulated pulse points, a headset for stethoscope simulation, patient voice and gut sounds. All operate independently, synchronized with a graphical patient vitals monitor, The Tsunami responds very consistently, without significant startup latency when sounds are played. Its capacity for a large number of files allows me to have many differing sounds in my library, to provide many different heart/lung conditions and cover a broad range of heart and respiration rates. Even with very short wav files, the sound quality is clean.

The documentation is clearly written and accurate. And Robersonics has been very responsive to me when I have had additional questions come up.

This is perfect Tool and I have a lot of fun with it!

It gives me a great flexibility in playing samples.I have put into a Box with 16 buttons. Please see a short video at https://vimeo.com/245263943

Works great!

Using it for sound effects and it is doing everything that I need it to do.