Jump to content

Program changes inside the OMN form


Recommended Posts

12-tone row and its variants with randomised octaves.

(setf row (rnd-row :type :pitch :transpose '?))
(setf rows (gen-repeat 12 (list row)))
(setf variants (pitch-variant rows :variant '?))
(setf pitch (flatten (randomize-octaves '(c2 g7) variants)))
 
Mapping length to pitches.
(def-case rhythm
  (c3 '(h))
  (cs3 '(q))
  (d3 '(-3q = -))
  (eb3 '(e.))
  (e3 '(e))
  (f3 '(-5q = ---))
  (fs3 '(s.))
  (g3 '(s))
  (gs3 '(-3e - =))
  (a3 '(-5e --- = -e))
  (bb3 '(t -))
  (b3 '(-t =))

  (c4 '(h))
  (cs4 '(q))
  (d4 '(-3q = -))
  (eb4 '(e.))
  (e4 '(e))
  (f4 '(-5q - = --))
  (fs4 '(s.))
  (g4 '(s))
  (gs4 '(-3e - =))
  (a4 '(-5e == -- -e))
  (bb4 '(t -))
  (b4 '(-t =))

  (c5 '(h))
  (cs5 '(q))
  (d5 '(-3q = -))
  (eb5 '(e.))
  (e5 '(e))
  (f5 '(-5q -- = -))
  (fs5 '(s.))
  (g5 '(s))
  (gs5 '(-3e - =))
  (a5 '(-5e -- == -e))
  (bb5 '(-t =))
  (b5 '(t -))
  (otherwise '(q)))

(setf len (rhythm (flatten variants)))
 
Mapping velocity to pitches.
(def-case velocity
  (c3 'mf)
  (cs3 'mp)
  (d3 'ppp)
  (eb3 'pp)
  (e3 'p)
  (f3 'mp)
  (fs3 'mf)
  (g3 'f)
  (gs3 'ff)
  (a3 'fff)
  (bb3 'ffff)
  (b3 'fffff)

  (c4 'mf)
  (cs4 'mp)
  (d4 'ppp)
  (eb4 'pp)
  (e4 'p)
  (f4 'mp)
  (fs4 'mf)
  (g4 'f)
  (gs4 'ff)
  (a4 'fff)
  (bb4 'ffff)
  (b4 'fffff)

  (c5 'mf)
  (cs5 'mp)
  (d5 'ppp)
  (eb5 'pp)
  (e5 'p)
  (f5 'mp)
  (fs5 'mf)
  (g5 'f)
  (gs5 'ff)
  (a5 'fff)
  (bb5 'ffff)
  (b5 'fffff)
  (otherwise 'mf))

(setf vel (velocity (flatten variants)))

 

Mapping programs to pitches.

(def-case program
  (c3 'pr0)
  (cs3 'pr1)
  (d3 'pr2)
  (eb3 'pr3)
  (e3 'pr4)
  (f3 'pr5)
  (fs3 'pr6)
  (g3 'pr7)
  (gs3 'pr8)
  (a3 'pr9)
  (bb3 'pr10)
  (b3 'pr11)

  (c4 'pr0)
  (cs4 'pr1)
  (d4 'pr2)
  (eb4 'pr3)
  (e4 'pr4)
  (f4 'pr5)
  (fs4 'pr6)
  (g4 'pr7)
  (gs4 'pr8)
  (a4 'pr9)
  (bb4 'pr10)
  (b4 'pr11)

  (c5 'pr0)
  (cs5 'pr1)
  (d5 'pr2)
  (eb5 'pr3)
  (e5 'pr4)
  (f5 'pr5)
  (fs5 'pr6)
  (g5 'pr7)
  (gs5 'pr8)
  (a5 'pr9)
  (bb5 'pr10)
  (b5 'pr11)
  (otherwise 'pr0))

(setf art (program (flatten variants)))

 

Generating chords

(setf pitch-serie (gen-chord2
                   200 (rnd-sample 200 '(1 2 3)) pitch
                   :ambitus-chord '(13)))

 

Putting all into OMN form

(setf mat (make-omn
           :length len
           :pitch pitch-serie
           :velocity vel
           :articulation art))

 

Tempo

(setf tempo
      (make-tempo
       (flatten
        (gen-repeat
         (rnd-sample 12 '(3 4 5 6))
         '((96) (72) (88) (102) (44))))
       (get-span len)))

 

Defining score

(def-score serial-map
           (:key-signature 'atonal
           :time-signature (get-time-signature mat)
           :tempo tempo
           :layout (grand-layout 'inst))
  (inst
   :omn mat
   :sound 'PR
   :channel 1)
  )
Link to comment
Share on other sites

  • 6 months later...

The 'PR is the name of the sound set define by the DEF-SOUND-SET function.
The names pr0, pr1 ... pr127 and cc0, cc1 ...cc127 are part of the Opusmodus system like any other attribute: glissttremleg etc...

((s g4 f pr7)
 (e e6f6cs6 p pr4)
 (-5q bb5a5 mp pr5 - - -)
 (-5e 5q b6eb7d7 fff pr9 -5e - -e))

 

therefore the name can't be change, but the values of the programs and controllers can be modified by the user to control the own virtual instruments like Reaktor, Kontakt ... or any outboard synth.

The sound set file "General OMN Programs.lisp" you find in the Utilities Library.

(in-package :Opusmodus)

;;;---------------------------------------------------------
;;; GENERAL OMN PROGRAMS (PR)
;;;---------------------------------------------------------

;; Program and bank change events
(def-sound-set PR
               :programs
  (:group Prog-0-9
          pr0 0
          pr1 1
          pr2 2
          pr3 3
          pr4 4
          pr5 5
          pr6 6
          pr7 7
          pr8 8
          pr9 9

          :group Prog-10-19
          pr10 10
          pr11 11
          pr12 12
          pr13 13
          pr14 14
          pr15 15
          pr16 16
          pr17 17
          pr18 18
          pr19 19

          :group Prog-20-29
          pr20 20
          pr21 21
          pr22 22
          pr23 23
          pr24 24
          pr25 25
          pr26 26
          pr27 27
          pr28 28
          pr29 29

          :group Prog-30-39
          pr30 30
          pr31 31
          pr32 32
          pr33 33
          pr34 34
          pr35 35
          pr36 36
          pr37 37
          pr38 38
          pr39 39

          :group Prog-40-49
          pr40 40
          pr41 41
          pr42 42
          pr43 43
          pr44 44
          pr45 45
          pr46 46
          pr47 47
          pr48 48
          pr49 49

          :group Prog-50-59
          pr50 50
          pr51 51
          pr52 52
          pr53 53
          pr54 54
          pr55 55
          pr56 56
          pr57 57
          pr58 58
          pr59 59

          :group Prog-60-69
          pr60 60
          pr61 61
          pr62 62
          pr63 63
          pr64 64
          pr65 65
          pr66 66
          pr67 67
          pr68 68
          pr69 69

          :group Prog-70-79
          pr70 70
          pr71 71
          pr72 72
          pr73 73
          pr74 74
          pr75 75
          pr76 76
          pr77 77
          pr78 78
          pr79 79

          :group Prog-80-89
          pr80 80
          pr81 81
          pr82 82
          pr83 83
          pr84 84
          pr85 85
          pr86 86
          pr87 87
          pr88 88
          pr89 89

          :group Prog-90-99
          pr90 90
          pr91 91
          pr92 92
          pr93 93
          pr94 94
          pr95 95
          pr96 96
          pr97 97
          pr98 98
          pr99 99

          :group Prog-100-109
          pr100 100
          pr101 101
          pr102 102
          pr103 103
          pr104 104
          pr105 105
          pr106 106
          pr107 107
          pr108 108
          pr109 109

          :group Prog-110-119
          pr110 110
          pr111 111
          pr112 112
          pr113 113
          pr114 114
          pr115 115
          pr116 116
          pr117 117
          pr118 118
          pr119 119

          :group Prog-120-127
          pr120 120
          pr121 121
          pr122 122
          pr123 123
          pr124 124
          pr125 125
          pr126 126
          pr127 127
          )
  
  :controllers
  (:group cc-0-9
          cc0 0
          cc1 1
          cc2 2
          cc3 3
          cc4 4
          cc5 5
          cc6 6
          cc7 7
          cc8 8
          cc9 9

          :group cc-10-19
          cc10 10
          cc11 11
          cc12 12
          cc13 13
          cc14 14
          cc15 15
          cc16 16
          cc17 17
          cc18 18
          cc19 19

          :group cc-20-29
          cc20 20
          cc21 21
          cc22 22
          cc23 23
          cc24 24
          cc25 25
          cc26 26
          cc27 27
          cc28 28
          cc29 29

          :group cc-30-39
          cc30 30
          cc31 31
          cc32 32
          cc33 33
          cc34 34
          cc35 35
          cc36 36
          cc37 37
          cc38 38
          cc39 39

          :group cc-40-49
          cc40 40
          cc41 41
          cc42 42
          cc43 43
          cc44 44
          cc45 45
          cc46 46
          cc47 47
          cc48 48
          cc49 49

          :group cc-50-59
          cc50 50
          cc51 51
          cc52 52
          cc53 53
          cc54 54
          cc55 55
          cc56 56
          cc57 57
          cc58 58
          cc59 59

          :group cc-60-69
          cc60 60
          cc61 61
          cc62 62
          cc63 63
          cc64 64
          cc65 65
          cc66 66
          cc67 67
          cc68 68
          cc69 69

          :group cc-70-79
          cc70 70
          cc71 71
          cc72 72
          cc73 73
          cc74 74
          cc75 75
          cc76 76
          cc77 77
          cc78 78
          cc79 79

          :group cc-80-89
          cc80 80
          cc81 81
          cc82 82
          cc83 83
          cc84 84
          cc85 85
          cc86 86
          cc87 87
          cc88 88
          cc89 89

          :group cc-90-99
          cc90 90
          cc91 91
          cc92 92
          cc93 93
          cc94 94
          cc95 95
          cc96 96
          cc97 97
          cc98 98
          cc99 99

          :group cc-100-109
          cc100 100
          cc101 101
          cc102 102
          cc103 103
          cc104 104
          cc105 105
          cc106 106
          cc107 107
          cc108 108
          cc109 109

          :group cc-110-119
          cc110 110
          cc111 111
          cc112 112
          cc113 113
          cc114 114
          cc115 115
          cc116 116
          cc117 117
          cc118 118
          cc119 119

          :group cc-120-127
          cc120 120
          cc121 121
          cc122 122
          cc123 123
          cc124 124
          cc125 125
          cc126 126
          cc127 127

          :group Pedal
          Ped       64
          Sost-Ped  66
          Una-Corda 67
          )
  )
Link to comment
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