WAV Trigger Pro - Performance
The WAV Trigger Pro’s STM32H750 MCU provides for better performance specs than the original WAV Trigger. Latency - the time between an active trigger or MIDI Note to the onset of sound - has been reduced by about half, to a typical value of 2.5ms. Increased RAM allows for larger, more efficient block reads from the microSD card, and the ability to freely mix mono and stereo .wav files. And unlike either the original WAV Trigger or Tsunami, the WAV Trigger Pro provides individual pitch offsets for each track/voice.
We’ve stress-tested the WAV Trigger Pro by maxing out polyphony at 24 stereo tracks (voices,) with a pitch offset of +700 cents on all voices, to confirm that there are no buffer overruns and glitches. But as always, this performance depends on having a microSD card that does not suffer from occasional delayed reads. I’ve written multiple times on this site about microSD cards for streaming audio, and all of that still applies here. Performance of your WAV Trigger Pro will depend on having a suitable microSD card.
I can’t possibly test all the microSD cards out there, and even if I tried, the internals change without notice and new products are continually being introduced. Instead, I have built into the WAV Trigger Pro the ability for you to asses the performance your own cards. This can be done using the Serial Console interface.
Serial Console Interface
The WAV Trigger Pro’s Serial Consol interface consists of the RX/TX/GND pins, which can be connected to a 3.3V TTL serial-to-USB adapter such as SparkFun’s FTDI Basic 3.3V. The Serial Console implements human-readable ASCII communications, allowing you to type commands and get information in a serial terminal window. While you can use any serial terminal program to do so, the Serial Console has been designed to work with the Arduino IDE serial monitor. Specifically, the WAV Trigger Pro does not provide any line editing features (back-space, delete, etc) and will simply try to parse all characters preceding a carriage return. The Arduino IDE serial monitor lets you edit the line before any characters are sent, and provides the option of appending a carriage return.
You can even access the Serial Console from the Arduino IDE while simultaneously developing an Arduino sketch on another COM port. Just toggle the COM port setting in the IDE to determine which port you want the serial monitor window to connect to.
The Serial Console can be used any time, including while the WAV Trigger Pro is playing audio, allowing you to monitor the number of active voices and response time of the microSD card.
To access the Serial Console, do the following:
Connect a 3.3V TTL serial-to-USB adapter installed in your computer (with appropriate drivers if necessary) to the RX/TX/GND pins of the WAV Trigger Pro.
Run the Arduino IDE. Find and select the COM port corresponding to the serial-to-USB adapter.
Open the serial monitor window and in the top right of that window, change the line ending option to “Carriage Return” and the baudrate to “57600 baud”
Type “stat” in the outgoing message box and hit return. You should see a response from the WAV Trigger Pro that includes the version number, number of tracks on your microSD card and other statistics.
Entering the command “help” will provide a list of current Serial Console commands. The initial release provides the following command options:
Serial Console commands should be entered using all lower-case letters. For commands that take one parameter, just separate the command and parameter with a single space. For commands that accept multiple parameters, use a comma to separate them. Some commands have optional parameters, indicated above inside the < > characters. If any of the optional parameters are used, all of them must be present.
These are the commands available in the first release of the WAV Trigger Pro firmware:
help - Displays the currently available commands and their parameters.
stat - Returns an information block which includes the WAV Trigger Pro’s firmware version and build information, as well as info about the installed microSD card.
play - Plays the specified track number, if it exists. If used with a single parameter, the track will be played at full volume, center panned, at 0 pitch offset, with an attack and release of 0ms, and not looped or locked. The optional additional parameters can be used to customize the track playback.
stop - If used with a track number, this command will stop the track immediately. If the optional release value is included, the track will fade out over the specified number of milliseconds before stopping. If use with no track number, all tracks will be stopped immediately.
gain - This command sets the output attenuation of the WAV Trigger Pro.
v - This command returns the number of currently active voices.
sd - If used with no parameter, this command returns the current longest microSD block read in microseconds since the WAV Trigger Pro was powered up, reset or the value itself was reset. If used with a parameter of 0, this will reset the value to 0 on the fly.
test - This command will stop the audio engine and start a block read timing test of the installed microSD card. The optional test count parameter can be used to specify the number of block read cycles in the test. If used with no parameter, the test will perform 100,000 block read cycles. It’s important to keep in mind that the test will only read blocks actually allocated to .wav files, so the more .wav files are on your card, the more of the card will be tested. While the test is running, a command of “r” can be used to see partial results, or “s” to stop the test prematurely. The audio engine will be restarted when the test finished or is stopped. For a discussion of the test itself, please refer to this article.
Next: Examples
Contents:
MIDI Implementation and Presets
Triggers and the Default Preset