torstenanders Posted March 23, 2018 Posted March 23, 2018 I would like to define a new sound set to control a particular setting of the virtual organ GrandOrgue (https://sourceforge.net/projects/ourorgan/), a very nice and flexible pipe organ simulator. After investing quite some amount of time I now got some setting that allows me to nicely control GrandOrgue from Sibelius, and I would like to reproduce that control in Opusmodus. For that, I need to send certain CC messages and program change messages depending on articulations in the score. For example, I use articulations like 'I', to set the current staff to the organ division I (usually main) or 'II" for the division II (swell). Now, I might be simply missing something obvious here (e.g., a typo), but I keep getting error messages like the following when evaluating my sound set below this message, but I cannot find out what I am doing wrong. > Error: In sound set grandorgue-organ, program ped, there is no controller named: cc20 Can anyone perhaps see what I am missing here? Thanks a lot! Best, Torsten (def-sound-set GrandOrgue-organ :programs (:group couplers Ped (cc20 127) -Ped (cc20 1) I (cc21 127) -I (cc21 1) II (cc22 127) -II (cc22 1) III (cc23 127) -III (cc23 1) G_C (cc30 127) ;; sends program change messages to switch combinations for a certain division :group combinations P_1 1 P_2 2 P_3 3 P_4 4 P_5 5 P_6 6 P_7 7 P_8 8 P_9 9 P_10 10 I_1 21 I_2 22 I_3 23 I_4 24 I_5 25 I_6 26 I_7 27 I_8 28 I_9 29 I_10 30 II_1 41 II_2 42 II_3 43 II_4 44 II_5 45 II_6 46 II_7 47 II_8 48 II_9 49 II_10 50 III_1 61 III_2 62 III_3 63 III_4 64 III_5 65 III_6 66 III_7 67 III_8 68 III_9 69 III_10 70 ) :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 Pedal 64 ; not 'Ped' Sustain 64 Sost-Ped 66 Sostenuto 66 Una-Corda 67 Soft-Pedal 67 :group Matrix cc1 1 )) Quote
opmo Posted March 23, 2018 Posted March 23, 2018 The controllers you are using in the program are missing: :group Matrix cc1 1 cc20 20 cc21 21 cc22 22 This should fix the problem. Quote
torstenanders Posted March 23, 2018 Author Posted March 23, 2018 I see -- they need to be declared in in the :controllers section. Thanks a lot! I now got it almost working. Below is my current sound set again. I had to simplify the combination symbols to I1, I2 etc (the former underscore was confusing the OMN parser). What is missing still is support for combining articulations like II+II2 (i.e., use division II with combination 2 of that division). I can have combinations like stacc+II or leg+II2, but II+II2 is only notated, the playback does not work. Here are two examples. The first one works fine, but is not actually what I need. '((q c4 stacc+II) (e c4 leg d4 stacc e4 II4+leg f4 stacc) (q g4 marc -q -h)) The second example demonstrates the problem. '((q c4 II+II2) (e c4 leg d4 stacc e4 II4+leg f4 stacc) (q g4 marc -q -h)) Specifically, whether I notate II+II2 or II2+II, II is executed, but II2 is not. The later II4+leg again triggers the combination 4 fine. I had a look at a resulting exported MIDI file, and indeed in the combination II+II2 the CC message for II is output, but the program change message for II2 is not. If II2 or one of its friends is used independently or in a combination like stacc+II2 it does work, though. Is there perhaps some bug in the sound set definition here that only kicks in when user-defined articulations are combined? Thanks again! Best, Torsten PS: I only define support for predefined combinations of stops instead of stops directly for multiple reasons. This is more easy to define (less symbols overall), and is independent of specific organs or chosen stop combinations -- I can change the registration (combinations of stops used at certain moments) and even the organ without changing the score (generation). (add-text-attributes ;; Setting divisions and couplings ;; Note: I don't notate couplers with plus (e.g., I + II), but instead simply I and II ;; (Notation revised manually later in Sibelius) '(G_C "G.C.") '(Ped "Ped") '(I "I") '(II "II") '(III "III") '(-Ped "- Ped") '(-I "- I") '(-II "- II") '(-III "- III") ;; divisional combinations for the organ ;; ;; Pedal '(P1 "P: 1") '(P2 "P: 2") '(P3 "P: 2") '(P4 "P: 4") '(P5 "P: 5") '(P6 "P: 6") '(P7 "P: 7") '(P8 "P: 8") '(P9 "P: 9") '(P10 "P: 10") ;; ;; I '(I1 "I: 1") '(I2 "I: 2") '(I3 "I: 2") '(I4 "I: 4") '(I5 "I: 5") '(I6 "I: 6") '(I7 "I: 7") '(I8 "I: 8") '(I9 "I: 9") '(I10 "I: 10") ;; ;; II '(II1 "II: 1") '(II2 "II: 2") '(II3 "II: 2") '(II4 "II: 4") '(II5 "II: 5") '(II6 "II: 6") '(II7 "II: 7") '(II8 "II: 8") '(II9 "II: 9") '(II10 "II: 10") ;; ;; III '(III1 "III: 1") '(III2 "III: 2") '(III3 "III: 2") '(III4 "III: 4") '(III5 "III: 5") '(III6 "III: 6") '(III7 "III: 7") '(III8 "III: 8") '(III9 "III: 9") '(III10 "III: 10") ) ;;; TODO: uncomment when errors like "there is no controller named: cc20" are fixed (def-sound-set GrandOrgue-organ :programs (:group couplers Ped (cc20 127) -Ped (cc20 1) I (cc21 127) -I (cc21 1) II (cc22 127) -II (cc22 1) III (cc23 127) -III (cc23 1) G_C (cc30 127) ;; sends program change messages to switch combinations for a certain division :group combinations P1 1 P2 2 P3 3 P4 4 P5 5 P6 6 P7 7 P8 8 P9 9 P10 10 I1 21 I2 22 I3 23 I4 24 I5 25 I6 26 I7 27 I8 28 I9 29 I10 30 II1 41 II2 42 II3 43 II4 44 II5 45 II6 46 II7 47 II8 48 II9 49 II10 50 III1 61 III2 62 III3 63 III4 64 III5 65 III6 66 III7 67 III8 68 III9 69 III10 70 ) :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 Pedal 64 ; not 'Ped' Sustain 64 Sost-Ped 66 Sostenuto 66 Una-Corda 67 Soft-Pedal 67 :group Matrix cc1 1 cc20 20 cc21 21 cc22 22 cc23 23 cc30 30 )) Quote
opmo Posted March 24, 2018 Posted March 24, 2018 The display of the two examples is correct. The Ped is a default controller and can't be overwritten. How to use controllers as program changes please check the "VSL Cello Solo" file. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.