Jump to content

opmo

Administrators
  • Posts

    2,889
  • Joined

  • Last visited

Everything posted by opmo

  1. Upcoming ver. 1.4 Function: COUNTERPOINT
  2. Upcoming ver. 1.4 Function: CHORALIS
  3. Please note Opusmodus can be installed on two computers only. If you move to a new cpu or you make a new system installation we will reset your licence count.
  4. I am not getting any error with the expression. You will need to wait for the upgrade. We have started work on microtonality Best, Janusz
  5. Later this month Opusmodus should work on macOS 10.15, if all goes to plan.
  6. Dear Julio, It is not a programmer standpoint, the function name is PCS-RHYTHM (Pitch Class Set). You might need to look the binary functions or TIME-POINT-SYSTEM function. (length-staccato (time-point-system (melodize 'c4d4e4f4g4a4b4) 's)) Best, J
  7. Check the output below. The above looks correct to me. (pcs-prime-form (melodize 'c4d4e4f4g4a4)) => (0 2 4 5 7 9) (pcs-prime-form (melodize 'c4d4e4f4g4a4b4)) => (0 1 3 5 6 8 10)
  8. We are happy to announce the Italian version of Opusmodus is almost ready and will be released with the forthcoming update version 1.4. The entire Opusmodus documentation was translated by Prof. Marco Giommoni. Best wishes, Janusz
  9. Every function which use a time wait (Threads, OSC and other libraries) using SLEEP - very precise indeed.
  10. SLEEP is the function you are looking for. (sleep time) ; in seconds The 1st expression will play for 10 second. The 2nd for 4 seconds. (progn (ps 'gm :cl (list (gen-repeat 100 '((s c4 d4 e4 f4 g4))))) (sleep 10) (ps 'gm :fl (list '(q c5 d5 e5 f5 g5 a5 b5))) (sleep 4) (ps 'gm :fl (list '(w cs6))) )
  11. Will have a look if time permit. Working on Italian version.
  12. Each licence has two installations. You should be fine.
  13. Congratulation to your new CPU! You find the latest version in the Downloads page.
  14. The midi system and the conversion to score is very complex indeed. There is not an easy solutions to extract individual midi instruments (tracks). Anyway, it is done MIDI-TO-OMN and hopefully useful to others. "What you are doing Janusz is quite bad and unsafe" - I heard this very often and still I am, it is part of programming
  15. What you are doing Andre is quite bad and unsafe. I made already a function for it and it will be part of the next release: (setf 000504b "~/Opusmodus/Media/MIDI/Bach/Chorals/000504b_") (midi-to-omn 000504b :instrument 1) => ((-e g4 ff e. b4 s c5 e d5 f4 ab4 g4) (q e4 -s e4 g4 c4 e f4 ab4 ab4 f4) (e db4 db4 - c4 bb4 bb4 db5 c5) (e ab4 ab4 -s c4 f4 g4 e ab4 f4 e. b4 s c5) (q d5 -e g4 c5 a4 e. gb4 s g4) (e g4 d4 -h -e bb4) (e. bb4 s f4 e e g4 ab4 f4 d5 f4) (e eb4 c4 - c4 bb4 s c5 db5 -e c5) (q a4 -e bb4 bb4 g4 eb4 g4) (q ab4 -e eb4 s db5 bb4 e c5 - eb4) (e eb4 bb3 -q. e g4 bb4 eb4) (e ab4 -s f4 e d5 f4 q eb4 -e c4) (e. g4 s a4 bb4 bb4 bb4 c5 q db5 -e c5) (e a4 a4 c5 f4 ab4 ab4 b3 d4) (e f4 f4 - d4 g4 c4 e. b4 s c5) (e c5 g4)) (midi-to-omn 000504b :type :pitch :instrument 2) => ((c5 c5 d5) (eb5 f5 g5) (g5) (g5 f5 eb5 eb5) (d5) (d5) (eb5 f5 g5 g5) (f5 g5 g5) (eb5 f5 g5 g5) (f5 eb5) (g5) (bb5 g5 g5 g5) (f5 f5 f5) (g5 f5 eb5 f5) (d5 c5)) (midi-to-omn 000504b :type :length :instrument 2) => ((-1) (-1/4 1/4 1/4 1/4) (1/4 1/4 1/2) (-3/4 1/4) (1/4 1/4 1/4 1/4) (1/2 -1/2) (-3/4 1/4) (1/4 1/4 1/4 1/4) (1/2 1/4 1/4) (1/4 1/4 1/4 1/4) (1/2 1/4 -1/4) (-3/4 1/4) (1/4 1/4 1/4 1/4) (1/2 1/4 1/4) (1/4 1/4 1/4 1/4) (1/2 1/2)) (midi-to-omn 000504b :type :pitch) => (((g4 b4 c5 d5 f4 ab4 g4) (e4 e4 g4 c4 f4 ab4 ab4 f4) (db4 db4 c4 bb4 bb4 db5 c5) (ab4 ab4 c4 f4 g4 ab4 f4 b4 c5) (d5 g4 c5 a4 gb4 g4) (g4 d4 bb4) (bb4 f4 f4 g4 ab4 f4 d5 f4) (eb4 c4 c4 bb4 c5 db5 c5) (a4 bb4 bb4 g4 eb4 g4) (ab4 eb4 db5 bb4 c5 eb4) (eb4 bb3 g4 bb4 eb4) (ab4 f4 d5 f4 eb4 c4) (g4 a4 bb4 bb4 bb4 c5 db5 c5) (a4 a4 c5 f4 ab4 ab4 b3 d4) (f4 f4 d4 g4 c4 b4 c5) (c5 g4)) ((c5 c5 d5) (eb5 f5 g5) (g5) (g5 f5 eb5 eb5) (d5) (d5) (eb5 f5 g5 g5) (f5 g5 g5) (eb5 f5 g5 g5) (f5 eb5) (g5) (bb5 g5 g5 g5) (f5 f5 f5) (g5 f5 eb5 f5) (d5 c5)) ((b2) (bb2 ab2 f2) (g2 ab2 e2) (d2) (b2 c3) (d3 g2) (d3 b2) (c3 ab3 e3) (eb3 d3 db3) (c3 b2 bb2 a2) (bb2 eb2) (b2 c3) (db3 e2) (eb2 d2) (b2 c3 ab2) (gb2 g2 c2))) (midi-to-omn 000504b) => (((-e g4 ff e. b4 s c5 e d5 f4 ab4 g4) (q e4 -s e4 g4 c4 e f4 ab4 ab4 f4) (e db4 db4 - c4 bb4 bb4 db5 c5) (e ab4 ab4 -s c4 f4 g4 e ab4 f4 e. b4 s c5) (q d5 -e g4 c5 a4 e. gb4 s g4) (e g4 d4 -h -e bb4) (e. bb4 s f4 e e g4 ab4 f4 d5 f4) (e eb4 c4 - c4 bb4 s c5 db5 -e c5) (q a4 -e bb4 bb4 g4 eb4 g4) (q ab4 -e eb4 s db5 bb4 e c5 - eb4) (e eb4 bb3 -q. e g4 bb4 eb4) (e ab4 -s f4 e d5 f4 q eb4 -e c4) (e. g4 s a4 bb4 bb4 bb4 c5 q db5 -e c5) (e a4 a4 c5 f4 ab4 ab4 b3 d4) (e f4 f4 - d4 g4 c4 e. b4 s c5) (e c5 g4)) ((-w) (-q c5 ff c5 d5) (q eb5 f5 h g5) (-h. q g5) (q g5 f5 eb5 eb5) (h d5 -) (-h. q d5) (q eb5 f5 g5 g5) (h f5 q g5 g5) (q eb5 f5 g5 g5) (h f5 q eb5 -) (-h. q g5) (q bb5 g5 g5 g5) (h f5 q q) (q g5 f5 eb5 f5) (h d5 c5)) ((w b2 ff) (h bb2 q ab2 f2) (q g2 ab2 h e2) (w d2) (h b2 c3) (-q d3 h g2) (h d3 b2) (q c3 ab3 h e3) (q eb3 d3 h db3) (q c3 b2 bb2 a2) (-q bb2 h eb2) (h b2 c3) (h db3 e2) (h eb2 d2) (h b2 q c3 ab2) (q gb2 g2 h c2))) (midi-to-omn 000504b :instrument 1 :bars '(1..4)) => ((-e g4 ff e. b4 s c5 e d5 f4 ab4 g4) (q e4 -s e4 g4 c4 e f4 ab4 ab4 f4) (e db4 db4 - c4 bb4 bb4 db5 c5) (e ab4 ab4 -s c4 f4 g4 e ab4 f4 e. b4 s c5)) Janusz
  16. Not directly. First you need to import the midi file to score and then extract the pitches with OMN function. I like the idea, maybe we will add this functionality in the future.
  17. To reopen the last used windows you need to go to System Preferences/General panel and uncheck the "Close windows when quitting an app".
  18. No bug, there is a way to get the result you are looking for. If your list are lists only and you expect to get chords only then place the lists in additional list: (integer-to-pitch '(((-2 -1) (0 2) (1 2)))) => ((bb3b3 c4d4 cs4d4))
  19. Will have a look if may time with coding permits, sounds very good.
  20. How to save last score (or last snippet) to midi-file in a given location: (compile-score *last-score* :output :midi :file "path/filename")
  21. – Update: SNIPPET – length snippet will display without a line staff. To display the length SNIPPET line staff, set the *SNIPPET-LENGTH-LINE* to T. (defparameter *snippet-length-line* T "Enable or disable the length snippet line staff display.") The default is: NIL – Fixes: Bug fix found in length conversion to length-symbols function. Missing OM Developer documents (English version). Best wishes, Janusz
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy