FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 

Module Idea: SDS Digital Key Shift
MUFF WIGGLER Forum Index -> Music Tech DIY  
Author Module Idea: SDS Digital Key Shift
I thought I'd post this module in the DIY forum because it uses an Arduino Pro-Mini. Lately my head's been in overdrive and I just came up with it this AM so it's in it's very early concept stage.

I'm always looking for a way to make sequencer melodies more interesting (i.e. key changes) and have been using the standard method of offsetting CV's from my sequencers simultaneoulsy , but it's always slightly out of tune and seems to be difficult to accept at times. Hence, a new module is born.

I call it the SDS Digital Key Shift and it's something that I've wanted for quite a while in a small (4HP) module for the mini rack & demo rack.

Here's a 3D render of the panel:

It has 3 CV inputs that are modified by the little keyboard offset and sent out. It's pretty simple on the surface!
Holding any key will set the 0 volts offset to that key, i.e. if your VCO's zero out in note A, then hold on note A. Going down ( well up on the panel) will shift the CV's down, while going up will shift it upwards.

Additional Features:

Pressing the C & D keys will allow setting of Portamento Speed with the +/- keys. The two keys above (not indicated) will select special portamento: up only/down only

Pressing the E&F keys together will arm record mode.
This is so you can create an offset sequence. CV I/O "C" becomes Clock & Reset for this feature. Any key will start the recording, and either pressing both E&F keys or a pulse on the RS jack will stop record and start playing. Pressing them again after record ended will arm to start a new record even though the old one is still playing.
The RS jack will restart playing of the sequence. To pause/reset the sequence, press the +/- keys (not indicated).
The down side to this mode is that the CV channel "C" is removed so only two CV's can be offset.
When there's a clock, everything is quantized to it and record will only end on 4th clocks to make it easier to get it right.

It's possible to offset each CV channel individually by simply pressing more than one key at the same time. Granted the little buttons are close together so more than 2 keys may be difficult, but if 3 are managed, the CV's are assigned the key offsets in descending order.

On a good note, setting porta/record is easy with one finger because yes they are close together.

I thought I'd share anyway, and will make the program (in Arduino IDE) open source once it's up & running. The panel is on the 3D printer as I type this!

BTW the LED's in the graphic are actually bi-color's now so look white when they're off.
I was going to make it quantize the incoming CV, but decided against it as portamento and glissando would get royally screwed up, so it's analog all the way.
CV inputs are +/- 5V so it can be used to offset other things.

Also, an offset sequence can be programmed slowly if the clock it really slow or a manual trigger. Making chords will be much easier this way too!

Can't wait to have this done!
This is a brilliantly elegant and simple idea that has tons of potential. The record play feature knocks it out the park.
This looks really useful. Is there any way to set the scaling to 1.2V/Oct?
Kent wrote:
This looks really useful. Is there any way to set the scaling to 1.2V/Oct?

I don't see why not, just a minor change in the software really....
.1V / note instead of .0833V/note
Matos wrote:
This is a brilliantly elegant and simple idea that has tons of potential. The record play feature knocks it out the park.

Thanks Matos, I'll see how it works out soon enough
Very nice idea! Would you also be able to shift octaves with this?
SB-SIX wrote:
Very nice idea! Would you also be able to shift octaves with this?

Thanks! It hadn't been planned but it could be done be pressing the two C's together then selecting up/down with the +/- keys.
LED's around Ab could indicate +/-3 octaves..
Also an octave shift can be achieved by pressing/holding low C to set to go upward or high C to set to go downward...with the 11 notes between

I was also thinking another way to shift octave would be to simply hold (longer than a second) one of the C's to set the offset there, then hold it again to go into the next octave
Maybe that's a better way than my earlier post.

The code will be open source so can be customized to special needs zombie

I have it almost complete but discovered I wired the bi-color LEDs all wrong on the panel PCB so have to re-do it this morning.
The buttons aren't as cumbersome as I thought they would be, it's pretty easy to hit them individually.

Barring anymore issues with the panel I should have a working prototype by the end of the day smile
Well I have had some time to play around with it thus far (after accidentally frying the first Pro-Mini board ) and it's pretty useful in what it does. Can't wait to do the recording part which is what I really want.

I'll post video once I get the graphics on it, 'tis rather plain right now!

Well I haven't got to making a video yet even though the face is all pretty since yesterday, but I did make some audio.

This thing is really nice to have! I have a rudimentary Record/Play thing now that can go up to 500 clocks thus permitting even long progressions.
I am using a pair of RIT_M's on the VCO's each with their own "note sequence" and occasionally tweaked those.

The patch uses all 6 jacks on the Key Shift module. Both RIT_m's doing minor7 quants

In this audio clip I am occasionally playing keys while the loop plays to break out of it for a bit, and the RS jack also acts as an output CV even with the clock so you can hear Hi-hats coming and going because that's what's triggering that and once the offset gets higher than the digital trigger input floor it stops. A bonus!

BTW the scoopy sound is a snare module I designed a couple weeks ago which is also under control via cut/length/tone CV's from the MI Frames

Anyway, having fun with it smile
Huh I was just playing around with a cv recorder this looks way better then what i had in mind .

interested in a board when you have them though i would do my own panel
diablojoy wrote:
Huh I was just playing around with a cv recorder this looks way better then what i had in mind .

interested in a board when you have them though i would do my own panel

Actually for a manufactured unit I was thinking of going with 6HP to run the function buttons (record/play/stop/porta/chord) down the side of the keyboard...and perhaps make it touch controlled which would kill any alternate panel.
What kind of panel design were you thinking?

