-
Posts
2,894 -
Joined
-
Last visited
Content Type
Forums
Events
Store
Video Gallery
Posts posted by opmo
-
-
(tonality-map '(dorian :closest down :root g4 :map octave) (pitch-transpose -7 mat3)) => (s c4 mf d4 e4 f4 g4 a4 bb4 c5)
-
Your function needs to be rewriten.
Here you get the result:
(tonality-map '(dorian :root c4 :map octave :seed 45) mat3)
-
Any function which is using seed needs to include the seed in your function.
-
(find-closest i expscalemidi :seed (seed))
-
The 'Loopback' software will allow you audio routing:
Rogue Amoeba | Loopback: Cable-Free Audio Routing
ROGUEAMOEBA.COM
Get all the power of a high-end studio mixing board, right inside your Mac!This is my setup:
-
You can save the score to midi file and import the midi file to your DAW:
The other way is to send the midi file directly in the other app:
To open the file in Finale:(midi-to-editor :file "file-name" :application "Finale")
-
The demo time and the start time can't be change.
-
-
I am not sure, it is a long time ago I was using/supporting this version - I am guessing Catalina.
-
3.0.29099
– New functions:
- RND-MELODIZE
- RND-CHORD-PITCH-ORDER (utilities)
– Improvements and Changes:
- SCALE-NUMBERS (keyword :sum)
– Documents:
- Documents edit.
-
Done in OM 3.0.29099
-
Done:
(scale-numbers .3 '(3 4 2 3 4 2 1)) => (0.90000004 1.2 0.6 0.90000004 1.2 0.6 0.3) (scale-numbers 25 '(1 2 3 4 5) :sum t) => (1.6666666 3.3333333 5.0 6.6666665 8.333333)
-
I would suggest to upgrade your OM to version 3.0.
Version 1.3 is quite old. The current version is 3.0.
I would only suggest to delete or compress and then delete the Opusmodus folder in your User home directory and start from there.
-
Yes, this could be done. I will have a look.
-
The function scale-to-sum is part of OM 3.0.29095
- Stephane Boussuge and AM
- 2
-
We could make a new function scale-to-sum
(scale-to-sum 25 '(1 2 3 4 5) :round t) => (2 3 5 7 8)
Will be part of the next update.
-
(setf lst '(1 2 3 4 5)) (setf list-sum (sum lst)) (setf scale (/ 25 list-sum)) (scale-numbers scale lst)
I will add a round (keyword) into the function.
(scale-numbers scale lst :round t) => (2 3 5 7 8)
-
Do you mean: get-count
-
Thank you Stephane, always pleasure to listen to your work.
The new tone-lakes function is very inspiring indeed.
-
I will ask James if he can help.
-
Thanks to composer Jesper Elén's excellent contributions, Opusmodus is now incorporating a suite of functions focused on the compositional techniques developed by Per Nørgård.
New functions:
INFINIT-SERIES (extended)
TONE-LAKES
LAKE-START-POSITION
LAKE-EVERYOTHER
GEN-LAKE-SIZE
CHECK-TONE-LAKES-SYMMETRY
Happy coding,Janusz- jvariego and Stephane Boussuge
- 1
- 1
-
Revised rnd-rest in version 3.0.29080
The function RND-REST convert a subset of the length notes in the list to length rests, such that the sum of all length rests (including any existing ones) becomes equal to the given percentage of the sum (span) of the absolute values of all lengths in the list.
(setf lengths (gen-repeat 8 1/16)) => (1/16 1/16 1/16 1/16 1/16 1/16 1/16 1/16) (rnd-rest 0.3 lengths) => (1/16 1/16 1/16 1/16 1/16 -1/16 1/16 -1/16) (rnd-rest 0.5 lengths) => (1/16 1/16 -1/16 1/16 -1/16 -1/16 1/16 -1/16)
(rnd-rest '(0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9) (gen-repeat 9 (list lengths)) :seed 76)
(setf percent (vector-round 0.2 0.8 (gen-sine 16 1 0.8))) => (0.5 0.61480505 0.71213204 0.77716387 0.8 0.77716387 0.71213204 0.614805 0.5 0.38519496 0.28786793 0.2228361 0.2 0.22283617 0.28786805 0.38519496) (setf seq '((1/10 1/10 1/10 1/10 1/10) (1/6 1/6 1/6) (1/16 1/16 1/16 1/16 1/16 1/16 1/16 1/16) (1/16 1/16 1/16 1/16) (1/20 1/20 1/20 1/20 1/20) (1/6 1/6 1/6) (1/10 1/10 1/10 1/10 1/10) (1/10 1/10 1/10 1/10 1/10) (1/6 1/6 1/6) (1/6 1/6 1/6) (1/10 1/10 1/10 1/10 1/10) (1/16 1/16 1/16 1/16) (1/16 1/16 1/16 1/16) (1/6 1/6 1/6) (1/6 1/6 1/6) (1/10 1/10 1/10 1/10 1/10) (1/10 1/10 1/10 1/10 1/10))) (rnd-rest percent seq :omn t :seed 32) => ((5h - = = -) (3h - =) (s - - - = - = -) (-s - = -) (-5q - - - =) (-3h = -) (-5h = - - =) (-5h = = - -) (3h - =) (-3h = =) (-5h = = = =) (s = = =) (s = = =) (3h = =) (3h = =) (5h = = = -) (5h = = - -))
(setf omn1 '((q c5gs4f4 e f5c5gs4 e gs5f5c5 s c6gs5f5) (e c6eb5 c5eb4 e eb4c4 eb5c5) (q b4g4d4 e g4d4b3 s d4b3g3 b3g3d3 q g3d3b2)))
(rnd-rest 0.5 omn1 :seed 11)
(setf omn2 '((e cs4 mf cs4 cs4 d4) (s d4 mf cs4 ds4 d4 d4 e4 d4 d4) (e f4 mf ds4 d4 fs4) (e ds4 mf d4 fs4 ds4) (e d4 mf s g4 e ds4 s d4 e g4) (s ds4 mf d4 g4 ds4 d4 g4 ds4 d4) (e g4 mf s ds4 d4 e g4 s ds4 d4) (q g4 mf ds4)))
(rnd-rest '(0.0 0.2 0.3 0.4 0.5 0.7 0.9 1.0) omn2 :seed 34)
Happy coding.- AM and Stephane Boussuge
- 1
- 1
-
New function rnd-rest in version 3.0.29077
(setf lengths (gen-repeat 8 1/16)) => (1/16 1/16 1/16 1/16 1/16 1/16 1/16 1/16) (rnd-rest 2 lengths) => (1/16 1/16 1/16 -1/16 1/16 -1/16 1/16 1/16) (rnd-rest 5 lengths) => (-1/16 -1/16 1/16 -1/16 -1/16 -1/16 1/16 1/16) (rnd-rest '(2 3 1 2 1 3 2 1) '((1/10 1/10 1/10 1/10 1/10) (1/6 1/6 1/6) (1/16 1/16 1/16 1/16 1/16 1/16 1/16 1/16) (1/16 1/16 1/16 1/16) (1/20 1/20 1/20 1/20 1/20) (1/6 1/6 1/6) (1/10 1/10 1/10 1/10 1/10) (1/10 1/10 1/10 1/10 1/10) (1/6 1/6 1/6) (1/6 1/6 1/6) (1/10 1/10 1/10 1/10 1/10) (1/16 1/16 1/16 1/16) (1/16 1/16 1/16 1/16) (1/6 1/6 1/6) (1/6 1/6 1/6) (1/10 1/10 1/10 1/10 1/10) (1/10 1/10 1/10 1/10 1/10)) :omn t) => ((-5h - = = =) (-3h - -) (s - = = = = = =) (-s = - =) (5q - = = =) (-3h - -) (-5h = = = -) (5h - = = =) (-3h = -) (-3h - -) (5h - = = =) (s - = -) (s = - =) (-3h - -) (-3h = -) (-5h = = = =) (5h - = - =)) (setf omn '((q c5gs4f4 e f5c5gs4 e gs5f5c5 s c6gs5f5) (e c6eb5 c5eb4 e eb4c4 eb5c5) (q b4g4d4 e g4d4b3 s d4b3g3 b3g3d3 q g3d3b2))) (rnd-rest 2 omn :seed 11) => ((-q -e gs5f5c5 mf s c6gs5f5) (-e - eb4c4 mf eb5c5) (q b4g4d4 mf e g4d4b3 s d4b3g3 - -q))
- AM and Stephane Boussuge
- 1
- 1
-
Just update your OM, as you can see Stephane and I can see the document.
combinations of sublists
in Function Examples
Posted