Jump to content

Recommended Posts

Dear Friends,

 

Very basic question:

 

I use some old VSL sample .gig files with gplayer.

I really like this libraries and the way it sounds.

The combination patches alternate sounds via keyswitches in the lower range of keyboard (or the upper range in some instruments).

Something like:

C normal sound

C# pizz

D marcato etc

 

Can I use this keyswitches in the OMN lingo, without having to send the midi note itself to activate the keyswitch, something like:

 

(marcato e c4 d4 s legato fs4 g4 cs5 eb5 )

 

Opusmodus will send the keyswitches as a hidden midi note in the expression ?

 

All the best,

Julio

Link to post
Share on other sites

Naturally you can do that. You find the answer in the Def-Sound-Set Library examples, look for VSL files.

Example:

;; Patches, keyswitches and controllers change events.
(def-sound-set VSL-Harmonium-KS
               :programs
  (:group Stops
          Aeoline             (:key c6  :key a0)
          Bassoon-Hautbois    (:key cs6 :key a0)
          Clairon-Fifre       (:key d6  :key a0)
          Clarinette-Bourdon  (:key ds6 :key a0)
          Flute-Coranglais    (:key e6  :key a0)
          Grandjeu            (:key f6  :key a0)
          Percussion          (:key fs6 :key a0)
          Voix-Celeste        (:key g6  :key a0)
   )
  
  :controllers
  (:group Default-Settings
          Pitch               0
          Velocity-XF         2
          Volume              7
          Pan                10
          Expression         11
          Reverb-Dry/Wet     14
          Reverb-On/Off      15
          Slot-XF            20
          Start-Scaler       21
          Master-Attack      22
          Master-Release     23
          Master-Filter      24
          Delay-Scaler       25
          Tuning-Scaler      26
          Humanize           27
          Velocity-XF-On-Off 28
          Rsamp-On-Off       29
          Dynamics-Scaler    30
          :group Pedal
          Ped                64
          Sost-Ped           66
          Una-Corda          67
          
          :group Matrix
          cc1                 1
          
  )
)

 

Link to post
Share on other sites
  • 6 months later...

Dear Janusz and friends, 

 

I still have some doubts about the keyswitches. I will put in a form of an example:

Let´s consider the following sketch:

 

;; SOME MATERIAL
(setf mat1 '((e d4 stacc gs4 stacc e5 stacc - - a4 - cs4 d4 -)
             (-s - - - gs4 leg e5 a4 pizz cs4 d4 ord)
             (-s - marc gs4 e5 stacc a4 cs4 d4 pizz - -)
             (s gs4 - - e5 - a4 cs4 d4 -)
             (-s d3 - - eb3 d3 - a3)))

(ps 'gm
	:sq (list (pitch-transpose 12 mat1) (gen-retrograde (pitch-transpose 7 mat1))
              (pitch-transpose -5 mat1) (gen-rotate 3 (pitch-transpose -12 mat1)))
    :key-signature 'atonal
    :time-signature '(2 4 1)
    :tempo 112
    :title "STR4tetVSL"
    :display :window)

 

Followiing what you mentioned earlier, I put a file called "Custom_Instrument Set.lisp" in the folder /Users/acmevm/Documents/Opusmodus/Def-Libraries/Def-Instrument-Sets

 

In this file, I found the line corresponding to the layout I used above, the "sq" layout (string quartet). I put it in the PORT 0, so the MIDI out is going to the right place and channels, playing the VSL instruments.

 

;; CUSTOM_INSTRUMENT SET.LISP - STRING QUARTET LAYOUT - PORT 0
          
          :sq (:layout string-quartet-layout
                       :port 0
                       :channel '(13 14 15 16)
                       :sound 'gm
                       :program '(violin violin viola cello)
                       :controllers nil
                       :pan (pan '(-30 -10 10 30))
                       :volume 92)

 

Ok,  until here there is no problems.

 

THE QUESTIONS

  1. How can a send a command in the OMN expression to change my keyswitches (my keyswitches are MIDI notes, not the matrix in VSL. I don´t use the matrix stuff, I prefer just using MIDI notes outside the range of the instrument to change the sounds/articulations.
  2. Do I have to change any other file(s) in some folder within Opusmodus ? Maybe each instrument of the quartet layout ? where ?
  3. How the expresssion "stacc" above can actually change the keyswitch to staccato sound ? And the same for the pizz, marc, leg, etc (and back to ord) ?
  4. Can I use some OMN expression that CHANGE the XML score and NOT SEND the keyswitch (notation-only expression) and vice-versa, i.e., some OMN that CHANGE the keyswitches but NOT CHANGE the XML notation ? Having this independently can be handy sometimes.

 

I want to write a real String Quartet now and all this would be very handy for me. Otherwise I can work with little snippets of excerpts and change the keyswitches manually (or in my Pure Data patch) but I would prefer to have it in OMN, for the sake of elegance.

 

Thank you !

Best,

Julio

Link to post
Share on other sites

Dear Janusz,

 

In the Def-Sound-Set function explanation there are an GM example.

General Midi instruments does not use keyswitches for changing sounds.

More likely to use program changes to do that.

And there is no explanation on how it is related to the OMN articulation.

I need to know how to define the relation between the OMN expression and the keyswitches (or any general controller).

And something about this questions:

 

3) How the expresssion "stacc" above can actually change the keyswitch to staccato sound ? And the same for the pizz, marc, leg, etc (and back to ord) ?

4) Can I use some OMN expression that CHANGE the XML score and NOT SEND the keyswitch (notation-only expression) and vice-versa, i.e., some OMN that CHANGE the keyswitches but NOT CHANGE the XML notation ? Having this independently can be handy sometimes.

 

Thank you,

Julio

Link to post
Share on other sites
(in-package :Opusmodus)

;;;---------------------------------------------------------
;;; VIENNA INSTRUMENTS - CELLO (keyswitches)
;;;---------------------------------------------------------

