Default <group> & Key Switches

Discussion on the SFZ implementation and opcodes available in the ARIA engine.

Moderators: eric_telemaque, davidv

MusoBob
Posts: 5
Joined: Tue May 16, 2017 4:51 pm

Default <group> & Key Switches

Postby MusoBob » Wed May 17, 2017 11:23 am

With Sforzando it seems to be designed more to be use with a keyboard rather in a midi track.
With all other Virtual Instrument players, they play the main samples by default and have key switches for articulations,
when a key switch is held down by a note under the main note it plays that articulation only then the next note will be from the main sample set.
With Sforzando when you add key switches to the instrument it sets a default sample set as one of the keys, so you need to add a midi key switch note each time to switch back to the normal sample set after an articulation has been played.

On the main normal sample <group> I tried putting sw_last, on the the articulation <group>/s I used sw_down,
this works but plays the normal <group> notes along with the articulation notes (bends, slides, ho, po, vibrato etc..)

I would just like to get it to work how other players work, so it plays the normal sample when no key switches are down, and the articulation samples only when a KS is down.
In the video you will hear it is playing the 2 notes on the bends in Sforzando.

https://www.dropbox.com/s/qzugrlai6sunh06/Sforzando-Keyswitches.mp4?dl=0
(Click No Thanks Continue at the bottom to skip login)

Code: Select all

<group> //Begin Group for Normal

sw_default=C1

sw_lokey=C1

sw_hikey=A1

sw_last=C1

sw_label=C1 Normal

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<group> //Begin Group for Slide Up

sw_default=C1

sw_lokey=C1

sw_hikey=A1

sw_down=C#1

sw_label=C#1 Slide Up


eric_telemaque
Posts: 215
Joined: Tue Jan 31, 2012 1:10 pm

Re: Default <group> & Key Switches

Postby eric_telemaque » Wed May 17, 2017 1:29 pm

Hi MusoBob, welcome aboard!

The keyswitch logic was developed in compliance with the sfz spec, which works fine for the orchestral libraries its being mostly used for at the moment.

In my mind, your suggestion makes sense, but that means creating a new opcode...

I know from your video that it wouldn't suit your case, but I must point out that your code would work with a monophonic patch :)
Éric Patenaude,
Plogue Art et Technologie Inc. Montreal.
http://www.plogue.com

pbattersby
Posts: 21
Joined: Thu Jul 07, 2016 9:59 pm

Re: Default <group> & Key Switches

Postby pbattersby » Wed May 17, 2017 2:14 pm

If I understand this right, after you release a key switch, you want the default sample group to automatically be selected again.

If so, I wonder if there is a way of using "trigger=release" to automatically trigger the default sample group upon release of a group of key switches?
Paul Battersby - http://virtualplaying.com
Composing virtual drums, bass, strings, full orchestra accompaniment
Creator of Virtual Playing Orchestra

eric_telemaque
Posts: 215
Joined: Tue Jan 31, 2012 1:10 pm

Re: Default <group> & Key Switches

Postby eric_telemaque » Wed May 17, 2017 2:49 pm

pbattersby wrote:If I understand this right, after you release a key switch, you want the default sample group to automatically be selected again.

If so, I wonder if there is a way of using "trigger=release" to automatically trigger the default sample group upon release of a group of key switches?



trigger=release won't work for keyswitches but one nearly-forgotten opcode, sw_up could maybe be of some use. Working on it.
Éric Patenaude,
Plogue Art et Technologie Inc. Montreal.
http://www.plogue.com

Alteregoxxx
Posts: 6
Joined: Mon May 15, 2017 4:27 am

Re: Default <group> & Key Switches

Postby Alteregoxxx » Wed May 17, 2017 3:29 pm

Hi,
newbie here, but this seems the case for an off_by opcode....

I would try this approach:

Code: Select all


//Begin Group for Normal

<group> group=0 off_by= 1

//sw_default=C1, no more needed

sw_lokey=C1

sw_hikey=A1

//sw_last=C1, no more needed

//sw_label=C1 Normal, no more needed

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<group> group=1 //Begin Group for Slide Up

//sw_default=C1

sw_lokey=C1

sw_hikey=A1

sw_down=C#1

sw_label=C#1 Slide Up


MusoBob
Posts: 5
Joined: Tue May 16, 2017 4:51 pm

Re: Default <group> & Key Switches

