Sending Program Change to DigiTech Whammy?


#1

So I just got my Axoloti Core the other day and really digging it so far. Using an Akai MPK Mini mkII to control things.

Was thinking I would start simple and try and set up midi output to my DigiTech Whammy on my pedalboard - it takes Program Change Messages.

Below is the list of MIDI Program Changes for the pedal

Id like to map the akai pads to send the program change output to the whammy so I could just tap 1 pad and jump to octave up, press another for octave down, etc so I dont need to reach down and twist the knob carefully selecting the right program manually

So I tried setting up a ctrl/toggle -> midi/out/pgm last night but realized:

1. when I mapped the toggle to a pad on the akai, it was not registering - the toggle has no input side, do I still need to have some midi/in somewhere before the patch will read the input to use the mapped controls?

2. I am just now realizing (I was playing with this half asleep last night) that midi/out/pgm doesnt actually let me choose which program change to send out - I had it set to channel 2 last night (thinking it was program 2) and, while the pad mapping wasnt working, just clicking the toggle with that set up I was able to have the pedal go from off/oct down to on/octave up. Is there a different module for midi out that allows me to select program change code to send out?

3. it seems the ctrl/toggle latches - is this going to cause a problem if I have multiple triggers set up for the different program changes?

Down the line idea - is it possible to set up a trigger that can cycle through a list of program changes at a speed I set? IE: tap a pad on the akai and the axo sends Program Change 1->6->3->5->7->22 to produce some quick, glitchy pitch effects for guitar? Being able to send them at random would be awesome but even setting up my own sequence would be cool (id want it to end on a disengaged change)


Tap Tempo Reliability Issues
#2

midi/out/pgm has two inputs.

  • pgm, is an integer specifying program change number.
    trig, to send the message, (only interested in change from 0 to 1, so your better to use ctrl/button)

the trig MUST be sent after +pgm is set, so be careful with order of execution here.
(e.g. put button after object setting +pgm in the patch)

then you must also set the midi channel and ensure the device is correct (usb/din)

yes, of course you can cycle thru changes....
just use buttons (or whatever) to increase/decrease a counter, and after that has been done send a pulse to the trig.
(you can do this via the same button you used to do the inc/dec as long as you are careful about execution order)


execution order , I've mentioned a couple of times, its an important concept in Axoloti, which states that objects are processed left to right, top to bottom... its important to understand this, as its easy to create bugs if you don't.
theres quite a few topics on the forum about it, if you need some more info.


#3

Thanks for the help! I took the time to read through the user guides as well (which I guess I should have done first) which helped a ton...so now I have a few questions

So here is the simple setup I got together that works fine:

This works fine, I can CC map the toggle to a pad and copy/paste this with it set for the other programs on the whammy - this works great but:

  1. The toggle latches on so if I say send PC8 for octave 1 down then PC2 for octave 1 up - if I want to hit PC8 again, I need to hit it once to unlatch the toggle, and then again to send the change. The toggle switch is mapped as bool32.tgl, I tried mapping it as bool32.mon and it works how I want clicking but it wont allow me to CC map the momentary. Is this possible to add?

  2. I am selecting the program with the ctrl/i - is it possible to set my integer to random with a min/max set?

  3. I've been going through the library of objects but can't find one yet - is there a seqencer object that I can set a sequence of those program messages to play once if I trigger it? One that could be either oscillator or midi clock controlled (I see there is the quantize/multiply clock which would be helpful in line with that)

  4. Finally, if in a patch I dont need any type of note input from my MPK keybed, can I mape keys to CC commands similar to how I use the pads?

Sorry for a lot of questions, starting to learn my way around this though and looking forward to working out my own patches..thanks for the help!


#4

just use the trigger out of a midi cc in object that you set to the cc you want...


#5

So this would work? then I dont need a separate ctrl toggle/button? (sorry, I am doing this with free time at work so I cannot test until I am home later) thanks!


#6

exactly. it's that easy


#7

Sick, thanks so much!

So, working from that - rather than trying to map the keybed to CC, would something like this work to trigger from a key?


#8

yes, that should work as well.


#9

UPDATE!

So I got a patch together thats working well and wanted to share..

when holding a momentary button, it runs through the sequence of whammy commands (lfo controls speed) then when the button is release it sends the bypass command turning it back off. Works as is but I set it up as a SubPatch with the speed/triggers on Parent. Need to have both toggles set to the same CC for it to work correctly

WhamRand.axs (13.6 KB)

This is working great, I'm really digging it...just one question to try and improve it - Any thoughts on how I could set one of the triggers to both send a bypass command as well as turn the sequence off? IE: It would run at random triggers and the LFO speed but when it triggers a certain one it turns the sequence and whammy off rather than running while I hold the button then turning off when I let go.

Id love to be able to just tap once (eventually a footswitch) and have it just run a short random order until it turns itself off. My goal is to get close to the glitchy pitch jumps the Hexe Revolver pedal can do...thoughts?


#10

so which one would that be? just take the outlet of the sequencer and feed the output that turns the desired program on (the one that should be the last) to the point where your toggle is now.


#11

My first thought was to put the bypass trigger as the final bit, bit7, in the sequence but the sequence continues running and cycling through. Is it possible to have bit7 trigger both the bypass trigger as well as toggle Trig 1 to off?

Ideally, I would like to be able to hit my momentary switch once to start the sequence and with it set to random it would cycle through the bits until it hits bit7 turning both the whammy and the sequence off but I haven't quite figured out that yet


#12

Cant try it out at work but maybe something like this would work?

MidiCC would trigger through mux_2 to switch mux_1 to trigger the start of the sequence and then when bit7 is triggered it also triggers mux_2 to switch sending the trigger to mux_1 to turn off.

Would this leave mux_2 set to i2 at the end though making my midiCC trigger not work again until that is switched?

Am I able to change mux_1 S to accept two trigger inlets? IE: the midiCC trigger and bit7 would both change the state of mux_1 so first CC press switches to i2 and then when bit7 triggers it, it swaps it back to i1 (off)


#13

try that for auto off. its a quick hack, i don't have time for more atm. it currently switches off after two runs on bit7 but maybe that is even better :slight_smile:

WhamRandtry.axs (11.9 KB)


#14

Awesome, thanks! I'll give it a shot tonight...made a few other iterations to try as well, will report back!


#15

@lokki Your patch worked great, thanks!

I am running into the issue now that it is constantly sending that bypass signal once its off so I cannot use the whammy like normal but I think I am just going to add a second button that will turn that off when I when I want to use the whammy like normal. thanks again! going to be really cool once I set up a foot switch for it


#16

that should be doable without an additional switch. which cc turns the whammy off? can you post the patch again if you did any changes?


#17

The only thing I changed from your patch was the ctrl/button I changed to an inlet so I could use as a subpatch with a midi/in/cc hr i object to trigger it.

Its using the lfo to toggle which I think was how I set it in my original patch that was working while I held the button - I'm thinking now, if I am understanding correctly how the logic/flipflop works, that I can can disconnect that bypass trigger from the lfo and connect bit7 to that inlet and that should keep things working the same and solve my problem.

If that works, I'm thinking I probably don't even need the const/i or the a/b object either


#18

Heres what I'm thinking

Just moved my bypass off over to be bit7 and bit7 also triggers the flipflop so it should just run through, flip at bit7 on the first pass then on the second when it hits bit7 it turns off all together.

Or maybe that final bypass trigger should be connected to the flip flop out to send that trigger at the same time it swaps the lfo off?

Headed to a concert after work so unfortunately wont be able to test until probably tomorrow night, thanks again for the help!