Author |
Peformance-oriented MIDI-CV Converter |
br>krm |
br>I'm working on a performance-oriented MIDI-CV converter. By that, I mean that you can change all of the MIDI configuration parameters in real time, with MIDI buttons, knobs, or faders. You don't have to pick some specific configuration, set it, and then be stuck with it while you play.
For example, my MIDI-CV converter has a built-in LFO, that can be synced to MIDI clock. You can...
- Change the shape of the LFO with a MIDI knob, in real time.
- Change the start point of the waveform with a MIDI knob, in real time.
- Change the MIDI clock quantization (from 1/2 note, to 32nd triplet) with a MIDI knob, in real time.
- Reset the LFO on key-down (or not) with a MIDI button, in real time.
- Switch from MIDI-sync to free running with a MIDI button, in real time.
I also have a built-in arpeggiator working. It has 8 patterns (7 preset, with 1 user-defined). Just like with the LFO, you can change the pattern and number of octaves with MIDI buttons, while the arpeggiator is running.
I'm finding all sorts of interesting polyrhythms by accident by fiddling the MIDI sync parameters while running the arpeggiator.
I'm hoping to have a demo posted on my website in the near future.
Posting this info here should guilt me into getting off my butt and actually finishing it!
Any additional ideas about real-time control would be welcome, even though I'm already experiencing feature creep in my design.
-Keith br> br> |
|
br>Umcorps |
br> krm wrote: |
Any additional ideas about real-time control would be welcome, even though I'm already experiencing feature creep in my design.
|
I have only one suggestion and its probably quite boring. And that is, before you add any more features to those you have already, test the shit out of your core conversion routines. They need to be utterly, utterly bombproof.
Of the various midi->CV converters I've used/still use, not one of them has been 100% reliable. All of them have at some point choked, hung, skipped notes/gates or just gone weird for a bit. In the studio thats annoying. In performance its a disaster.
If you can't do that - and I can understand that its not simple to do - then at least put a midi panic button and a device reset button somewhere accessible (meaning somewhere that doesn't need a flashlight to find and a bent paperclip to access)
But it would be much better to have a device that didn't ever need a reset button. br> br> |
|
br>krm |
br> Umcorps wrote: |
I have only one suggestion and its probably quite boring. And that is, before you add any more features to those you have already, test the shit out of your core conversion routines. They need to be utterly, utterly bombproof. |
I don't think it's a boring request. I think it's probably the most important.
I do synth repairs on the side, and I get requests to add MIDI conversion boards to monosynths quite frequently. I've never been able to find a retrofit board that worked without some type of weirdness. That is why I started this project in the first place.
Part of my 'day job' includes software development, so it makes me frustrated to see bad software design.
MIDI-CV conversion seems easy, but it's not!
-Keith br> br> |
|
br>angora |
br>I think most people would want 4 or more sets of CV outputs. It would be nice to be able to set the polyphony just by setting the midi channel on each set of CV outs. So if CV outs 1 & 2 are both set the midi channel 1, CV out 3 is set to channel 2, and CV out 4 is set to channel 3, midi channel 1 is duo-phonic, but 3 & 4 are mono-phonic.
Are you looking to make this a stand-alone unit or a module? if it is a stand-alone, I'd ask people if they would rather have the panel vertical or horizontal. I hate desktop units and would prefer something that I could set other items on or set on top of a rack, but other people love desktop units. So, I'd see what the general preference is. br> br> |
|
br>krm |
br> angora wrote: | It would be nice to be able to set the polyphony |
For the first version of my board, I'm keeping it monophonic (I have to learn to walk before I can run). I really want to concentrate on real-time control of all parameters instead of polyphony. However, my software design is very modular, so adding extra CVs and polyphony won't require a complete re-design.
My original idea was to just make a retrofit board to add MIDI to monosynths, but it's very easy to panel mount it.
I've been testing it with my Paia 9700 and Paia 2700 modulars (yes, it does Hz/volt), and I'm probably going to make a Frac panel for it.
-Keith br> br> |
|
br>SPIKE the Percussionist |
br>Can you make it fit within 6HP? br> br> |
|
br>krm |
br> SPIKE the Percussionist wrote: | Can you make it fit within 6HP? |
Hmmm, that's only 30 mm wide. I'm currently working on the final board layout, so this gives me a good goal for the size.
As I said in my previous post, I'm going to make a Frac panel first. However, I think it makes sense to design a Euro layout at the same time.
-Keith br> br> |
|
br>SPIKE the Percussionist |
br> krm wrote: | SPIKE the Percussionist wrote: | Can you make it fit within 6HP? |
Hmmm, that's only 30 mm wide. I'm currently working on the final board layout, so this gives me a good goal for the size.
As I said in my previous post, I'm going to make a Frac panel first. However, I think it makes sense to design a Euro layout at the same time.
-Keith |
neat!
please let me know if you need a tester for a Eurorack version!
br> br> |
|
br>horstronic |
br>Nice idea!
I thought about doing something like that but never had the time...
What kind of hardware do you use? br> br> |
|
br>krm |
br> horstronic wrote: | Nice idea!
I thought about doing something like that but never had the time...
What kind of hardware do you use? |
With the risk of turning this into a "Music Tech DIY" thread... I'm using an Atmel ATMega328P for the microcontroller, and a Maxim DAC. The magic is really in the software.
Regarding the "performance" aspect of my project... I'm really trying to have every parameter changeable on-the-fly while you are playing. I think this is really important while playing live. Many MIDI-CV converters assume that you will never want to change the LFO shape while playing, or how many MIDI beats the clock will sync to.
I've finalized the arpeggiator code, and it's really neat being able to glide cleanly between 8ths, 8th triplets, 16ths, and 16th triplets synced to MIDI, while the arpeggiator is running, by just turning a MIDI knob on my controller.
The built-in LFO is also syncable, and can be mapped to a different MIDI knob, so it can be on triples, while the arpeggiator is evenly on the beat.
I promise a "live playout" type of demo as soon as I have my code stable.
-Keith br> br> |
|
br>davydka |
br>Note priority is an often overlooked feature that I find really, really useful. The new oberheim sem's with midi have great front end controls for this setting. br> br> |
|
br>davydka |
br>But yea, midi -> cv module with an arpeggiator would be sort of a holy grail module for me. My friend built an arp that features some of the same sort of performance controls that you're talking about. I really wish he would develop it more, but he's sort of onto other things now. It's up on github here:
https://github.com/ontarioplates/Gnarp
I've been gigging with a working prototype of it for the last 2 years. I've thought of making a demo, getting some replies from the community, and then showing it to him to further develop it, maybe do a kickstarter. br> br> |
|
br>krm |
br> davydka wrote: | Note priority is an often overlooked feature that I find really, really useful. The new oberheim sem's with midi have great front end controls for this setting. |
In addition to the regular low-note or high-note priority, I think it's also important to offer a 'last-note' priority for really expressive live playing.
By 'last-note' I mean this: If you have multiple notes held down at once (from playing very legato, or from some type of trill or turn), the MIDI-CV converter should keep track of the ORDER that you've played them. When you lift up the LAST note, it should shift to the PREVIOUS note you just played, regardless if it's the lowest or highest note at the time.
It's confusing to explain, but if you've ever tried playing anything very fast or complicated through a MIDI-CV converter, you'll notice that it doesn't always switch between notes like you expect it to, based on low-note or high-note priority.
On the other hand, there are some very cool synth effects possible with high-note priority. An example would be to hold low C down, and play some solo riff a few octaves higher, in the key of C. Every time there is a rest in your solo, it will sound a low root (C) note.
-Keith br> br> |
|
br>krm |
br> davydka wrote: | But yea, midi -> cv module with an arpeggiator would be sort of a holy grail module for me. |
I've finally posted a demo video of my MIDI-CV converter. I focused mostly on the arpeggiator. This is a live playout demo from my studio.
Right now my prototype is enclosed in a small box, but I plan on making a module version.
-Keith br> br> |
|
br>horstronic |
br> krm wrote: | davydka wrote: | But yea, midi -> cv module with an arpeggiator would be sort of a holy grail module for me. |
I've finally posted a demo video of my MIDI-CV converter. I focused mostly on the arpeggiator. This is a live playout demo from my studio.
Right now my prototype is enclosed in a small box, but I plan on making a module version.
-Keith |
Wow, that's great! Do you plan on selling kits, PCBs or publish the schematics/code? br> br> |
|
br>krm |
br> horstronic wrote: | Wow, that's great! Do you plan on selling kits, PCBs or publish the schematics/code? |
First I have to finish the project. I'm planning on making a fully-populated PCB for retrofitting into a monosynth or other project, and also a module-version.
-Keith br> br> |
|
br>horstronic |
|
br>davydka |
br>That's really great! Does the module also output the arp midi notes?
I really like how you can change the tempo subdivision on the fly. Is there a control for gate length as well? So cool! br> br> |
|
br>davydka |
br>That's really great! Does the module also output the arp midi notes?
I really like how you can change the tempo subdivision on the fly. Is there a control for gate length as well? So cool! br> br> |
|
br>krm |
br> davydka wrote: | That's really great! Does the module also output the arp midi notes?
I really like how you can change the tempo subdivision on the fly. Is there a control for gate length as well? So cool! |
No, it doesn't output the arpeggiated notes as MIDI. You're not the first person to ask that. Perhaps I should add that in!
I have a MIDI knob mapped to the MIDI clock divide ratio. At one extreme, it divides down to sync with half notes. At the other extreme, it divides down to sync with 32nd note triplets. In between, it syncs to 1/2 notes, 1/2 note triplets, 1/4 notes, 1/4 note triplets, etc.
There is another MIDI knob that maps to the gate-on time.
-Keith br> br> |
|
br>davydka |
br>Add that midi - out!
Please. br> br> |
|
br>rdomain |
|
br>prosperity |
|
br>FSK1138 |
br>well i think din midi is sort of dead
the best -- for my use -
are qunexus and the beatstep
the qunexus has a midi din adapter
i will never buy another keyboard br> br> |
|
Powered by phpBB © phpBB Group
|