Postby MusoBob » Wed May 17, 2017 5:01 pm

Thanks for that.
It works but I have 8 other groups and it seems I can only put one "off_by=" in the default group for it to work ??

https://www.dropbox.com/s/f7ml11xgh9568ra/Sforzando-Keyswitches3.mp4?dl=0
(Click No Thanks Continue at the bottom to skip login)

Code: Select all

<group> group=0

off_by=3  //bend

//off_by=1 off_by=2 off_by=3 off_by=4 off_by=5 off_by=6 off_by=7

//off_by=8

//sw_default=C1

sw_lokey=C1

sw_hikey=A1

//sw_last=C1

//sw_label=C1 Normal


Alteregoxxx
Posts: 6
Joined: Mon May 15, 2017 4:27 am

Re: Default <group> & Key Switches

Postby Alteregoxxx » Thu May 18, 2017 6:43 am

Yes, unfortunately, from my limited knowledge, it seems off_by opcode can be used only for cutting out a specific group (slave) when another specific group is playing (master). No multiple masters allowed... :cry:

The only solution is to put normal samples in a group, let's call it group=0 , and all the other 7 articulations you need in another one, let's call it group=1.
Then procede as previously discussed... Obviously this means you'll be obbliged to use the sw_down opcode region by region for all the articulations samples...

MusoBob
Posts: 5
Joined: Tue May 16, 2017 4:51 pm

Re: Default <group> & Key Switches

Postby MusoBob » Thu May 18, 2017 7:41 pm

Thanks Alteregoxxx !!!
That worked, also using that method I can still use key switches for different defaults, like neck pickup for rhythm or bridge for lead.

<group> group=0 off_by=2 //Begin Group for Telecaster DI Bridge normal


sw_default=C1

sw_lokey=C1

sw_hikey=A1

sw_last=C1

sw_label=C1 Bridge Normal


<region>
sample=A#2_normTBLow_46.wav
lokey=46
hikey=46
pitch_keycenter=46
lovel=0
hivel=127
volume=6
~~~~~~~~~~~~~~~~~~~~~~
(All other <region> notes)
~~~~~~~~~~~~~~~~~~~~~~


<group> group=1 off_by=2 //Begin Group for Telecaster DI Neck normal

sw_default=C1

sw_lokey=C1

sw_hikey=A1

sw_last=A1

sw_label=A1 Neck


<region>
sample=A#2_normTNLow_46.wav
lokey=46
hikey=46
pitch_keycenter=46
lovel=0
hivel=127
volume=6
~~~~~~~~~~~~~~~~~~~~~~
(All other <region> notes)
~~~~~~~~~~~~~~~~~~~~~~


<group> group=2 // Begin Group for Telecaster DI Bridge Articulations

// Slide Up

<region> sw_down=C#1 sw_label=C#1 Slide Up
sample=A#2_slide_upTBLow_46.wav
lokey=46
hikey=46
pitch_keycenter=46
lovel=0
hivel=127
volume=6
~~~~~~~~~~~~~~~~~~~~~~
(All other <region> slide up articulations)
~~~~~~~~~~~~~~~~~~~~~~

// Slide Down

<region> sw_down=D1 sw_label=D1 Slide Down
sample=A#2_slide_downTBLow_46.wav
lokey=46
hikey=46
pitch_keycenter=46
lovel=0
hivel=127
volume=6
~~~~~~~~~~~~~~~~~~~~~~
(All other <region> slide down articulation)
~~~~~~~~~~~~~~~~~~~~~~

// Bend Full

<region> sw_down=D#1 sw_label=D#1 Bend Full
sample=A#2_bend_fullTBLow_46.wav
lokey=46
hikey=46
pitch_keycenter=46
lovel=0
hivel=127
volume=6
~~~~~~~~~~~~~~~~~~~~~~
(All other <region> bend full articulation)
~~~~~~~~~~~~~~~~~~~~~~

// Pre Bend

<region> sw_down=E1 sw_label=E1 Pre Bend
sample=A#2_pre_bendTBLow_46.wav
lokey=46
hikey=46
pitch_keycenter=46
lovel=0
hivel=127
volume=6
~~~~~~~~~~~~~~~~~~~~~~
(All other <region> pre bend articulation)
~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~
etc...


Image


Return to “SFZ Programming”

Who is online

Users browsing this forum: No registered users and 1 guest