Jump to content

opmo

Administrators
  • Posts

    3,002
  • Joined

  • Last visited

Everything posted by opmo

  1. 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))
  2. Of course you could use a list of program changes: :program '(1 2 3 4 5 6 7 8 9 10 11) Here each pitch will be played by a different program.
  3. 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) )
  4. To find out the midi ports setup of your system, please evaluate the (midi-destinations) function: (midi-destinations) => ((0 . "Bus 1") (1 . "Bus 2") (2 . "Bus 3") (3 . "Bus 4") (4 . "Bus 5") (5 . "Bus 6") (6 . "Bus 7") (7 . "Bus 8") (8 . "Bus 9") (9 . "Bus 10") (10 . "Bus 11") (11 . "Bus 12") (12 . "Bus 13") (13 . "Bus 14") (14 . "Bus 15") (15 . "Bus 16") (16 . "Session 1") (17 . "Keyboard") (18 . "MIDI OUT") (19 . "UM-ONE")) There are two possible ways to assign a port. One is with the port number and the other is with the port name (a string). (instrument :omn omn-form :port 0 :channel 1 :sound 'reaktor :program 1) now with a string: (instrument :omn omn-form :port "Bus 1" :channel 1 :sound 'reaktor :program 1
  5. Thank you very much for a detailed report. Lets see if there any error messages in Console.app /Application/Utilities/Console maybe this will give us some useful information. 1. Open the Console app 2. Open Opusmodus app 3. Select all the dx86cl64 lines and send it to me by email - info@opusmodus.com Thank you for your time and your help.
  6. You could do something like that: (gen-filter-change (rnd-sample 24 '(gs4 e4 d4 c4 c4 a4 fs4)) '(1/16 1/2 1/4 1/4) '(pp ff mf))or (gen-loop 12 (gen-filter-change (rnd-order '(gs4 e4 d4 c4 c4 a4 fs4)) '(1/16 1/2 1/4 1/4) '(pp ff mf)))etc...
  7. Using PERMUTE function here, is not what you should do. Seven elements to permute will produce overload or will take looooong time.
  8. The warnings from cdb-open are expected. They are not causing the application to fail to launch. Here are some suggestions: You could open the /Applications/Utilities/System Information.app, choose Save... from the File menu and attach the output file here. Maybe something there would provide a hint about what is going wrong. Have you create a new account on your system, and trying using Opusmodus.app from the new account. If you download Clozure CL.app from the Mac App Store, does that work?
  9. We need backtrace from the AltConsole. Could you download the new version 1.0.15670 and check again, this time with AltConsole. The direction 'Howto' you fined in the previous post.
  10. Opusmodus ver. 1.0.15670 is ready for download. I have added AltConsole application to the system which should help us to find the problem with the installation. 1. Open Opusmodus 2. Look for AltConsole application in your Dock. 3. Click on it. 4. type :b 5. then press the return key Copy the content of the window and send it to me. This way we might find the problem why you can't install the software.
  11. One other possibility would be to do this: 1. open a terminal window 2. cd /Applications/Opusmodus.app/Contents/MacOS 3. ./dx86cl64 then copy the output of the terminal window and send it to me.
  12. Thank you for the post and successful installation on Mac Pro running Yosemite. austinkool94, could you tell on what mac (model) you tried to make the installation? What OS version you are using 10.10 or 10.10.1 What I will make update to Opusmodus and will add a console, this way I hope we will see some kind of error message in it.
  13. Very strange, this is the first time we hear about this kind of problem. I will ask my colleagues to hear what they think about this.
  14. Lets try this. Go to your home directory and delete the folder Opusmodus - if you find one. This folder is create automatically by the first time you start of the application. 1. In Finder, Control-click or right click the icon of the Opusmodus application. 2. Select Open from the top of contextual menu that appears. 3. Click Open in the dialog box. If prompted, enter an administrator name and password.
  15. There are no known problems with Opusmodus MIDI routing. First check you MIDI ports. Evaluate the function below: (midi-destinations) The output of the function should looks something like this: => ((0 . "Bus 1") (1 . "Bus 2") (2 . "Bus 3") (3 . "Bus 4") (4 . "Session 1") (5 . "vPacarana"))You can use one of the formats, a number or the string name. Score example with port using a number: (setf mat '((q a4 e a4 = q b4 trem-s) (e c5 trem-t s d5 trem-3s s e5 trem-x h a5 trem) (q a5 ff fermata))) (def-score tremolo (:key-signature '(c maj) :time-signature '(3 4) :tempo 60) (inst :omn mat :port 0 :channel 1 :sound 'gm :program 'violin) )Now, the same score but with port string name:(setf mat '((q a4 e a4 = q b4 trem-s) (e c5 trem-t s d5 trem-3s s e5 trem-x h a5 trem) (q a5 ff fermata))) (def-score tremolo (:key-signature '(c maj) :time-signature '(3 4) :tempo 60) (inst :omn mat :port "Bus 1" :channel 1 :sound 'gm :program 'violin) )The Port setup in Opusmodus Preferences is for Audition (snippets) only and not a general MIDI setup, Opusmodus recognize you MIDI setup automatically. The port number is 0-based, therefore you see number 0 for port 1.
  16. Dear Michael, The language Opusmodus is using is Common Lisp, anything that you can do in plain Common Lisp, you can do with Opusmodus, we can easily say Opusmodus is a developing environment. Of course you can extend the system with your own function (Extensions folder), the documentation of your functions you will add to the System Library folder which you find in the Opusmodus folder (there is an example file to see how it works). Any code placed in the Extensions folder will be loaded at startup. The def-library function will help you to store your ideas, snippets, themes etc... in well organised manner. All libraries will be loaded at startup and should be placed if the /Opusmodus/Def-Libraries/Def-Library directory.
  17. When processing pitches ie. transposition, inversion etc... an internal conversion to integers takes place, once the process is completed, the integers are converted back to pitches this is why ds4 becomes eb4. The default pitch symbols: c4 cs4 d4 eb4 e4 f4 fs4 g4 gs4 a4 bb4 b4
  18. simple-cadence-t is not a tonality it is a series of tonalities. Add the interval 2 to the TONALITY-SERIES with :add keyword instead: (setf tonality (tonality-series simple-cadence :root '(c4 f4 f4 g4 c4) :closest '(down up) :add '(2)))
  19. Welcome, and I am very pleased you like Opusmodus. The solution to all that 'How to make complexity more friendly' is OMN. With OMN script the composer can start working with Opusmodus and not, from the outset be confronted with vast libraries of algorithms that can at first be intimidating and overwhelming. All this is just the beginning.
  20. Hi Torsten, Good to have you on board. First, you found a bug which is fixed now. You need to download the new version in order to solve the exercise. The HARMONIC-MAP is not what you are looking for. The function to use is the TONALITY-SERIES and then TONALITY-MAP. Here is your example with the two functions. (setf simple-cadence '((c4 maj) (f4 m) (f4 m) (g4 maj) (c4 maj))) (setf size 25) (setf rnd-pitches-smooth (gen-divide 4 (vector-to-pitch '(g3 g5) (vector-smooth 0.2 (gen-white-noise size))))) (setf rhy-pattern (append (gen-divide 5 (gen-repeat (- (/ size 5) 1) '(q q q e e))) '((q e e q q)))) (setf rnd-melody-smooth (make-omn :pitch rnd-pitches-smooth :length rhy-pattern)) (setf tonality (tonality-series simple-cadence :root '(c4 f4 f4 g4 c4) :closest '(down up)) (tonality-map tonality rnd-melody-smooth)I hope this is what you are looking for. With the TONALITY-MAP you can add other intervals which are not part of the scale you are using. If you using a series of scales or tonalities then you need first define them with TONALITY-SERIES function.
  21. The language Opusmodus is using is Lisp, anything that you can do in plain CCL, you can do with Opusmodus.app. A commonly-used HTTP client is called drakma. http://weitz.de/drakma/ It is available in Quicklisp http://www.quicklisp.org/beta/ To install and use Quicklisp, please read that web page, but in short, you do (load "http://beta.quicklisp.org/quicklisp.lisp") and then follow the directions.
  22. PITCH-ROTATE (flatten-sublist (gen-loop 12 (pitch-rotate (rnd-sample 12 (gen-integer -6 6)) '((d4fs4a4 a4e5c5a4))) :seed 245)) => ((d3fs3a3 e4c4a3a4) (d5fs5a5 a4a5e6c6) (e4c4a3a4 fs3a3d4) (a3d4fs4 a3a4e5c5) (e4c4a3a4 fs3a3d4) (e4c4a3a4 fs3a3d4) (d5fs5a5 a4a5e6c6) (c5a4a5e6 d5fs5a5) (d3fs3a3 e4c4a3a4) (a4e5c5a4 fs4a4d5) (a3a4e5c5 d4fs4a4) (e4c4a3a4 fs3a3d4)) GEN-CHORD2 (gen-chord2 12 '(4 3) '(c4 cs4 e4 eb4 b4 fs4 gs4 a4 bb4 d4 f4 g4) :offset '(2 3 -2) :transpose '(0 6 1 13) :rnd-octaves t :seed 83523) => (e5eb5b4fs4 c4d4eb4 e4c4g4a4 g5a4bb4 bb6d7f7g6 d6eb6e6 b3eb4fs3gs3 gs4cs4d4 d2f2g1c2 cs6fs5g5 f1e1c1g1 cs7d7f6) CHORD-VARIATION (gen-loop 12 (chord-variation '(d4fs4a4 a4e5c5a4)) :seed 3145) => ((d4bb3g3 a4d4fs4a4) (e5c5a4 a4d4fs4a4) (bb4fs4eb4 b5e5gs5b5) (d4bb3g3 a4d4fs4a4) (d4bb3g3 eb5gs4c5eb5) (bb4fs4eb4 eb5gs4c5eb5) (d4bb3g3 eb5gs4c5eb5) (bb4fs4eb4 a4d4fs4a4) (d4bb3g3 a4d4fs4a4) (e5c5a4 b5e5gs5b5) (bb4fs4eb4 a4d4fs4a4) (d4bb3g3 a4d4fs4a4))
  23. 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) )
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy