Jump to content

AM

Members
  • Content Count

    598
  • Joined

  • Last visited

2 Followers

About AM

  • Rank
    Senior Member

Profile Information

  • Gender
    Male

Recent Profile Visitors

5,856 profile views
  1. here is a sketch for an alternative "binary-(or element-)layer-FUNCTION (defun element-layer (lists &key (rnd nil)) (let ((lists (if (null rnd) lists (rnd-order lists :list t)))) (car (last (loop for x in (rest lists) with list = (car lists) collect (setf list (loop for i in list with cnt = 0 when (equal i 0) collect (nth cnt x) and do (incf cnt) else collect i)))))))
  2. testing videoplayer in OPMO.mov whitenoise.mov
  3. you want to map some integers (in your case pc..) to attributes? like that? (position-filter '(0 1 2 3 4 5) '(pizz arco ponte molto-ponte stacc stacc+pizz ten+arco ten+molto-ponte)) => (pizz arco ponte molto-ponte stacc stacc+pizz) (position-filter (pcs '6-Z10) '(pizz arco ponte molto-ponte stacc stacc+pizz ten+arco ten+molto-ponte)) => (pizz arco molto-ponte stacc stacc+pizz ten+molto-ponte) or in pure CCL (loop for i in '(0 1 2 3 4 5) with attr-list = '(pizz arco ponte molto-ponte stacc stacc+pizz ten+arco ten+molto-ponte) collect (nth i attr-list)) => (piz
  4. i've made different user folders... named: user editing user pattern matching .... ...or you could put all in the same... (i realized for my work, that most of the time i'm using a "coded function" only for a specific project/work. so i stopped it to put all special functions into my user library. now, i have the functions only in my project workspace...)
  5. in german... https://www.amazon.de/Programmieren-COMMON-LISP-Otto-Mayer/dp/3860257102 (but without LOOP) https://www.tutorialspoint.com/lisp/index.htm https://lisptips.com https://www.youtube.com/channel/UCMV8p6Lb-bd6UZtTc_QD4zA
  6. you're welcome!! i think for specific solutions it helps a lot to learn some LISP-basics (loops/conditionals/car/cons/...), then you have the possibility to make your own additional functions/libraries in OPMO. and OPMO is really great for such things!! greetings andré
  7. like that..?... some code... greetings andré (defun replace-velocities-in-a-seq (omn-list &key pitch velocity-list) (flatten (loop with cnt = 0 for i in (single-events omn-list) when (equal (cadr i) pitch) collect (omn-replace :velocity (nth cnt velocity-list) i) and do (incf cnt) else collect i when (> cnt (length velocity-list)) do (setf cnt 0)))) (replace-velocities-in-a-seq '(e c4 ppppp d4 d4 e4 f4 d4 d4 g4 b4 d4 d4 d4 d4) :pitch 'd4 :velocity-list
  8. okay, then it seems to be a AUDULUS- or MOD-SYNTH-"problem". (audulus is only for simulation, real mod-synth for live) thanks!
  9. dear janusz at the moment i'm working with AUDULUS 3 and OPMO, work's fine. but there are some problems with the articulation. is it possible that in ord. there is a little "overlapping" between two notes? in this case AUDULUS don't "recognize" a change of velocity etc... with stacc it works fine (but with a gap). is there a "non-overlapping"-articulation with almost no gap between the notes? thanks andré
  10. (setf scale '(c4 d4 e4 f4 g4 a4)) (setf scale (omn-replace :length 'e scale)) ;; or (make-omn :pitch '(c4 d4 e4 f4 g4 a4) :length '(e q e e s t))
  11. you could use LENGTH-MODIFY "LENGTH-MODIFY will modify a series of lengths by adding, subtracting, multiplying or dividing them with a list of duration values. If the count argument is not given to LENGTH-MODIFY then the count is chosen at random."
  12. really interesting, janusz!! great!!! i will like DENSITY
  13. AM

    maxmsp and lisp?

    for my needs it's not necessary to use opusmodus in MAX. for me it's just easier to code LISP then in other languages (i need no library) i will not do algorithmic comp... there, i will simply manage my "real-time/virtual-conducting/modular-form THING" from the POLYTEMPO-NETWORK in ONE language (lisp)... (i also found a solution for me without MAX, lisp only. a bit steam-punky, but works will be my next ensemble piece) thanx to you! andré
×
×
  • Create New...