;; Patches, keyswitches and controllers change events.
(def-sound-set VSL-Cello
               :programs
  (:group Perf-Legato
          perf-legato (:key c7)
          
          :group Perf-Marcato
          perf-marcato (:key cs7)

          :group Perf-Spiccato
          spiccato (:key d7)
          
          :group Short-Notes
          staccato     (:key ds7 :key c1)
          detache-shot (:key ds7 :key cs1)
          detache-long (:key ds7 :key d1)
          
          :group Long-Notes
          sus-vib       (:key e7 :key c1)
          sus-vib-marc  (:key e7 :key cs1)
          sus-vib-espr  (:key e7 :key d1)
          sus-vib-progr (:key e7 :key ds1)
          sus-down      (:key e7 :key e1)
          sus-novib     (:key e7 :key f1)
          
          :group Dynamic
          dyn-me-vib-2s   (cc1 0 :key f7 :key c1 :key a0)
          dyn-me-vib-3s   (cc1 0 :key f7 :key cs1 :key a0)
          dyn-me-vib-4s   (cc1 0 :key f7 :key d1 :key a0)
          dyn-str-vib-2s  (cc1 25 :key f7 :key c1 :key a0)
          dyn-str-vib-3s  (cc1 25 :key f7 :key cs1 :key a0)
          dyn-str-vib-4s  (cc1 25 :key f7 :key d1 :key a0)
          dyn-me-novib-2s (cc1 60 :key f7 :key c1 :key a0)
          dyn-me-novib-3s (cc1 60 :key f7 :key cs1 :key a0)
          dyn-me-novib-4s (cc1 60 :key f7 :key d1 :key a0)
          pfp-vib-2s      (cc1 100 :key f7 :key c1 :key a0)
          pfp-vib-4s      (cc1 100 :key f7 :key cs1 :key a0)
          fp-vib          (cc1 127 :key f7 :key c1 :key a0)
          sfz-vib         (cc1 127 :key f7 :key cs1 :key a0)
          sffz-vib        (cc1 127 :key f7 :key d1 :key a0)

          :group Tremolo
          trem-sus         (:key fs7 :key c1 :key a0)
          trem-sus-fA-auto (:key fs7 :key cs1 :key a0)
          trem-sus-dyn-2s  (:key fs7 :key d1 :key a0)
          trem-sus-dyn-3s  (:key fs7 :key ds1 :key a0)
          
          :group Trills
          trill-1         (cc1 0 :key g7 :key c1 :key a0)
          trill-1-dyn     (cc1 0 :key g7 :key cs1 :key a0)
          trill-1-acc     (cc1 0 :key g7 :key d1 :key a0)
          trill-1-acc-dyn (cc1 0 :key g7 :key ds1 :key a0)
          trill-2         (cc1 127 :key g7 :key c1 :key a0)
          trill-2-dyn     (cc1 127 :key g7 :key cs1 :key a0)
          trill-2-acc     (cc1 127 :key g7 :key d1 :key a0)
          trill-2-acc-dyn (cc1 127 :key g7 :key ds1 :key a0)
          
          :group Pizzicato
          pizzicato  (cc1 0 :key gs7 :key c1)
          col-legno  (cc1 0 :key gs7 :key cs1)
          pizz-secco (cc1 80 :key gs7 :key c1)
          pizz-snap  (cc1 127 :key gs7 :key c1)

          :group Harmonic-Artificial
          harm-art-stac     (:key a7 :key c1)
          harm-art-sus      (:key a7 :key cs1)
          harm-art-perf-rep (:key a7 :key d1)

          :group Harmonic-Natural
          harm-nat-sus      (:key as7 :key c1 :key a0)
          harm-nat-perf-rep (:key as7 :key cs1 :key a0)
          harm-nat-gliss    (:key as7 :key d1 :key a0)

          :group Ponticello
          pon-staccato         (cc1 0 :key b7 :key c1 :key a0)
          pon-sus              (cc1 0 :key b7 :key cs1 :key a0)
          pon-sfz              (cc1 0 :key b7 :key d1 :key a0)
          pon-trem             (cc1 0 :key b7 :key ds1 :key a0)
          pon-perf-rep-leg     (cc1 0 :key b7 :key e1 :key a0)
          pon-detache          (cc1 127 :key b7 :key c1 :key a0)
          pon-sus-fA-auto      (cc1 127 :key b7 :key cs1 :key a0)
          pon-sffz             (cc1 127 :key b7 :key d1 :key a0)
          pon-trem-fA-auto     (cc1 127 :key b7 :key ds1 :key a0)
          pon-perf-rep-dyn-leg (cc1 127 :key b7 :key e1 :key a0)

          :group Tasto
          tas-staccato     (cc1 0 :key c8 :key c1 :key a0)
          tas-sus          (cc1 0 :key c8 :key cs1 :key a0)
          tas-sfz          (cc1 0 :key c8 :key d1 :key a0)
          tas-trem         (cc1 0 :key c8 :key ds1 :key a0)
          tas-detache      (cc1 127 :key c8 :key c1 :key a0)
          tas-sus-fA-auto  (cc1 127 :key c8 :key cs1 :key a0)
          tas-trem-fA-auto (cc1 127 :key c8 :key ds1 :key a0)

          :group OMN
          leg          (:key c7)
          marc         (:key cs7)
          spicc        (:key d7)
          stacc        (:key ds7 :key c1)
          deta         (:key ds7 :key cs1)
          deta+vib     (:key ds7 :key d1)
          deta+non-vib (:key ds7 :key ds1)
          vib          (:key e7 :key c1)
          vib+marc     (:key e7 :key cs1)
          non-vib      (:key e7 :key f1)
          trem         (:key fs7 :key c1 :key a0)
          tr1          (cc1 0 :key g7 :key c1 :key a0)
          tr2          (cc1 127 :key g7 :key c1 :key a0)
          pizz         (cc1 0 :key gs7 :key c1)
          legno        (cc1 0 :key gs7 :key cs1)
          secco        (cc1 80 :key gs7 :key c1)
          snap         (cc1 127 :key gs7 :key c1)
          harm         (:key a7 :key c1 :key a0)
          harm2        (:key as7 :key c1 :key a0)
          ponte+stacc  (cc1 0 :key b7 :key c1 :key a0)
          ponte+vib    (cc1 0 :key b7 :key cs1 :key a0)
          ponte+deta   (cc1 127 :key b7 :key c1 :key a0)
          ponte+trem   (cc1 0 :key b7 :key ds1 :key a0)
          tasto+stacc  (cc1 0 :key c8 :key c1 :key a0)
          tasto+vib    (cc1 0 :key c8 :key cs1 :key a0)
          tasto+deta   (cc1 127 :key c8 :key c1 :key a0)
          tasto+trem   (cc1 0 :key c8 :key ds1 :key a0)
          )
  
  :controllers
  (:group Default-Settings
          Pitch               0
          Velocity-XF         2
          Volume              7
          Pan                10
          Expression         11
          Reverb-Dry/Wet     14
          Reverb-On/Off      15
          Slot-XF            20
          Start-Scaler       21
          Master-Attack      22
          Master-Release     23
          Master-Filter      24
          Delay-Scaler       25
          Tuning-Scaler      26
          Humanize           27
          Velocity-XF-On-Off 28
          Rsamp-On-Off       29
          Dynamics-Scaler    30
          
          :group Pedal
          Ped                64
          Sost-Ped           66
          Una-Corda          67
          
          :group Matrix
          cc1                 1
          
          )
  )

 

Note the omn group:

 :group OMN
          leg          (:key c7)
          marc         (:key cs7)
          spicc        (:key d7)
          stacc        (:key ds7 :key c1)
          deta         (:key ds7 :key cs1)
          deta+vib     (:key ds7 :key d1)
          deta+non-vib (:key ds7 :key ds1)
          vib          (:key e7 :key c1)
          vib+marc     (:key e7 :key cs1)
          non-vib      (:key e7 :key f1)
          trem         (:key fs7 :key c1 :key a0)
          tr1          (cc1 0 :key g7 :key c1 :key a0)
          tr2          (cc1 127 :key g7 :key c1 :key a0)
          pizz         (cc1 0 :key gs7 :key c1)
          legno        (cc1 0 :key gs7 :key cs1)
          secco        (cc1 80 :key gs7 :key c1)
          snap         (cc1 127 :key gs7 :key c1)
          harm         (:key a7 :key c1 :key a0)
          harm2        (:key as7 :key c1 :key a0)
          ponte+stacc  (cc1 0 :key b7 :key c1 :key a0)
          ponte+vib    (cc1 0 :key b7 :key cs1 :key a0)
          ponte+deta   (cc1 127 :key b7 :key c1 :key a0)
          ponte+trem   (cc1 0 :key b7 :key ds1 :key a0)
          tasto+stacc  (cc1 0 :key c8 :key c1 :key a0)
          tasto+vib    (cc1 0 :key c8 :key cs1 :key a0)
          tasto+deta   (cc1 127 :key c8 :key c1 :key a0)
          tasto+trem   (cc1 0 :key c8 :key ds1 :key a0)

 

Link to post
Share on other sites

There is a sound-set (VSL) document that is close to what I'm looking, with detailed description of the articulation.

I think that there is also a filter for selecting articulations according to the length of the notes. Is it correct ?

This would be handy. But do I have to copy that parameters in every score I do, or it functions in the background ?

Thank you.

Best,

Julio

 

Thank you, Janusz

The VSL example you provided have keyswitches. Nice.

Almost there. The VSL Cello lisp file contained in Opusmodus package is in the folder inside opusmodus package and looks like this (without keyswitches).

 

(in-package :Opusmodus)

;;;---------------------------------------------------------
;;; VIENNA INSTRUMENTS - VIOLONCELLO SOLO
;;;---------------------------------------------------------

;; Patches, keyswitches and controllers change events.
(def-sound-set VSL-Cello-Solo
               :programs
  (:group short
          ;stacc             (cc12 0 cc13 0)
          detache-short      (cc12 0 cc13 17)
          detache-long       (cc12 0 cc13 28)
          
          :group long
          sus-vib            (cc12 17 cc13 0)
          sus-vib-fa         (cc12 17 cc13 17)

 

Where do I have to put the new lisp file like you provided (or edited by me) with the keyswitching option ?

 

Thank you,

Julio

Link to post
Share on other sites

Dear Janusz,

 

I really need a more detailed example, for getting there.

I'm understanting this way:

 

1) There is a file with customized score layouts that probably do a "call out" of this instrument definition table and also midi ports (this point I think I got). I put my custom instrument setup in the folder /Users/acmevm/Documents/Opusmodus/Def-Libraries/Def-Instrument-Sets.

But this settings are more related to ports and channels, not articulation. There is no informations about keyswitches here. But it worked for changin the port and channels.

 

2) There must be a place where we put the instrument setup like the Cello with keyswitches you provided, i.e, a file where we can define how the specific instruments of teh custom setup behave and works (if it have or not keyswitches, etc). Each brand have some specific stuff.

I don't know where to put the new Cello with keyswitches lisp file in order to call it out later in the OMN expression.

 

3) The third thing is an instruction for how Opusmodus treat the articulation inside the OMN expression, i.e., how the OMN expression integrated with the notation triggers the keyswitching in an actual score. And also a secondary question: will it works just on def-score expression (and not in the PS function) ?

 

