Magic MIDI Delay
#1
Posted 02 March 2003 - 04:04
The toy for this weekend is a MIDI delay which works different from the existing ones, because it allows to route the delayed notes to different channels. In this way very interesting sequences can be realized without much effort. My favourite configuration consists of four instances of virtual synthesizers which are playing the same base sound, but with slight modifications (Cutoff-frequency, octave, volume, panorama).
4 independent delay lines are available, they can be clocked by an internal BPM generator or via external MIDI clock (when BPM is set to zero)
Here a short demo tune:
However, this is just a (not well mixed) example - most important point is that I had a lot of fun during live-playing! :)
Link to the application:
http://www.ucapps.de...s_download.html
(search for "magic_midi_delay")
The source code is also a good example, how to interact with the LCD, buttons, pots, encoders, LEDs
Minimal configuration: one core module
parameters can be controlled via MIDI (see main.asm)
Options: one LCD (character or graphical) which shows the parameters
30 buttons to control the parameters directly
alternatively 8 encoders to control delay and transpose value of 4 channels and one jog wheel to control the BPM
alternatively 14 pots or faders to control the parameters directly
mods are welcome!
Have fun! ;-)
Best Regards, Thorsten.
#2
Posted 15 May 2003 - 21:15
Just been having some fun with this lil app - very nice ;)
I'm trying my best to impletment it in my current setup - hard with one midi i/o and a midi merger handling a keyboard, 2 midiboxes (3rd on com) and a SID!
So, i was thinking - could it be possible to just have a single pot connected direct to the core just controlling the bpm value - as i cant see this is implemented via ext midi in main.asm. Then mebbe just have 3 seven-digit LEDs to display the bpm and no LCD - possible? I'd then whip up a logic enviro to control all the other params and display info...;)
Would be a great primer to MIOS - 1 core, 1 pot, 3 7digit LEDs...and if ur a logic user an enviro to go with it...:)
Great stuff!
Dan
#3
Posted 15 May 2003 - 23:03
Would this be correct:
;; initialize the AIN driver movlw 0x01 ; use 1 pot call MIOS_AIN_NumberSet call MIOS_AIN_UnMuxed ; don't service multiplexer interface
the ain.inc file could be left as is i guess as pot 1 is already assigned to bpm...
Cheers...
Dan
#4
Posted 16 May 2003 - 03:50
yes, this should work :)
For assembling you have to create a new project and to insert the "main.asm" file into the source list (nothing else).
Alternatively you could also start mpasmwin (the assembler) directly. It can be found somewhere under /Program Files/MPLAB IDE/MCHIP_Tools
I prefer this way, because it simplifies the update procedure: push the assembler button, run the convert script, upload via MIDI-Ox.
Best Regards, Thorsten.
#5
Posted 18 May 2003 - 23:53
Hey T...
Yup, project made and sysex'ed all fine ;) workin just dandy with 1 pot controlling BPM value...
On to the logic enviro now ;) might have a problem fitting this in my midi setup tho, havnt got much i/o atm - even having just made a midi merger and gameport midi interface. Still, i'll see how i get on and post the results as and when ;)...
Best...
Dan
#6
Posted 19 May 2003 - 01:39
A simple Logic macro made for Magic MIDI Delay:

And the LSO:
http://www.notapplic...uk/mbhp/mmd.lso
Requirements:
1x18F Core
1x10k Pot (Control BPM value)
Here's the syx file for the adaption of MMD to a single pot if u dont wanna go in MPLAB and rejig the code urself:
http://www.notapplic...k/mbhp/main.syx
Njoi ;)
Dan
#7
Posted 19 May 2003 - 01:51
T, could 3 seven-segment LEDs be used instead? If so, could ya give us a few pointers with the code ;) Or perhaps, make the BPM pot transmit MIDI so it could drive a text fader with the bpm values in logic?
Best...
Dan
#8
Posted 19 May 2003 - 04:16
thanks for the additions :)
Yes, a LED digit display could be used. A demonstrator is still in the queue ;-)
A SysEx message which contains the value could also be possible, but maybe it's better just to send out a CC or NRPN and to visualize the value with Logic? You can use the MIOS_MIDI_TxBufferPut function to send out values.
Best Regards, Thorsten.
#9
Posted 19 May 2003 - 06:34
Quote
Great!
Quote
Yup, having it send out a CC or NRPN would be great but i'm abit at a lost with what to do with that MIOS_MIDI_TxBufferPut function you mentioned... ???
Thanks...
Dan
#10
Posted 21 May 2003 - 02:49

Had enough bits layin about to knock up a lil box, so y not eh....;)
Peace...
Dan
#11
Posted 30 May 2003 - 03:56
Well made! :)
Best Regards, Thorsten.
#12 Guest_IainDuncan_*
Posted 29 July 2003 - 09:43
- first note, bundled with say two CC messages,
- first delay, same note, velocity is v * velatn, and CCs going out are the first two * atnfactor for each.
Another trick we do that sounds awesome is attach controls for each particular note so that the delay level and time can be different for each step. It sounds very cool to do the above with say beat 1 delaying heavily on dotted eights, while beat 1& delays less heavily with different CC vals and delay on eights. The two mix up together for a really cool effect.
Iain
#14
Posted 28 October 2006 - 07:11
I was keen to try the application out, but the download link is not working. Has anyone made a front panel for this yet?
Thanks,
John
#16
Posted 28 October 2006 - 09:21
Also, I know its not about the midi delay, but I recall seeing an mios LFO box which would send CC#'s but couldnt find it anywhere. Do you recall it? Know where the info is at??
Cheers,
John
#18
Posted 06 January 2007 - 05:10
Thanks!
John



Help















