June 14, 2024, 06:42:06 am
Welcome, Guest. Please login or register

Arturia Forums

Author Topic: Question about special case in polyphonic synthesizers  (Read 715 times)


  • Apprentice
  • *
  • Posts: 46
  • Karma: 2
Question about special case in polyphonic synthesizers
« on: June 15, 2023, 02:58:20 pm »

this question is not only about MatrixBrute, but more general about any polyphonic synthesizer controlled by MIDI commands.
Let's assume the synthesizer is set to a very long release time, for example 10 seconds.
At t=0 a "note on" command is sent and at t=1 a "note off" command. That means the sound would end at t=11.
What happens if at t=2 another "note on" command is sent for the same note?
Is the first note abandoned and the same oscillator is used for the new note?
Or is another oscillator used, so that both notes can be heard simultaneously?
You might say "you can't hear the difference because it's the same note", but keep in mind that the waveform could be sawtooth and the two notes are not necessarily in phase.
How is this special case handeled in synthesizers?


« Last Edit: June 16, 2023, 08:07:28 am by mkoch »


  • Super Doc
  • Administrator
  • Hero Member
  • *****
  • Posts: 1.046
  • Karma: 480
Re: Question about special case in polyphonic synthesizers
« Reply #1 on: June 16, 2023, 02:23:31 pm »
For a monophonic synth such as the MatrixBrute, the oscillators will simply be set to the pitch of the new note at t=2 and the envelopes will be triggered again.

For polyphonic synths, the most common method is the "round robin" voice assignment where each incoming "note on" command will use the next available voice. So for for a 4 voice poly synth we get:

t=1 => voice 1 plays
t=2 => voice 2 plays
t=3 => voice 3 plays
t=4 => voice 4 plays
t=5 => voice 1 plays as the assignment goes around again

If the note for t=1 and t=2 is the same, say C4, voices 1 and 2 will play the same C4. If there is some release time for the VCA envelope, both voices will indeed be heard playing a C4, there may be a slight volume increase as the two voices add up, you'll get some phasing and so on.

There are also other voice assignment schemes than "round robin". E.g. in the PolyBrute you can select "reassign" which will reuse a voice if the same note is received. That is if a "note on" with C4 is received at t=1 and another C4 "note on" is received at t=2, the same voice that was sounding at t=1 will sopund again at t=2. If different notes are received at t=1 and t=2, the "reassign" mode will use the "round robin" method and assign voices 1 and 2. This is how a an acoustic instrument would work and this can be said to be a more "natural" assignment method. It also "eats up" less of your polyphony whichleads to less cut off notes if the same note is played many times. Here's an example of voice assignments in the "reassign" mode:

t=1 C4 => voice 1 plays C4
t=2 C4 => voice 1 restarts and plays C4 again
t=3 D4 => voice 2 plays D4
t=4 E4 => voice 3 plays E4
t=5 E4 => voice 3 restarts and plays E4 again
t=6 F4 => voice 4 plays F4
t=7 G4 => voice 1 plays G4 as the assignment goes around again

You can have a look at the PolyBrute manual, chapter "5.11. Voice allocation modes" to see an example of different voice allocation modes, and also voice stealing modes.


  • Apprentice
  • *
  • Posts: 46
  • Karma: 2
Re: Question about special case in polyphonic synthesizers
« Reply #2 on: June 16, 2023, 05:31:51 pm »
Thank you very much for your detailed answer!



Carbonate design by Bloc
SMF 2.0.17 | SMF © 2019, Simple Machines