4) Last, is the building of expression that change or not change the keyswitching (notation versus sound control independently).

 

I nice idea would be you provide a little but complete in terms of the technical stuff example (just 3 or 4 bars of music, with changing keyswitches in OMN expression) with all we need to run it. It's  a little complex setup, I see.

Maybe a video tutorial.

I would love to make a video tutorial, as soon as I understand the thing... But I'm not getting there yet.

 

Best,

Julio

Link to post
Share on other sites

You define the keyswitches in the DEF-SOUND-SET, after, you place the file in the ~/Opusmodus/Def-Libraries/Def-Sound-Sets folder (next time you start the app the file will load automatically). Copy one of the existing files, change the name and fill it will your instrument setup (controllers, keyswitches etc...).

 

All articulation you define in your sound-set can be used in omn. Nothing else you need to do. The list of attributes names you can use in your setup you will find in 4th Element - Attributes doc. You can create your own - if needed - with ADD-TEXT-ATTRIBUTES function.

 

(q c4 stacc) 

 

If there is a sound set with a name STACC in your setup then that program (sample) will be triggered.

 

Stephane gives lessons on all OM technics and subjects:
https://opusmodus.com/forums/lessons/

Link to post
Share on other sites

Dear Janusz,

 

1) I copied the Cello with keyswitch you provided above to the folder you provided.

2) I edited the string quartet in my custom instrument file, like this:

I put the VSL-Cello inside the layout... (is it wrong ?)

 

;; STRING QUARTET LAYOUT - PORT 0
          
          :sq (:layout string-quartet-layout
                       :port 0
                       :channel '(13 14 15 16)
                       :sound 'gm
                       :program '(violin violin viola VSL-Cello)
                       :controllers nil
                       :pan (pan '(-30 -10 10 30))
                       :volume 92)

 

I got this error:

Error: #<sound-set #x3020009F987D> has no program named: vsl-cello
> While executing: get-sound-set-program, in process Listener-1(7).
> Type cmd-. to abort, cmd-\ for a list of available restarts.
> Type :? for other options.

 

Help, please !

Best,

Julio

Link to post
Share on other sites

Here is my VSL instrument setup example:

          :sq (:layout string-quartet-layout
                       :port 3
                       :channel '(1 2 3 4)
                       :sound '(vi-violin
                                vi-violin
                                vi-viola
                                vi-cello)
                       :program 0
                       :controllers nil
                       :pan (pan '(-30 -10 10 30))
                       :volume 92)

 

As you can see the :program is set to 0.

The program is not important here, only the :sound is.

 

Here is the Violin sound setup:

(in-package :Opusmodus)

;;;---------------------------------------------------------
;;; VIENNA INSTRUMENTS - VIOLIN
;;;---------------------------------------------------------
(def-sound-set vi-violin
               :programs
  (:group perf-universal
          vl-perf-sustain (:key c2 cc1 5)
          vl-perf-marcato (:key c2 cc1 64)
          vl-perf-spic    (:key c2 cc1 120)
          
          :group perf-legato-all
          vl-perf-legato           (:key cs2 :key c1  cc1 40)
          vl-perf-legato-sul       (:key cs2 :key cs1 cc1 40)
          vl-perf-legato-zigane    (:key cs2 :key d1  cc1 40)
          vl-perf-legato-vib-progr (:key cs2 :key ds1 cc1 40)
          vl-perf-portamento       (:key cs2 :key c1  cc1 80)
          
          :group articulation-combi
          vl-staccato       (:key d2 :key c1  cc1 40)
          vl-sus-vib        (:key d2 :key cs1 cc1 40)
          vl-fp-vib         (:key d2 :key d1  cc1 40)
          vl-trem-sus       (:key d2 :key ds1 cc1 40)
          vl-trill-1        (:key d2 :key e1  cc1 40)
          vl-pon-staccato   (:key d2 :key f1  cc1 40)
          vl-pon-trem       (:key d2 :key fs1 cc1 40)
          vl-harm-art-stac  (:key d2 :key g1  cc1 40)
          vl-octav-gliss-me (:key d2 :key gs1 cc1 40)
          vl-pizz           (:key d2 :key a1  cc1 40)

          vl-detache-short    (:key d2 :key c1  cc1 80)
          vl-sus-vib-marc     (:key d2 :key cs1 cc1 80)
          vl-sfz-vib          (:key d2 :key d1  cc1 80)
          vl-trem-sus-af-auto (:key d2 :key ds1 cc1 80)
          vl-trill-2          (:key d2 :key e1  cc1 80)
          vl-pon-sus          (:key d2 :key f1  cc1 80)
          vl-pon-trem-fa-auto (:key d2 :key fs1 cc1 80)
          vl-harm-art-sus     (:key d2 :key g1  cc1 80)
          vl-octav-gliss-fa   (:key d2 :key gs1 cc1 80)
          vl-pizz-snap        (:key d2 :key a1  cc1 80)

          :group pref-repetitions-combi
          vl-perf-rep-sl     (:key ds2 :key c1)
          vl-perf-rep-por-me (:key ds2 :key cs1)
          vl-perf-rep-stac   (:key ds2 :key d1)
          vl-perf-rep-spi    (:key ds2 :key ds1)
          vl-perf-rep-harsh  (:key ds2 :key e1)

          :group combi-cre9
          vl-rep-cre9-por-fa-1 (:key e2 :key c1  cc1 10)
          vl-rep-cre9-por-fa-2 (:key e2 :key cs1 cc1 10)
          vl-rep-cre9-por-fa-3 (:key e2 :key d1  cc1 10)
          vl-rep-cre9-por-fa-4 (:key e2 :key ds1 cc1 10)
          vl-rep-cre9-por-fa-5 (:key e2 :key e1  cc1 10)
          vl-rep-cre9-por-fa-6 (:key e2 :key f1  cc1 10)
          vl-rep-cre9-por-fa-7 (:key e2 :key fs1 cc1 10)
          vl-rep-cre9-por-fa-8 (:key e2 :key g1  cc1 10)
          vl-rep-cre9-por-fa-9 (:key e2 :key gs1 cc1 10)

          vl-rep-cre9-sta-1 (:key e2 :key c1  cc1 25)
          vl-rep-cre9-sta-2 (:key e2 :key cs1 cc1 25)
          vl-rep-cre9-sta-3 (:key e2 :key d1  cc1 25)
          vl-rep-cre9-sta-4 (:key e2 :key ds1 cc1 25)
          vl-rep-cre9-sta-5 (:key e2 :key e1  cc1 25)
          vl-rep-cre9-sta-6 (:key e2 :key f1  cc1 25)
          vl-rep-cre9-sta-7 (:key e2 :key fs1 cc1 25)
          vl-rep-cre9-sta-8 (:key e2 :key g1  cc1 25)
          vl-rep-cre9-sta-9 (:key e2 :key gs1 cc1 25)

          vl-rep-cre9-spi-1 (:key e2 :key c1  cc1 70)
          vl-rep-cre9-spi-2 (:key e2 :key cs1 cc1 70)
          vl-rep-cre9-spi-3 (:key e2 :key d1  cc1 70)
          vl-rep-cre9-spi-4 (:key e2 :key ds1 cc1 70)
          vl-rep-cre9-spi-5 (:key e2 :key e1  cc1 70)
          vl-rep-cre9-spi-6 (:key e2 :key f1  cc1 70)
          vl-rep-cre9-spi-7 (:key e2 :key fs1 cc1 70)
          vl-rep-cre9-spi-8 (:key e2 :key g1  cc1 70)
          vl-rep-cre9-spi-9 (:key e2 :key gs1 cc1 70)

          vl-rep-cre9-harsh-1 (:key e2 :key c1  cc1 120)
          vl-rep-cre9-harsh-2 (:key e2 :key cs1 cc1 120)
          vl-rep-cre9-harsh-3 (:key e2 :key d1  cc1 120)
          vl-rep-cre9-harsh-4 (:key e2 :key ds1 cc1 120)
          vl-rep-cre9-harsh-5 (:key e2 :key e1  cc1 120)
          vl-rep-cre9-harsh-6 (:key e2 :key f1  cc1 120)
          vl-rep-cre9-harsh-7 (:key e2 :key fs1 cc1 120)
          vl-rep-cre9-harsh-8 (:key e2 :key g1  cc1 120)
          vl-rep-cre9-harsh-9 (:key e2 :key gs1 cc1 120)

          :group perf-harsh-combi
          vl-sus-vib-fa    (:key f2 :key c1  cc1 5)
          vl-sus-vib-progr (:key f2 :key cs1 cc1 5)
          vl-pon-sus-fa    (:key f2 :key d1  cc1 5)
          

          :group omn
          ord         (:key c2 cc1 5)
          stacc       (:key d2 :key c1  cc1 40)
          stacs       (:key e2 :key c1  cc1 25)
          marc        (:key c2 cc1 64)
          spicc       (:key c2 cc1 120)
          leg         (:key cs2 :key c1  cc1 40)
          tasto       (:key cs2 :key cs1 cc1 40)
          leg+tasto   (:key cs2 :key cs1 cc1 40)
          tasto+leg   (:key cs2 :key cs1 cc1 40)

          vib+marc    (:key d2 :key cs1 cc1 80)
          marc+vib    (:key d2 :key cs1 cc1 80)
          deta        (:key d2 :key c1  cc1 80)

          pizz        (:key d2 :key a1  cc1 40)
          snap        (:key d2 :key a1  cc1 80)
          trem        (:key d2 :key ds1 cc1 40)
          tr1         (:key d2 :key e1  cc1 40)
          tr2         (:key d2 :key e1  cc1 80)

          stacc+ponte (:key d2 :key f1  cc1 40)
          ponte+stacc (:key d2 :key f1  cc1 40)
          ponte+trem  (:key d2 :key fs1 cc1 40)
          trem+ponte  (:key d2 :key fs1 cc1 40)
          ponte       (:key d2 :key f1  cc1 80)
          )
  
  :controllers
  (:group default-settings
          pitch 0
          velocity-xf 2
          volume 7
          pan 10
          expression 11
          reverb-dry/wet 14
          reverb-on/off 15
          slot-xf 20
          start-scaler 21
          master-attack 22
          master-release 23
          master-filter 24
          delay-scaler 25
          tuning-scaler 26
          humanize 27
          velocity-xf-on-off 28
          rsamp-on-off 29
          dynamics-scaler 30

          :group Pedal
          Ped 64
          Sost-Ped 66
          Una-Corda 67
          
          :group matrix
          cc1 1
          
  )
)

 

Link to post
Share on other sites

Dear Janusz,

The articulation control work with the ps function (preview score) ? Or just in def-score ?

In ps function I´m not getting the keyswitches to work. Everything worked fine, the channels, the port and it´s sending to the right place. Just no keyswitches.

Best,

Julio

Link to post
Share on other sites
;; MATERIAL
(setf mat1 '((e d4 stacc gs4 stacc e5 stacc - - pizz a4 - pizz cs4 marc d4 -)
             (-s - - - gs4 leg e5 a4 pizz cs4 d4 ord)
             (-s - marc gs4 e5 stacc a4 cs4 d4 pizz - -)
             (s gs4 - - e5 - a4 cs4 d4 -)
             (-s d3 - - eb3 d3 - a3)))

