microSD Cards for Audio

Note! This article was written ages ago. While the theory and explanation remain as true as ever, the cards mentioned are no doubt no longer available. The conclusion about UHS speed class cards may no longer be true. Please read this more recent update.

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 yes indicates excellent WAV Trigger performance. A probably indicates that despite some higher than normal numbers, in all likelihood you'll never hear a problem. A 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.

SanDisk 4GSDSDQAB-004G 4  7.3 ms  320 us 6 0 yes

Toshiba 8GPFM008U-1DAK 4 1.1 ms  517 us 0 0  yes

PNY 32G TurboPSDU32GU390G-GE UHS-I/U3  100.7 ms 383 us 885 130 no

Kingston 16GSDC4/16GBET 4  1.5 ms 146 us  0 0 yes

Lexar High-Performance32G LSDMI32GBBNL633R 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 probably

Samsung 16G EVOMP-MP16DA/AM 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 probably

Kingston 4GSDC4/4GB 126 4 1.8 ms 133 us 0 0 yes

Sony 16G SR16UYA/TQMN 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.