Voice card allocation emulation

Anything about the Scope modular synths

Moderators: valis, garyb

Post Reply
User avatar
the19thbear
Posts: 1491
Joined: Thu Feb 20, 2003 4:00 pm
Location: Denmark
Contact:

Voice card allocation emulation

Post by the19thbear »

Hi.
Is there a way in mod3 to switch between "voice cards"?

In the good old days on for instance a 4 poly synth, you would have 4 voice cards. Each voice containing a synth.
And then each note pressed is allocated to a voice. I want to emulate this allocation
Is there a way to mimmick this in modular?

So for instance a 4 note chords is held. I want each midi note to go to a separate voice.

I'm thinking there might be a way to do this in modular with logic and BC's counters etc, but can't really wrap my head around it.

Thanks
User avatar
valis
Posts: 7626
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Re: Voice card allocation emulation

Post by valis »

You can lock devices to specific DSPs to ensure they are allocated the same each time a project loads (and solve issues when creating a project). This can be done for Modular devices as well: viewtopic.php?t=29831

However if you really want to replicate 'voice cards', this seems more analogous to creating 1 mod device per voicing (ie, 4 voices per 'card' would be 4 voices per shell, and then duplicate the device [save/load] for additional voices.) This will likely have a bit of phase offset between voice groups due to dsp loading, but this would have been the case with hardware as well, outside of a 100% analog trigger/gate/cv/audio path.
User avatar
the19thbear
Posts: 1491
Joined: Thu Feb 20, 2003 4:00 pm
Location: Denmark
Contact:

Re: Voice card allocation emulation

Post by the19thbear »

I'm not sure I follow completely.

I would like some logic inside mod3 that can count from 1 to 3 each time it gets a midi note.
Then if counter=1, send the midi note to one voice. If 2=send midi note to the second voice and so on.
When reached 3, the counter should reset.

each voice could be one of BCmodulars modular containers, that can exist inside a mod3 patch. Each container would have a vco, vca and vcf.

My qeustion is the allocation/counting thing. How could that be solved?
I'm sure I will figure it out at some point, but maybe there is an easier way to do this :)
User avatar
valis
Posts: 7626
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Re: Voice card allocation emulation

Post by valis »

MVC allocates voice automatically. If modules do not support this automatic allocation of voices, it will be documented (per module).

Sorry I thought you wanted a 100% replication.
User avatar
the19thbear
Posts: 1491
Joined: Thu Feb 20, 2003 4:00 pm
Location: Denmark
Contact:

Re: Voice card allocation emulation

Post by the19thbear »

I think we are misunderstanding each other here Valis :)
I don't want automatic voice allocation. I want to do it manually(or build the logic for it).

I am looking for a way in modular to rebuild voice allocation logic that exists in early analog synthesizers with a "per note" voice structure.
The reason for this is that I want to have slight variation for each voice. I do not want them to be identical. So I want a switch system that switches between each voice (that has slight variation from other voices).

Makes sense?
How can I make a switch system?
:)
Rafe
Posts: 47
Joined: Sat Apr 29, 2023 10:55 pm

Re: Voice card allocation emulation

Post by Rafe »

Have you looked at CWModular site?
Mix&Gain - switch1
Mix&Gain - switch 2

You can load roythinnes (CWM) modules in mod3 I believe
Mod4 might have what you need (Switch 2 link)

Is it possible to trigger the switch using cc values
Or using a control seq

See Roy's BCM modules too
User avatar
the19thbear
Posts: 1491
Joined: Thu Feb 20, 2003 4:00 pm
Location: Denmark
Contact:

Re: Voice card allocation emulation

Post by the19thbear »

Rafe wrote: Thu Mar 06, 2025 11:17 am Have you looked at CWModular site?
Mix&Gain - switch1
Mix&Gain - switch 2

You can load roythinnes (CWM) modules in mod3 I believe
Mod4 might have what you need (Switch 2 link)

Is it possible to trigger the switch using cc values
Or using a control seq

See Roy's BCM modules too
Thanks.

I need a mixer where the switch part is logic controlled. So if it gets a 1, it will switch to input 1 if it gets a 2, i will switch to input 2 etc.


And I also need the "counter" module.

I have looked under "gate" in my CWM lib in mod3 but it's not there.

Maybe its only a mod4 thing?

