WAV Trigger feature requests
The WAV Trigger has been out for several months now, and I've already made a few tweaks to the firmware as a result of feedback. Overall, it's pretty complete and stable, and I'm quite happy with it.
I've been working on a major firmware update that I'll probably issue as a beta release in the coming weeks. In addition to an optimized mixing engine that simultaneously increases the number of voices/tracks (for the same speed microSD card) and even further reduces the track start latency, I've also implemented built-in programmable track faders, allowing for smooth attacks, releases, ramps and cross-fades. I've even added the attack and release time to the MIDI implementation making the WAV Trigger even more like a polyphonic MIDI hardware sampler. I'll shortly add support for the track faders to the Arduino Serial library.
There are a number of additional features and enhancements that I've been contemplating, but I want to make sure that I'm working on things that customers will find useful, not just that I think are cool. To that end, here's a list of features that I've been thinking about. Any feedback will help me decide which of these, if any, to do:
1) A serial command to return WAV track filenames. The thing that makes this non-trivial is support for long filenames, which involve multiple FAT directory entries and potentially long serial messages. Returning the 8-character DOS compatible filename would be much easier, but I'm not sure that's what you'd want.
2) A mechanism for starting multiple tracks in sample-sync with one another. At present, it's possible that closely spaced triggers or serial track start commands will result in the respective tracks being out of sync by one or more audio buffers. I'm not completely sold on the need for this, since if you want to play 2 tracks in sync with one another, why not just mix them down into a single WAV file? But I may be missing the point.
3) EQ on the output. Probably 3-band - low, mid, high - with gain settings set with an init file command as well as via real-time serial commands.
4) A playlist file. This would likely take the form of a file containing a list of track numbers, and a trigger option that would sequentially play the tracks from the list.