Author Topic: Pfm2 : unison discussion  (Read 37370 times)

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Pfm2 : unison discussion
« on: November 16, 2020, 09:46:47 PM »
would you have interest in reducing polyphony and adding more sound shaping stuff like maybe a master effects section with filters and distortions etc maybe a comb delay...   i think enough people use preenfm2 as a bass synth...  if it were a mono synth per part that would shave off a lot of cpu at least.  i mean i mostly use mine as a mono synth with 4 layers.

I don't have any plan for that.
But i'm as usual of course ready to help anyone who wants to give that a try.

another great feature would be to allow unison + detune + spread.  this could make the preenfm2 into a big fuzzy bulldozer!  and with a master effect like distortion etc. look out!

What does prevent you to do that today ? (OK there's not master effect).
But unison is doable.
It requires a little work, load the same preset in the 4 instruments.. assigne same midi channel or use global midi channel.
Detune and pan the different operators of the 4 instruments.
Reminder to make your life easier : "Mix, pan, env edit: hold 3 to modify all other operators of the same type (carrier/modulator) at the same time"


« Last Edit: November 16, 2020, 11:00:10 PM by Xavier »

solipsvs

  • Team Member
  • ***
  • Posts: 222
    • View Profile
Re: Pfm2 : unison discussion
« Reply #1 on: November 17, 2020, 06:03:13 AM »
im not opposed to work, but this would make a unison count of 4 when im trying to access as many as ive got.

but i see.  i dont want to annoy so i guess ill learn to code

baxgas

  • Team member
  • *
  • Posts: 22
    • View Profile
Re: Pfm2 : unison discussion
« Reply #2 on: November 17, 2020, 09:44:39 AM »
The preenfm2 respond to midi CC10 to pan an instrument. It's not reset when you load a new preset.
>> Thanks, works like that, I can make it from my Sequencer

But adding a shortcut (button + enoder) to modify the panning should be easy.
>> Do you mean by Performance P1-4 buttons via the Modulation Matrix?

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Re: Pfm2 : unison discussion
« Reply #3 on: November 17, 2020, 10:32:24 AM »
Quote from: Xavier
But adding a shortcut (button + enoder) to modify the panning should be easy.
Do you mean by Performance P1-4 buttons via the Modulation Matrix?

I mean in the code  :)
Actually you can use P1 to modify "Pan*" in the matrix. But that will be part of the preset, so it will reset when loading a new one.


solipsvs

  • Team Member
  • ***
  • Posts: 222
    • View Profile
Re: Pfm2 : unison discussion
« Reply #4 on: November 17, 2020, 05:15:31 PM »
would you have interest in reducing polyphony and adding more sound shaping stuff like maybe a master effects section with filters and distortions etc maybe a comb delay...   i think enough people use preenfm2 as a bass synth...  if it were a mono synth per part that would shave off a lot of cpu at least.  i mean i mostly use mine as a mono synth with 4 layers.

I don't have any plan for that.
But i'm as usual of course ready to help anyone who wants to give that a try.

another great feature would be to allow unison + detune + spread.  this could make the preenfm2 into a big fuzzy bulldozer!  and with a master effect like distortion etc. look out!

