Jump to content

AM

Members
  • Posts

    795
  • Joined

  • Last visited

3 Followers

Profile Information

  • Gender
    Male

Recent Profile Visitors

27,978 profile views
  1. a little snippet of my work - including some sorting algorithms / hidden data / brownian bridges. played by Nenad Markovic (Ensemble Phoenix) - live recording. https://opusmodus.com/forums/topic/1039-sorting-algorithms/#comment-3314 https://opusmodus.com/forums/topic/2958-brownian-bridge/#comment-10267
  2. a quick idea: if you would do it with rnd-walk and use it as positions in a pitchfield, you have a some global control over all parameters. pitchfields are - in my opinion - useful, because you have some nice vertical control. you don't have this if you simply have the random walk out of the pitches directly. (progn ;; do a rnd-walk with tendency (setf walk (gen-walk 24 :step '(1 2 3) :backward 0.3 :forward 0.7)) ;; transform it to positions in a pitchfield and "reset list" if min-val < 0 (setf positions (cumulative-sums walk)) (setf positions (if (< (find-min positions) 0) (x+b positions (abs (find-min positions))) positions)) ;; define a pitchfield (or chord) (setf pitchfield (append (expand-tonality '(b3 messiaen-mode6)) (expand-tonality '(b4 messiaen-mode5)) (expand-tonality '(b5 messiaen-mode4)) (expand-tonality '(b6 messiaen-mode3)))) ;; reading pitchfield by positions (position-filter (cumulative-sums walk) pitchfield))
  3. Bildschirmaufnahme 2024-04-30 um 22.39.22.mov Just a little gimmic: Sort-Algorithm (plus filter-repeat) controls the frequencies of COMB Filters in Max/MSP when playing some EMF-noise. One single sort process...
  4. of course... PETER ABLINGERS famous work (2009) Speaking Piano ABLINGER.MUR.AT Speaking Piano nice, to re-do it with OMPO
  5. kind of ... "position-insert" with OVERWRITE (defun position-insert-seq (&key alist insert item) (let ((pos (car (position-item item alist)))) (position-replace (gen-integer pos (+ pos (1- (length insert)))) insert alist))) (setf alist '(0 0 0 0 0 0 1 0 2 0 0 0 3 5 7)) (setf insert '(a b c d)) (position-insert-seq :alist '(0 0 0 0 0 0 1 0 2 0 0 0 3 5 7) :insert '(a b c d) :item 2) => (0 0 0 0 0 0 1 0 a b c d 3 5 7)
  6. dear david this could be helpful for you... some basic-syntax-tutorials have fun! andré well explainend
  7. (defun prob-mutation (alist blist &key (factor 1) (prob-list nil)) (loop for a in alist for b in blist for x in (if (null prob-list) (cumulative-sums (gen-repeat (length alist) (float (/ factor (length alist))))) prob-list) when (probp x) collect b else collect a)) ;;; with linear prob-incf (prob-mutation (gen-repeat 100 1) (gen-repeat 100 2)) => (1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 2 2 2 2 1 1 2 2 2 1 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2) ;;; with an external prob-list 0 to 1.0 to 0 (setf half-sine (filter-first 100 (gen-sine 200 1 1.0))) (prob-mutation (gen-repeat 100 1) (gen-repeat 100 2) :prob-list half-sine) => (1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 1 2 1 1 2 1 1 1 2 1 1) ;;; with an external prob-list 0 to 0.3 to 0 (setf half-sine (filter-first 100 (gen-sine 200 1 0.3))) (prob-mutation (gen-repeat 100 1) (gen-repeat 100 2) :prob-list half-sine) => (1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1)
  8. Opusmodus via OSC, MaxMSP and Polytempo Composer, playing individual tempo-curves.
  9. very nice, like a SIEVE!! if it would be like: (rnd-rest '(8 7 6 5 4 3 2 1) omn-seq) you could manage the event-density in time... or... (rnd-rest '(0.1 0.2 0.23 0.4 0.7 0.6 0.3 0.43 0.91) omn-seq) ...perhaps also with (gen-envelope-tendency) (or something like that just a spontanious idea
  10. just a snippet... how i/you can use OPMO for some other things (TIME LAPS test mode, just to see if my code is working correctly). i like the openness of the system. Bildschirmaufnahme 2023-08-30 um 23.09.15.mov
  11. funny but of course it is far far away from bach or a choral harmonization I think there are various difficulties, on the one hand whether chatGPT finds enough information on the net about the harmonization of chorales and probably far too little about OPUSMODUS and LISP. chatGPT doesn't really manage to program usefully in LISP (e.g. I tested sorting algorithms), but chatGPT explained to me extensively how the resulting code works, but it was always full of errorr/bugs. never worked, not fixable either. there is simply still a large amount of data missing for the system. But of course I'm not a specialist, I just tried it (chatGPT) out in an amateurish way
  12. thanx! this software is such a great tool!!!
  13. was it not like...? (rnd-sample-seq 2 '(1 2 3 4 5)) => (1 2) => (3 4) (rnd-sample-seq 3 '(1 2 3 4 5)) => (2 3 4) => (3 4 5)
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy