[sdiy] Midi problems

Thomas Hudson thudson at tomy.net
Thu Apr 4 00:12:54 CEST 2002


On Wed, 2002-04-03 at 15:32, Tim Ressel wrote:
> So like, how is poly supposed to work? 
> 
Left as an exercise for the implementor? 

If you have a limited number of voices, there are various methods
for voice rotation which will give very different final results
for a given playing style. For example, you can rotate voices:

0x90 0x64 0x64 => voice 1 on
0x65 0x64 => voice 2 on (running status)
0x64 0x00 => voice 1 off

The Juno 106 had two modes selectable on the front panel for it's
six voices, rotate and a sort of "sticky" mode where once a voice
was used for a particular note it would always be used. Other methods
are rob oldest, hold (don't play anymore notes if all voices are used),
rob high, rob low, etc.

What is not specified is what to do in a case of receiving multiple
note on's of the same pitch value:

0x90 0x64 0x64 => voice 1 on
0x64 0x64 => same note on with running status, voice 2 on
0x64 0x00 => note off (which voice do I cut off here, oldest or last?)

So if you want to trigger the same pitch multiple times you really need
a multitimbral synth and send them on different channels:

0x90 0x64 0x64
0x91 0x64 0x64
...
0x91 0x64 0x00
0x90 0x64 0x00

Of course since a keyboard can't retrigger a note without first sending
a note off, this only applies when using sequencers or other midi 
generating programs, well, and my stupid false triggering guitar synth.

Tomy






More information about the Synth-diy mailing list