BTW got the recording part working and synced as in audio file but hitting the rec buttons to stop/end and start playing the shift loop is a bit sketchy, although it does work. I have to hit them hard to make sure I'm within 4 clocks of the loop point (which snaps to the nearest 4's first)

4HP problems:
Having PCB's made with this LED & button spacing is probably impossible as the buttons are so close together I had to "share" holes and snip 1 pin off of the 4 legged beasts so they wouldn't short together.
The LED's are angled but still come so close to the edge of the PCB that they wouldn't be do-able for V-score edge, they're way too close.
Hence the 6 HP consideration.

Touch pads would be nice (not open pads like uP projects use but real capacitive pads like on the RIT_M) but would be flat so may need texture. I find using this I feel my way around the little keyboard often so...
This sounds awesome. My preference would be 4hp if it can be done in any form. given this was envisioned for a mini rack, the smaller the better!
Silver wrote:
This sounds awesome. My preference would be 4hp if it can be done in any form. given this was envisioned for a mini rack, the smaller the better!

Yes I'd like to keep it 4HP too. All is not lost. It's pretty good to use the way it is but super crowded to put together. I had to shave off the rims on the LED's to get them to fit together, then cover the leads as the first time I placed it in the rack while powered and poof! Fried the reg on the promini.
Real DIY stuff he he.

I should do a video as it is now to show how it is thus far
Here's a very short & sweet video of the KeyShift in action.
It gives an idea of what I'm aiming for.

There's two RIT_M's doing little sequences in the same key and my new snare/hat module in there + a Tea kick running from the ModEm-1 sequencer. The BSP is just modifying the snare's parameters.

The RS is acting as an output of the clock with the "keys" offset added at the moment as it hasn't sensed any input. I was going to defeat this but it has proven useful so may leave it in smile

It's very early in dev. and I haven't had much time to work on it this past weekend but it's already fun to use.
Great job! thumbs up

It reminds me a little bit of the Moon Modular 5U four channel quantizer suite I have, more info here
Oh yes it is so similar, except a multi-module, I found it interesting the keyboard is going the same way, left rather than right!

Thanks for the interesting link, figured there might be something else similar out there. I like the gate-on-CV-change feature. It's like part of a different module I've been working on. It's a useful thing to have. I imagine that happens once the CV falls into the range of a new quantizer value..

So I came up with a different scheme to perhaps make things easier:
Press the present note playing ( so there's no change ) then hit high C.

This sets entry mode in that-
With Clock input: Rec/stop buttons function individually, porta buttons work individually either one, and +/- buttons move octave on present key. Play / stop buttons pause or resume sequence
No clock input: individual keys are assigned to offset A,B,&C entered in 3's for chord offsets.

If high C is the present key, then pressing it with any other key will set entry mode.

The only problem with this method is stopping record as the keys are all used during record, so it will still need the two keys pressed together to end record.
A fixed loop size is out of the question as sometimes I like to make a much longer sequence, say, 16 bars.

Right now the Loop clock quant is every 4, but it's almost not enough with a faster clock like in the video so with faster clocks, beyond a certain speed, it could quantize to 8 or even 16 would make looping point easier to align to.

Reset jack:
As I mentioned in the video post, the Reset jack is still such that it outputs CVin C even though it's a clock. This will be changed so that if a clock input is detected, the Reset jack becomes an input.
It was kind of cool though with the hat!
I just did some goofing around with the touchpad idea and it sucks (just too close together to be useful) so it's back to the buttons arr!

I do think 6HP might be better though.
With the keyboard on the right (lowest note at bottom) the non-key buttons (rec/play/oct etc) can be on the left opposite a barrier with the LED's in the middle sort of.

If the LED's are staggered (for white keys and blacks) there would be enough room to put them in without snipping edges.

I'll do up a graphic when I get a chance
So after using the concept prototype for a while I've decided to go with the 6HP layout as I can't find a "happy" way to get control of the record/play/chord functions.
Oh vell, back to ze drawing board!

One advantage with 6HP (besides the obvious) is another column of jacks can be added, a clock, a reset, and a master modulation input. That way the 3 CV channels are always available.

Also with the chord button, chords can be entered (without a clock) by pressing chord then entering the 3 notes, then pressing chord once for each clock division (1-12 as indicated by the LEDs) and letting it timeout to enter that chord into the clock sequence. Once a clock is added the chords will be stepped through.
Any chord can be made instantly but just pressing chord and putting in each of the 3 keys without hitting chord again.

When being clocked pressing the chord button on the chord you want to change will enter the programming mode the same way except that the sequence of chords will continue playing, much like adjusting a sequencer.

On top of that holding the chord button will switch to Chord Seq size so the number of chords can be altered on the fly (at the next reset point)
Paranormal Patroler
6hp sounds fine if it means having the jacks readily available.
Paranormal Patroler wrote:
6hp sounds fine if it means having the jacks readily available.

I'm thinking of running the 6 CV jacks on the left side and the clock, reset, & Mod jacks down the right.
I'm bent toward a right hand keyboard but still deciding, left feels pretty good to so ...

Buttons along the keyboard should be REC, PLAY/PAUSE, CHORD, OCTAVE, UP/DOWN. OCTAVE button works with Up/Down to shift octaves, and 2 keys to turn on/off Quantizer & Portamento plus another key to turn the quantizer into a chord quantizer which could be pretty cool wink

It's amazing the amount of extras that can be added with just 2HP!
MUFF WIGGLER Forum Index -> Music Tech DIY  
Page 1 of 1
Powered by phpBB © phpBB Group