Jump to content

JulioHerrlein

Members
  • Posts

    816
  • Joined

  • Last visited

Everything posted by JulioHerrlein

  1. Dear Janusz, Thanks a lot ! This is great ! Exactly like my dissertation concept, expressed in thius great function ! This rocks ! All the Best. A very happy 2020 to you all ! Julio
  2. Dear Janusz, I need a little help in the rhtyhm function: Each rhythmic set can be exppressed in different quantizations, for example. Below we have the bembé rhythm (expressed by set 7-35 in rotation 11, the diatonic scale as a rhythm) as a 12/8 and also as a 4/4 with triplets In sixteenth notes: Also we can express the same set as an augmentation of the values: And event with dotted eights as the small unit: or even in quintuplets: The question is: Is there an option ( :keyword) in the opusmodus pc-rhythm function to express the sabe set using a different value for the small unit ( i.e., 8ths, 16ths notes tuplets, etc) ? All the best ! Julio
  3. 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 exactly on channels 1 (VL1) 2 (VL2) 5 (VLA) 7 (CELLO). Good Luck ! Best ! Julio
  4. Dear Torsten, Some of the graphs above imply the concept of parsimounious voice leading among four-note chords also, as an extension of the classic operations (P,L,R) to the domain of the tetrachords. best, Julio
  5. Dear Janusz, This is a really cool feature I was looking for ! There is a lot of interesting transformations and graphs related to this subject, like this, compiled by my friend Ciro Visconti, who studied with Straus: THE FAMOUS "CUBE DANCE" PARSIMONIOUS TRANSFORMATIONS OF 4-NOTE CHORDS BORETZ SPIDER POWER TOWERS And so on, all related to the basic tonnetz transformations. A good idea is thinking how to model also four note structures. All the best ! Julio
  6. Finally I had success !! Thank you. My old .gig VSL have the keyswitches in the C1 octave, instead of C2. I had to edit the files you provided. Best, Julio
  7. This caused a hanging (not responding) crash. I don´t know why... THIS CRASHES (setf padrao '(7 -1 -5 4 -3 2 12 -16)) (setf pitches (gen-sieve '(c4 e6) padrao :type :pitch)) THIS DON´T CRASH (setf padrao '(7 -1 -5 4 -3 2 12 -15)) (setf pitches (gen-sieve '(c4 e6) padrao :type :pitch))
  8. ;; 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
  9. 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
  10. Thanks, Janusz This is handy when you want to use the simple sounds of computer motherboard. Best, Julio
  11. Thanks, Janusz ! Looks very clear ! I´ll try it. Best ! Julio
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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 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. Do I have to change any other file(s) in some folder within Opusmodus ? Maybe each instrument of the quartet layout ? where ? 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) ? 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
  17. My conference about Rhythmic Set Theory. Best ! Julio Herrlein´s conference at the III International Congress of the Brazilian Association of Musical Theory and Analisys (TeMA) and the IV International Congress of Music and Mathematics. This Congress was University of Rio de Janeiro (UFRJ), hosted by Prof. Dr. Carlos Almada, Prof. Dr. Pauxy Gentil-Nunes and Prof. Dr. Liduíno Liduino Pitombeira, among many other people. It was a great honor to be in this amazing meeting with great musicians and having the oportunity to talk about my doctoral dissertation research, in many topics related to rhythm and popular music. My doctoral dissertation (in portuguese) can be downloaded in this link: http://hdl.handle.net/10183/179457 EXAMPLES: - ALL ROTATIONS OF THE BEMBÉ RHYTHM 12:59 - REGULATIVE TIME-POINT (ANKU) - EXPLANATION 15:33 e EXAMPLE 16:11 - LIGETI´S DIATONIC HARMONIC CLOUDS in Cordes à Vide (Piano Etude 2) 18:37 - DANCING AND NON-DANCING RHYTHMS 19:40 - BEMBÉ WITH ALTERNATIVE SUBDIVISIONS 21:32 - EXCERPT OF JACOB COLLIER INTERVIEW TO JUNE LEE 22:00 - BEMBÉ RHYTHM INSIDE A CYCLE OF SEPTUPLETS 23:20 - WAYNE KRANTZ "WHIPERSNAPPER" SOLO ANALISYS WITH RHYTHMIC SETS 24:09 I know that music theory is sometimes very hard to grasp, but it can really bring light about the nature of some music materials. If you are just curious, you can jump straight to the musical examples. These examples are very practical in its nature and the catalog of rhythms contained in the dissertation can be used in a very practical way, for composing and improvising. I hope it can be inspiring for you to make some music. All the best ! Enjoy !
  18. Dear Janusz, It looks like the set is converted to its prime form internally before converted to the pc-rhythm set. So, the prime form of the set 7-35 (major scale, notes C D E F G A B) is (013568T) But in this case, the result would be: B C D E F G A wich is most "compact" way to express this set. So, there is an "hidden" function inside the pc-rhythm function. A function that converts the chords or notes into its more compact prime form. Yes, this looks very convenient from the programmer standpoint. I was expecting to convert literally the notes onto its time-point position, like in this diagram. Maybe a keyword or one more derived function for converting melodies to time-point in a cyclic way (in my way, not Babbit´s way) could be very convenient. It ocurred to me now. All the best, Julio
  19. Dear Torsten The function pitch-invert works as the tradional inversion, mirroing the intervals upside-down. Negative harmony is somewhat similar to inversion, but not exactly the same thing. Please, take a look in Levy book and in the video above, and you will see what I mean. I'm looking for something straightforward and non-academic, inside the 12-tone temperament, very simple, just to spice up the old progressions and voice-leading with a negative version. Thank you for the reply and references. Best, Julio
  20. Dear Janusz, I´m exploring this function recently and I get a problem: When evaluating this: (setf pcrhy '(c4d4e4f4g4a4a4)) (make-omn :length (pcs-rhythm pcrhy :omn t) :pitch (melodize pcrhy)) I´m getting this (right) result But, when evaluating this: (setf pcrhy '(c4d4e4f4g4a4a4b4)) (make-omn :length (pcs-rhythm pcrhy :omn t) :pitch (melodize pcrhy)) I´m getting this (wrong) result: I would expect to have this result What is wrong ? Best, Julio
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy