-
Posts
2,901 -
Joined
-
Last visited
Reputation Activity
-
opmo reacted to Stephane Boussuge in Mapcar Study 1 for small ensemble
Here's a short study for a small ensemble.
All the best !
SB.
Mapcar1.opmo
-
opmo got a reaction from Stephane Boussuge in length-weight
The additional swallow keyword (default t) will be part of the next release. 🙂
(length-weight '((q c4 d4 e4 f4 g4 a4 b4) (q c4 d4 e4 f4 g4 a4 b4)) :weight '((3 1) (5 2)) :swallow nil :seed 875) => ((q c4 d4 e4 f4 g4 - a4) (q c4 d4 - e4 f4 g4 -)) ;; With :swallow T (default) (length-weight '((q c4 d4 e4 f4 g4 a4 b4) (q c4 d4 e4 f4 g4 a4 b4)) :weight '((3 1) (5 2)) :seed 875) => ((q c4 d4 e4 f4 g4 - b4) (q c4 d4 - f4 g4 a4 -)) -
opmo got a reaction from Stephane Boussuge in polygon-rhythm
Second example, this time with code.
VSL: Soprano Sax, Steinway D, Upright Bass and Jazz DrumSet.
(progn (init-seed 3578) (setf bd '(c2 cs2)) (setf sd '(d2 ds2 e2 f2 fs2 g2 gs2 a2 bb2 b2)) (setf lt '(c5 cs5 d5 ds5 e5 f5 fs5 g5 gs5 a5 bb5 b5)) (setf cc '(g7 c7)) (setf rc '(c4 cs7 d7 ds7 e7 f7)) (setf hh '(c4 cs4 d4 ds4 e4)) (setf ds-vel '(ff f fff)) (setf bd-gon (gen-eval 33 '(polygon-rhythm 3 16 0 :pitch (rnd-sample 32 bd) :velocity (rnd-sample 32 ds-vel)))) (setf sd-gon (gen-eval 32 '(polygon-rhythm 2 16 '? :pitch (rnd-sample 32 sd) :velocity (rnd-sample 32 ds-vel)))) (setf lt-gon (gen-eval 32 '(polygon-rhythm 2 16 '? :pitch (rnd-sample 32 lt) :velocity (rnd-sample 32 ds-vel)))) (setf cc-gon (gen-eval 32 '(polygon-rhythm 5 24 '? :pitch (rnd-sample 32 cc) :velocity (rnd-sample 32 ds-vel)))) (setf rc-gon (gen-eval 32 '(polygon-rhythm 5 24 '? :pitch (rnd-sample 32 rc) :velocity (rnd-sample 32 ds-vel)))) (setf hh-gon (gen-eval 33 '(polygon-rhythm 5 16 '? :pitch (rnd-sample 32 hh) :velocity (rnd-sample 32 ds-vel)))) (setf hexachord '(d4 eb4 fs4 g4 a4 bb4)) (setf chords (assemble-seq (gen-eval 16 '(polygon-rhythm 3 16 '? :pitch (gen-chord-series hexachord hexachord :type '? :width '(30 24 36 12) :segment t))) (gen-eval 4 '(polygon-rhythm 5 16 '? :pitch (gen-chord-series hexachord hexachord :type '? :width '(30 24 36 12) :segment t))) (gen-eval 7 '(polygon-rhythm 4 16 '? :pitch (gen-chord-series hexachord hexachord :type '? :width '(30 24 36 12) :segment nil) :legato t)) (gen-eval 5 '(polygon-rhythm 3 16 '? :pitch (gen-chord-series hexachord hexachord :type '? :width '(30 24 36 12) :segment t))))) (setf piano (assemble-seq '((-1) (-1) (-1) (-1)) (rnd-octaves '(c2 b6) (subseq chords 4 31)) '(-1))) (setf ssax (make-omn :length (assemble-seq '((-1) (-1) (-1) (-1) (-1) (-1) (-1)) (polygon-rhythm 6 16 '?) (polygon-rhythm 7 16 '?) (polygon-rhythm 9 16 '?) (polygon-rhythm 3 8 '?) (polygon-rhythm 16 16 '?) (polygon-rhythm 24 24 '?) (polygon-rhythm 8 16 '?) (polygon-rhythm 11 16 '?) (polygon-rhythm 5 16 '?) (polygon-rhythm 16 24 '?) (polygon-rhythm 6 8 '?) (polygon-rhythm 4 16 2) (polygon-rhythm 5 16 2) (polygon-rhythm 7 16 2) (polygon-rhythm 9 16 0) (polygon-rhythm 13 16 0) (polygon-rhythm 16 16 0) (polygon-rhythm 21 24 0) (polygon-rhythm 22 24 0) (polygon-rhythm 20 24 0) (polygon-rhythm 20 24 0) (polygon-rhythm 16 24 0) (polygon-rhythm 4 16 2) '((-1) (-1)) ) :pitch (ambitus 'soprano-sax (pitch-transpose (vector-to-pitch '(fs3 fs4) (mod-sine-waves 5 36 4 0.3 :modulation (gen-sine 120 5 0.4))) (pitch-variant (melodize (omn :pitch chords))))) :velocity '(ff))) (setf bass-line (assemble-seq '((-1) (-1)) (gen-eval 31 '(polygon-rhythm 9 16 '? :pitch (ambitus '(e1 g4) (pitch-variant (pitch-transpose -24 (rnd-air :type :pitch)))) :velocity '(fff))))) (ps 'vsl :ssax (list ssax) :grand (list piano) :cb (list bass-line) :ds-bd (list bd-gon) :ds-sd (list sd-gon) :ds-lt (list lt-gon) :ds-cc (list cc-gon) :ds-rc (list cc-gon) :ds-hh (list hh-gon) :tempo 120 :output :live-coding :title "Dada Quartet - EXP.2 (c) 2019 OPMO") (init-seed nil) ) Best wishes,
Janusz
P.S. I am almost there with the new release. 😎
-
opmo got a reaction from loopyc in polygon-rhythm
Second example, this time with code.
VSL: Soprano Sax, Steinway D, Upright Bass and Jazz DrumSet.
(progn (init-seed 3578) (setf bd '(c2 cs2)) (setf sd '(d2 ds2 e2 f2 fs2 g2 gs2 a2 bb2 b2)) (setf lt '(c5 cs5 d5 ds5 e5 f5 fs5 g5 gs5 a5 bb5 b5)) (setf cc '(g7 c7)) (setf rc '(c4 cs7 d7 ds7 e7 f7)) (setf hh '(c4 cs4 d4 ds4 e4)) (setf ds-vel '(ff f fff)) (setf bd-gon (gen-eval 33 '(polygon-rhythm 3 16 0 :pitch (rnd-sample 32 bd) :velocity (rnd-sample 32 ds-vel)))) (setf sd-gon (gen-eval 32 '(polygon-rhythm 2 16 '? :pitch (rnd-sample 32 sd) :velocity (rnd-sample 32 ds-vel)))) (setf lt-gon (gen-eval 32 '(polygon-rhythm 2 16 '? :pitch (rnd-sample 32 lt) :velocity (rnd-sample 32 ds-vel)))) (setf cc-gon (gen-eval 32 '(polygon-rhythm 5 24 '? :pitch (rnd-sample 32 cc) :velocity (rnd-sample 32 ds-vel)))) (setf rc-gon (gen-eval 32 '(polygon-rhythm 5 24 '? :pitch (rnd-sample 32 rc) :velocity (rnd-sample 32 ds-vel)))) (setf hh-gon (gen-eval 33 '(polygon-rhythm 5 16 '? :pitch (rnd-sample 32 hh) :velocity (rnd-sample 32 ds-vel)))) (setf hexachord '(d4 eb4 fs4 g4 a4 bb4)) (setf chords (assemble-seq (gen-eval 16 '(polygon-rhythm 3 16 '? :pitch (gen-chord-series hexachord hexachord :type '? :width '(30 24 36 12) :segment t))) (gen-eval 4 '(polygon-rhythm 5 16 '? :pitch (gen-chord-series hexachord hexachord :type '? :width '(30 24 36 12) :segment t))) (gen-eval 7 '(polygon-rhythm 4 16 '? :pitch (gen-chord-series hexachord hexachord :type '? :width '(30 24 36 12) :segment nil) :legato t)) (gen-eval 5 '(polygon-rhythm 3 16 '? :pitch (gen-chord-series hexachord hexachord :type '? :width '(30 24 36 12) :segment t))))) (setf piano (assemble-seq '((-1) (-1) (-1) (-1)) (rnd-octaves '(c2 b6) (subseq chords 4 31)) '(-1))) (setf ssax (make-omn :length (assemble-seq '((-1) (-1) (-1) (-1) (-1) (-1) (-1)) (polygon-rhythm 6 16 '?) (polygon-rhythm 7 16 '?) (polygon-rhythm 9 16 '?) (polygon-rhythm 3 8 '?) (polygon-rhythm 16 16 '?) (polygon-rhythm 24 24 '?) (polygon-rhythm 8 16 '?) (polygon-rhythm 11 16 '?) (polygon-rhythm 5 16 '?) (polygon-rhythm 16 24 '?) (polygon-rhythm 6 8 '?) (polygon-rhythm 4 16 2) (polygon-rhythm 5 16 2) (polygon-rhythm 7 16 2) (polygon-rhythm 9 16 0) (polygon-rhythm 13 16 0) (polygon-rhythm 16 16 0) (polygon-rhythm 21 24 0) (polygon-rhythm 22 24 0) (polygon-rhythm 20 24 0) (polygon-rhythm 20 24 0) (polygon-rhythm 16 24 0) (polygon-rhythm 4 16 2) '((-1) (-1)) ) :pitch (ambitus 'soprano-sax (pitch-transpose (vector-to-pitch '(fs3 fs4) (mod-sine-waves 5 36 4 0.3 :modulation (gen-sine 120 5 0.4))) (pitch-variant (melodize (omn :pitch chords))))) :velocity '(ff))) (setf bass-line (assemble-seq '((-1) (-1)) (gen-eval 31 '(polygon-rhythm 9 16 '? :pitch (ambitus '(e1 g4) (pitch-variant (pitch-transpose -24 (rnd-air :type :pitch)))) :velocity '(fff))))) (ps 'vsl :ssax (list ssax) :grand (list piano) :cb (list bass-line) :ds-bd (list bd-gon) :ds-sd (list sd-gon) :ds-lt (list lt-gon) :ds-cc (list cc-gon) :ds-rc (list cc-gon) :ds-hh (list hh-gon) :tempo 120 :output :live-coding :title "Dada Quartet - EXP.2 (c) 2019 OPMO") (init-seed nil) ) Best wishes,
Janusz
P.S. I am almost there with the new release. 😎
-
-
opmo got a reaction from loopyc in length-weight
The additional swallow keyword (default t) will be part of the next release. 🙂
(length-weight '((q c4 d4 e4 f4 g4 a4 b4) (q c4 d4 e4 f4 g4 a4 b4)) :weight '((3 1) (5 2)) :swallow nil :seed 875) => ((q c4 d4 e4 f4 g4 - a4) (q c4 d4 - e4 f4 g4 -)) ;; With :swallow T (default) (length-weight '((q c4 d4 e4 f4 g4 a4 b4) (q c4 d4 e4 f4 g4 a4 b4)) :weight '((3 1) (5 2)) :seed 875) => ((q c4 d4 e4 f4 g4 - b4) (q c4 d4 - f4 g4 a4 -)) -
opmo got a reaction from JulioHerrlein in polygon-rhythm
The forthcoming POLYGON-RHYTHM function will allow you to think and compose in a clear symmetrical structures. The great amount of keywords (OPMO stile) makes this algorithm very powerful.
This is a short example using POLYGON-RHYTHM exclusively.
Instruments: VSL Tenor Sax and Jazz Drumset.
-
opmo reacted to Stephane Boussuge in VSL Syncron-ized Special Edition Plus Soundset
Hello,
here's the VSL Syncron-ized Special Edition Plus Soundset.
All the best !
Stéphane
VSL-SynchronSpecial-Edition.lisp
-
opmo got a reaction from Stephane Boussuge in polygon-rhythm
The forthcoming POLYGON-RHYTHM function will allow you to think and compose in a clear symmetrical structures. The great amount of keywords (OPMO stile) makes this algorithm very powerful.
This is a short example using POLYGON-RHYTHM exclusively.
Instruments: VSL Tenor Sax and Jazz Drumset.
-
opmo got a reaction from o_e in polygon-rhythm
The forthcoming POLYGON-RHYTHM function will allow you to think and compose in a clear symmetrical structures. The great amount of keywords (OPMO stile) makes this algorithm very powerful.
This is a short example using POLYGON-RHYTHM exclusively.
Instruments: VSL Tenor Sax and Jazz Drumset.
-
-
opmo got a reaction from AM in polygon-rhythm
The forthcoming POLYGON-RHYTHM function will allow you to think and compose in a clear symmetrical structures. The great amount of keywords (OPMO stile) makes this algorithm very powerful.
This is a short example using POLYGON-RHYTHM exclusively.
Instruments: VSL Tenor Sax and Jazz Drumset.
-
opmo reacted to o_e in Remove Unison from Chord
(chord-pitch-unique chords) => (gs3gs4ds5 ab3gs4) hth!
-
opmo got a reaction from AM in add-rnd-dust to lengths
(defun gen-rnd-dust (sequence &key (span '(0.1)) (quantize '(1 2 3 4 5 6 7 8)) (scale 1.0) (tolerance 0.05) seed) (let (state) (setf state *init-seed*) (setf seed (rnd-seed seed)) (do-verbose ("gen-rnd-dust, span: ~s quantize: ~s scale: ~s tolerance: ~s seed: ~s" span quantize scale tolerance seed) (disassembling-omn ((sequence plist) sequence :length) (let* ((length sequence) (sp) (out (float-to-ratio (loop with cnt = 0 for i in length do (setf sp (nth cnt span)) when (> i 0) collect (+ i (car (rnd-number 1 0.0 (* i sp) :seed (seed)))) else collect (- i (car (rnd-number 1 0.0 (* i sp) :seed (seed)))) when (< cnt (1- (length span))) do (incf cnt)) :ratio 1))) (init-state state) (quantize out quantize :scale scale :tolerance tolerance)))))) or (with sublists):
(defun gen-rnd-dust (sequence &key (span '(0.1)) (quantize '(1 2 3 4 5 6 7 8)) (scale 1.0) (tolerance 0.05) seed) (let (state) (setf state *init-seed*) (setf seed (rnd-seed seed)) (do-verbose ("gen-rnd-dust, span: ~s quantize: ~s scale: ~s tolerance: ~s seed: ~s" span quantize scale tolerance seed) (let ((ts (get-time-signature sequence)) (seq (flatten-omn sequence))) (omn-to-time-signature (disassembling-omn ((seq plist) seq :length) (let* ((length seq) (sp) (out (float-to-ratio (loop with cnt = 0 for i in length do (setf sp (nth cnt span)) when (> i 0) collect (+ i (car (rnd-number 1 0.0 (* i sp) :seed (seed)))) else collect (- i (car (rnd-number 1 0.0 (* i sp) :seed (seed)))) when (< cnt (1- (length span))) do (incf cnt)) :ratio 1))) (init-state state) (quantize out quantize :scale scale :tolerance tolerance))) ts)))))
Best,
Janusz
-
opmo reacted to Stephane Boussuge in Pour et Contre 1 for 4 hands Piano
Hi,
Here's a score for 4 hands recently finished.
SB.
Score:
PourEtContre1Edit2.opmo
-
opmo reacted to AM in modify the pitch contour in a pitch-field
greetings
andré
;;; MODIFY THE PITCH CONTOUR 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) (shift 0)) (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 'fibonacci) (cond ((>= i 1) (+ i (fibonacci i))) ((<= i -1) (- i (fibonacci (abs i)))) (t i))) ((equal type 'summativ) (cond ((>= i 1) (+ i (+ i n))) ((<= i -1) (- i (+ (abs i) n))) (t i))))))) (position-filter (x+b (interval-to-integer ints :start (car (position-items melody field))) shift) field))) ;;; expand 1a (progn (setf seed (random 100)) (pitch-list-plot (list (compr/expand-melody (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 1) (compr/expand-melody (rnd-sample 7 (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 7 (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 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 5) (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed)) :join-points t)) ;;; expand 1b => using shift (changed startposition) (progn (setf seed (random 100)) (pitch-list-plot (list (compr/expand-melody (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 1 :shift 1) (compr/expand-melody (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 2 :shift 2) (compr/expand-melody (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 3 :shift 3) (compr/expand-melody (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n 5 :shift 4) (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed)) :join-points t)) ;;; compress (progn (setf seed (random 100)) (pitch-list-plot (list (compr/expand-melody (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n -1) (compr/expand-melody (rnd-sample 7 (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 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'add :n -3) (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed)) :join-points t)) ;;; expand 2 with fibonacci (progn (setf seed (random 100)) (pitch-list-plot (list (compr/expand-melody (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'fibonacci) (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed)) :join-points t)) ;;; expand 3 summativ (progn (setf seed (random 100)) (pitch-list-plot (list (compr/expand-melody (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'summativ :n 1) (compr/expand-melody (rnd-sample 7 (gen-sieve '(c4 c5) '(2 1 1) :type :pitch) :seed seed) (gen-sieve '(c1 c9) '(2 1 1) :type :pitch) :type 'summativ :n 2) (rnd-sample 7 (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-26 um 22.04.38.mov
-
opmo got a reaction from JulioHerrlein in OLD VSL Gig Files articulations
Naturally you can do that. You find the answer in the Def-Sound-Set Library examples, look for VSL files.
Example:
;; Patches, keyswitches and controllers change events. (def-sound-set VSL-Harmonium-KS :programs (:group Stops Aeoline (:key c6 :key a0) Bassoon-Hautbois (:key cs6 :key a0) Clairon-Fifre (:key d6 :key a0) Clarinette-Bourdon (:key ds6 :key a0) Flute-Coranglais (:key e6 :key a0) Grandjeu (:key f6 :key a0) Percussion (:key fs6 :key a0) Voix-Celeste (:key g6 :key a0) ) :controllers (:group Default-Settings Pitch 0 Velocity-XF 2 Volume 7 Pan 10 Expression 11 Reverb-Dry/Wet 14 Reverb-On/Off 15 Slot-XF 20 Start-Scaler 21 Master-Attack 22 Master-Release 23 Master-Filter 24 Delay-Scaler 25 Tuning-Scaler 26 Humanize 27 Velocity-XF-On-Off 28 Rsamp-On-Off 29 Dynamics-Scaler 30 :group Pedal Ped 64 Sost-Ped 66 Una-Corda 67 :group Matrix cc1 1 ) )
-
opmo got a reaction from Stephane Boussuge in Opusmodus 1.3.24844
– 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
-
opmo got a reaction from JulioHerrlein in Opusmodus 1.3.24844
– 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
-
opmo got a reaction from lviklund in sorting chords
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.
-
opmo got a reaction from AM in sorting chords
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.
-
opmo got a reaction from Stephane Boussuge in sorting chords
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.
-
opmo got a reaction from EAIP in sorting chords
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.
-
opmo got a reaction from JulioHerrlein in sorting chords
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.
-
opmo got a reaction from Stephane Boussuge in Opusmodus 1.3.24828
– 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