The WAV Trigger uses microSD cards very differently than does a digital camera, computer or smart phone. In order to play and mix low-latency, polyphonic audio, the WAV Trigger must perform “just-in-time” reads all over the card. If any one read takes too long, then there will be glitches and artifacts in the audio. With a camera, if one read or write out of hundreds of thousands takes a long time, who would notice?
The WAV Trigger expects multi-sector reads to take something around 1 ms, give or take. Anything over 20 ms will cause a glitch while playing a single 44.1kH stereo wav file. Many multiple reads over 5 ms may start to affect polyphony.
To determine which cards are suitable for polyphonic audio, I’ve written alternate firmware for the WAV Trigger than will measure and report the read times of any formatted microSD card. The card need not have any files on it – it just needs to be formatted as FAT16 or FAT32. If you’d like to get the firmware and test your own cards, scroll down to the bottom of this page for details.
Here’s a list of cards that have been tested so far and the corresponding results. If the model number is not indicated, it’s because I just have the card itself without any packaging or purchase information, or because the results were reported to me without this information. A green yes indicates excellent WAV Trigger performance. An orange yes indicates that despite some higher than normal numbers, in all likelihood you’ll never hear a problem. A red no means that you will definitely notice occasional artifacts in the audio and to not use these cards in the WAV Trigger.
Interestingly, the lesson at the moment appears to be to stay away from the newer UHS speed class cards (a “U” with a 1 or 3 inside of it.) While these cards have apparently been optimized for use in cameras, doing so has a detrimental affect on their random access times and makes them unsuitable for the WAV Trigger.
|Card||Class||Read Max||Read Min||> 2 ms||> 20 ms||Ok to use|
|4||7.3 ms||320 us||6||0||yes|
|4||1.1 ms||517 us||0||0||yes|
|PNY 32G Turbo
|UHS-I/U3||100.7 ms||383 us||885||130||no|
|4||1.5 ms||146 us||0||0||yes|
|UHS-I/U3||133.6 ms||351 us||166||18||no|
|PNY 32G||10||1.5 ms||340 us||0||0||yes|
|SanDisk 1G (FAT16)||—||1.2 ms||314 us||0||0||yes|
|SanDisk Ultra 16G
(red/gray case, HC-I)
|10||4.3 ms||226 us||1,993||0||yes|
|Samsung 16G EVO
|UHS-I/U1||93.9 ms||283 us||6||14||no|
|SanDisk Extreme 32G
(red/brown case, HC-I)
|UHS-I/U1||8.6 ms||229 us||3||0||yes|
|4||1.8 ms||133 us||0||0||yes|
|UHS-I/U1||93.6 ms||297 us||3||32||no|
The above numbers were determined by timing 1 million read operations – a mix of single sector and 8-sector block reads of random sectors – over the entire SD card, independent of FAT file formatting. This simulates typical use when playing multiple simultaneous tracks of audio.
You can download the microSD Card Test firmware for the WAV Trigger and run the test yourself. You’ll need a terminal emulation program to see and interact with the the WAV Trigger when it’s running this firmware. You can use the same FTDI COM port that you use for flashing the firmware. Set your terminal emulation software for 57,600 baud rate and disable hardware hand-shaking. The test firmware does not echo typed characters, but typing valid single-key command produces an immediate response.
As with the normal WAV Trigger firmware, you must cycle power after changing the microSD card. The test firmware will display the key commands and card info when it first starts, but if you miss it, pressing ‘I’ will display it again. You can press ‘R’ while the test is running to see preliminary results without disturbing the test. The full test takes a little under 20 minutes to run. You should probably run the test several times on a given card to be certain.
You can send in your results to be added to the above table. Please include the model number of the card if available, speed class ratings, and a screen grab of the test results.