What does prevent you to do that today ? (OK there's not master effect).
But unison is doable.
It requires a little work, load the same preset in the 4 instruments.. assigne same midi channel or use global midi channel.
Detune and pan the different operators of the 4 instruments.
Reminder to make your life easier : "Mix, pan, env edit: hold 3 to modify all other operators of the same type (carrier/modulator) at the same time"

im not overstepping my bounds by asking for features most other synths already have am i?

matrix12x

  • Team Member
  • ***
  • Posts: 200
    • View Profile
Re: Pfm2 : unison discussion
« Reply #5 on: November 17, 2020, 11:23:48 PM »
I like this idea of adding a unison + detune. I've been doing this manually with the 4 parts.

another great feature would be to allow unison + detune + spread.  this could make the preenfm2 into a big fuzzy bulldozer!  and with a master effect like distortion etc. look out!


Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Re: Pfm2 : unison discussion
« Reply #6 on: November 18, 2020, 09:30:38 AM »
im not overstepping my bounds by asking for features most other synths already have am i?

Where would you add this option in the user interface ?
The idea sounds good, but how to integrate that in a easily usable way ?

The editing is really dedicated to one instrument.
Adding a LoadUnison, so that it's done at loading time ?
Browsing unison required to save in memory all 4 instruments. in Case of "Back" button. Not sure the pfm2 has enough free memory for that.
Adding detune and spread option woudl require to keep in memory the original sound. Nothing is designed for that.

Adding a specific setting option to switch between multi timbral / Mono timbral unison... Maybe the better solution, but that would require some heavy modification i don't have time to do.

All detailed ideas how that could be done are welcome.


« Last Edit: November 18, 2020, 09:34:06 AM by Xavier »

solipsvs

  • Team Member
  • ***
  • Posts: 222
    • View Profile
Re: Pfm2 : unison discussion
« Reply #7 on: November 18, 2020, 03:20:58 PM »
i dont really understand the technical problems you mentioned.  i think it might fit in the polyphony screen:  make the unison setting by turning the knob past 1 and dynamically limit the settings according to how many voices you have left that are unallocated.  example:  U2, U3, U4... U14 etc, and maybe detune can live in the mod matrix?  if its impossible technically then i understand but i have no idea about technical limits.  maybe its an idea for preenfm3?
« Last Edit: November 19, 2020, 02:05:07 AM by solipsvs »

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: Pfm2 : unison discussion
« Reply #8 on: November 18, 2020, 08:48:09 PM »
hi guys !
if it were me, i would go the ambika way to handle unison : each timbre ("part" in ambika terminology) has a number of voices, a mode and a spread parameter :
Quote
mode: Polyphony handling. When this is set to mono, all voices assigned to this part are simultaneously played in unison, and you cannot play chords (only the most recently played note is heard). When this is set to poly, the notes you play are dispatched to the voicecards. Obviously, the polyphony is limited by the number of voices assigned to the edited part! Finally, 2x unison works like the polyphony mode except that every time you play a note, it is played by 2 voices - this effectively divides the polyphony by two.
(from https://mutable-instruments.net/archive/ambika/manual/#keyboard-and-sequencing)

the spread parameter is used to detune voices (zero to -+1 semi tone).

it's very flexible and effective on the ambika.

the good news is that the code is available here :
https://github.com/pichenettes/ambika/blob/8cef027a5da278b61ad9e49dd43bc5f169934aa0/controller/part.cc#L661
https://github.com/pichenettes/ambika/blob/master/controller/voice_allocator.cc

all this would also add some benefit to poly handling, as it use a note stack to keep track of pressed keys.

but, yes, it's a lot of work to refactor such a big part of the code pool. :P

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Re: Pfm2 : unison discussion
« Reply #9 on: November 18, 2020, 09:55:40 PM »
i dont really understand the technical problems you mentioned.  i think it might fit in the polyphony screen:  make the unison setting by turning the knob past 1 and dynamically limit the settings according to how many voices you have left that are unallocated.  example:  U2, U3, U4... U14 etc, and maybe detune can live is the mod matrix?  if its impossible technically then i understand but i have no idea about technical limits.  maybe its an idea for preenfm3?

I don't know why i had in mind about using the 4 instruments with voice = 1.
Now i got what you mean  ;D

Quote from: Toltekradiation
if it were me, i would go the ambika way to handle unison : each timbre ("part" in ambika terminology) has a number of voices, a mode and a spread parameter :

Nice to see you back  here ;)
Not sure the ambika way would be the best thing to do with the preenfm.
Each card is a small Shruthi. So it looks like a way to have polyphony from several monophonic synth.
It took me some time to undertand how it works to write the editor ;)
https://github.com/Ixox/Shruthi-And-Ambika-Editors/blob/master/Images/ambika4.PNG
I think we can have something more simple in a all digital synth.

solipsvs

  • Team Member
  • ***
  • Posts: 222
    • View Profile
Re: Pfm2 : unison discussion
« Reply #10 on: November 19, 2020, 02:10:17 AM »
ambika is actually a synth card with 6 filter boards.  ive had one for a long time

so... unison would probably not need a filter for every voice, reducing cpu and perhaps ram?  i dont know.

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: Pfm2 : unison discussion
« Reply #11 on: November 19, 2020, 10:25:31 PM »
@Xavier, i forgot you do know well the ambika !
yes, ambika is quite different from pfm, but there is also similarities : both are digital for the midi part, they are multitimbral and a voice card is still a voice ;)

For now, in the pfm, the voice allocation is handled by Timbre.cpp, but i found it quite difficult to modify when i tried, because i found it a bit entangled ..
the ambika voice allocation mecanism add a code layer between timbre/part and the voices, which is a good thing in my opinion.
implementing unison (and unison x2) would then be quite easy to do.

But that's just my opinion, there is maybe an easier/better way to do it ! :)

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: Pfm2 : unison discussion
« Reply #12 on: November 20, 2020, 07:34:11 AM »
@solipsvs,
yes, on the ambika, each voice cards do both : oscillators and filter.
look at the file list in the voicecard directory of the ambika project :
https://github.com/pichenettes/ambika/tree/master/voicecard

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Re: Pfm2 : unison discussion
« Reply #13 on: November 20, 2020, 09:03:06 AM »
Biggest difference is that voices in the preenfm2 don't contain the timbre. They are attached to a timbre and uses its parameter.

pfm2 :
. 4 * timbres
. 14 * voices
Ambika :
. 6 * (voice + timbre).

Anyway... I won't change the timbre/voice thing. I quite like it.  And the preenfm2 does not have enough memory for 14 timbres.
And i think Unison can be added by adding a new (ANOTHER  ::) ) page in the "engine" on the preenfm2.
There is one Filter is for all voices of one timbre on the pfm2 so it's OK.

(i have 100 things to do on my free-time TODO list, before doing that :) )

« Last Edit: November 20, 2020, 02:01:17 PM by Xavier »

solipsvs

  • Team Member
  • ***
  • Posts: 222
    • View Profile
Re: Pfm2 : unison discussion
« Reply #14 on: November 20, 2020, 01:19:47 PM »
i was always under the impression ambika had the synth on the mainboard while the exchangeable filters had their own board.  oh well, you learn something new every day