Tsunami

Tsunami is the next evolutionary step beyond the WAV Trigger.

Based on a new generation ARM Cortex m7, 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 it’s own volume setting, allowing you to create the perfect interactive mix of music, dialog and sound effects.

The big news is that 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.)

Tsunami also supports true seamless looping over an arbitrary track length.

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

IMPORTANT NOTE: Tsunami is a 3.3V device, and its inputs – including triggers and serial RX – are not 5V tolerant!

Specifications

  • 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

Unique to Tsunami

  • 32 mono or 18 stereo voice polyphony
  • Dynamic routing to 8 mono or 4 stereo outputs
  • Play uncompressed 5.1 or 7.1 surround content with a single trigger
  • Independent real-time volume and playback rate control per output
  • Seamless looping over arbitrary track length
  • Dedicated MIDI I/O
  • Assign individual MIDI notes to specific outputs, with individual looping control
  • Line-level stereo audio input
  • Reset button allows changing SD cards without power-cycle
  • Firmware updates from microSD card. No additional hardware required

 

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

 

 

Tsunami FAQ

Tsunami is faster and has more memory so that it can play more simultaneous tracks (more voices) and it has either 8 mono or 4 stereo output channels instead of only 1 stereo. Each output can have its own volume and playback rate.

Tsunami can loop tracks seamlessly over any arbitrary file length. It has a dedicated MIDI port with a built-in opt-isolator so no external circuitry is required to connect to a MIDI controller. An extension to the file naming convention allows you to map any MIDI key to any of the 4 audio outputs, making it easy to “split” your keyboard controller.

It has a line-level stereo audio input.

It has a reset button, making it possible to change the SD card with requiring a power cycle. And it has a proprietary boot-loader that provides for firmware updates directly from the microSD card.

To play 5.1 or 7.1 surround content, you must first export each channel to a separate mono, 44.1kHz, 16-bit wave file. Name each wave file using sequential track numbers in the order that you want them to appear in Tsunami’s outputs. Then just use the new “Synced Set” trigger function to specify a range of either 6 or 8 tracks, as well as first output channel for the set.

That’s it. The trigger will now start all 6 (or 8) channels across the 6 (or 8) output channels in sample sync. You can still mix in other mono, stereo or even other surround content to those same channels.

The initial Tsunami firmware release gives you the option to route and mix the stereo audio input to any or all of the stereo audio outputs. It does not record the input nor does it yet do any DSP, but it does allow you to mix live audio with any sounds that are generated by Tsunami.

Future firmware releases will extend the use of the audio input channel.

Tsunami was designed with MIDI in mind. Each of the 128 MIDI notes maps to a track number with a formula that includes a MIDI Bank number. The MIDI Bank can be incremented or decremented, mapping the entire keyboard to up to 32 banks of 128 sounds, using either trigger inputs or MIDI Patch Change messages. In addition, the track filenames can be coded to route any note/track to any of the 4 stereo outputs, making it easy to split your keyboard and across multiple output channels

Tsunami can be set to respond to either a specific MIDI Channel or to all channels (Omni.)

Tsunami is velocity sensitive, and MIDI attack and release times can be dynamically changed using MIDI Controller messages, and Tsunami responds to Sustain, Pitch Bend and Volume messages. Using the configuration editor, you can also tell Tsunami to ignore MIDI Velocity and even Note-Off messages.

No. Tsunami’s 32-bit ARM Cortex-m7 processor certainly has the horsepower to perform real-time MP3 decompression of perhaps several MP3 streams, but it’s a legal 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, Tsunami can play either 32 16-bit mono or 18 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 16-note chords using just Tsunami and some buttons. With a MIDI keyboard controller, the number of notes you can play simultaneously is limited only by the number of voices – 32 for mono, 18 for stereo.

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 32 mono or 18 stereo tracks with an average speed microSD card.

Tsunami 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 signal from another microcontroller, like an Arduino, or from an active sensor. Tsunami inputs 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 12 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 Tsunami 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.