http://www.cwmodular.org/gate.html
(The third from top left called "Counter").
It doesnt seem to be included in the download.
Does anyone have it?

Thanks :)
User avatar
sunmachine
Posts: 557
Joined: Mon Mar 01, 2010 12:37 am

Re: Voice card allocation emulation

Post by sunmachine »

You also have to keep track of the note each voice is playing, so that you can trigger the release phase of its envelope when the corresponding Note Off event arrives.

I don’t think that a simple round robin for the voice allocation will work, because you probably want to use the next *free* voice, no?
User avatar
the19thbear
Posts: 1491
Joined: Thu Feb 20, 2003 4:00 pm
Location: Denmark
Contact:

Re: Voice card allocation emulation

Post by the19thbear »

yes that is a valid point. Maybe this can't be done in modular.
I guess I want to store the note pressed down, play the voice and then when the stored note is released, I want to trigger the release phase.
So I need to be able to store the note info in a table somewhere (or the like) and scan for when it is released.

Probably near impossible to do in modular. Unless there is a dedicated module for this already. Or maybe there is a different approach I can take.
User avatar
sunmachine
Posts: 557
Joined: Mon Mar 01, 2010 12:37 am

Re: Voice card allocation emulation

Post by sunmachine »

Maybe you can store the note in each voice card and send each Note Off event to all voices, so that each voice can check if it has to trigger its release phase.
User avatar
the19thbear
Posts: 1491
Joined: Thu Feb 20, 2003 4:00 pm
Location: Denmark
Contact:

Re: Voice card allocation emulation

Post by the19thbear »

Yeah that's a great idea.
That would work.

Still need to be able to store the actual note on in a table and then compare it to the note off.
Any hints for doing that?
User avatar
sunmachine
Posts: 557
Joined: Mon Mar 01, 2010 12:37 am

Re: Voice card allocation emulation

Post by sunmachine »

You only need to store a single value for the note number (in each voice), so the CWM val Monitor might do the trick?
You could use the CWM Midi2Val module to get the actual note number (see http://www.cwmodular.org/bcmcwmmodules01.html). No idea if that works for Note Off as well, though. You‘ll probably also need a MIDI filter to get the Note Off messages.
User avatar
the19thbear
Posts: 1491
Joined: Thu Feb 20, 2003 4:00 pm
Location: Denmark
Contact:

Re: Voice card allocation emulation

Post by the19thbear »

Got midi2val working.

There is also CWM note to note number.

And there is also something called storage128 that might be useful to store values...
User avatar
the19thbear
Posts: 1491
Joined: Thu Feb 20, 2003 4:00 pm
Location: Denmark
Contact:

Re: Voice card allocation emulation

Post by the19thbear »

Sill stuck at counting. I can't get the BCM Async counter to work. Will see if I can build a counter myself.
User avatar
the19thbear
Posts: 1491
Joined: Thu Feb 20, 2003 4:00 pm
Location: Denmark
Contact:

Re: Voice card allocation emulation

Post by the19thbear »

Aaaand also stuck at midi filtering apparently. Thought I had it working, but BCMs midi filter is not filtering properly. It is still outputting note on, even though it is set to only do note off.

This seems to be a job for the SDK. Might have to get into that later on then, when I have the money. It's just a bummer that Fr77aX took down his great SDK videos and seems to have left the platform :(
User avatar
valis
Posts: 7626
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Re: Voice card allocation emulation

Post by valis »

Thought, as I'm not sure what messages you're sending. Some systems respect note off, others send NoteOn with 0 velocity as the note off (note off is never sent).

I'm sure you know your gear, so it's just a thought. I always have to implement both because I have gear here that sends both types.
Rafe
Posts: 47
Joined: Sat Apr 29, 2023 10:55 pm

Re: Voice card allocation emulation

Post by Rafe »

j9k comparator ?

Gate logic ?

Range2Val ?

Would be surprised if Spielraum hasn't made something useful

Still think there's a way of using ctrl sequencers as counters and storing the note as a ctrl value

Gate switcher?

Compare modlues?

Felt sure there was an "And" module somewhere and other logic. An And turned into a Nand. Multiple Nands used for logic. Maybe it's just the OR module

Anyway just musing the problem and no concrete solution

Essentially a polyphonic to monophonic splitter of somekind would help
Post Reply