Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


opmo last won the day on February 16

opmo had the most liked content!


About opmo

  • Rank



  • Gender

Recent Profile Visitors

5,727 profile views
  1. The upcoming release will allow you to open display-midi, display-musicxml, graphs and snippets in a separate window. For any of you using second monitor this will be great addition to your work flow. Examples: (display-midi 'score :display :window) (display-musicxml 'score :display :window) Best, Janusz
  2. opmo

    HELP needed on Jazz Lines from fragments

    The code is not very complex but it needs to work with pitch sequence, chords (last value) and omn-form sequence. The document will explain how it all works.
  3. opmo

    HELP needed on Jazz Lines from fragments

    Will be added to the next release: (setf pattern '((s c4 d4 e4 g4) (s c4 d4 g4 e4) (s g4 e4 c4 d4) (s c4 d4 f4 g4) (s c4 d4 g4 f4) (s g4 f4 c4 d4) (s c4 d4 g4 f4) (s g4 gb4 f4 g4) (s g4 gb4 f4 a4) (s d4 f4 g4 a4) (s a4 g4 f4 d4) (s d4 f4 g4 c5))) (pattern-series '(1 1 2 1 2 1 2) pattern) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s cs5 bb4 fs4 gs4) (s bb4 c5 eb5 f5) (s fs5 gs5 cs6 b5) (s cs6 b5 fs5 gs5) (s a5 b5 e6 d6) (s e6 eb6 d6 e6) (s f6 e6 eb6 g6) (s gs6 b6 cs7 eb7) (s f7 eb7 cs7 bb6) (s b6 d7 e7 a7)) (pattern-series '(1 1 2 1 2 1 2) pattern :variant '(p p i r ri p p)) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s cs5 bb4 fs4 gs4) (s bb4 gs4 f4 eb4) (s e4 fs4 cs4 b3) (s cs4 eb4 bb3 gs3) (s a3 b3 e4 d4) (s e4 eb4 d4 e4) (s f4 e4 eb4 g4) (s gs4 b4 cs5 eb5) (s f5 g5 a5 c6) (s cs6 gs5 fs5 eb5)) (pattern-series '(1 -1 2 -1 2 -1 2) pattern) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s b4 gs4 e4 fs4) (s gs4 bb4 cs5 eb5) (s d5 e5 a5 g5) (s a5 g5 d5 e5) (s eb5 f5 bb5 gs5) (s bb5 a5 gs5 bb5) (s b5 bb5 a5 cs6) (s c6 eb6 f6 g6) (s a6 g6 f6 d6) (s cs6 e6 fs6 b6)) (pattern-series '(1 -1 2 -1 2 -1 2) pattern :variant '(p p i r ri p p)) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s b4 gs4 e4 fs4) (s gs4 fs4 eb4 cs4) (s c4 d4 a3 g3) (s a3 b3 fs3 e3) (s eb3 f3 bb3 gs3) (s bb3 a3 gs3 bb3) (s b3 bb3 a3 cs4) (s c4 eb4 f4 g4) (s a4 b4 cs5 e5) (s eb5 bb4 gs4 f4)) with random (1 2) (pattern-series (rnd-sample (length pattern) '(1 2)) pattern) etc... (pattern-series (rnd-sample (length pattern) '(13 -13)) pattern :variant '?) Best, Janusz
  4. opmo

    HELP needed on Jazz Lines from fragments

    What is the input (sequence) and what would be the result, Example please.
  5. Example: (setf v1 '(h e5 d5 b4 c5)) (setf v2 '(h g4 a4 q g4 f4 h e4)) (setf v3 '(h c4 f4 d4 c4)) (setf v4 '(h e3 f3 g3 c3)) (def-score Cade (:key-signature 'chromatic :time-signature '(4 2) :tempo 80 :ignore-time-signature t :ignore-tempo t :layout (piano-layout '(v1 v2) '(v3 v4))) (v1 :omn v1 :channel 1 :sound 'gm :program 0) (v2 :omn v2) (v3 :omn v3) (v4 :omn v4) )
  6. opmo

    XML Snippet "open with" context menu option

    First, you need to create a musicxml file from your score: (compile-score 'file-name :output :musicxml :file "file-name") Next: (musicxml-to-editor "file-name") To open the file in Finale: (musicxml-to-editor "file-name" :application "Finale") If the application name is not working you can use the identifier keyword with the bundle-identifier. For example the Sibelius 7.5 version identifier is "com.avid.Sibelius75" (musicxml-to-editor "file-name" :identifier "com.avid.Sibelius75")
  7. opmo

    Snippet with key signatures

    def-score is a score which is a finished work. For ideas I suggest to create a new file with your expressions. If you like to call some of your ideas algorithmically then you need to create a def-library. You don't need to care about a time signature or key signature, all that you do on a score level and not on a snippet level.
  8. opmo

    Snippet with key signatures

    Snippet is just a snippet not a fragment of the score.
  9. Please drop the file "v.aiff" into the ~/Opusmodus/Media/Audio directory. This file is a part of one of the CLM examples. soundfile: v.aiff
  10. CLM Installation Common Lisp Music, by William Schottstaedt is a powerful sound synthesis language implemented in Lisp and C. CLM is essentially a toolbox for instrument building. Although it comes with a number of instruments ready to use, most composers use CLM to define their own instruments. For those of you that wish to dive into CLM sound synthesis system, I advise everyone to read this document carefully first. 1. Command Line Tools First you need to find out if "command line tools" are installed in your system. The C compiler is essential at the instrument compile and load time. Launch the Terminal, found in /Applications/Utilities/ To check if command line tools are installed run: xcode-select --version if installed you will see the below with the version found in your system, something like that: xcode-select version 1234 If command line tools are not installed run: xcode-select --install A software update popup window will appear that asks: “The xcode-select command requires the command line developer tools. Would you like to install the tools now?” choose to confirm this by clicking “Install”, then agree to the Terms of Service when requested. Wait for the Command Line Tools package download to complete, it’ll be about 130MB and installs fairly quickly depending on your connection speed. The installer goes away on its own when complete. Enjoy your new unix command line toolkit! 2. Load and Compile Instruments CLM system comes with a number of instruments which are a great starting point to see and hear CLM in action. Some of them are simple others are complex. Before you can run any of the instruments you must compile them first. To do that you need to open and evaluate a file "Load CLM Instrument.lisp", you will find the file in the CLM directory. This process will take a minute or so and it will create binary and dynamic library files for each of the instruments. The binary files will be saved in the bin directory and the library files will be saved in the libclm directory. After this process is completed you are ready to run the CLM Examples. If you wish to load your instruments at the startup of the app move the "Load CLM Instrument.lisp" file into the “~/Opusmodus/Extensions/“ directory. Thats all you need to do to make CLM system work in Opusmodus. Best wishes, Janusz
  11. opmo

    Opusmodus 1.3.24534

    This update completes the CLM integration. Before opening the new application you need to delete the user Opusmodus directory. Make sure you save your personal files (scores, docs etc...) before. A good solution is to rename the Opusmodus folder first and then compress it. After you have deleted the Opusmodus user folder you can start the new application. At the start, Opusmodus will ask you for permission to create a new user folder in your home directory, if you don’t see a window for it, it means the old directory is still on your computer. Make sure the new Opusmodus directory is installed in your home directory. For those of you that wish to dive into CLM sound synthesis system, I advise everyone to read the Read Me First document carefully first. New: – CLM instruments, utilities and documentation: load-clm-ins with-sound play stop-sound ring-modulate-file-synth pins-synth expsrc-synth tubebell-synth hammondoid-synth metal-synth fm-synth (generic multi-type FM Instrument) gong-synth fm-drum-synth stochastic-synth definstrument – No bracket when tuplet is beamed. – Musicxml display improvements. Fixed: – Fixed an issue where CLM sound won't stop if there are more then two instances playing. – Fixed an issue in Preferences where Change Audition Length 1/4 would set to 1/8. – Fixed navigator drag-and-drop re-arragement on Mojave. – Fixed an issue where Navigator search instead of jumping to the match, the selection was extended. Best wishes, Janusz
  12. opmo

    HELP needed on Jazz Lines from fragments

    Like this: (pitch-transpose-n '(2 2 2 2) '(fs4 gs4 as4 cs5)) => (gs4 bb4 c5 eb5) (pitch-transpose-n '(2 2 2 2) '(c5 d5 e5 g5)) => (d5 e5 fs5 a5) Other solution would be to work with intervals only: INTERVAL-MAP
  13. Simpler: (setf mod3chordsM (melodize '((c4eb4gb4) (d4gb4bb4) (eb4gb4bb4) (e4g4b4) (gb4bb4db5) (g4b4d5) (ab4b4d5) (bb4gb5) (b4d5gb5)))) (setf analysechords3 (pcs-analysis mod3chordsM)) In general your code could be much simpler.
  14. Why you use the PITCH-TRANSPOSE-START function and what is the goal. What about PCS-PRIME-FORM. Should this be generated or given by hand: (setf mod3chordsM (melodize '((c4eb4gb4) (d4gb4bb4) (eb4gb4bb4) (e4g4b4) (gb4bb4db5) (g4b4d5) (ab4b4d5) (bb4gb5) (b4d5gb5)))) I can't find the thought in your progression.