-
Posts
2,894 -
Joined
-
Last visited
Reputation Activity
-
opmo got a reaction from etu in Opusmodus version 2.1, end of June!
MIDI ENTRY
To start the MIDI input into your score file, select the command MIDI Entry from the Tools menu. When MIDI Entry is ON, the Listener echo bar will change to orange:
Now you know the MIDI Entry is ON. Depending on the position of the pitch-bend wheel and the modulation wheel as well as the position of the sustain pedal the colour of the Listener echo bar will change.
To make the MIDI Entry as functional as possible there are a number of commands that will increase the speed of your work without the need to move away form your MIDI keyboard.
Every entry is octave independent, except the pitch entry.
Pitch
Enter pitch symbols and chords into your score.
Length and Tuplet
Pitch-Bend: Up-Full
C 1 D 1/2 E 1/4 F 1/8 G 1/16 A 1/32 B 1/64 Cs 3 Ds 5 Fs 6 Gs 7 Bb 9
Length-rest and Tuplet
Pitch-Bend: Down-Full
C -1 D -1/2 E -1/4 F -1/8 G -1/16 A -1/32 B -1/64 Cs -3 Ds -5 Fs -6 Gs -7 Bb -9
Velocity
Pitch-Bend: UP-Half
C pppp Cs ppp D pp Eb p E mp F mf Fs f G ff Gs fff A ffff Bb < B >
Attribute
Pitch-Bend: Down-Half
C stacc Cs ord D marc Eb fermata E mart F ten Fs pizz G leg Gs trem A tie Bb ped1 B ped
Microtonality and Commands
Modulation Wheel: Up
Add a microtonal symbol next to the pitch symbol.
F + G - A . B .. C parenthesis pair D open parenthesis E close parenthesis Cs move forward char Eb move backward char Fs delete backward char Gs undo Bb new line and indent Note: If you enable MIDI input with the modulation wheel up, you need to move it down and up again in order for it to be considered up.
Entries with Sustain Pedal Down
Pitch
Add a pitch symbol next to the previous pitch (chord).
Length and Tuplet
Pitch-Bend: Up-Full
Add a length entry to the previous length value (combine length).
Length-rest and Tuplet
Pitch-Bend: Down-Full
Add a length-rest entry to the previous rest value (combine length).
Velocity
Pitch-Bend: Up-Half
Add < or > dynamic symbol to the previous velocity value.
Attribute
Pitch-Bend: Down-Half
Add (+) attribute to the previous attribute value (combine attributes).
Examples:
c4e4g4 Enter a chord c4e4g4 on your MIDI keyboard or pitch by pitch: c4 e4 g4 with sustain pedal down. (q c4 mp e4 g4) 1. Modulation wheel up then C => () 2. PB-UpF then E => (q) 3. Enter c4 => (q c4) 4. PB-UpH then E => (q c4 mp) 5. Enter e4 then g4 => (q c4 mp e4 g4) (q c4 mp e4 stacc g4 p fermata+trem) 1. Modulation wheel up then C => () 2. PB-UpF then E => (q) 3. Enter c4 => (q c4) 4. PB-UpH then E => (q c4 mp) 5. Enter e4 => (q c4 mp e4) 6. PB-DnH then C => (q c4 mp e4 stacc) 7. Enter g4 => (q c4 mp e4 stacc g4) 8. PB-UpH then Eb => (q c4 mp e4 stacc g4 p) 9. PB-DnH then Eb => (q c4 mp e4 stacc g4 p fermata) 10. PB-DnH then Gs + sustain => (q c4 mp e4 stacc g4 p fermata+trem) (q c4 mp e4 stacc g4 p fermata+trem 3q c4 eb4 fs4) 1. Modulation wheel up then C => () 2. PB-UpF then E => (q) 3. Enter c4 => (q c4) 4. PB-UpH then E => (q c4 mp) 5. Enter e4 => (q c4 mp e4) 6. PB-DnH then C => (q c4 mp e4 stacc) 7. Enter g4 => (q c4 mp e4 stacc g4) 8. PB-UpH then Eb => (q c4 mp e4 stacc g4 p) 9. PB-DnH then Eb => (q c4 mp e4 stacc g4 p fermata) 10. PB-DnH then Gs + sustain => (q c4 mp e4 stacc g4 p fermata+trem) 11. PB-UpF Cs/E (chord) => (q c4 mp e4 stacc g4 p fermata+trem 3q) 12. Enter c4 then eb4 then fs4 => (q c4 mp e4 stacc g4 p fermata+trem 3q c4 eb4 fs4) Best wishes,
Janusz
-
opmo got a reaction from AM in Opusmodus version 2.1, end of June!
MIDI ENTRY
To start the MIDI input into your score file, select the command MIDI Entry from the Tools menu. When MIDI Entry is ON, the Listener echo bar will change to orange:
Now you know the MIDI Entry is ON. Depending on the position of the pitch-bend wheel and the modulation wheel as well as the position of the sustain pedal the colour of the Listener echo bar will change.
To make the MIDI Entry as functional as possible there are a number of commands that will increase the speed of your work without the need to move away form your MIDI keyboard.
Every entry is octave independent, except the pitch entry.
Pitch
Enter pitch symbols and chords into your score.
Length and Tuplet
Pitch-Bend: Up-Full
C 1 D 1/2 E 1/4 F 1/8 G 1/16 A 1/32 B 1/64 Cs 3 Ds 5 Fs 6 Gs 7 Bb 9
Length-rest and Tuplet
Pitch-Bend: Down-Full
C -1 D -1/2 E -1/4 F -1/8 G -1/16 A -1/32 B -1/64 Cs -3 Ds -5 Fs -6 Gs -7 Bb -9
Velocity
Pitch-Bend: UP-Half
C pppp Cs ppp D pp Eb p E mp F mf Fs f G ff Gs fff A ffff Bb < B >
Attribute
Pitch-Bend: Down-Half
C stacc Cs ord D marc Eb fermata E mart F ten Fs pizz G leg Gs trem A tie Bb ped1 B ped
Microtonality and Commands
Modulation Wheel: Up
Add a microtonal symbol next to the pitch symbol.
F + G - A . B .. C parenthesis pair D open parenthesis E close parenthesis Cs move forward char Eb move backward char Fs delete backward char Gs undo Bb new line and indent Note: If you enable MIDI input with the modulation wheel up, you need to move it down and up again in order for it to be considered up.
Entries with Sustain Pedal Down
Pitch
Add a pitch symbol next to the previous pitch (chord).
Length and Tuplet
Pitch-Bend: Up-Full
Add a length entry to the previous length value (combine length).
Length-rest and Tuplet
Pitch-Bend: Down-Full
Add a length-rest entry to the previous rest value (combine length).
Velocity
Pitch-Bend: Up-Half
Add < or > dynamic symbol to the previous velocity value.
Attribute
Pitch-Bend: Down-Half
Add (+) attribute to the previous attribute value (combine attributes).
Examples:
c4e4g4 Enter a chord c4e4g4 on your MIDI keyboard or pitch by pitch: c4 e4 g4 with sustain pedal down. (q c4 mp e4 g4) 1. Modulation wheel up then C => () 2. PB-UpF then E => (q) 3. Enter c4 => (q c4) 4. PB-UpH then E => (q c4 mp) 5. Enter e4 then g4 => (q c4 mp e4 g4) (q c4 mp e4 stacc g4 p fermata+trem) 1. Modulation wheel up then C => () 2. PB-UpF then E => (q) 3. Enter c4 => (q c4) 4. PB-UpH then E => (q c4 mp) 5. Enter e4 => (q c4 mp e4) 6. PB-DnH then C => (q c4 mp e4 stacc) 7. Enter g4 => (q c4 mp e4 stacc g4) 8. PB-UpH then Eb => (q c4 mp e4 stacc g4 p) 9. PB-DnH then Eb => (q c4 mp e4 stacc g4 p fermata) 10. PB-DnH then Gs + sustain => (q c4 mp e4 stacc g4 p fermata+trem) (q c4 mp e4 stacc g4 p fermata+trem 3q c4 eb4 fs4) 1. Modulation wheel up then C => () 2. PB-UpF then E => (q) 3. Enter c4 => (q c4) 4. PB-UpH then E => (q c4 mp) 5. Enter e4 => (q c4 mp e4) 6. PB-DnH then C => (q c4 mp e4 stacc) 7. Enter g4 => (q c4 mp e4 stacc g4) 8. PB-UpH then Eb => (q c4 mp e4 stacc g4 p) 9. PB-DnH then Eb => (q c4 mp e4 stacc g4 p fermata) 10. PB-DnH then Gs + sustain => (q c4 mp e4 stacc g4 p fermata+trem) 11. PB-UpF Cs/E (chord) => (q c4 mp e4 stacc g4 p fermata+trem 3q) 12. Enter c4 then eb4 then fs4 => (q c4 mp e4 stacc g4 p fermata+trem 3q c4 eb4 fs4) Best wishes,
Janusz
-
opmo got a reaction from torstenanders in Opusmodus and Emacs-Slime Setup
Build-in Slime in Opusmodus coming soon.
Here is the 'Emacs-Slime Setup.lisp' extension file:
;;;--------------------------------------------------------- ;;; SLIME in Opusmodus ;;;--------------------------------------------------------- #! ;;; HOWTO If you're accustomed to Emacs and Common Lisp, you may prefer SLIME, the Superior Lisp Interaction Mode for Emacs, to editing lisp in regular Opusmodus windows and its listener. There are a number of places to get Emacs for MacOS. One that works well is: https://emacsforosx.com SLIME ships with Opusmodus, in the "/Applications/Opusmodus.app/Contents/Resources/third-party/slime" directory. There are two parts to Slime: 1. Swank, the server, a Common Lisp system, which runs inside of the Opusmodus App. 2. Slime, the client, which is an Emacs lisp package. To start the Swank server when Opusmodus starts, comment out the (start-swank) form at the end of this file, and restart Opusmodus (or execute (start-swank) in the Listener to do it now, but not next time Opusmodus starts). To load Slime into your Emacs, define the following in your ~/.emacs startup file: (load "/Applications/Opusmodus.app/Contents/Resources/third-party/slime/emacs-opusmodus.el") (load-opusmodus-slime) If you want to use the Mac Command key for Emacs meta, instead of the default of the Mac Option key, and make C-o in dired open the file at point, in the Mac application that is assigned for editing that type of file, also add, after that: (opusmodus-options) Then, restart Emacs, and do 'm-x slime-connect'. For Host, use the default of localhost. For Port, use 4005, or the port you specified in the (start-swank) call. 4005 will likely be the default. With (ignore-errors (slime-connect "localhost" 4005)) in your ~/.emacs startup file, the slime will start automatically at Emacs start. A "*slime-repl ccl*" buffer should appear. You can get to that buffer at any time with 'c-c s r' in Emacs. It is a read-eval-print loop, executing inside the Opusmodus App. Use it just as you do the Opusmodus Listener. There are some Opusmodus commands that may be executed from Emacs. They are all on the "om-selector", accessible via "C-c o". That will bring up a query for a single character ("Select [?alqsv]"). You may type one of: ?: Show this help buffer. a: Audition and Notation (snippet). l: Audition and Notation last score. q: Quit selector. s: Stop audition. v: Voices Audition and Notation (snippet). The "snippet" is the lisp form before the insertion point, as in Opusmodus. The commands (other than ? and q) behave as the like-named commands in the Opusmodus Tools/Snippet menu, except they open a new (reusable) notation window, instead of a new notation panel. When connected to Slime, errors in the Opusmodus Listener will bring up a backtrace dialog in the connected Emacs, NOT the CCL debugger in the Listener. Be careful to use the "Return to toplevel" restart from there, not one of the ones that kills the thread, or you'll break your Opusmodus, and will have to restart it. !# ;;; End of HOWTO ;; To start the Swank server when Opusmodus starts, you need to ;; uncomment the (start-swank) expression below: It can take a first ;; arg to change the port from the default of 4005, and a second arg ;; to change the directory from which to load Swank from the default ;; of inside the application bundle (you should only do this if you ;; need to run a different version of Swank, to be compatible with a ;; different version of Slime in your Emacs). (in-package :om) ; (start-swank) Janusz
-
opmo reacted to JulioHerrlein in Why I Use Opusmodus
Dear Janusz and Stephane,
I'm very happy you like it !
Opusmodus is a game changer. I love it !
Thank you, guys ! You are doing something amazing !!
All the best !
Julio
-
opmo reacted to lviklund in Why I Use Opusmodus
Thank you, Julio.
That was fun and entertaining!
I completely agree with that.
Stay safe
Lasse
-
opmo got a reaction from JulioHerrlein in Why I Use Opusmodus
I love the humor and your love of music in this video statement, poem, manifest and a journey.
Best wishes,
Janusz
-
opmo reacted to Avner Dorman in Negative Harmony Function
Hi Julio,
The so called "negative harmony" is the same as "inversion and symmetrical axes" in set theory (which is the same as saying Neo-Riemannian theory - all transformations are In operations).
An inversion of a pitch class is given by subtracting the pc from index of the inversion operation, n.
In(pc1, pc2,pc3) = (n-pc1, n-pc2, n-pc3)
If you want to think of it as an inversion around an axis, the axis would be n/2 (or 12-n/2 on the other side of the clock-face).
So the function could be written like this:
(defun axis-inversion (axis pitches) (integer-to-pitch (loop for i in pitches collect (- (* 2 axis) (pitch-to-integer i))))) And if you want to use Eb-E as the axis it would be 3.5 (e is pc3 and eb is pc4)
(axis-inversion 3.5 '(c4 e4 g4)) ;;; results in (g4 eb4 c4)
This doesn't account for octaves etc. - for that you'll need to use midi. Now the axis is given in midi number - so 63.5 would be Eb4:
(defun midi-inversion (axis pitches) (midi-to-pitch (loop for i in pitches collect (- (* 2 axis) (pitch-to-midi i))))) (midi-inversion 63.5 '(c4 e4 g4)) ;;; you get (g4 eb4 c4) (midi-inversion 60 '(c4 e4 g4)) ;;; you get (g4 eb4 c4) (midi-inversion 53.5 '(c4 e4 g4)) ;;; you get (b2 g2 e2)
If I missed any cases I am happy to check them out 🙂
All the best,
Avner
p.s. -
(midi-inversion 63.5 '(a4 g4 fs4 a4 d5 a4 fs5 d5 a5 fs5 e5 d5)) ;;; results in (bb3 c4 cs4 bb3 f3 bb3 cs3 f3 bb2 cs3 eb3 f3) ;;; as you expected (I think? I only checked the first few notes :-)
-
opmo reacted to JulioHerrlein in Why I Use Opusmodus
WHY I USE OPUSMODUS SOFTWARE IN MY MUSICAL COMPOSITION PROCESS
In this video I will describe some of the techniques I used in my compositional process and why I decided to use OPUSMODUS Software for compose music ! Also my experience with Pure Data and Nodal Software before moving to Opusmodus.
-
opmo reacted to Stephane Boussuge in Session 6 - 20.06.20 - From Nothing (Part 2)
Hi folks,
here's the file from the last session.
Happy study !
Stéphane
FromNothingSuite-20-06-2020.opmo
-
opmo got a reaction from hujairi in Micropolyphony (coming soon)
MICROPOLYPHONY is a polyphonic musical texture developed by György Ligeti which consists of many lines of dense canons moving at different tempos or rhythms, thus resulting in tone clusters vertically. According to David Cope, "micropolyphony resembles cluster chords, but differs in its use of moving rather than static lines"; it is "a simultaneity of different lines, rhythms, and timbres".
Example with two choirs:
-
opmo got a reaction from Stoney in Error using ps to play chord sequence
list is missing:
(ps 'gm :treble (list chords-1) :time-signature '(4 4) :tempo 120)
-
opmo reacted to o_e in Session 3 - 30.05.20 - Sound-sets
Thanks again for your patience and help! I made a small piece, which is the result from the zoom session 3:
best& stay healthy
ole
-
opmo reacted to Stephane Boussuge in Session 4 - 06.06.20 - Bassclarinet
Hi,
here's the files from the last session.
Cheers
Stéphane
BclElectrot.opmo Zoom-0606-Midi-to-logic.opmo
-
opmo reacted to Stephane Boussuge in Session 3 - 30.05.20 - Sound-sets
Here's the file from today.
Happy Opusmodusing !!
Stéphane
Zoom300520-Soundsets1.opmo
-
opmo reacted to Nikos in Session 3 - 30.05.20 - Sound-sets
Thanks Stéphane for the livestream, great teaching as usual!
-
opmo reacted to AM in alternative binary-layer function
here is a sketch for an alternative "binary-(or element-)layer-FUNCTION
(defun element-layer (lists &key (rnd nil)) (let ((lists (if (null rnd) lists (rnd-order lists :list t)))) (car (last (loop for x in (rest lists) with list = (car lists) collect (setf list (loop for i in list with cnt = 0 when (equal i 0) collect (nth cnt x) and do (incf cnt) else collect i))))))) (element-layer (list '(1 0 0 1 1 0 0 1 0 0 0 0) '(0 2 3 0 4 5 0 6 0 7 8 0) '(11 12 13 14 15 16 17)) :rnd nil) => (1 11 2 1 1 3 12 1 4 5 13 6) ;;; hierarchic: every 0's will be replaced by the values from the next/sub-list...
-
opmo got a reaction from EAIP in UNFOLD strategie example
This short example demonstrates how powerful and flexible the UNFOLD function is, especially when working with short patterns.
The entire process is very compact and requires only a few lines of code.
Source:
(progn (setf mat1 '((h. eb4 pp q g3 -e q gs4 mf -s a5 p tie) (e. a5 -e q bb4 mf -s q cs5 p -s q. e5 mf -e.) (q cs5 p h. d5 mf -q c5 pp tie) (h c5 pp h. gs3 -e a4 p<) (h. fs5 mp q bb3 c5 p e4 mf tie) (h e4 -e q cs4 mp h d5 p e f4)) mat2 '((q d4 pp s eb4 < leg g4 < leg bb4 < leg a4 q. cs5 mf -e 3q gs5 > leg fs5 > leg c5 > b4 > leg f4 leg e4) (t d4 < leg eb4 < leg g4 < leg bb4 q. a4 marc t fs4 mf leg gs4 leg e. c5 e b4 t f5 leg e5 leg d5 leg eb5 3q bb5 > a4 > bb5 > e a4 pp stacc -e)) p01 (unfold 'eg '(t7 dyn) mat1) p02 (unfold 'eg '(t7 v? dyn ob) mat1) p03 (unfold 'eg '(v? ra dyn) mat1) p04 (unfold 'eg '(t-12 t-5 dyn v? raf hn) p03) p05 (unfold 'eg '(t-12 t-5 ld ra dyn bn) p02) p11 (assemble-seq (unfold 'eg '(t7 dyn) mat1) (unfold 'eg '(t7 dyn) mat2)) p12 (assemble-seq (unfold 'eg '(t-12 v? dyn ob) mat1) (unfold 'eg '(t-12 v? dyn ob) mat2)) p13 (assemble-seq (unfold 'eg '(v? raf dyn) mat1) (unfold 'eg '(v? dyn) mat2)) p14 (unfold 'eg '(t-12 t-5 dyn v? raf dyn hn) p13) p15 (unfold 'eg '(t-12 t-5 ld ra dyn bn) p12)) (ps 'gm :w5 (list (assemble-seq p01 p11) (assemble-seq p02 p12) (assemble-seq p03 p13) (assemble-seq p04 p14) (assemble-seq p05 p15))))
Output:
Best, JP
-
opmo got a reaction from EAIP in Staccato playback
This was the original values but it was changed after some comments/discussion on our Forum.
I agree, I will set the stacc back to 50% of the original value.
With marc I will see what I can do.
-
opmo got a reaction from EAIP in Simple question concerning gm-sounds
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.
-
opmo got a reaction from loopyc in Micropolyphony (coming soon)
MICROPOLYPHONY is a polyphonic musical texture developed by György Ligeti which consists of many lines of dense canons moving at different tempos or rhythms, thus resulting in tone clusters vertically. According to David Cope, "micropolyphony resembles cluster chords, but differs in its use of moving rather than static lines"; it is "a simultaneity of different lines, rhythms, and timbres".
Example with two choirs:
-
opmo got a reaction from EAIP in Micropolyphony (coming soon)
MICROPOLYPHONY is a polyphonic musical texture developed by György Ligeti which consists of many lines of dense canons moving at different tempos or rhythms, thus resulting in tone clusters vertically. According to David Cope, "micropolyphony resembles cluster chords, but differs in its use of moving rather than static lines"; it is "a simultaneity of different lines, rhythms, and timbres".
Example with two choirs:
-
opmo got a reaction from Stoney in What determines the pitch used for auditioning pitchless snippets?
The natural sign is a bug, which I just fixed - condition was missing if length alone.
-
opmo reacted to DanielJean in V2 on High Sierra (OSX 10.13)
Success ! No error message any more , could install Quick Start Workspace, Looks like deleting the trash helped. Thanks a lot !
-
opmo got a reaction from Stephane Boussuge in [SOLVED] Midi In Collect (now Opusmodus have MIDI input)
Ver 2. will be able to import musicXML files and convert to omn.
-
opmo got a reaction from etu in Opusmodus 2.0.25787
2.0.25787
– New functions:
MICROPOLYPHONY MICRO-QUANTIZE MAKE-BINARY COLLATZ-SEQUENCE ULAM-SPIRAL-ARRAY ZIGZAG-ARRAY
– Key shortcut changes:
Utilities Search: control-option-F
Navigator Search: control-shift-F
At the moment we have two versions of Opusmodus, one for macOS 10.15 (Catalina) and one for macOS 10.9 - 10.14 due to Apple Xcode bug.
Therefore use the Forums Download link, which you find in the Forums menu.
In the HowTo Score section you will find a few new examples to play with:
HowTo Score/Polyphony/Micropolyphony 1.opmo
HowTo Score/Polyphony/Micropolyphony 2.opmo
HowTo Score/Rhythm/Rhythm.opmo