Jump to content

All Activity

This stream auto-updates

  1. Last week
  2. A short electronic piece of music made with an Opusmodus-driven VCVRack patch. Be cautious of your monitors and ears! EtudeSurTexture1.wav
  3.    Cliff reacted to a post in a topic: Using passing-intervals function
  4. MRK joined the community
  5.    Cliff reacted to a post in a topic: function for choosing numbers in nested lists
  6.    Cliff reacted to a post in a topic: function for choosing numbers in nested lists
  7. Say thanks to Claude from me 😀. I will have a look at that. Achim
  8. Earlier
  9. 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)
  10.    Cliff reacted to a post in a topic: polygon-rhythm & circle-rhythm-plot
  11. Thx Jesper.
  12. Try (circle-rhythm-plot rhy-1 :points 12 :value 1/12) Jesper
  13. 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
  14.    Nikos reacted to a post in a topic: lost grace notes when merging voices
  15. 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
  16. Canek joined the community
  17.    AM reacted to a post in a topic: Prélude aux Etoiles pour Piano
  18.    Stephane Boussuge reacted to a post in a topic: Prélude aux Etoiles pour Piano
  19. https://www.cs.cmu.edu/~dst/LispBook/book.pdf https://gigamonkeys.com/book/ http://www.ulisp.com/show?1AAO https://lisp-lang.org/learn/
  20. Indeed :-)
  21. wkz started following Stephane Boussuge
  22. wkz started following opmo
  23. A little hint for the community? :-)
  24. This one is very tricky. I will dig into it after I finish something we all wating for :-)
  25. any solutions?
  26. AM posted a post in a topic in Made In Opusmodus
    (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))))
  27. RST posted a post in a topic in Made In Opusmodus
    Many thanks, Jon. I will check it out.
  28. jon posted a post in a topic in Made In Opusmodus
    I think it’s probably the function he posted in this comment: https://opusmodus.com/forums/topic/2934-ffth-length/#comment-10202
  29. RST posted a post in a topic in Made In Opusmodus
    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)).
  30. Fantastic textures and sonority.
  31. Work in Progress... Prélude aux Etoiles.mp3
  32. 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.
  33. This is precisely my issue as well on Windows with Opusmodus 3. Is there any news of how to get this to work?
  34. 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.
  35. 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
  36. 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))
  37. 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))

Copyright © 2014-2025 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy