Jump to content

opmo

Administrators
  • Posts

    2,891
  • Joined

  • Last visited

Everything posted by opmo

  1. EXPAND-CHORD solution: (melodize (expand-chord '(c4 major))) => (c4 d4 e4 f4 g4 a4 b4) (melodize (expand-chord '(d4 phrygian-greek))) => (d4 e4 f4 g4 a4 b4 c5) I will change the name of the function to EXPAND-TONALITY and will add few more options :-) Example: (expand-tonality '(c4 major)) => (c4 d4 e4 f4 g4 a4 b4) (expand-tonality '(d4 phrygian-greek) :type :integer) => (2 4 5 7 9 11 12) (expand-tonality '((c4 major) (d4 phrygian-greek)) :type :interval) => ((2 2 1 2 2 2) (-9 2 1 2 2 2 1)) (expand-tonality '(c4 phrygian-greek :add '(1 3) :variant '? :seed 67)) => (as4 ds4 cs4 b4 a4 d4 g4 c4)
  2. This is useful for developers only. Some of the functions working with atom.
  3. Perfect, this is a library file. Now I will try your score and see why the oboe etc... is not displaying in notation score. I found an error in your layout. The alto flute layout is no closed (parenthesis missing).
  4. 1.1.17992 fixed the bug found in the HARMONIC-PROGRESSION. Pluse: (harmonic-progression '(0 3 5 4) '((c4 major) (c3 lydian))) => ((c4e4g4 f4a4c5 a4c5e5 g4b4d5) (c3e3g3 fs3a3c4 a3c4e4 g3b3d4)) (harmonic-progression '((0 3 5 4) (4 5 3 4)) '((c4 major) (c3 lydian))) => ((c4e4g4 f4a4c5 a4c5e5 g4b4d5) (g3b3d4 a3c4e4 fs3a3c4 g3b3d4)) (harmonic-progression '((1 3 4 2)) '((cb3 messiaen-mode6 :rotate 1) (b3 messiaen-mode6 :rotate 4) (bb3 messiaen-mode4))) => ((eb3f3a3 f3a3b3 g3bb3cs4 e3g3bb3) (g4bb4cs5 bb4cs5e5 b4eb5f5 a4b4eb5) (b3eb4f4 eb4f4a4 e4fs4bb4 c4e4fs4)) (setf partials (partial-row (library 'tbn-cs3-frames 'partials nil :random 4))) (harmonic-progression '(1 4 5 1 3 4 2 4 3) partials :size '((3 4) (3 5)) :root '(-6 -2 3 -3 2 0 3 -2)) => ((b3gs4g5 f5cs6e6gs6 e6g6b6 d4b4bb5cs6 e5eb6fs6 g5eb6fs6bb6 c5bb5fs6 f5cs6e6gs6 gs4g5bb5) (b3gs4e5 fs5d6a6cs7bb4 cs6a6e7 d4b4g5eb6bb6 e5c6gs6 gs5e6b6eb7c5 c5b5g6 fs5d6a6cs7bb4 gs4e5c6) (b3bb4g5 f5c6fs6cs7 e6a6cs7 d4cs5bb5eb6 fs5eb6gs6 g5d6gs6eb7 c5bb5f6 f5c6fs6cs7 bb4g5c6) (b3d5f5 gs5b5g6cs7bb4 d6g6f7 d4f5gs5cs6b6 bb5cs6fs6 bb5cs6a6eb7c5 bb4cs6e6 gs5b5g6cs7bb4 d5f5bb5)) (harmonic-progression '(1 4 5 1 3 4 2 4 3) partials :size '((3 4) (3 5)) :root '((-6 -2 3) (-3 2 0) (3 -2)) :relative '(c2 c3 c4 c5 c6)) => ((b1g3gs4 e2cs3gs4f6 b1g3e6 gs1bb4b5g6 d1c5b5 cs1bb5fs6a6 cs1eb6a6 e6f6gs6cs7 e6g6f7) (d3g3b4 bb2cs3d5f5fs6 cs3bb4fs5 bb2g4d5eb5b6 e2gs4c5 eb2e4gs4b4c7 fs2cs4f4 f2cs4d4bb4fs7 fs2bb3d5) (g1gs2e4 cs1c3fs4f6 cs4a4e6 e4b4d5eb6 g4e5a6 f5c6fs6cs7 f5bb5c6 c5cs6f6fs7 e5g6a6) (f2d3b5 g2gs3bb4b5cs6 f2g4d6 d2f4gs5bb5b5 d2fs5a5 e2fs5c6cs6eb6 e5cs6g6 cs5bb5b5g6gs6 b5d6g6))
  5. To remove a file completely from the workspace you need to remove the file from the navigator and close the file - if opened- in a composer/assistant panel.
  6. looks like a bug. The result should be '(-e), even with expression like that :-) This is working: (make-omn :pitch '(bb4) :length '(-e) :span :pitch)
  7. Solution: (harmonic-progression '(0 3 0 4) (expand-chord '(cs4 major))) If we would deal with scales names only then this will be not necessary. I found the bug and will make new update soon.
  8. New: rnd-walk n &key backward forward step start seed [Function] Arguments and Values: n an integer. Amount of intervals to generate. backward a floating-point. The default is 0.5. Maximum 1.0. forward a floating-point. The default is 0.5. Maximum 1.0. step an integer (an interval). The default is 1. start an integer or pitch symbol. seed an integer or NIL. The default is NIL. Description: This function returns a series of intervals of given step and probability values (backward and forward). The backward and forward are floating-points in range between 0.1 and 1.0 With default values: -1 with probability backward 1 with probability forward 0 with probability 1 - (forward + backward) - same as being stationary. (rnd-walk 16) => (1 1 -1 1 -1 1 1 1 1 -1 1 1 1 -1 1) (rnd-walk 16 :start 0) => (0 1 0 1 2 1 0 -1 0 1 0 -1 -2 -3 -2 -1) (rnd-walk 16 :start 'c4) => (c4 cs4 c4 b3 c4 b3 c4 b3 c4 cs4 c4 cs4 c4 cs4 c4 b3) Examples: Get 16 pitches with :start 'c4 based on a given :seed value and with default step 1: (rnd-walk 16 :start 'c4 :seed 76) => (c4 b3 c4 b3 bb3 b3 c4 b3 bb3 a3 gs3 a3 gs3 g3 fs3 f3) In this example the step values are 1 and 2 (randomly selected): (rnd-walk 16 :step '(1 2) :seed 234) => (-1 -2 -1 -2 1 2 -2 2 -1 1 -1 2 2 -2 -2) (rnd-walk 16 :step '(1 2) :start 'c4 :seed 234) => (c4 b3 a3 gs3 fs3 g3 a3 g3 a3 gs3 a3 gs3 bb3 c4 bb3 gs3) In the next two examples the probability to move forward is bigger then going backward. (rnd-walk 16 :step '(1 2) :backward 0.3 :forward 0.9 :start 'c4 :seed 234) => (c4 b3 cs4 d4 e4 f4 g4 f4 g4 fs4 g4 fs4 gs4 bb4 gs4 fs4) (rnd-walk 16 :step '(1 13) :backward 0.3 :forward 0.7 :start 'c4 :seed 234) => (c4 b3 c5 cs5 d6 eb6 e7 eb6 e7 eb7 e7 eb7 d6 cs5 d6 eb7) ---------------------------------------------------------------------------------------- Bug fix in EXPAND-CHORD-NAME ---------------------------------------------------------------------------------------- All Contributes to Opusmodus are acknowledged now in the "About Opusmodus" window.
  9. I will see what I can do, I think we can add this to the system.
  10. You could write: ((e d4 f> > > >) (e d4 > > > > pp -)) or ((e d4 f> > > mp) (e d4 mp> > > > pp -)) or ((e d4 f> > > >) (e d4 mp > > > pp -)) or ((e d4 f> > > mp) (e d4 > > > > pp -)) The hairpin with velocity needs to end on a velocity symbol and not on other hairpins.
  11. The 'Last Score' (Tools menu) will play or display the last compiled score. For MIDI player the command is ⌃⌥⌘P and for the notation ⌃⌥⌘N That simple :-) To display notation and player in the same time: (display-midi 'your-score) (display-musicxml 'your-score)
  12. Looks like you have some problems with lengths. I would need to see the score in order to help. You can send it to me by email if you wish.
  13. You can download from the Forum directly -> "Current Version"
  14. This functionality will be part of the future upgrade version 2.0
  15. Out Now: harmonic-progression degree scale &key (size 3) (step 2) root row variant relative (chord t) (flatten t) seed rnd-sample-seq n sequence &key section seed and documentation fixes.
  16. Next release with HARMONIC-PROGRESSION planed for Monday, January 25th.
  17. HARMONIC-PROGRESSION coming soon: harmonic-progression degree scale &key (size 3) (step 2) relative root row variant (chord t) (flatten t) seed (harmonic-progression '(2 3 4) '(c major)) => (e4g4b4 f4a4c5 g4b4d5) (harmonic-progression '(3 4 0) '(c major)) => (f4a4c5 g4b4d5 c4e4g4) (harmonic-progression '(0 1 2 3 4 5 6 7) '(c major)) => (c4e4g4 d4f4a4 e4g4b4 f4a4c5 g4b4d5 a4c5e5 b4d5f5 c5e5g5) (harmonic-progression '(2 6 5 4) '(a minor)) => (c5e5g5 g5b5d6 f5a5c6 e5g5b5) (setf scale '(c4 d4 e4 f4 g4 a4)) (harmonic-progression '(0 1 2 3 4 5 6 7) scale) => (c4e4g4 d4f4a4 e4g4c5 f4a4d5 g4c5e5 a4d5f5 c5e5g5 d5f5a5) (harmonic-progression '(0 1 2 3 4 5 6 7) scale :step '(2 (2 1) 2)) => (c4e4g4 d4f4g4 e4g4c5 f4a4d5 g4c5d5 a4d5f5 c5e5g5 d5f5g5) (harmonic-progression '(0 3 4 0 -2 -3 -1 0 -2) scale) => (c4e4g4 f4a4d5 g4c5e5 c4e4g4 g3c4e4 f3a3d4 a3d4f4 c4e4g4 g3c4e4) (harmonic-progression '(0 3 4 0 -2 -3 -1 0 -2) scale :size '(3 3 4 5 4 4 3 3 3)) => (c4e4g4 f4a4d5 g4c5e5g5 c4e4g4c5e5 g3c4e4g4 f3a3d4f4 a3d4f4 c4e4g4 g3c4e4) (harmonic-progression '(0 3 4 0 -2 -3 -1 0 -2) scale :step '(2 2 1 2 (1 2) 2 2 2 1)) => (c4e4g4 f4a4d5 g4a4c5 c4e4g4 g3a3d4 f3a3d4 a3d4f4 c4e4g4 g3a3c4) (harmonic-progression '(0 3 4 0 -2 -3 -1 0 -2) scale :root '(-6 -2 3 -3 2 -1 0)) => (fs3bb3cs4 eb4g4c5 bb4eb5g5 a3cs4e4 a3d4fs4 e3gs3cs4 a3d4f4 fs3bb3cs4 f3bb3d4) (harmonic-progression '(0 3 4 0 -2 -3 -1 0 -2) scale :size '(3 3 4 5 4 4 3 3 3) :step '(2 2 1 2 (2 1) 2 2 2 (2 1)) :root '(c4 g4 a4 bb4 c5 ds5 e4 e5 bb4)) => (c4e4g4 c5e5a5 e5fs5a5b5 bb4d5f5bb5d6 g4c5d5f5 gs4c5f5gs5 cs4fs4a4 e5gs5b5 f4bb4c5) (harmonic-progression '(0 3 4 0 -2 -3 -1 0 -2) scale :size '(3 3 4 5 4 4 3 3 3) :step '(2 2 1 2 (2 1) 2 2 2 (2 1)) :root '(c4 g4 a4 bb4 c5 ds5 e4 e5 bb4) :row t) => (c4e4g4 c5e5a5 e5fs5a5b5 bb4d5f5 g4c5d5f5 gs4c5f5 cs4fs4a4 e5gs5b5 f4bb4c5) (setf row '(gs4 ds4 g4 e4 as4 fs4 d4 f4 cs4 c4 a4 b4)) (harmonic-progression '(0 3 4 0 -2 -3 -1 0 -2) row) => (gs4g4bb4 e4fs4f4 bb4d4cs4 gs4g4bb4 a3gs4g4 c3b3eb4 b3eb4e4 gs4g4bb4 a3gs4g4) (harmonic-progression '(0 3 4 0 -2 -3 -1 0 -2) row :size '(3 4) :root '(-6 -2 3 -3 2 0 3 -2)) => (fs3f3gs3 fs3gs3g3d3 f4a3gs3 a3gs3b3eb3 eb3d4cs4 e2eb3g3gs3 fs3bb3b3 bb3a3c4e3 g2fs3f3) (setf p45 (partial-row (library 'tbn-cs3-frames 'partials 'p45))) (harmonic-progression '(1 4 5 1 3 4 2 4 3) p45 :size '(3 4) :root '(-6 -2 3 -3 2 0 3 -2)) => (c4a4b5 b5f6c7fs7 gs6d7g7 eb4c5d6gs6 f5g6cs7 cs6g6d7gs7 cs5e6bb6 b5f6c7fs7 a4b5f6) (harmonic-progression '(1 4 5 1 3 4 2 4 3) p45 :size '(3 4) :root '(-6 -2 3 -3 2 0 3 -2) :chord nil :flatten nil :variant '? :seed 8634) => ((c4 a4 b5) (b5 f5 bb4 e4) (gs6 d7 g7) (eb4 fs3 e2 bb1) (cs7 g7 f6) (cs6 g5 c5 fs4) (cs5 bb3 e3) (fs7 c7 f6 b5) (a4 g3 cs3))
  18. Yes, you need to extend the bar count to 24 x 4/4. (setf partial1 (library 'tbn-cs3-frames 'partials 'p0)) (setf partial2 (library 'tbn-cs3-frames 'partials 'p1)) (setf partial3 (library 'tbn-cs3-frames 'partials 'p2)) (setf partial4 (library 'tbn-cs3-frames 'partials 'p3)) (setf partial5 (library 'tbn-cs3-frames 'partials 'p4)) (setf partial6 (library 'tbn-cs3-frames 'partials 'p5)) (setf row1 (partial-row partial1)) (setf row2 (partial-row partial2)) (setf row3 (partial-row partial3)) (setf row4 (partial-row partial4)) (setf row5 (partial-row partial5)) (setf row6 (partial-row partial6)) (setf rhy1 (gen-tuplet 1 2 'd '? (gen-repeat 48 '(q)) (rnd-sample (* 4 24) '(5 4 3)))) (setf rhy2 (gen-tuplet 1 2 'd '? (gen-repeat 48 '(q)) (rnd-sample (* 4 24) '(5 4 3)))) (setf rhy3 (gen-tuplet 1 2 'd '? (gen-repeat 48 '(q)) (rnd-sample (* 4 24) '(5 4 3)))) (setf rhy4 (gen-tuplet 1 2 'd '? (gen-repeat 48 '(q)) (rnd-sample (* 4 24) '(5 4)))) (setf rhy5 (gen-tuplet 1 4 'd '? (gen-repeat 24 '(h)) (rnd-sample (* 2 24) '(3 2)))) (setf rhy6 (gen-tuplet 1 4 'd '? (gen-repeat 24 '(h)) (rnd-sample (* 2 24) '(3 2)))) (setf vel (rnd-sample 96 '(pp p mp mf f))) (setf afl-omn (make-omn :length rhy1 :pitch row1 :velocity vel)) (setf cl-omn (make-omn :length rhy2 :pitch row2 :velocity vel)) (setf bcl-omn (make-omn :length rhy3 :pitch row3 :velocity vel)) (setf hn-omn (make-omn :length rhy4 :pitch row4 :velocity vel)) (setf vn-omn (make-omn :length rhy5 :pitch row5 :velocity vel)) (setf vc-omn (make-omn :length rhy6 :pitch row6 :velocity vel)) Each row is looped here. You could continue processing and develop the rows further before you merge them to omn of course.
  19. The original length span of each instrument will not change after the DO-TIMELINE process. If one of your instrument is 6 bar long (6 x 4/4) and the span of your section is bigger then the rest of the section will have no effect. Example: (setf inst '((q c4) (q c4) (q c4) (q c4) (q c4) (q c4) (q c4) (q c4))) (do-timeline '(inst (x - x - x - x - x x x x - x - x - x x x)) '(pitch-transpose -12 x)) inst => ((q c3) (q c4) (q c3) (q c4) (q c3) (q c4) (q c3) (q c4))
  20. The :resolution option sets the bar length (internally) for the process. The output is given in the original time signature. Each 'x represents one bar (original time signature) and if :resolution is used, each 'x is the length of the process of the given resolution value.
  21. No, there is no download version of the 30 Stages documents. You could save each of the files as a pdf file and then combine them into one document.
  22. The DO-TIMELINE will read, process and then set back the result to the variable names. The next DO-TIMELINE is using the return of the previous one and so on. If you make any change to any of the sections you will need to evaluate all of them again, starting with the evaluation of the origin variable set you are using in the DO-TIMELINE function. Example After any change (edit) the first thing you need to do is to evaluate the original variable set: (setf afl afl-omn cl cl-omn bcl bcl-omn hn hn-omn vn vn-omn vc vc-omn ) then each of the DO-TIMELINE: (do-timeline '( afl nil cl (x - x - x - x - x - x -) bcl (- x - x - x - x - x - x) hn t vn (- x - x - x - x - x - x) vc (x - x - x - x - x - x -) ) '(pitch-variant x :variant '?) :time '1/1) (do-timeline '( afl (x - x - x x - - x - x - x - x - x x - - x - x -) cl (- x - x x - x - - x - x - x - x x - x - - x - x) bcl (x x - x x - x - - x - x x x - x x - x - - x - x) hn (x - x x - x - x x - x - x - x x - x - x x - x -) vn (- x x - x - x - - x - x - x x - x - x - - x - x) vc (- x x - x - x - - x - x - x x - x - x - - x - x) ) '(pitch-figurate '(2 3) x) :time '1/2) (do-timeline '( afl (binary-invert (gen-binary-euclidean 1 48 30 48)) cl (binary-invert (gen-binary-euclidean 1 48 30 48)) bcl (binary-invert (gen-binary-euclidean 1 48 30 48)) hn (binary-invert (gen-binary-euclidean 1 48 30 48)) vn (binary-invert (gen-binary-euclidean 1 48 30 48)) vc (binary-invert (gen-binary-euclidean 1 48 30 48)) ) '(gen-pause x) :time (rnd-sample 12 '(1/4 1/2)) :loop t)
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy