
erka
Members-
Posts
65 -
Joined
-
Last visited
Contact Methods
- Website URL
Profile Information
-
Gender
Male
-
Location
Munich/Bavaria/Germany
-
Interests
DAWs, Plugins, Guitars. Programming. Improvising. Listening to all kinds of music
Recent Profile Visitors
2,618 profile views
-
erka reacted to a post in a topic: gen-brownian-motion inside lower and upper limit
-
I had another look at it. Yes , it is a trick . But not what born wanted: "brownian motion to be reflected within a lower and an upper (maybe even changing) limit" Vector-round and vector-to-envelope2 almost ignore :amp and :output of gen-brownian-motion. They just squeeze and move the result. I understand that born wanted that when a walk goes upward to a limit it returns at the limit but keeps the :amp and :output. So you have a :amp 4 and you reach 5.0 you don't move above 5.0 but return. vector-to-envelope2 doesn't do that. But squeezes the :amps after the walk. So I think there is a difference to a tendency mask . @born: Are the solutions offered good enough or not really addressing what you wanted.
-
AM reacted to a post in a topic: gen-brownian-motion inside lower and upper limit
-
Stephane Boussuge reacted to a post in a topic: gen-brownian-motion inside lower and upper limit
-
How would a tendency mask be different to this? (progn (setf bw (gen-brownian-motion 128 :seed 425)) (setf env1 '(-5.1 -2.3 1.5 -0.8 4.6 10.6)) (setf env2 '(1.0 1.2 -1.1 2.1 -0.3 -2.5)) (list-plot (vector-to-envelope2 env1 env2 bw)) )
-
Jorvd reacted to a comment on a video: Welcome to Opusmodus
-
AM reacted to a post in a topic: merge several rhythms into one
-
There is a merge-voices function. (setf r1 '(q e e 3q 3q 3q -e. s)) (setf r2 '(e e e. s -e e s -s s -s)) (setf r3 (merge-voices r1 r2)) => '(z^q c4 e e z^e e^e. s^e s 3q 3e^3q 3e^e 3q s - c4 c4) (omn :length r3) The output looks different from what you expect. The z^ is not really documented in the omn-language-description but has to do with the :duration in make-omn. You see it in the merge-voices doc. Merge-voices is for omn-lists. It will add a c4 as default if only length are in the list. With: (omn :length r3) you get this: (0 1/8 1/8 0 1/8 1/16 1/16 1/12 1/24 1/24 1/12 1/16 -1/16 1/16 1/16) What the 0 means I don't know.
-
erka reacted to a post in a topic: Etude pour Orchestre du 4.5.2023
-
erka reacted to a post in a topic: sysex to re-tune MTS synth for full microtonality
-
erka reacted to a post in a topic: Pluton for Orchestra
-
I can't find iterate in Opusmodus-V3. Where did the library go?
-
erka reacted to a video: Welcome to Opusmodus
-
Yes, very good. gave me a lot of ideas I will look into.
-
erka reacted to a post in a topic: loop in list
-
You find it under Mathematics. There are a lot of useful functions. For some reason they are listed under a-m-x, a-d-x, but in the document you see a*x.
-
Stephane Boussuge reacted to a post in a topic: all intervals in chord
-
Stephane Boussuge reacted to a post in a topic: all intervals in chord
-
Stephane Boussuge reacted to a post in a topic: all intervals in chord
-
And another way: (defun chordintervals (chord &key ( named nil)) (let* ((midimelo (pitch-to-midi (pitch-melodize chord))) (chordroot (first midimelo)) (numbers (x-b midimelo chordroot)) (names (cons 'base-note (rest (get-interval-name numbers))))) (if (equal named t) names numbers) )) (chordintervals '(c4d4e4g4c5)) =>(0 2 4 7 12) (chordintervals '(c4d4e4g4c5) :named t ) =>(base-note major-second major-third perfect-fifth perfect-octave) (chordintervals '(c4 d4 e4 g4 c5)) =>(0 2 4 7 12) (chordintervals '(c4 d4 e4 g4 c5) :named t) =>(base-note major-second major-third perfect-fifth perfect-octave) I hope I understood the original post correct.
-
Is that LISPier? Does the same as last post. (defun chordintervals (chord) (let* ((midimelo (pitch-to-midi (pitch-melodize chord))) (chordroot (first midimelo))) (x-b midimelo chordroot))) (chordintervals '(c4d4e4g4c5)) (chordintervals '(c4 d4 e4 g4 c5)) both return => (0 2 4 7 12)
-
Would this be okay, too? For getting the intervals of notes related to the first note. (defun chordintervals (chord) (x-b (pitch-to-midi (pitch-melodize chord)) (pitch-to-midi (first (pitch-melodize chord)))) ) melodize instead of pitch-melodize works too, but is not listed under functions.
-
(pitch-to-interval '(c4d4e4f6))
-
(scale-numbers 100 '(4 3 6 1 2 5))
-
This gives the same result: (gen-integer 100 900 100) but just for your collect function. Check the function description
-
NagyMusic reacted to a post in a topic: Count Items In Sublists
-
(get-count '((c4 d4 e4) (f4 g4) (a4) (b4 c5)) ) would be the same as the mapcar or mclength . With :length option of get-count you can specify if you only want to count notes or rests. In this case :length :note would give the same result. There are good examples in the docs of get-count. You used it in your pedal related post: (setf counts-notes (get-count (omn :pitch mat))). (get-count '((c4 d4 e4) (f4 g4) (a4) (b4 c5)) ) (mapcar 'length '((c4 d4 e4) (f4 g4) (a4) (b4 c5))). ;That is basic from a LISP-view without knowing opusmodus. (mclength '((c4 d4 e4) (f4 g4) (a4) (b4 c5))) all return => (3 2 1 2) Have a nice Sunday Rolf
-
NagyMusic reacted to a post in a topic: Count Items In Sublists
-
I just learned from your post on another topic that there is a opusmodus-function "get-count". mapcar and loop works, but "get-count" is much more flexible for opusmodus. So as I learned from you, that is actually the right answer to the topic-question: get-count . Just want to mention it so when someone sees the topic will get the right answer and not my previous half answer. (and there is also mclength to be found under opusmodus functions)
-
Thanks. I am getting old. Have seen it before and forgotten. Anyway. Maybe a short mention - one sentence - in the counterpoint document before it is applied to help the newcomers and the ones that forget. A search for 1~ or ~ doesn't find the doc. Wouldn't guess to search or 1~100 .