All Activity
- Last week
-
Etude sur Texture 1
A short electronic piece of music made with an Opusmodus-driven VCVRack patch. Be cautious of your monitors and ears! EtudeSurTexture1.wav
-
-
Jorgalad reacted to a post in a topic: Error on call of user defined function using library "def-unfold-set"
-
MRK joined the community
-
-
-
function for choosing numbers in nested lists
Say thanks to Claude from me 😀. I will have a look at that. Achim
- Earlier
-
function for choosing numbers in nested lists
Hi, Out of curiosity I asked the AI-promt Claude (https://claude.ai) and the code it spits out seem to work. Maybe it is useful as a starting point..? best (defun select-path (lists &optional start-num) (let ((current (if start-num start-num (nth (random (length (first lists))) (first lists)))) (result nil)) (push current result) (dolist (lst (rest lists)) (let* ((higher (remove-if (lambda (x) (<= x current)) lst)) (next (when higher (if (and (> (length higher) 1) (zerop (random 2))) (second higher) ; next-next higher (first higher))))) ; next higher (when next (setf current next) (push current result)))) (reverse result))) (select-path '((2 8 9 14 20 21 26) (1 2 3 7 13 14 19 25 26) (0 6 7 12 18 19 24) (0 5 11 12 17 23 24)) 8)
-
-
polygon-rhythm & circle-rhythm-plot
Thx Jesper.
-
polygon-rhythm & circle-rhythm-plot
Try (circle-rhythm-plot rhy-1 :points 12 :value 1/12) Jesper
-
Cliff started following polygon-rhythm & circle-rhythm-plot
-
polygon-rhythm & circle-rhythm-plot
Is the plot result plausible ? (setf rhy-1 (polygon-rhythm '(0 3 8) 12 0)) (circle-rhythm-plot rhy-1 :points 12) ;; (1/12 -1/12 -1/12 1/12 -1/12 -1/12 -1/12 -1/12 1/12 -1/12 -1/12 -1/12) ;; look OK
-
-
born started following function for choosing numbers in nested lists
-
function for choosing numbers in nested lists
Dear all, I would like to make a function for the following purpose: I have a list of 4 lists. I would like to start from any of the numbers in the first list and choose the corresponding next or after next (could be random) higher numbers in the subsequent lists. Here an example: ((2 8 9 14 20 21 26) (1 2 3 7 13 14 19 25 26) (0 6 7 12 18 19 24) (0 5 11 12 17 23 24)) or ((2 8 9 14 20 21 26) (1 2 3 7 13 14 19 25 26) (0 6 7 12 18 19 24) (0 5 11 12 17 23 24)) or ((2 8 9 14 20 21 26) (1 2 3 7 13 14 19 25 26) (0 6 7 12 18 19 24) (0 5 11 12 17 23 24)) Has anyone an idea how to implement this? Thanks for help. Achim
-
Canek joined the community
-
-
-
Stephane Boussuge reacted to a post in a topic: Error on call of user defined function using library "def-unfold-set"
- Error on call of user defined function using library "def-unfold-set"
-
opmo started following Prélude aux Etoiles pour Piano
-
Prélude aux Etoiles pour Piano
Indeed :-)
-
david started following Error on call of user defined function using library "def-unfold-set"
- Error on call of user defined function using library "def-unfold-set"
-
-
wkz started following Stephane Boussuge
-
-
lost grace notes when merging voices
A little hint for the community? :-)
-
lost grace notes when merging voices
This one is very tricky. I will dig into it after I finish something we all wating for :-)
-
lost grace notes when merging voices
any solutions?
-
brownian bridge ornaments
(defun reset-integer-sequence (alist &key (offset 0) (flatten nil)) (let ((min (find-min (flatten alist)))) (progn (setf alist (cond ((listp (car alist)) (loop for j in alist collect (loop for i in j collect (+ (- i min) offset)))) (t (loop for i in alist collect (+ (- i min) offset))))) (if (equal flatten t) (flatten alist) alist))))
-
brownian bridge ornaments
Many thanks, Jon. I will check it out.
-
brownian bridge ornaments
I think it’s probably the function he posted in this comment: https://opusmodus.com/forums/topic/2934-ffth-length/#comment-10202
-
brownian bridge ornaments
seems to be a bug, maybe? does not work for me. Error: Undefined operator reset-integer-sequence in form (reset-integer-sequence (gen-brownian-bridge 6 (quote (3 2)) :span 4 :all-gen t)).
-
Prélude aux Etoiles pour Piano
Fantastic textures and sonority.
-
Prélude aux Etoiles pour Piano
Work in Progress... Prélude aux Etoiles.mp3
-
Constraint Programming in Opusmodus
On Windows 10 this is what I did to port the software to run the example: I created a directory in C: Users called common-lisp. And placed the various source directories from Torsten's GitHub, including dependent library cl-utilities. I also installed MiniZinc for completeness. asdf parses this directory by default on a Windows OS.
-
Constraint Programming in Opusmodus
This is precisely my issue as well on Windows with Opusmodus 3. Is there any news of how to get this to work?
-
Pattern from a chord based on the position of each note in a chord.
Thanks, I'm working on it, but I admit it's a struggle. I do know how to separate it out, and add the other omn properties of length, velocity, and articulation after the fact.
-
Pattern from a chord based on the position of each note in a chord.
I think it would be good for you to study some basic Lisp and OM because combining the pattern (integers) and OMN (lengths etc) in the same list are unusual. Jesper
-
Pattern from a chord based on the position of each note in a chord.
wow! thanks! perfect it also works with velocities and articulations, nice! (fn '(c4e4g4a4 a3e4a4g4 d3f3a3c4 g3b3d4f4) '(s 1 p 2 3 4 q 23 mf 14 e 1 p stacc 2 3 4))
-
Pattern from a chord based on the position of each note in a chord.
Try this little (not very well thought out) function. Jesper (defun fn (chords pattern) (let ((mel (mapcar 'melodize chords))) (loop for m in mel collect (loop for x in pattern collect (if (integerp x) (if (> x 9) (car (chordize (loop for y in (explode x) collect (nth (1- y) m)))) (nth (1- x) m)) x))))) (fn '(c4e4g4 a3e4a4 d3f3a3 g3b3d4) '(e 1 2 1 q 23 e 1 2 1)) =>((e c4 e4 c4 q e4g4 e c4 e4 c4) (e a3 e4 a3 q e4a4 e a3 e4 a3) (e d3 f3 d3 q f3a3 e d3 f3 d3) (e g3 b3 g3 q b3d4 e g3 b3 g3)) (fn '(c4e4g4a4 a3e4a4g4 d3f3a3c4 g3b3d4f4) '(s 1 2 3 4 q 23 14 e 1 2 3 4)) =>((s c4 e4 g4 a4 q e4g4 c4a4 e c4 e4 g4 a4) (s a3 e4 a4 g4 q e4a4 a3g4 e a3 e4 a4 g4) (s d3 f3 a3 c4 q f3a3 d3c4 e d3 f3 a3 c4) (s g3 b3 d4 f4 q b3d4 g3f4 e g3 b3 d4 f4))