(setf violin1 (ambitus 'violin (pitch-transpose 12 mat1)))
(setf violin2 (ambitus 'violin (gen-retrograde (pitch-transpose 7 mat1))))
(setf viola (ambitus 'viola (gen-rotate -3 (pitch-transpose -5 mat1))))
(setf violoncello (ambitus 'violoncello (gen-rotate 0 (pitch-transpose -12 mat1))))

(setf ts (get-time-signature violin1))

;;---------------------------------------------------------
;; SCORE and LAYOUT
;;---------------------------------------------------------
(def-score string-quartet
           (:title "String Quartet"
            :composer "acme"
            :copyright "test VSL artic"
            :key-signature 'chromatic
            :time-signature ts
            :tempo 100
            :layout (string-quartet-layout
                     'violin1 'violin2 'viola 'violoncello))
  
  (violin1
   :omn violin1
   :port 0
   :channel 1
   :sound 'vi-violin
   :program 0
   :volume 100
   :pan 44
   :controllers (91 '(48))
   )
  
  (violin2
   :omn violin2
   :port 0
   :channel 2
   :sound 'vi-violin
   :program 0
   :volume 100
   :pan 54
   :controllers (91 '(48))
   )
  
  (viola
   :omn viola
   :port 0
   :channel 5
   :sound 'vi-viola
   :program 0
   :volume 90
   :pan 74
   :controllers (91 '(60))
   )
  
  (violoncello
   :omn violoncello
   :port 0
   :channel 7
   :sound 'vi-cello
   :program 0
   :volume 90
   :pan 84
   :controllers (91 '(60))
   )
  ) 

(init-seed nil)

 

My last unsuccessful try, with DEF-SCORE.

Same as above: right channel, right port, right sounds, no keyswitches.

Best,

Julio

Link to post
Share on other sites
  • 4 weeks later...

Dear Torsten,

Of course !
 

Here is the "vi-cello.lisp" file:

(in-package :Opusmodus)

;;;---------------------------------------------------------
;;; VIENNA INSTRUMENTS - CELLO (keyswitches)
;;;---------------------------------------------------------

;; Patches, keyswitches and controllers change events.
(def-sound-set vi-cello
               :programs
  (:group Perf-Legato
          perf-legato (:key c7)
          
          :group Perf-Marcato
          perf-marcato (:key cs7)

          :group Perf-Spiccato
          spiccato (:key d7)
          
          :group Short-Notes
          staccato     (:key ds7 :key c1)
          detache-shot (:key ds7 :key cs1)
          detache-long (:key ds7 :key d1)
          
          :group Long-Notes
          sus-vib       (:key e7 :key c1)
          sus-vib-marc  (:key e7 :key cs1)
          sus-vib-espr  (:key e7 :key d1)
          sus-vib-progr (:key e7 :key ds1)
          sus-down      (:key e7 :key e1)
          sus-novib     (:key e7 :key f1)
          
          :group Dynamic
          dyn-me-vib-2s   (cc1 0 :key f7 :key c1 :key a0)
          dyn-me-vib-3s   (cc1 0 :key f7 :key cs1 :key a0)
          dyn-me-vib-4s   (cc1 0 :key f7 :key d1 :key a0)
          dyn-str-vib-2s  (cc1 25 :key f7 :key c1 :key a0)
          dyn-str-vib-3s  (cc1 25 :key f7 :key cs1 :key a0)
          dyn-str-vib-4s  (cc1 25 :key f7 :key d1 :key a0)
          dyn-me-novib-2s (cc1 60 :key f7 :key c1 :key a0)
          dyn-me-novib-3s (cc1 60 :key f7 :key cs1 :key a0)
          dyn-me-novib-4s (cc1 60 :key f7 :key d1 :key a0)
          pfp-vib-2s      (cc1 100 :key f7 :key c1 :key a0)
          pfp-vib-4s      (cc1 100 :key f7 :key cs1 :key a0)
          fp-vib          (cc1 127 :key f7 :key c1 :key a0)
          sfz-vib         (cc1 127 :key f7 :key cs1 :key a0)
          sffz-vib        (cc1 127 :key f7 :key d1 :key a0)

          :group Tremolo
          trem-sus         (:key fs7 :key c1 :key a0)
          trem-sus-fA-auto (:key fs7 :key cs1 :key a0)
          trem-sus-dyn-2s  (:key fs7 :key d1 :key a0)
          trem-sus-dyn-3s  (:key fs7 :key ds1 :key a0)
          
          :group Trills
          trill-1         (cc1 0 :key g7 :key c1 :key a0)
          trill-1-dyn     (cc1 0 :key g7 :key cs1 :key a0)
          trill-1-acc     (cc1 0 :key g7 :key d1 :key a0)
          trill-1-acc-dyn (cc1 0 :key g7 :key ds1 :key a0)
          trill-2         (cc1 127 :key g7 :key c1 :key a0)
          trill-2-dyn     (cc1 127 :key g7 :key cs1 :key a0)
          trill-2-acc     (cc1 127 :key g7 :key d1 :key a0)
          trill-2-acc-dyn (cc1 127 :key g7 :key ds1 :key a0)
          
          :group Pizzicato
          pizzicato  (cc1 0 :key gs7 :key c1)
          col-legno  (cc1 0 :key gs7 :key cs1)
          pizz-secco (cc1 80 :key gs7 :key c1)
          pizz-snap  (cc1 127 :key gs7 :key c1)

          :group Harmonic-Artificial
          harm-art-stac     (:key a7 :key c1)
          harm-art-sus      (:key a7 :key cs1)
          harm-art-perf-rep (:key a7 :key d1)

          :group Harmonic-Natural
          harm-nat-sus      (:key as7 :key c1 :key a0)
          harm-nat-perf-rep (:key as7 :key cs1 :key a0)
          harm-nat-gliss    (:key as7 :key d1 :key a0)

          :group Ponticello
          pon-staccato         (cc1 0 :key b7 :key c1 :key a0)
          pon-sus              (cc1 0 :key b7 :key cs1 :key a0)
          pon-sfz              (cc1 0 :key b7 :key d1 :key a0)
          pon-trem             (cc1 0 :key b7 :key ds1 :key a0)
          pon-perf-rep-leg     (cc1 0 :key b7 :key e1 :key a0)
          pon-detache          (cc1 127 :key b7 :key c1 :key a0)
          pon-sus-fA-auto      (cc1 127 :key b7 :key cs1 :key a0)
          pon-sffz             (cc1 127 :key b7 :key d1 :key a0)
          pon-trem-fA-auto     (cc1 127 :key b7 :key ds1 :key a0)
          pon-perf-rep-dyn-leg (cc1 127 :key b7 :key e1 :key a0)

          :group Tasto
          tas-staccato     (cc1 0 :key c8 :key c1 :key a0)
          tas-sus          (cc1 0 :key c8 :key cs1 :key a0)
          tas-sfz          (cc1 0 :key c8 :key d1 :key a0)
          tas-trem         (cc1 0 :key c8 :key ds1 :key a0)
          tas-detache      (cc1 127 :key c8 :key c1 :key a0)
          tas-sus-fA-auto  (cc1 127 :key c8 :key cs1 :key a0)
          tas-trem-fA-auto (cc1 127 :key c8 :key ds1 :key a0)

         :group omn
	stacc       (:key c1 :key c1  cc1 40)
	stacs       (:key c1 :key c1  cc1 25)
	ord         (:key eb1 cc1 5)
	portato      (:key cs1 cc1 5)
 	   sfz        (:key e1 :key e1  cc1 25)
	   cres       (:key f1 :key f1  cc1 25)
          marc        (:key e1	 cc1 64)
          spicc       (:key c1 cc1 120)
          leg         (:key d1 :key d1  cc1 40)
          tasto       (:key cs2 :key cs1 cc1 40)
          leg+tasto   (:key cs2 :key cs1 cc1 40)
          tasto+leg   (:key cs2 :key cs1 cc1 40)

          vib+marc    (:key d2 :key cs1 cc1 80)
          marc+vib    (:key d2 :key cs1 cc1 80)
          deta        (:key d2 :key c1  cc1 80)

          pizz        (:key g1 :key g1  cc1 40)
          snap        (:key d2 :key a1  cc1 80)
          trem        (:key fs1 :key fs1 cc1 40)
          tr1         (:key d2 :key e1  cc1 40)
          tr2         (:key d2 :key e1  cc1 80)

          stacc+ponte (:key d2 :key f1  cc1 40)
          ponte+stacc (:key d2 :key f1  cc1 40)
          ponte+trem  (:key d2 :key fs1 cc1 40)
          trem+ponte  (:key d2 :key fs1 cc1 40)
          ponte       (:key d2 :key f1  cc1 80)
          )
  
  :controllers
  (:group Default-Settings
          Pitch               0
          Velocity-XF         2
          Volume              7
          Pan                10
          Expression         11
          Reverb-Dry/Wet     14
          Reverb-On/Off      15
          Slot-XF            20
          Start-Scaler       21
          Master-Attack      22
          Master-Release     23
          Master-Filter      24
          Delay-Scaler       25
          Tuning-Scaler      26
          Humanize           27
          Velocity-XF-On-Off 28
          Rsamp-On-Off       29
          Dynamics-Scaler    30
          
          :group Pedal
          Ped                64
          Sost-Ped           66
          Una-Corda          67
          
          :group Matrix
          cc1                 1
          
          )
  )

 

vi-viola.lisp

(in-package :Opusmodus)

;;;---------------------------------------------------------
;;; VIENNA INSTRUMENTS - VIOLIN
;;;---------------------------------------------------------
(def-sound-set vi-violin
               :programs
  (:group perf-universal
          vl-perf-sustain (:key c2 cc1 5)
          vl-perf-marcato (:key c2 cc1 64)
          vl-perf-spic    (:key c2 cc1 120)
          
          :group perf-legato-all
          vl-perf-legato           (:key cs2 :key c1  cc1 40)
          vl-perf-legato-sul       (:key cs2 :key cs1 cc1 40)
          vl-perf-legato-zigane    (:key cs2 :key d1  cc1 40)
          vl-perf-legato-vib-progr (:key cs2 :key ds1 cc1 40)
          vl-perf-portamento       (:key cs2 :key c1  cc1 80)
          
          :group articulation-combi
          vl-staccato       (:key d2 :key c1  cc1 40)
          vl-sus-vib        (:key d2 :key cs1 cc1 40)
          vl-fp-vib         (:key d2 :key d1  cc1 40)
          vl-trem-sus       (:key d2 :key ds1 cc1 40)
          vl-trill-1        (:key d2 :key e1  cc1 40)
          vl-pon-staccato   (:key d2 :key f1  cc1 40)
          vl-pon-trem       (:key d2 :key fs1 cc1 40)
          vl-harm-art-stac  (:key d2 :key g1  cc1 40)
          vl-octav-gliss-me (:key d2 :key gs1 cc1 40)
          vl-pizz           (:key d2 :key a1  cc1 40)

          vl-detache-short    (:key d2 :key c1  cc1 80)
          vl-sus-vib-marc     (:key d2 :key cs1 cc1 80)
          vl-sfz-vib          (:key d2 :key d1  cc1 80)
          vl-trem-sus-af-auto (:key d2 :key ds1 cc1 80)
          vl-trill-2          (:key d2 :key e1  cc1 80)
          vl-pon-sus          (:key d2 :key f1  cc1 80)
          vl-pon-trem-fa-auto (:key d2 :key fs1 cc1 80)
          vl-harm-art-sus     (:key d2 :key g1  cc1 80)
          vl-octav-gliss-fa   (:key d2 :key gs1 cc1 80)
          vl-pizz-snap        (:key d2 :key a1  cc1 80)

          :group pref-repetitions-combi
          vl-perf-rep-sl     (:key ds2 :key c1)
          vl-perf-rep-por-me (:key ds2 :key cs1)
          vl-perf-rep-stac   (:key ds2 :key d1)
          vl-perf-rep-spi    (:key ds2 :key ds1)
          vl-perf-rep-harsh  (:key ds2 :key e1)

          :group combi-cre9
          vl-rep-cre9-por-fa-1 (:key e2 :key c1  cc1 10)
          vl-rep-cre9-por-fa-2 (:key e2 :key cs1 cc1 10)
          vl-rep-cre9-por-fa-3 (:key e2 :key d1  cc1 10)
          vl-rep-cre9-por-fa-4 (:key e2 :key ds1 cc1 10)
          vl-rep-cre9-por-fa-5 (:key e2 :key e1  cc1 10)
          vl-rep-cre9-por-fa-6 (:key e2 :key f1  cc1 10)
          vl-rep-cre9-por-fa-7 (:key e2 :key fs1 cc1 10)
          vl-rep-cre9-por-fa-8 (:key e2 :key g1  cc1 10)
          vl-rep-cre9-por-fa-9 (:key e2 :key gs1 cc1 10)

          vl-rep-cre9-sta-1 (:key e2 :key c1  cc1 25)
          vl-rep-cre9-sta-2 (:key e2 :key cs1 cc1 25)
          vl-rep-cre9-sta-3 (:key e2 :key d1  cc1 25)
          vl-rep-cre9-sta-4 (:key e2 :key ds1 cc1 25)
          vl-rep-cre9-sta-5 (:key e2 :key e1  cc1 25)
          vl-rep-cre9-sta-6 (:key e2 :key f1  cc1 25)
          vl-rep-cre9-sta-7 (:key e2 :key fs1 cc1 25)
          vl-rep-cre9-sta-8 (:key e2 :key g1  cc1 25)
          vl-rep-cre9-sta-9 (:key e2 :key gs1 cc1 25)

          vl-rep-cre9-spi-1 (:key e2 :key c1  cc1 70)
          vl-rep-cre9-spi-2 (:key e2 :key cs1 cc1 70)
          vl-rep-cre9-spi-3 (:key e2 :key d1  cc1 70)
          vl-rep-cre9-spi-4 (:key e2 :key ds1 cc1 70)
          vl-rep-cre9-spi-5 (:key e2 :key e1  cc1 70)
          vl-rep-cre9-spi-6 (:key e2 :key f1  cc1 70)
          vl-rep-cre9-spi-7 (:key e2 :key fs1 cc1 70)
          vl-rep-cre9-spi-8 (:key e2 :key g1  cc1 70)
          vl-rep-cre9-spi-9 (:key e2 :key gs1 cc1 70)

          vl-rep-cre9-harsh-1 (:key e2 :key c1  cc1 120)
          vl-rep-cre9-harsh-2 (:key e2 :key cs1 cc1 120)
          vl-rep-cre9-harsh-3 (:key e2 :key d1  cc1 120)
          vl-rep-cre9-harsh-4 (:key e2 :key ds1 cc1 120)
          vl-rep-cre9-harsh-5 (:key e2 :key e1  cc1 120)
          vl-rep-cre9-harsh-6 (:key e2 :key f1  cc1 120)
          vl-rep-cre9-harsh-7 (:key e2 :key fs1 cc1 120)
          vl-rep-cre9-harsh-8 (:key e2 :key g1  cc1 120)
          vl-rep-cre9-harsh-9 (:key e2 :key gs1 cc1 120)

          :group perf-harsh-combi
          vl-sus-vib-fa    (:key f2 :key c1  cc1 5)
          vl-sus-vib-progr (:key f2 :key cs1 cc1 5)
          vl-pon-sus-fa    (:key f2 :key d1  cc1 5)
          

       :group omn
	stacc       (:key c1 :key c1  cc1 40)
	stacs       (:key c1 :key c1  cc1 25)
	ord         (:key eb1 cc1 5)
	portato      (:key cs1 cc1 5)
 	   sfz        (:key e1 :key e1  cc1 25)
	   cres       (:key f1 :key f1  cc1 25)
          marc        (:key e1	 cc1 64)
          spicc       (:key c1 cc1 120)
          leg         (:key d1 :key d1  cc1 40)
          tasto       (:key cs2 :key cs1 cc1 40)
          leg+tasto   (:key cs2 :key cs1 cc1 40)
          tasto+leg   (:key cs2 :key cs1 cc1 40)

          vib+marc    (:key d2 :key cs1 cc1 80)
          marc+vib    (:key d2 :key cs1 cc1 80)
          deta        (:key d2 :key c1  cc1 80)

          pizz        (:key g1 :key g1  cc1 40)
          snap        (:key d2 :key a1  cc1 80)
          trem        (:key fs1 :key fs1 cc1 40)
          tr1         (:key d2 :key e1  cc1 40)
          tr2         (:key d2 :key e1  cc1 80)

          stacc+ponte (:key d2 :key f1  cc1 40)
          ponte+stacc (:key d2 :key f1  cc1 40)
          ponte+trem  (:key d2 :key fs1 cc1 40)
          trem+ponte  (:key d2 :key fs1 cc1 40)
          ponte       (:key d2 :key f1  cc1 80)
          )

  
  :controllers
  (:group default-settings
          pitch 0
          velocity-xf 2
          volume 7
          pan 10
          expression 11
          reverb-dry/wet 14
          reverb-on/off 15
          slot-xf 20
          start-scaler 21
          master-attack 22
          master-release 23
          master-filter 24
          delay-scaler 25
          tuning-scaler 26
          humanize 27
          velocity-xf-on-off 28
          rsamp-on-off 29
          dynamics-scaler 30

          :group Pedal
          Ped 64
          Sost-Ped 66
          Una-Corda 67
          
          :group matrix
          cc1 1
          
  )
)

 

vi-violin.lisp

(in-package :Opusmodus)

;;;---------------------------------------------------------
;;; VIENNA INSTRUMENTS - VIOLIN
;;;---------------------------------------------------------
(def-sound-set vi-violin
               :programs
  (:group perf-universal
          vl-perf-sustain (:key c2 cc1 5)
          vl-perf-marcato (:key c2 cc1 64)
          vl-perf-spic    (:key c2 cc1 120)
          
          :group perf-legato-all
          vl-perf-legato           (:key cs2 :key c1  cc1 40)
          vl-perf-legato-sul       (:key cs2 :key cs1 cc1 40)
          vl-perf-legato-zigane    (:key cs2 :key d1  cc1 40)
          vl-perf-legato-vib-progr (:key cs2 :key ds1 cc1 40)
          vl-perf-portamento       (:key cs2 :key c1  cc1 80)
          
          :group articulation-combi
          vl-staccato       (:key d2 :key c1  cc1 40)
          vl-sus-vib        (:key d2 :key cs1 cc1 40)
          vl-fp-vib         (:key d2 :key d1  cc1 40)
          vl-trem-sus       (:key d2 :key ds1 cc1 40)
          vl-trill-1        (:key d2 :key e1  cc1 40)
          vl-pon-staccato   (:key d2 :key f1  cc1 40)
          vl-pon-trem       (:key d2 :key fs1 cc1 40)
          vl-harm-art-stac  (:key d2 :key g1  cc1 40)
          vl-octav-gliss-me (:key d2 :key gs1 cc1 40)
          vl-pizz           (:key d2 :key a1  cc1 40)

          vl-detache-short    (:key d2 :key c1  cc1 80)
          vl-sus-vib-marc     (:key d2 :key cs1 cc1 80)
          vl-sfz-vib          (:key d2 :key d1  cc1 80)
          vl-trem-sus-af-auto (:key d2 :key ds1 cc1 80)
          vl-trill-2          (:key d2 :key e1  cc1 80)
          vl-pon-sus          (:key d2 :key f1  cc1 80)
          vl-pon-trem-fa-auto (:key d2 :key fs1 cc1 80)
          vl-harm-art-sus     (:key d2 :key g1  cc1 80)
          vl-octav-gliss-fa   (:key d2 :key gs1 cc1 80)
          vl-pizz-snap        (:key d2 :key a1  cc1 80)

          :group pref-repetitions-combi
          vl-perf-rep-sl     (:key ds2 :key c1)
          vl-perf-rep-por-me (:key ds2 :key cs1)
          vl-perf-rep-stac   (:key ds2 :key d1)
          vl-perf-rep-spi    (:key ds2 :key ds1)
          vl-perf-rep-harsh  (:key ds2 :key e1)

          :group combi-cre9
          vl-rep-cre9-por-fa-1 (:key e2 :key c1  cc1 10)
          vl-rep-cre9-por-fa-2 (:key e2 :key cs1 cc1 10)
          vl-rep-cre9-por-fa-3 (:key e2 :key d1  cc1 10)
          vl-rep-cre9-por-fa-4 (:key e2 :key ds1 cc1 10)
          vl-rep-cre9-por-fa-5 (:key e2 :key e1  cc1 10)
          vl-rep-cre9-por-fa-6 (:key e2 :key f1  cc1 10)
          vl-rep-cre9-por-fa-7 (:key e2 :key fs1 cc1 10)
          vl-rep-cre9-por-fa-8 (:key e2 :key g1  cc1 10)
          vl-rep-cre9-por-fa-9 (:key e2 :key gs1 cc1 10)

          vl-rep-cre9-sta-1 (:key e2 :key c1  cc1 25)
          vl-rep-cre9-sta-2 (:key e2 :key cs1 cc1 25)
          vl-rep-cre9-sta-3 (:key e2 :key d1  cc1 25)
          vl-rep-cre9-sta-4 (:key e2 :key ds1 cc1 25)
          vl-rep-cre9-sta-5 (:key e2 :key e1  cc1 25)
          vl-rep-cre9-sta-6 (:key e2 :key f1  cc1 25)
          vl-rep-cre9-sta-7 (:key e2 :key fs1 cc1 25)
          vl-rep-cre9-sta-8 (:key e2 :key g1  cc1 25)
          vl-rep-cre9-sta-9 (:key e2 :key gs1 cc1 25)

          vl-rep-cre9-spi-1 (:key e2 :key c1  cc1 70)
          vl-rep-cre9-spi-2 (:key e2 :key cs1 cc1 70)
          vl-rep-cre9-spi-3 (:key e2 :key d1  cc1 70)
          vl-rep-cre9-spi-4 (:key e2 :key ds1 cc1 70)
          vl-rep-cre9-spi-5 (:key e2 :key e1  cc1 70)
          vl-rep-cre9-spi-6 (:key e2 :key f1  cc1 70)
          vl-rep-cre9-spi-7 (:key e2 :key fs1 cc1 70)
          vl-rep-cre9-spi-8 (:key e2 :key g1  cc1 70)
          vl-rep-cre9-spi-9 (:key e2 :key gs1 cc1 70)

          vl-rep-cre9-harsh-1 (:key e2 :key c1  cc1 120)
          vl-rep-cre9-harsh-2 (:key e2 :key cs1 cc1 120)
          vl-rep-cre9-harsh-3 (:key e2 :key d1  cc1 120)
          vl-rep-cre9-harsh-4 (:key e2 :key ds1 cc1 120)
          vl-rep-cre9-harsh-5 (:key e2 :key e1  cc1 120)
          vl-rep-cre9-harsh-6 (:key e2 :key f1  cc1 120)
          vl-rep-cre9-harsh-7 (:key e2 :key fs1 cc1 120)
          vl-rep-cre9-harsh-8 (:key e2 :key g1  cc1 120)
          vl-rep-cre9-harsh-9 (:key e2 :key gs1 cc1 120)

          :group perf-harsh-combi
          vl-sus-vib-fa    (:key f2 :key c1  cc1 5)
          vl-sus-vib-progr (:key f2 :key cs1 cc1 5)
          vl-pon-sus-fa    (:key f2 :key d1  cc1 5)
          

         :group omn
	stacc       (:key c1 :key c1  cc1 40)
	stacs       (:key c1 :key c1  cc1 25)
	ord         (:key eb1 cc1 5)
	portato      (:key cs1 cc1 5)
 	   sfz        (:key e1 :key e1  cc1 25)
	   cres       (:key f1 :key f1  cc1 25)
          marc        (:key e1	 cc1 64)
          spicc       (:key c1 cc1 120)
          leg         (:key d1 :key d1  cc1 40)
          tasto       (:key cs2 :key cs1 cc1 40)
          leg+tasto   (:key cs2 :key cs1 cc1 40)
          tasto+leg   (:key cs2 :key cs1 cc1 40)

          vib+marc    (:key d2 :key cs1 cc1 80)
          marc+vib    (:key d2 :key cs1 cc1 80)
          deta        (:key d2 :key c1  cc1 80)

          pizz        (:key g1 :key g1  cc1 40)
          snap        (:key d2 :key a1  cc1 80)
          trem        (:key fs1 :key fs1 cc1 40)
          tr1         (:key d2 :key e1  cc1 40)
          tr2         (:key d2 :key e1  cc1 80)

          stacc+ponte (:key d2 :key f1  cc1 40)
          ponte+stacc (:key d2 :key f1  cc1 40)
          ponte+trem  (:key d2 :key fs1 cc1 40)
          trem+ponte  (:key d2 :key fs1 cc1 40)
          ponte       (:key d2 :key f1  cc1 80)
          )

  
  :controllers
  (:group default-settings
          pitch 0
          velocity-xf 2
          volume 7
          pan 10
          expression 11
          reverb-dry/wet 14
          reverb-on/off 15
          slot-xf 20
          start-scaler 21
          master-attack 22
          master-release 23
          master-filter 24
          delay-scaler 25
          tuning-scaler 26
          humanize 27
          velocity-xf-on-off 28
          rsamp-on-off 29
          dynamics-scaler 30

          :group Pedal
          Ped 64
          Sost-Ped 66
          Una-Corda 67
          
          :group matrix
          cc1 1
          
  )
)

 

Put the three above in Opusmodus/Def-Soud-Sets Folder of your system.

Put the archive below that I named "Custom_Instrument Set.lisp in Opusmodus/Def-Instrument_Sets

 

(in-package :Opusmodus)

;;;---------------------------------------------------------
;;; GM Instrument Set
;;;---------------------------------------------------------
(def-instrument-set gm
                    :instruments
  (:group clefs
          :treble (:layout treble-layout
                           :port nil
                           :channel 2
                           :sound 'gm
                           :program 0
                           :controllers nil
                           :pan (pan 0)
                           :volume 92)
          
          :alto (:layout alto-layout
                         :port nil
                         :channel 3
                         :sound 'gm
                         :program 0
                         :controllers nil
                         :pan (pan 0)
                         :volume 92)
          
          :tenor (:layout tenor-layout
                          :port nil
                          :channel 4
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan 0)
                          :volume 92)
          
          :bass (:layout bass-layout
                         :port nil
                         :channel 5
                         :sound 'gm
                         :program 0
                         :controllers nil
                         :pan (pan 0)
                         :volume 92)
          
          :group Grand
          :grand (:layout grand-layout
                          :port 0
                          :channel 1
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan 0)
                          :volume 92)
          
          :group Wind
          :pic (:layout piccolo-layout
                        :port nil
                        :channel 6
                        :sound 'gm
                        :program '(flute)
                        :controllers nil
                        :pan (pan -12)
                        :volume 92)
          
          :fl (:layout flute-layout
                       :port nil
                       :channel 7
                       :sound 'gm
                       :program '(flute)
                       :controllers nil
                       :pan (pan -12)
                       :volume 92)
          
          :afl (:layout alto-flute-layout
                        :port nil
                        :channel 1
                        :sound 'gm
                        :program '(flute)
                        :controllers nil
                        :pan (pan -12)
                        :volume 92)
          
          :bfl (:layout bass-flute-layout
                        :port nil
                        :channel 1
                        :sound 'gm
                        :program '(flute)
                        :controllers nil
                        :pan (pan -12)
                        :volume 92)
          
          :ob (:layout oboe-layout
                       :port nil
                       :channel 8
                       :sound 'gm
                       :program '(oboe)
                       :controllers nil
                       :pan (pan 12)
                       :volume 92)
          
          :eh (:layout english-horn-layout
                       :port nil
                       :channel 8
                       :sound 'gm
                       :program '(english-horn)
                       :controllers nil
                       :pan (pan 12)
                       :volume 92)
          
          :oda (:layout oboe-d-amore-layout
                        :port nil
                        :channel 8
                        :sound 'gm
                        :program '(oboe)
                        :controllers nil
                        :pan (pan 12)
                        :volume 92)
          
          :cl (:layout clarinet-layout
                       :port nil
                       :channel 9
                       :sound 'gm
                       :program '(clarinet)
                       :controllers nil
                       :pan (pan -12)
                       :volume 92)
          
          :acl (:layout alto-clarinet-layout
                        :port nil
                        :channel 9
                        :sound 'gm
                        :program '(clarinet)
                        :controllers nil
                        :pan (pan -12)
                        :volume 92)
          
          :bcl (:layout bass-clarinet-layout
                        :port nil
                        :channel 9
                        :sound 'gm
                        :program '(clarinet)
                        :controllers nil
                        :pan (pan -12)
                        :volume 92)
          
          :bn (:layout bassoon-layout
                       :port nil
                       :channel 11
                       :sound 'gm
                       :program '(bassoon)
                       :controllers nil
                       :pan (pan 12)
                       :volume 92)
          
          :cbn (:layout contrabassoon-layout
                        :port nil
                        :channel 11
                        :sound 'gm
                        :program '(bassoon)
                        :controllers nil
                        :pan (pan 12)
                        :volume 92)
          
          :ssax (:layout soprano-sax-layout
                         :port nil
                         :channel 13
                         :sound 'gm
                         :program '(soprano-sax)
                         :controllers nil
                         :pan (pan -25)
                         :volume 92)
          
          :asax (:layout alto-sax-layout
                         :port nil
                         :channel 14
                         :sound 'gm
                         :program '(alto-sax)
                         :controllers nil
                         :pan (pan -25)
                         :volume 92)
          
          :tsax (:layout tenor-sax-layout
                         :port nil
                         :channel 15
                         :sound 'gm
                         :program '(tenor-sax)
                         :controllers nil
                         :pan (pan -25)
                         :volume 92)
          
          :bsax (:layout baritone-sax-layout
                         :port nil
                         :channel 16
                         :sound 'gm
                         :program '(baritone-sax)
                         :controllers nil
                         :pan (pan -25)
                         :volume 92)
          
          :group Brass
          :tpt (:layout trumpet-layout
                        :port nil
                        :channel 12
                        :sound 'gm
                        :program '(trumpet)
                        :controllers nil
                        :pan (pan -12)
                        :volume 92)
          
          :hn (:layout horn-layout
                       :port nil
                       :channel 13
                       :sound 'gm
                       :program '(french-horn)
                       :controllers nil
                       :pan (pan -25)
                       :volume 92)
          
          :tbn (:layout trombone-layout
                        :port nil
                        :channel 14
                        :sound 'gm
                        :program '(trombone)
                        :controllers nil
                        :pan (pan 12)
                        :volume 92)
          
          :tba (:layout tuba-layout
                        :port nil
                        :channel 15
                        :sound 'gm
                        :program '(tuba)
                        :controllers nil
                        :pan (pan 25)
                        :volume 92)
          
          :group Strings
          :vn (:layout violin-layout
                       :port nil
                       :channel 2
                       :sound 'gm
                       :program '(violin)
                       :controllers nil
                       :pan (pan -30)
                       :volume 92)
          
          :vn1 (:layout violin-layout
                        :port nil
                        :channel 2
                        :sound 'gm
                        :program '(violin)
                        :controllers nil
                        :pan (pan -30)
                        :volume 92)
          
          :vn2 (:layout violin-layout
                        :port nil
                        :channel 3
                        :sound 'gm
                        :program '(violin)
                        :controllers nil
                        :pan (pan -10)
                        :volume 92)
          
          :va (:layout viola-layout
                       :port nil
                       :channel 4
                       :sound 'gm
                       :program '(viola)
                       :controllers nil
                       :pan (pan 10)
                       :volume 92)
          
          :vc (:layout violoncello-layout
                       :port nil
                       :channel 5
                       :sound 'gm
                       :program '(cello)
                       :controllers nil
                       :pan (pan 30)
                       :volume 92)
          
          :cb (:layout contrabass-layout
                       :port nil
                       :channel 5
                       :sound 'gm
                       :program '(Acoustic-Bass)
                       :controllers nil
                       :pan (pan 30)
                       :volume 92)
          
          :group Wind-Ensemble
          :w3 (:layout wind-trio-layout
                       :port nil
                       :channel '(2 3 4)
                       :sound 'gm
                       :program '(flute oboe bassoon)
                       :controllers nil
                       :pan (pan '(-12 0 12))
                       :volume 92)
          
          :w4 (:layout wind-quartet-layout
                       :port nil
                       :channel '(2 3 4 5)
                       :sound 'gm
                       :program '(flute oboe clarinet bassoon)
                       :controllers nil
                       :pan (pan '(-30 -10 10 30))
                       :volume 92)
          
          :w5 (:layout wind-quintet-layout
                       :port nil
                       :channel '(2 3 4 5 6)
                       :sound 'gm
                       :program '(flute oboe clarinet french-horn bassoon)
                       :controllers nil
                       :pan (pan '(-12 12 -15 -25 20))
                       :volume 92)
          
          :group Brass-Ensemble
          :b3 (:layout brass-trio-layout
                       :port nil
                       :channel '(7 8 9)
                       :sound 'gm
                       :program '(trumpet trombone tuba)
                       :controllers nil
                       :pan (pan '(-12 0 12))
                       :volume 92)
          
          :b4 (:layout brass-quartet-layout
                       :port nil
                       :channel '(7 8 9 11)
                       :sound 'gm
                       :program '(trumpet 'trumpet 'trombone 'tuba)
                       :controllers nil
                       :pan (pan '(-30 -10 10 30))
                       :volume 92)
          
          :b5 (:layout brass-quintet-layout
                       :port nil
                       :channel '(7 8 9 11 12)
                       :sound 'gm
                       :program '(trumpet trumpet french-horn trombone tuba)
                       :controllers nil
                       :pan (pan '(-25 -12 0 12 25))
                       :volume 92)
          
          :group Piano
          :p (:layout piano-layout
                      :port 0
                      :channel 1
                      :sound 'gm
                      :program 0
                      :controllers nil
                      :pan (pan 0)
                      :volume 92)
          
          :pg (:layout piano-grand-layout
                       :port nil
                       :channel 1
                       :sound 'gm
                       :program 0
                       :controllers nil
                       :pan (pan 15)
                       :volume 92)
          
          :p1 (:layout piano-layout
                       :port nil
                       :channel 1
                       :sound 'gm
                       :program 0
                       :controllers nil
                       :pan (pan -15)
                       :volume 92)
          
          :p2 (:layout piano-layout
                       :port nil
                       :channel 2
                       :sound 'gm
                       :program 0
                       :controllers nil
                       :pan (pan 0)
                       :volume 92)
          
          :p3 (:layout piano-layout
                       :port nil
                       :channel 3
                       :sound 'gm
                       :program 0
                       :controllers nil
                       :pan (pan 15)
                       :volume 92)
          
          :group String-Ensemble
          :s3 (:layout string-trio-layout
                       :port nil
                       :channel '(13 14 15)
                       :sound 'gm
                       :program '(violin viola cello)
                       :controllers nil
                       :pan (pan '(-12 0 12))
                       :volume 92)

;;;STRING QUARTET LAYOUT - PORT 0

          :sq (:layout string-quartet-layout
                       :port 0
                       :channel '(1 2 5 7)
                       :sound '(vi-violin
                                vi-violin
                                vi-viola
                                vi-cello)
                       :program 0
                       :controllers nil
                       :pan (pan '(-30 -10 10 30))
                       :volume 92)
          
          :sq2 (:layout string-quartet-layout
                       :port 0
                       :channel '(1 2 5 7)
                       :sound 'gm
                       :program '(violin violin viola cello)
                       :controllers nil
                       :pan (pan '(-30 -10 10 30))
                       :volume 92)
          
          :group Choir
          :satb (:layout choir-satb-layout
                         :port nil
                         :channel '(13 14 15 16)
                         :sound 'gm
                         :program '(Choir-Aahs)
                         :controllers nil
                         :pan (pan '(-30 -10 10 30))
                         :volume 92)
          
          :group Rhythm
          :rhy (:layout rhythm-layout
                        :port nil
                        :channel 10
                        :sound 'gm
                        :program 0
                        :controllers nil
                        :pan (pan 0)
                        :volume 92)
          
          :group drum-set
          :ds-bd (:layout dk-bass-layout
                          :port nil
                          :channel 10
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan 0)
                          :volume 92)
          
          :ds-sd (:layout dk-snare-layout
                          :port nil
                          :channel 10
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan 10)
                          :volume 92)
          
          :ds-lt (:layout dk-low-tom-layout
                          :port nil
                          :channel 10
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan -15)
                          :volume 92)
          
          :ds-mt (:layout dk-mid-tom-layout
                          :port nil
                          :channel 10
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan -8)
                          :volume 92)
          
          :ds-ht (:layout dk-high-tom-layout
                          :port nil
                          :channel 10
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan 15)
                          :volume 92)
          
          :ds-hh (:layout dk-hihat-layout
                          :port nil
                          :channel 10
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan 25)
                          :volume 92)
          
          :ds-cc (:layout dk-crash-cymbal-layout
                          :port nil
                          :channel 10
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan 20)
                          :volume 92)
          
          :ds-rc (:layout dk-ride-cymbal-layout
                          :port nil
                          :channel 10
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan -40)
                          :volume 92)
          
          :ds-chc (:layout dk-china-cymbal-layout
                           :port nil
                           :channel 10
                           :sound 'gm
                           :program 0
                           :controllers nil
                           :pan (pan -30)
                           :volume 92)
          
          :ds-sc (:layout dk-splash-cymbal-layout
                          :port nil
                          :channel 10
                          :sound 'gm
                          :program 0
                          :controllers nil
                          :pan (pan 30)
                          :volume 92)
          
          )
  )

 

If you are lucky enough, this should work...

 

;; SOME MATERIAL
(setf mat1 '((s c4 pp stacc d4 stacc e4 leg f4)
             (s c4 mp d4 sfz marc e4 leg f4)
             (s c4 pppp leg d4 e4 leg f4)))

(ps 'gm
	:sq (list (pitch-transpose 11 mat1)(pitch-retrograde (pitch-transpose 7 mat1))
              (pitch-transpose -5 mat1) (pitch-retrograde (pitch-transpose -10 mat1)))
    :key-signature 'atonal
    :time-signature '(2 4 1)
    :tempo 80
    :title "STR4tetVSL"
    :display :window)

 

According to the user defined setup file, the String Quartet :sq will play 

 

On 12/17/2019 at 9:18 PM, JulioHerrlein said:

;;;STRING QUARTET LAYOUT - PORT 0 :sq (:layout string-quartet-layout :port 0 :channel '(1 2 5 7) :sound '(vi-violin vi-violin vi-viola vi-cello) :program 0 :controllers nil :pan (pan '(-30 -10 10 30)) :volume 92)

 

exactly on channels 1 (VL1) 2 (VL2) 5 (VLA) 7 (CELLO).

 

Good Luck !

 

Best !

Julio 

Link to post
Share on other sites
  • 8 months later...

Dear Friends,

I´m getting this error at opusmodus opening.

IN conjunction with this, my PS functionality is not working as before.

Preview score is not calling the right midi out port to my DAW.

With the def score I can use it but keyswithches go wrong...

My midi destinations:

 

((0 . "Session 1"))

 

Session 1 is MIDI via Wifi (used to work before, when I was at El Capitan).

 

I dont know what is this.

 

 

 

image.png.f560caf61cf2de02ccf2b75d125fd7eb.png

 

There is also this warning at start:

 

image.png.d5c1c499f5458d8fe52bcff23b8540dc.png

image.png

Link to post
Share on other sites

HEMLOCK Resolved !

Right Folder...

 

 

Dear Janusz, 

I don´t know in what folder I must put the file

 

Load CLM Instruments.lisp 

 

you mentioned here:

and here:

 

Thanks in advance !

Best,

Julio

FOUND !!

 

~/Opusmodus/Extensions/“ directory.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy