Skip to content
View in the app

A better way to browse. Learn more.

Opusmodus

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Simple question concerning gm-sounds

Featured Replies

Hi,

I have a rather simple question:

Inside a DEF-SCORE, when I use :sound 'gm, is it possible to define the program by number  instead of the name, e.g. using 1 or 001 instead of :program 'acoustic-grand-piano?

thanks!

ole

  • Author

Thanks for the quick answer, can you provide an example with the number, I did not get it to work last night.

GM sound set with program 71 (clarinet)

(setf clr '((e c4 ppp< leg d4 < leg e4 < leg f4 < leg
             g4 < leg a4 < leg b4 < leg c5 ff)
           ((stacc e c4 ppp d4 < e4 < f4 < g4 < a4 < b4 < c5 ff))
           ((leg e c4 ppp d4 e4 < f4 g4 a4 b4 c5 ff))))

(def-score cresc
           (:key-signature '(c maj)
            :time-signature '(8 8) 
            :tempo '(q 120)
            :layout '(:treble inst))

  (inst
   :omn clr
   :channel 1
   :sound 'gm
   :program 71)
  )

The other way would be to create your own sound set with attributes pr0 ... pr127 and use the attribute direct in the OMN form list as if there were articulations.

Example:

;; Patches, keyswitches and controllers change events.
(def-sound-set VSL-Prepared-Piano
               :programs
  (:group Main
          pr0 (cc101 0)   ;chain
          pr1 (cc101 15)  ;double-screw
          pr2 (cc101 29)  ;harmoinic
          pr3 (cc101 43)  ;harmoinic-secco
          pr4 (cc101 57)  ;foil
          pr5 (cc101 71)  ;glass
          pr6 (cc101 85)  ;stick
          pr7 (cc101 99)  ;stick-roll
          pr8 (cc101 113) ;glissandi
   )
  
  :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
          cc101             101
          
  )
)

 

The OMN form:

'((s cs5 p pr0 g6 mp pr6 mf pr6 -) (s cs5 f pr5 e g3 ff pr5 s p pr5) 
  (s cs5 mp pr0 g6 mf pr6 f pr6 -) (-s cs5 ff pr0 e g3 p pr5)
  (s g3 mp pr5 - e cs5 mf pr0) (s g6 f pr6 ff pr6 e cs5 p pr0)
  (s g3 mp pr5 mf pr5 e cs5 f pr0) (s g6 ff pr6 p pr6 cs5 mp pr0 g3 mf pr5)
  (e g3 f pr5 s cs5 ff pr0 g6 p pr6) (e g6 mp pr6 -s cs5 mf pr0)
  (e g3 f pr5 -s g3 ff pr5) (s cs5 p pr0 e g6 mp pr6 s mf pr6))
  • Author

Thanks for the insight- I also own the VSL-Prepared-Piano-Library, so that will be handy later.

I'am still struggling with the names vs numbers thing:

On my machine the following code is playing two different sounds, only the latter the grand-piano sound. Can you please eval the snippet and report back if it works fine?

A while ago Stephane posted a new 'better' gm-library here in the forum and installed it (without thinking). Maybe thats the source of trouble..?

(setf oben '((q e5 f5 g5 e f5 q d5)
             (q e5 f5 g5 g5 a5 g5 a5 g5 e f5 q f5 g5 a5 e g5 q f5 e5 d5 e5)))

(setf unten 
'((-q) (q e5 f5 g5 e f5 q d5)
  (q e5 f5 g5 g5 a5 g5 a5 g5 e f5 q f5 g5 a5 e g5 q f5 e5 d5 e5)))

(def-score ancient
          (:key-signature '(c maj)
           :time-signature '((9 8 1) (6 4 1) (9 8 1))           
           :tempo 40
           )
(oben :omn oben :channel 1 :sound 'gm :program 1)
(unten :omn unten :channel 2 :sound 'gm :program 'acoustic-grand-piano))

Please check the sound set GM file. The program numbers are 0-based.

(def-score ancient
          (:key-signature '(c maj)
           :time-signature '((9 8 1) (6 4 1) (9 8 1))           
           :tempo 40)
(oben :omn oben :channel 1 :sound 'gm :program 0)
(unten :omn unten :channel 2 :sound 'gm :program 'acoustic-grand-piano))
  • Author

ok, that did the trick! Is there a gm sound list somewhere inside om? My list was from wikipedia and started with 001..

Solved. thanks!

All the Sound-Set files you will find in the Utilities, Library panel on the right, it is the 6th button L.

You might need to explore more the Utilities panels, were you should find answers (examples) to many questions.

Of course you can add your own sound set files into the /Opusmodus/Def-Libraries/Def-Sound-Sets folder.

All files found there, will load on startup.

Create an account or sign in to comment


Copyright © 2014-2026 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.