Jump to content

All Activity

This stream auto-updates     

  1. Yesterday
  2. a sketch... ;;; EXPAND/COMPRESS the intervals of a melody inside a pitchfield or tonality ;;; please evaluate the example and have a look to the contours ;;; subfunction (defun position-items (items alist) (loop for item in items append (position-item item alist))) ;;; function (defun compr/expand-melody (melody field &key (type 'add) (n 1)) (let* ((ints (loop for i in (difference (position-items (pitch-to-midi melody) (pitch-to-midi field))) collect (cond ((equal type 'add) (cond ((<= i -1) (- i n)) ((>= i 1) (+ i n)) (t i))) ((equal type 'factor) (cond ((or (< i -1) (> i 1)) (* i n)) (t i))))))) (position-filter (interval-to-integer ints :start (car (position-items melody field))) field))) ;;; expand 1 (progn (setf seed (random 100)) (pitch-list-plot (list (compr/expand-melody (rnd-sample 6 (gen-sieve '(c4 c6) '(2 1) :type :pitch) :seed seed) (gen-sieve '(c2 c9) '(2 1) :type :pitch) :type 'add :n 2) (compr/expand-melody (rnd-sample 6 (gen-sieve '(c4 c6) '(2 1) :type :pitch) :seed seed) (gen-sieve '(c2 c9) '(2 1) :type :pitch) :type 'add :n 5) (rnd-sample 6 (gen-sieve '(c4 c6) '(2 1) :type :pitch) :seed seed)) :join-points t)) ;;; compress (progn (setf seed (random 100)) (pitch-list-plot (list (compr/expand-melody (rnd-sample 6 (gen-sieve '(c4 c6) '(2 1) :type :pitch) :seed seed) (gen-sieve '(c2 c9) '(2 1) :type :pitch) :type 'add :n -2) (compr/expand-melody (rnd-sample 6 (gen-sieve '(c4 c6) '(2 1) :type :pitch) :seed seed) (gen-sieve '(c2 c9) '(2 1) :type :pitch) :type 'add :n -1) (rnd-sample 6 (gen-sieve '(c4 c6) '(2 1) :type :pitch) :seed seed)) :join-points t)) ;;; expand 2 (progn (setf seed (random 100)) (pitch-list-plot (list (compr/expand-melody (rnd-sample 6 (gen-sieve '(c5 c6) '(2 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1) :type :pitch) :type 'factor :n 2) (rnd-sample 6 (gen-sieve '(c5 c6) '(2 1) :type :pitch) :seed seed)) :join-points t)) ;;; expand 3 (progn (setf seed (random 100)) (pitch-list-plot (list (compr/expand-melody (rnd-sample 11 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 2) (compr/expand-melody (rnd-sample 11 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 3) (compr/expand-melody (rnd-sample 11 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 5) (compr/expand-melody (rnd-sample 11 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 7) (rnd-sample 11 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed)) :join-points t)) some evaluations -> different melodic contours (rnd / in a sieve) and its expansions Bildschirmaufnahme 2019-05-25 um 22.49.52.mov Bildschirmaufnahme 2019-05-25 um 23.14.57.mov
  3. AM

    maxmsp and lisp?

    yesterday we tried to implement/start maxlispj on MAX 8 http://sites.music.columbia.edu/brad/maxlispj/ maxlispj is from 2011, it works more or less in MAX 8 / MOJAVE, but not stable enough. perhaps there will a be some better solutiuons in the future... greetings andré
  4. Last week
  5. maurizio

    maurizio

  6. Earlier
  7. AM

    maxmsp and lisp?

    Clozure CL => the new COMMON LISP version works with MOJAVE now have a look at apple's appstore
  8. – New function: CHORD-PROGRESSION - sorts a sequence of chords and pitches to the lowest or highest chord note. – Update: AMBITUS function allows range smaller than 6 semitones. – Fixed: Quick Start - Lesson 1 - OMN – Documentation updates. CHORD-PROGRESSION This function will sort a sequence of chords and pitches to the lowest or highest chord note. Sorting to lowest chord note: (chord-progression '(g2g3 a2a4 a2a3 g2d4 g2g4 a2e4)) => (g2g3 g2d4 g2g4 a2a3 a2e4 a2a4) Sorting to highest chord note: (chord-progression '(g2g3 a2a4 a2a3 g2d4 g2g4 a2e4) :sort 'high) => (g2g3 a2a3 g2d4 a2e4 g2g4 a2a4) Examples: (setf omn '((q d4a4g5 fs4eb5bb5 eb4fs5d5 bb4g5a5 fs4eb5d6 bb4a5g6) (q g4d4a4 bb4fs4eb4 a4g5d6 eb5bb5fs6 bb4a5g5 eb5d5fs5))) (chord-progression omn) (chord-progression omn :sort 'high) (chord-progression omn :sort '(high low) :reverse '(nil t)) Best wishes, Janusz
  9. Here it is: (chord-progression '(g2g3 a2a4 a2a3 g2d4 g2g4 a2e4)) => (g2g3 g2d4 g2g4 a2a3 a2e4 a2a4) (chord-progression '(g2g3 a2a4 a2a3 g2d4 g2g4 a2e4) :sort 'high) => (g2g3 a2a3 g2d4 a2e4 g2g4 a2a4) The CHORD-PROGRESSION function will be part of the next release.
  10. The result when sorting ascending on top note would in the above case be: '(a2a3 a2e4 d4e4 c3f4 f4cs4 a2a4) When the top note is the same, the bottom note decides. Another example: ; sorting on bottom note ; '(g2g3 g2d4 g2g4 a2a3 a2e4 a2a4) ; sorting on top note ; '(g2g3 a2a3 g2d4 a2e4 g2g4 a2a4)
  11. What would be the result here: '(a2a3 a2a4 a2e4 c3f4 f4cs4 d4e4) Please make a few examples with the input and the output you are looking for.
  12. Is there built-in functionality to sort a chord-progression using the top note? The following example uses the bottom note: (sort-asc '(a2a3 a2a4 a2e4))
  13. Thanks, this will work for my purposes. Kind regards, Erik
  14. Do you mean number attributes? '(e c4 num0 cs4 num1 d4 num2 ds4 num3 e4 num4 f4 num5 fs4 num6 g4 num7 gs4 num8 a4 num9 as4 num10 b4 num11) You can extend the list of attributes with: ADD-TEXT-ATTRIBUTES function: (add-text-attributes '(v-ah "ah") '(v-ee "ee") '(v-eh "eh") '(v-ei "ei") '(v-ih "ih") '(v-mm "mm") '(v-oh "oh") '(v-oo "oo") ) The list of new functionality in version 1.3 is quite big, the workflow improved considerably as well not to mention the bug fixes.
  15. Hi, I am working on a table for harmonics on the theorbo. Is there a way to mark strings with numbers higher than 5? Or perhaps a way to add your custom roman numeral? By the way, I am still on 1.2.23260, maybe there are more options in 1.3 regarding custom markings? Kind Regards, Erik
  16. spuki

    spuki

  17. Short improvisation with three patterns, UNFOLD, PS, function Live Coding Instrument and VSL instruments: alto flute, clarinet, bass clarinet, viennese horn and cello.
  18. dear all conTimbre-library works (in the next update) perfect with TUNING (midi-pitchbend) and PAN now. thanx to thomas hummel and janusz! here are some simple sound examples... ct-micro+pan2.aiff ct-micro+pan3.aiff ct-micro+pan.aiff ct-micro+pan4.aiff
  19. – Fixed: Removed AllNotesOff in Live Coding Instrument sequence-loop. – Documentation updates. Finally the Live Coding Instrument is working as it should, no more notes off while waiting. Best wishes, Janusz
  20. i agree about the Kontakt version S.
  21. Example with time PAN: (def-score pan-test2 (:key-signature 'atonal :time-signature '(4 4) :tempo 60) (instr :omn '(h c4 d4 e4 f4 g4 a4 b4) :tuning '(.5 .33 0 -.5 0 .5 0 0) :pan (gen-controller 7/4 (gen-sine 12 7 1) :time '(1/8 1/4 1/8 1/16)) :channel 1 :program 'violin :sound 'gm)) or (def-score pan-test3 (:key-signature 'atonal :time-signature '(4 4) :tempo 60) (instr :omn '(h c4 d4 e4 f4 g4 a4 b4) :tuning '(.5 .33 0 -.5 0 .5 0 0) :pan '((:desc-asc 127 0 1/32 2) (:asc 34 127 1/32 2) (127 1) (0 1)) :channel 1 :program 'violin :sound 'gm)) Tell Thomas Kummel to make a Kontakt player version.
  22. "then there is a bug in conTimbre midi listener"... okay i will tell thomas hummel thanks
  23. The PAN is changing on every event: (def-score pan-test (:key-signature 'atonal :time-signature '(4 4) :tempo 60) (instr :omn '(q c4 d4 e4 f4 g4 a4 b4) :tuning '(.5 .33 0 -.5 0 .5 0 0) :pan '(1 127 1 127 1 127 64) :channel 1 :program 'violin :sound 'gm)) If the conTimbre is not changing the PAN on every event then there is a bug in conTimbre midi listener.
  24. dear all is there a possibility to change the PAN in every EVENT? 1) like '((q c4 mp pan-30) (e c3 pp pan100)) would be interesting for LIVE-CODING is there something predifined? like it will come up with microtonality/tuning 2) and why does it work with simple-midi-sound (a list in :pan) and not with a player like conTimbre (there is something i don't understand with midi/players/etc)? thanx for a hint andré an example: (setf omn '((5q c4 5q 5q 5q 5q 5q 5q 5q) (-q) (e e e e e) (-q) (7q 7q) (3q 3q) (-q) (5q 5q 5q) (7q 7q) (3q 3q 3q 3q) (e e) (-q) (3q 3q 3q 3q 3q) (e e e e e))) ;;; (def-score signature (:title "signature" :key-signature 'atonal :time-signature '(4 4) :tempo 60) (instr ;:port 0 :omn (omn-replace :velocity (pick-norepeat 100 '(pppp ppppp ppp ppp pp p)) (length-diminution 4 (gen-repeat 10 omn))) :tuning (gen-white-noise 100 :scale 0.1) :pan '(1 1 1 1 1 1 1 1 10 30 1 1 1 100 100 80 77 15 100 100 100) :channel 1 :sound 'gm-trumpet))
  1. Load more activity
×
×
  • Create New...