Keyboard/Midi Frontend (RE: PolyModular Standards)
jh
jhaible at primus-online.de
Thu May 6 00:09:23 CEST 1999
>I'd be happy to share it for the polyphonic modular. What do you think?
>Juergen?
>
>Ingo
I knew we have skilled uC designers / programmers here !
>From your description it sounds interesting, especially with that
many output signals !
Having a Midi-only front end might be a good solution, if it is a
good Midi interface. And what you describe looks good - better
maybe than a lot of commercial stuff I've seen. Polyphonic
Aftertouch - that's a *dream* of mine, too. I guess I have to get
an Ensoniq keyboard then (?). I'm a little sceptical about the
Midi slowing down with polyphonic AT, however. Is there a solution
for that ?
A few points from my personal wish list for a Midi Interface (I don't know
if that could be adapted easily):
(1) Hardware switches for every important functions, i.e. no menues.
I want to change from unison to poly with a dedicated electrical contact,
so I can even connect a footswitch if I want to. Same for voice assignment
modes. (see below.)
(2) Since I have played with an Obie / Emu keyboard scanner, I won't
go back behind that anymore. I'd like to see it upgraded for a modern
Midi / CV converter, velocity, aftertouch and all the things you mentioned.
But I absolutely *need* all these various keyboard assignment modes.
(a) Reassign on/off. This determines if an additional voice is allocated
if you hit the same key twice. In case it is, you get the most wonderful
chorus effect between these voices (like unison), but you run out of
voices early. In case no new voice is allocated, you just restart
the envelope of the previously assigned voice, and by varying the
time between hitting the same key you can model the contour of
this voice way beyond a "boring" normal ADSR envelope (remember
that thread?), just as you can with a monophonic synth.
My Ob-8 does one thing (chorusing), and my Prophet 5 does the
other thing only, and my "dream interface" must have both options.
(b) Continuous / Reset , and a mix of both.
When I have released all notes, and asuming the last note was assigned to
voice #3, I have a choice which voice will be assigned when I hit the next
note on the keyboard. "Reset" will start again with voice #1, and "Continuous"
will start with the next in line, #4 in our example. Both options will
result in other voices (that might still sound in their release phase)
being cut off and used for a new pitch. Both options are valuable,
and again I want to choose between them "on the fly" with a hardware switch.
In general, I see two possible design goals for polyphonic synths:
Either put in so many voices that you don't notice that it's not
one voice for every key. Or use the limited number of notes as a creative
tool of it's own. A PS-3200, and many modern digital synth, follow the
first design goal. No way to compete with that with a PolyModular! I mean
whether there are 4 voices or 6 voices, you don't come close to *that*.
So I want to go for the second design goal. Limited number of voices
can lead to a very special playing style. Especially when you have
these parameters from (a) and (b) to choose from.
If you have a polysynth that allows to disable a certain number of voices
(like the Oberheim's and the Prophets), I invite you to make the following
experiment: Switch the synth to unison and set the VCA-ADSR to fairly
long Attack and Release times. Same for VCF-ADSR, and set up an
interesting sound to play sustained lead lines, according to your taste.
Just the fairly long A and R times are important. You can play monoponic
lines, if you remove your fingers the sound will sustain, and if you
hit a new note, the old sound will be replaced by a new one, or the
pitch will jump / glide to a new value - that's how we perceive what's
going on. Even with long attack times, the "new" sound will be there
rather soon, as the "old sound" was still in its release phase.
*How* fast this wil happen depends on the duration of the "gap"
between two notes you played. You can shape the envelope in realtime
even without velocity or aftertouch.
Now switch to polyphonic mode (5, 6, 8 notes depending
on the synth you're using), and the effect is a completely different
one. You will have a slow rise / slow fade out pad sound, with each
note fading into the next. This is useful, too, but it's a completely
different sound. Same parameters, completely different result.
Now do the 3rd part of the experiment and switch off some of the
voices in polyphonic mode. Make your synth a 2-voice or 3-voice
machine deliberately. And suddenly you have these wonderful
sustained lead lines again, just not monophonic anymore, but 2
or 3 independent voices with all these realtime contour shaping
capabillities as before.
The same thing does happen with more voices, too, of course.
But speaking for myself, I cannot control this on purpose anymore
with 6 or 8 voices. It still happens that a note is notably cut off every
now and then with 8 voices, but then it's more perceived as an
"accident" than a means of creative expression.
So the bottom line for me is that a limited number of voices is not
just a restriction, but a means to prase notes individually. And to make
the best of it, we need various assignment modes, and to make use
of these, we need hardware switches, not menues.
Sorry for the long rant. Most of you are familiar with that, but some
may not have tried it yet, so I hope it was useful for some of you.
And I wanted to say, yes, using one of our own's (Ingo's, or
anybody elses) designs, with some possible small additions, may
be much more useful that just buying a commecial Midi interface.
So I'm looking forward to what you uC guys are putting together !
Ingo, what would be the approx. component costs of your design
(asuming that you'd donate your code to the community (;->) ) ?
And is my "whish list" too far from what you already have, or would
that be possible ?
JH.
-----Original Message-----
From: Ingo Debus [SMTP:debus at cityweb.de]
Sent: Wednesday, May 05, 1999 5:44 PM
To: DIY
Subject: Re: PolyModular Standards
Haible Juergen wrote:
> If there is someone who does the keyboard scanning and/or Midi stuff with
> a uC, this is the best that could happen on that part.
I can offer the mircoprocessor part of my polyphonic synth here. It is a
pretty old design, based on a 6502, but it works. The software can be
modified easily, if necessary, since it's completely by me. (Hah! Who
said that a synth OS cannot be written by one person alone?! :-) But,
agreed, it was indeed a lot of work.)
Some details:
- Input is MIDI. A four-octave keyboard can be connected too, but it's
not velocity sensitive (the MIDI input is velocity sensitive of course).
I don't have the keyboard connected anymore, since it doesn't make any
sense for me. But the keyboard scanning code is still there, I was too
lazy to remove it.
- There are 32 control voltage outputs and some digital outputs. The
analog output interface was a kit from Doepfer, one DAC (8 bit), buffer
RAM, and analog multiplexers/s&hs/buffer amps. I intended to make it 6
voice, with 2 VCOs per voice, so 12 CV outputs are for VCO control and 6
CV outputs for VCF cutoff control (V/oct). The other CV outputs are used
to control other parameters, this might not be interesting for a modular
(I don't have any knobs on my synth except Volume and Tune). They could
be used for general MIDI controlled cv outputs instead. The digital
outputs are used for ADSR gate signals. Actually I have 5 voices in my
synth, but the software could be modified to handle any other number of
voices.
- User interface: 21 pushbuttons and a 6 digit 7-segment display (from
the Elektor Junior Computer). The thing can be controlled via Sysex too.
I made a SoundDiver adaptation for it.
- MIDI messages processed: Note On/Off, pitch bend, mono and poly
aftertouch, controller, program change, Sysex. Filter cutoff can be
affected by note number (i.e. keyboard tracking), velocity, one
controller and aftertouch. Aftertouch (especially polyphonic) for filter
cutoff is a great feature for analog filters!
- Voices can be stacked (i.e. more than one voice for one note). VCO and
VCF cutoff offsets and velocity/controller/AT sensitivity can be set
seperately in semitones then. A keyboard split point can be defined with
different VCO/VCF offsets below and above. Either keyboard zone can be
played polyphonic or monophonic.
- Presets can be stored in battery-buffered RAM and recalled via front
panel or program change messages.
- The software is in EPROM. However, for testing/debugging it can be
downloaded via MIDI into RAM too.
- Compared to today's all-in-one microcontrollers, it's rather high
component count. To use a modern micro, the code had to be re-written. I
will not do this!!! Does anybody know whether the 6502 family ICs (6502,
6520, 6522, 6532, 6850) are still available? In the Conrad catalog there
are only 6522 and 6850 listed. There are also some old RAM ICs in the
Doepfer interface, but I think these can be replaced with modern SRAMS
easily. Also, it might be a good idea not to use the original 8-bit-DAC,
but a 12-bit (or even 16 bit) instead.
I began with that project in the early 80s and made the last
modifications some months ago. There's still a lot that could be done.
I'd be happy to share it for the polyphonic modular. What do you think?
Juergen?
Ingo
More information about the Synth-diy
mailing list