Pitch Bend and Variable Sample Rate Control Are Here


WAV Trigger firmware version 1.06 adds variable sample rate conversion on the main output. This comes in the form of MIDI Pitch Bend support and a new serial control protocol message.

By default, in MIDI mode, MIDI Pitch Bend (any channel) raises and lowers the pitch of the WAV Trigger’s main output mix by plus and minus 2 semitones. The latest version of the InitMaker app allows for changing the pitch bend range to from 1 to 5 semitones using a new #BEND command in the init file.

There’s also a new samplerateOffset serial command that allows for adjusting the output sample rate between 1/2x to 2x with 16-bit resolution – while audio is playing. Documentation for this message has been added to the Online User Manual and the latest version of the Remote Control demonstration app adds a sample rate control knob to demonstrate this. I’ll add support for this feature to the Arduino Serial Control Library shortly.

The new firmware and update related apps are all on the download page.






  • reply Xavier G ,


    I’d like to command wavtrigger with a teensy 3.2 in MIDI.
    I only want to command pitch bend/sample rate with a potentiometer.

    I had succes with the volume controller (7) but nothing happen with the pitch bend…
    Can you help me ?

    thank you

    here is the code :


    void setup() {
    pinMode(15, INPUT_PULLUP);

    void loop() {

    MIDI.sendControlChange(7, analogRead(15),1); // volume control is OK
    //MIDI.sendControlChange(6, analogRead(15),1); // not work
    //MIDI.sendPitchBend(analogRead(15),1); // not work…


    • reply Xavier G ,

      Also –
      firmware 1.28 wavtrigger

      thank you

      • reply Jamie ,

        I can’t help with general programming issues, but please review the MIDI Pitch Bend message data format. It takes a 14-bit value from 0 to 4096, with 2048 as the center position.

      • reply Xavier G ,

        I have succeeded in program pitch bend.
        Volume also work with controller 7 but attack and release doens’t work…
        I use the number 73 (attack) and 72 (release). the firmware is v1.30b hex file.
        So I’m totally lost because it’s normally simple as the volume controller…
        Do you have an idea to help me ?
        thank you

        • reply Doug ,

          I’d like to discuss licensing the Wave Trigger. I couldn’t find your email and SparkFun were unable to help for some reason. Would you please contact me to discuss? 908-910-9551

          • reply mike ,


            i successfully finish my project , but i want to add a small led screen so i can show the current cents transport of original playing note.

            i use int sensorvalue =map(analogRead(sensorPin),0,1024, -32767 ,+32767 ) ; to change the frequency [WORKING]
            and int g = map(analogRead(sensorPin),0,1023, -1200,+1200) ; to display the cents to the screen [PROBLEM]
            [(12 semitone x 100 cents)/octave]

            but the actually change of the note (A to b …) doesn’t match with the previously map readings (so i thought that notes does not change linear but logarithmic)
            how i can modify the map command show the displayed cents match the actually (real) note steps

            i also try a logarithmic potentiometer rather of linear but that confuse my reading even more

            thank you for your time

            • reply Jamie ,

              The value that you pass to the samplerateOffset() routine causes the actual sample rate to change linearly from 0 to 1/2X over the range of values from 0 to -32767, and linearly from 0 to 2X over the values from 0 t0 +32767. You will have to research how this linear sample rate transfer function maps to cents.

            Leave a comment