-
Posts
806 -
Joined
-
Last visited
Reputation Activity
-
JulioHerrlein got a reaction from SimonSeeberger in [HERRLEIN] Hauer Tropes as Clockface Diagrams: Dialogs among Forte, Carter and Ŝedivý - MUSMAT 2021
Hauer Tropes as Clockface Diagrams: Dialogs among Forte, Carter and Ŝedivý - MUSMAT 2021
I just did this presentation now !
All plots done in Opusmodus !
Hope you like it !
Best ! Julio
Here is the complete session of the Congress !
-
JulioHerrlein got a reaction from AM in [HERRLEIN] Hauer Tropes as Clockface Diagrams: Dialogs among Forte, Carter and Ŝedivý - MUSMAT 2021
Hauer Tropes as Clockface Diagrams: Dialogs among Forte, Carter and Ŝedivý - MUSMAT 2021
I just did this presentation now !
All plots done in Opusmodus !
Hope you like it !
Best ! Julio
Here is the complete session of the Congress !
-
-
JulioHerrlein got a reaction from Stephane Boussuge in A.S. Mailbox live performance !
Dear Friends !
This is the performance of the piece A.S. Mailbox at the Musmat Congress !
This piece was all done in Opusmodus (with some post editing in Musescore).
Happy to share this with you !
I have one more thing this week...
There are many great pieces in the concert ! (and also a Schoenberg Quartet) ! Enjoy
-
JulioHerrlein reacted to opmo in A.S. Mailbox live performance !
Great compositions and performance, bravo. NVS lives on.
-
JulioHerrlein got a reaction from opmo in A.S. Mailbox live performance !
Dear Friends !
This is the performance of the piece A.S. Mailbox at the Musmat Congress !
This piece was all done in Opusmodus (with some post editing in Musescore).
Happy to share this with you !
I have one more thing this week...
There are many great pieces in the concert ! (and also a Schoenberg Quartet) ! Enjoy
-
JulioHerrlein got a reaction from Stephane Boussuge in Méditation for String quartet
Congratulations, Stephane !!
Best !
-
JulioHerrlein reacted to opmo in Combination Function Result (is it rigth ?)
Done:
(combination 3 '(0 1 2 3 4 5)) => ((0 1 2) (0 1 3) (0 1 4) (0 1 5) (0 2 3) (0 2 4) (0 2 5) (0 3 4) (0 3 5) (0 4 5) (1 2 3) (1 2 4) (1 2 5) (1 3 4) (1 3 5) (1 4 5) (2 3 4) (2 3 5) (2 4 5) (3 4 5)) (combination 3 '(0 1 2 3 4 5) :permute t) => ((0 1 2) (0 2 1) (1 0 2) (1 2 0) (2 0 1) (2 1 0) (0 1 3) (0 3 1) (1 0 3) (1 3 0) (3 0 1) (3 1 0) (0 1 4) (0 4 1) (1 0 4) (1 4 0) (4 0 1) (4 1 0) (0 1 5) (0 5 1) (1 0 5) (1 5 0) (5 0 1) (5 1 0) (0 2 3) (0 3 2) (2 0 3) (2 3 0) (3 0 2) (3 2 0) (0 2 4) (0 4 2) (2 0 4) (2 4 0) (4 0 2) (4 2 0) (0 2 5) (0 5 2) (2 0 5) (2 5 0) (5 0 2) (5 2 0) (0 3 4) (0 4 3) (3 0 4) (3 4 0) (4 0 3) (4 3 0) (0 3 5) (0 5 3) (3 0 5) (3 5 0) (5 0 3) (5 3 0) (0 4 5) (0 5 4) (4 0 5) (4 5 0) (5 0 4) (5 4 0) (1 2 3) (1 3 2) (2 1 3) (2 3 1) (3 1 2) (3 2 1) (1 2 4) (1 4 2) (2 1 4) (2 4 1) (4 1 2) (4 2 1) (1 2 5) (1 5 2) (2 1 5) (2 5 1) (5 1 2) (5 2 1) (1 3 4) (1 4 3) (3 1 4) (3 4 1) (4 1 3) (4 3 1) (1 3 5) (1 5 3) (3 1 5) (3 5 1) (5 1 3) (5 3 1) (1 4 5) (1 5 4) (4 1 5) (4 5 1) (5 1 4) (5 4 1) (2 3 4) (2 4 3) (3 2 4) (3 4 2) (4 2 3) (4 3 2) (2 3 5) (2 5 3) (3 2 5) (3 5 2) (5 2 3) (5 3 2) (2 4 5) (2 5 4) (4 2 5) (4 5 2) (5 2 4) (5 4 2) (3 4 5) (3 5 4) (4 3 5) (4 5 3) (5 3 4) (5 4 3))
-
JulioHerrlein reacted to LdBeth in Combination without repeating elements
I guess it is because combinations like
(a3 b3 c3 b3) are acceptable but won't be available with combination
-
JulioHerrlein got a reaction from YiyangW in Editor Commands / customize shortcuts
Midi Entry provides some interesting ways to do some shortcuts like opening parenthesis, entering rhythms (t s e q h w) , etc.
-
JulioHerrlein reacted to o_e in error warning: Undeclared free variable
Thanks for you efforts of completely rewriting the function! This will serve me well as a model of how to use let*..!
-
JulioHerrlein reacted to opmo in Probable error in Trope 21
Done.
(trope-hexachord 21 :start 'e4) => ((e4 eb4 d4 g3b3cs4) (fs3bb3c4 f3a3 gs3)) (trope-hexachord 43 :start 'f4) => ((f4 fs4gs4bb4c5d5) (g4a4b4cs5eb5 e5))
-
JulioHerrlein reacted to opmo in Probable error in Trope 21
Thank you.
The fix will be part of the next update.
-
JulioHerrlein reacted to opmo in Function studies (Improviation No.1)
Function studies (Improviation No.1)
Some of function used in the study: logarithmic-spiral, ambitus-series, length-weight, length-legato, pitch-figurate...
The score will be part of the next update - "4. Score Examples/Piano/Improvisation No.1.opmo"
Best wishes,
Janusz
-
JulioHerrlein reacted to opmo in Ploting Graphs for 12 tone properties
Indeed.
The :remove-duplicates t is not needed here.
-
JulioHerrlein got a reaction from opmo in Ploting Graphs for 12 tone properties
(circle-pitch-plot '(9 10 0 3 4 6 5 7 8 11 1 2) :sort nil :remove-duplicates t :join-first nil :point-radius 6)
-
JulioHerrlein reacted to opmo in Snippet watermark
Not possible. It is part of the SeeScore licence.
-
JulioHerrlein reacted to opmo in Opusmodus 2.2.26603 (Update)
function-search
List of property types:
Operation:
analysis apply array call collect condition construct convert define display distribute evaluation filter find generate import initialize iterate map position print process reference result select test
Input:
array attribute binary cent chord clauses db decimal degree dictum element expression file float form function hertz hexachord instrument integer interval length linear list lists map midi msec name nil null number object omn pitch place radian random ratio row score sec section sequence set stream symbol test tick tonality tonality-form tuning values vector velocity voices
Output:
array articulation attribute binary cent chord data db decimal degree dynamic element external float form freq function graph group hertz index integer interval length linear list midi msec nil number object omn omn-form pitch plot radian ratio row score sec sequence test tick tuning values velocity voices
Intent:
above absolute accumulate add addition adjust alias align ambitus anacrusis analysis append apply array asc assemble assign atom attribute augmentation bar below between binary bind brownian build butlast cadr car cardinal cartesian case cellular cent centered change chord chordize class closest cluster collatz collect combination combine compile complement cond condition cons constant controller convert count create crossover cube curve db decf dechord decimal decode define delta demix density desc dictum difference diminution direction disassemble disjoin display dissolve divide division dynamic edit editor element envelope equal euclidean eval evaluation even everyother expand expansion factor fibonacci field figurate filter find fit flatten fragment function get goldbach group harmonics hertz hexachord highest import incf infinity insert instrument instrument-set integer interference interleave interval inversion invert iterate join klangreihen lambda last layer legato length letters library linear list live-coding lowest magic make mandelbrot map mapcar maplist marco markov matrix max melodize merge messiaen metronome micro midi min minus mix mod modify modus morph multiplication multiply mutate negative Noergaar noise normal normalize note nth nthcdr null number octave octaves odd offset omn omn-form order ornament palindrome pan parallel parameter partial path pattern pause pcs percent permute pick pitch plot plus polygon pop population position power-set preserve prime primes prob prog progn progression push pythagorean quantize quantum radian random range ratio read reduce reduction relation remove reorder repeat replace respell rest result retrograde reverse rewrite rhythm rotate round row sample sawtooth scale score section seed select send sequence series sets signature sine single-events size smooth sort sound-set span spiral square staccato step strawinski stream sub-plot subcomplex subdivision subseq substitute subtraction sum sums surround swallow swap symbol symmetric symmetry sync syncopate tempo tendency test text thread tie time time-signature timeline tonality tonnetz transform transition transpose tree triangle trim trope tuning tuplet ulam unfold-set unique unison variable variance variant variation vector velocity voice voices walk weight weight when zigzag
Category:
ambitus analysis array assemble attribute binary chord construct control convert definition distribute evaluation filter find fractal generate hexachord integer interval iterate length library map math midi mix number omn osc partial permutation pitch plot position predicate print probability quantization random row schillinger score section sequence series sieve signature sort span structure system text tonality transform tuning utilities variant vector velocity voice wave
This function returns a list of functions which satisfies the property test.
(function-search :input 'midi :output 'pitch) ..................................................... input: midi output: pitch midi-to-pitch .....................................................
To display the function document we place the mouse cursor on to the function name and press the control/tab keys.
Examples:
Here we search the category with filter properties:
(function-search :category 'filter) ..................................................... category: filter gen-filter-ambitus gen-filter-anacrusis gen-filter-change gen-filter-euclidean gen-filter-remove gen-filter-rnd filter-exclude filter-first filter-last filter-preserve filter-remove filter-repeat filter-tie .....................................................
This expression returns all functions with input float:
(function-search :input 'float) ..................................................... input: float random* float-to-ratio gen-controller gen-mutate-population gen-mutate prob? prob-map gen-tendency micro-quantize quantize rnd-centered rnd-round rnd-variance rnd rnd1 vector-multiply vector-offset vector-range vector-round vector-smooth vector-to-envelope vector-to-envelope2 gen-accent gen-cresc-dim gen-cresc gen-dim-cresc gen-dim .....................................................
More examples:
(function-search :input 'float :output 'velocity) ..................................................... input: float output: velocity gen-accent gen-cresc-dim gen-cresc gen-dim-cresc gen-dim .....................................................
(function-search :input 'float :output 'pitch) ..................................................... input: float output: pitch micro-quantize .....................................................
(function-search :operation 'generate :input 'float :output 'float) ..................................................... operation: generate input: float output: float random* gen-mutate gen-tendency rnd-centered rnd-round rnd-variance rnd rnd1 vector-offset vector-range vector-smooth vector-to-envelope vector-to-envelope2 gen-accent gen-cresc-dim gen-cresc gen-dim-cresc gen-dim .....................................................
(function-search :operation 'generate :output 'pitch) ..................................................... operation: generate output: pitch pitch-lsystem messiaen-permutation gen-cluster pitch-fragment pitch-repeat pitch-repeat2 pitch-repeat3 pitch-repeat4 harmonics rnd-form-set rnd-row klangreihen pcs-transpose pcs gen-trope trope-hexachord .....................................................
(function-search :input 'attribute) ..................................................... input: attribute disjoin-attributes join-attributes .....................................................
(function-search :operation 'test) ..................................................... operation: test ac-hexachordp attribute-symbolp chordp contain-attributep event-restp length-notep length-restp lengthp omn-formp pattern-matchp pitchp twelve-tone-segmentp twelve-tonep velocityp evenp minusp oddp plusp atom equal integerp listp null numberp ratiop symbolp osc-thread-alive? prob? .....................................................
(function-search :category 'chord) ..................................................... category: chord chord-inner-remove chord-interval-add chord-interval-remove chord-interval-replace chord-inversion chord-parallel-invert chord-pitch-unique chord-progression chord-variation chordize-list chordize create-chord dechord expand-chord-name expand-chord gen-chord-series gen-chord gen-chord2 gen-chord3 gen-cluster .....................................................
(function-search :intent 'ambitus) ..................................................... intent: ambitus ambitus-form gen-ambitus-series ambitus gen-binary-ambitus gen-filter-ambitus interval-ambitus .....................................................
(function-search :category 'structure) ..................................................... category: structure find-bar insert-bar remove-bar replace-bar split-lengths choralis gen-choralis assemble-voices counterpoint dictum-tempo gen-dictum make-dictum density-analysis density filter-density quantum gen-group gen-unison gen-pause micropolyphony polyphony do-section do-timeline do-timeline2 section-to-timeline timeline-to-section tonnetz-analysis tonnetz-structure tonnetz mclist .....................................................
Best wishes,
Janusz
-
JulioHerrlein reacted to opmo in Simple Tuplet Question
If possibile the system will use power of 2 values and not tuplets.
(/ 3/4 4) => 3/16
-
JulioHerrlein reacted to Deb76 in An analysis of proliferating series with the analysis tools of Opusmodus
It is certainly an iconoclastic analysis, but André's script to generate Jean Barraqué's proliferating series made me want to test several Anton Webern series in his script and see how they were modified, in particular at level of their intervallic structures. It is also an opportunity to test the graphical analysis tools offered by Opusmodus. And in particular in the various circular representations for the pitches. For the interval classes, I used the circle-rythm-plot function but that would deserve, in my opinion, a specific circular representation.
Sorry for my bad English.
Didier
ActuelJeanBarraqueExport.pdf
-
JulioHerrlein reacted to opmo in Opusmodus 2.2.26563
2.2.26563
– Additional Functionality:
COUNTERPOINT - additional dictum keyword :tonality
GEN-DICTUM - additional dictum keyword :tonality
Additional dictum symbol (=) - repeats last method, harmony or tonality values.
In this example we assign an variabile to a list of tonalities:
(setf tonality1 '((major :root 'a3 :map step :rotate 1 :variant 'i) (minor :root 'e4 :map step) (major :root 'd4 :map step :rotate 1 :variant 'ri) (minor :root 'fs4 :map step))) (counterpoint patterns '(((1 2 1 2) :methods (r - (ri dl5) (r dl2)) :tonality tonality1)))
Tonality defined to all voices:
((1 2 1 2) :methods (r - (ri dl5) (r dl2)) :tonality ((major :map step)))
Same as above with repeat symbol (=). The symbol (=) means repeat of the last tonality used:
((1 2 1 2) :methods (r - (ri dl5) (r dl2)) :tonality ((major :map step) = = =))
Assigning variables to a list of methods:
(setf m1 '((t5 1 3) (t12 r)) m2 '(t4 (i t12 tie)) m3 '((r d7) (t9 dl3))) (counterpoint patterns '(((1 2) :methods m1) ((2 2) :methods m2) ((2 1) :methods m3)))
-
JulioHerrlein got a reaction from opmo in Replace Stream - Amazing Tool !!!!
Dear Janusz,
Thanks for the explanation.
I found my way to use it !!!
Finally !!!
It will be VERY USEFUL (thanks a lot)
Here is my way to use it:
SCORE BEFORE RE-PITCH
;;; BEFORE REPITCH (progn (setf rv1 '((1/8) (1/8 3/4 1/8 1/8 3/4) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/4 1/16 -3/8 1/8 1/4 -1/8 1/8 1/2) (1/4) (1/8 1/2 1/8 1/4 1/12 1/12 1/12 3/16 1/4 1/16) (-3/8 1/8) (1/4 -1/8 1/8 3/4 1/8 1/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8) (1/4) (-1/8 1/8 1/2 1/4 1/8 1/2 1/8) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/8 3/8) (1/2) (1/8 3/8) (1/8) (1/8 3/4 1/8 1/8 3/4) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/4 1/16 -3/8 1/8 1/4 -1/8 1/8 1/2) (1/4) (1/8 1/2 1/8 1/4 1/12 1/12 1/12 3/16 1/4 1/16) (-3/8 1/8) (1/4 -1/8 1/8 3/4 1/8 1/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8) (1/4) (-1/8 1/8 1/2 1/4 1/8 1/2 1/8) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/8 3/8) (1/2) (1/8 3/8) (1/8) (1/8 3/4 1/8 1/8 3/4) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/4 1/16 -3/8 1/8 1/4 -1/8 1/8 1/2) (1/4) (1/8 1/2 1/8 1/4 1/12 1/12 1/12 3/16 1/4 1/16) (-3/8 1/8) (1/4 -1/8 1/8 3/4 1/8 1/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8) (1/4) (-1/8 1/8 1/2 1/4 1/8 1/2 1/8) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/8 3/8) (1/2) (1/8 3/8))) (setf rv2 '((-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8) (-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8) (-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8))) (setf rv3 '((-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8) (-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8) (-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8))) (setf rv4 '((-1/4 -1/4 -1/8 1/8) (1/4 -1/4 -1/4 -1/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4 1/8 3/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/2 1/8) (1/4) (-3/8 1/8 1/4 1/8 7/8) (1/4) (1/12 1/12 1/12 3/16 1/16 1/8 1/8 3/4) (-1/4 -1/8 1/8) (1/4 1/8 3/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/16 1/8 1/2 1/8 1/4 -3/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4) (-1/4 -1/4 -1/8 1/8) (1/4) (-1/4 -1/4) (-1/4 -1/4 -1/8 1/8) (1/4 -1/4 -1/4 -1/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4 1/8 3/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/2 1/8) (1/4) (-3/8 1/8 1/4 1/8 7/8) (1/4) (1/12 1/12 1/12 3/16 1/16 1/8 1/8 3/4) (-1/4 -1/8 1/8) (1/4 1/8 3/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/16 1/8 1/2 1/8 1/4 -3/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4) (-1/4 -1/4 -1/8 1/8) (1/4) (-1/4 -1/4) (-1/4 -1/4 -1/8 1/8) (1/4 -1/4 -1/4 -1/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4 1/8 3/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/2 1/8) (1/4) (-3/8 1/8 1/4 1/8 7/8) (1/4) (1/12 1/12 1/12 3/16 1/16 1/8 1/8 3/4) (-1/4 -1/8 1/8) (1/4 1/8 3/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/16 1/8 1/2 1/8 1/4 -3/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4) (-1/4 -1/4 -1/8 1/8) (1/4) (-1/4 -1/4))) (setf v1pit '(f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5)) (setf v2pit '(c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4)) (setf v3pit '(bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3)) (setf v4pit '(bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2)) (setf len-map1 '((e (stacc)) (s (ord)) (h (long)) (h. (long)) (w (long)))) (setf len-map2 '((e (list (rnd-pick '(mf f)))) (s (mf)) (e. (mf)) (h (p<f)) (h. (p<f)) (w (P<f>p))(wq (P<f>p))(wh (P<f>p))(wh. (P<f>p))(ww (P<f>p)))) (setf v1mat-a (make-omn :length rv1 :pitch (span rv1 v1pit) ;to gen-divide = 1 use v1dtc, instead of v1dtb :span :length :velocity (length-map len-map2 rv1 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv1 :otherwise '(ord) :repeat t))) (setf v2mat-a (make-omn :length rv2 :pitch (span rv2 v2pit) :span :length :velocity (length-map len-map2 rv2 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv2 :otherwise '(ord) :repeat t))) (setf v3mat-a (make-omn :length rv3 :pitch (span rv3 v3pit) :span :length :velocity (length-map len-map2 rv3 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv3 :otherwise '(ord) :repeat t))) (setf v4mat-a (make-omn :length rv4 :pitch (span rv4 v4pit) :span :length :velocity (length-map len-map2 rv4 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv4 :otherwise '(ord) :repeat t))) (ps 'gm :sq (list (pitch-transpose 0 (ambitus 'violin v1mat-a )) (pitch-transpose 0 (ambitus 'violin v2mat-a)) (pitch-transpose 0 (ambitus 'viola v3mat-a)) (pitch-transpose 0 (ambitus 'cello v4mat-a)) ) :key-signature 'atonal :time-signature '(4 4) ;:tempo 90 :flexible-clef nil :title "Quartet BEFORE RE-PITCH - JULIO HERRLEIN" :display :window) )
My solution is to use one distribute-stream per voice.
In this way, I can just put exactly what I want in each voice.
;;; QUARTET AFTER REPITCH PROCESS USING One instance of Distribute-Stream for each voice (progn (setf repitch1 '(f5 e5 d5 c5 f5 e5 d5 c5 f5 e5 d5 c5 f5 e5 d5 c5 f5 e5)) (setf repitch2 '(c4 cs4 d4 eb4 e4 f4 fs4 g4 gs4 a4 bb4 c5 cs5 d5 eb5 e5)) (setf repitch3 '(c4 b3 bb3 a3 gs3 g3 fs3 f3 e3 eb3 d3 cs3 c3 b2 bb2 a2)) (setf repitch4 '(cs2 g2 cs2 g2 cs2 g2 cs2 g2 cs2 g2 cs2 g2 cs2 g2 cs2 g2)) (setf v1-new (distribute-stream repitch1 (list v1mat-a))) (setf v2-new (distribute-stream repitch2 (list v2mat-a))) (setf v3-new (distribute-stream repitch3 (list v3mat-a))) (setf v4-new (distribute-stream repitch4 (list v4mat-a))) (setf in1 (make-omn :length v1mat-a :pitch (1~ v1-new))) (setf in2 (make-omn :length v2mat-a :pitch (1~ v2-new))) (setf in3 (make-omn :length v3mat-a :pitch (1~ v3-new))) (setf in4 (make-omn :length v4mat-a :pitch (1~ v4-new))) (ps 'gm :sq (list (pitch-transpose 0 (ambitus 'violin in1)) (pitch-transpose 0 (ambitus 'violin in2)) (pitch-transpose 0 (ambitus 'viola in3)) (pitch-transpose 0 (ambitus 'cello in4)) ) :key-signature 'atonal :time-signature '(4 4) ;:tempo 90 :flexible-clef nil :title "Quartet RE-PITCH - JULIO HERRLEIN" :display :window) )
All the best !!
Julio
-
JulioHerrlein got a reaction from Stephane Boussuge in Replace Stream - Amazing Tool !!!!
Dear Janusz,
Thanks for the explanation.
I found my way to use it !!!
Finally !!!
It will be VERY USEFUL (thanks a lot)
Here is my way to use it:
SCORE BEFORE RE-PITCH
;;; BEFORE REPITCH (progn (setf rv1 '((1/8) (1/8 3/4 1/8 1/8 3/4) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/4 1/16 -3/8 1/8 1/4 -1/8 1/8 1/2) (1/4) (1/8 1/2 1/8 1/4 1/12 1/12 1/12 3/16 1/4 1/16) (-3/8 1/8) (1/4 -1/8 1/8 3/4 1/8 1/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8) (1/4) (-1/8 1/8 1/2 1/4 1/8 1/2 1/8) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/8 3/8) (1/2) (1/8 3/8) (1/8) (1/8 3/4 1/8 1/8 3/4) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/4 1/16 -3/8 1/8 1/4 -1/8 1/8 1/2) (1/4) (1/8 1/2 1/8 1/4 1/12 1/12 1/12 3/16 1/4 1/16) (-3/8 1/8) (1/4 -1/8 1/8 3/4 1/8 1/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8) (1/4) (-1/8 1/8 1/2 1/4 1/8 1/2 1/8) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/8 3/8) (1/2) (1/8 3/8) (1/8) (1/8 3/4 1/8 1/8 3/4) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/4 1/16 -3/8 1/8 1/4 -1/8 1/8 1/2) (1/4) (1/8 1/2 1/8 1/4 1/12 1/12 1/12 3/16 1/4 1/16) (-3/8 1/8) (1/4 -1/8 1/8 3/4 1/8 1/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8) (1/4) (-1/8 1/8 1/2 1/4 1/8 1/2 1/8) (1/4) (1/12 1/12 1/12 3/16 1/4 1/16 -3/8 1/8 1/4 -1/8 1/8) (3/4) (1/8 1/8 1/2 1/8 3/8) (1/2) (1/8 3/8))) (setf rv2 '((-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8) (-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8) (-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8))) (setf rv3 '((-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8) (-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8) (-1/4 -1/8 1/8) (1/2 -1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/8 1/8 1/4) (1/2) (-1/2 -1/8 1/8 1/4 1/12 1/12 1/12 3/16 1/16) (1/4) (-1/8 1/8 1/2 -1/8 1/8 3/4) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/4 1/16 -1/8 1/8) (1/2) (-1/8 1/8 1/4 1/2) (-1/2 -1/8 1/8) (1/4 1/12 1/12 1/12 3/16 1/16 1/4 -1/8 1/8 1/2) (-1/8 1/8) (3/4 -1/2 -1/8 1/8 1/4) (1/12) (1/12 1/12 3/16 1/4 1/16 -1/8 1/8 1/2 -1/4 -1/8 1/8) (1/2) (-1/4 -1/8 1/8))) (setf rv4 '((-1/4 -1/4 -1/8 1/8) (1/4 -1/4 -1/4 -1/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4 1/8 3/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/2 1/8) (1/4) (-3/8 1/8 1/4 1/8 7/8) (1/4) (1/12 1/12 1/12 3/16 1/16 1/8 1/8 3/4) (-1/4 -1/8 1/8) (1/4 1/8 3/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/16 1/8 1/2 1/8 1/4 -3/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4) (-1/4 -1/4 -1/8 1/8) (1/4) (-1/4 -1/4) (-1/4 -1/4 -1/8 1/8) (1/4 -1/4 -1/4 -1/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4 1/8 3/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/2 1/8) (1/4) (-3/8 1/8 1/4 1/8 7/8) (1/4) (1/12 1/12 1/12 3/16 1/16 1/8 1/8 3/4) (-1/4 -1/8 1/8) (1/4 1/8 3/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/16 1/8 1/2 1/8 1/4 -3/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4) (-1/4 -1/4 -1/8 1/8) (1/4) (-1/4 -1/4) (-1/4 -1/4 -1/8 1/8) (1/4 -1/4 -1/4 -1/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4 1/8 3/8) (1/2) (1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/2 1/8) (1/4) (-3/8 1/8 1/4 1/8 7/8) (1/4) (1/12 1/12 1/12 3/16 1/16 1/8 1/8 3/4) (-1/4 -1/8 1/8) (1/4 1/8 3/8 1/2 1/4 1/12 1/12 1/12) (3/16) (1/16 1/8 1/2 1/8 1/4 -3/8 1/8 1/4) (1/8) (7/8 1/4 1/12 1/12 1/12 3/16 1/16 1/8 1/8) (3/4) (-1/4 -1/8 1/8 1/4) (-1/4 -1/4 -1/8 1/8) (1/4) (-1/4 -1/4))) (setf v1pit '(f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5 e5 f5)) (setf v2pit '(c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4)) (setf v3pit '(bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3 bb3 gs3)) (setf v4pit '(bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2 bb2 eb2)) (setf len-map1 '((e (stacc)) (s (ord)) (h (long)) (h. (long)) (w (long)))) (setf len-map2 '((e (list (rnd-pick '(mf f)))) (s (mf)) (e. (mf)) (h (p<f)) (h. (p<f)) (w (P<f>p))(wq (P<f>p))(wh (P<f>p))(wh. (P<f>p))(ww (P<f>p)))) (setf v1mat-a (make-omn :length rv1 :pitch (span rv1 v1pit) ;to gen-divide = 1 use v1dtc, instead of v1dtb :span :length :velocity (length-map len-map2 rv1 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv1 :otherwise '(ord) :repeat t))) (setf v2mat-a (make-omn :length rv2 :pitch (span rv2 v2pit) :span :length :velocity (length-map len-map2 rv2 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv2 :otherwise '(ord) :repeat t))) (setf v3mat-a (make-omn :length rv3 :pitch (span rv3 v3pit) :span :length :velocity (length-map len-map2 rv3 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv3 :otherwise '(ord) :repeat t))) (setf v4mat-a (make-omn :length rv4 :pitch (span rv4 v4pit) :span :length :velocity (length-map len-map2 rv4 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv4 :otherwise '(ord) :repeat t))) (ps 'gm :sq (list (pitch-transpose 0 (ambitus 'violin v1mat-a )) (pitch-transpose 0 (ambitus 'violin v2mat-a)) (pitch-transpose 0 (ambitus 'viola v3mat-a)) (pitch-transpose 0 (ambitus 'cello v4mat-a)) ) :key-signature 'atonal :time-signature '(4 4) ;:tempo 90 :flexible-clef nil :title "Quartet BEFORE RE-PITCH - JULIO HERRLEIN" :display :window) )
My solution is to use one distribute-stream per voice.
In this way, I can just put exactly what I want in each voice.
;;; QUARTET AFTER REPITCH PROCESS USING One instance of Distribute-Stream for each voice (progn (setf repitch1 '(f5 e5 d5 c5 f5 e5 d5 c5 f5 e5 d5 c5 f5 e5 d5 c5 f5 e5)) (setf repitch2 '(c4 cs4 d4 eb4 e4 f4 fs4 g4 gs4 a4 bb4 c5 cs5 d5 eb5 e5)) (setf repitch3 '(c4 b3 bb3 a3 gs3 g3 fs3 f3 e3 eb3 d3 cs3 c3 b2 bb2 a2)) (setf repitch4 '(cs2 g2 cs2 g2 cs2 g2 cs2 g2 cs2 g2 cs2 g2 cs2 g2 cs2 g2)) (setf v1-new (distribute-stream repitch1 (list v1mat-a))) (setf v2-new (distribute-stream repitch2 (list v2mat-a))) (setf v3-new (distribute-stream repitch3 (list v3mat-a))) (setf v4-new (distribute-stream repitch4 (list v4mat-a))) (setf in1 (make-omn :length v1mat-a :pitch (1~ v1-new))) (setf in2 (make-omn :length v2mat-a :pitch (1~ v2-new))) (setf in3 (make-omn :length v3mat-a :pitch (1~ v3-new))) (setf in4 (make-omn :length v4mat-a :pitch (1~ v4-new))) (ps 'gm :sq (list (pitch-transpose 0 (ambitus 'violin in1)) (pitch-transpose 0 (ambitus 'violin in2)) (pitch-transpose 0 (ambitus 'viola in3)) (pitch-transpose 0 (ambitus 'cello in4)) ) :key-signature 'atonal :time-signature '(4 4) ;:tempo 90 :flexible-clef nil :title "Quartet RE-PITCH - JULIO HERRLEIN" :display :window) )
All the best !!
Julio
-
JulioHerrlein reacted to opmo in Replace Stream - Amazing Tool !!!!
Nothing to do with calculation or lengths or any of that sort. 🙂
Doing any other way the harmonic work is lost.
The voices delta time is of essence.
The vertical distribution is very useful in "class composition" (number of scores base on structural template) where your harmonic stream is set and you test it with many possibile scores. Everything in the scores stays as it is: velocity, articulation and duration and only the pitch stream (one by one) will be distributed to all voices.
The simplest way to understand the function is to think of music analysis.
-
JulioHerrlein reacted to opmo in Replace Stream - Amazing Tool !!!!
Harmonic voice distribution is vertical (stream).
If you wish to apply a series of pitches to voices (instruments) just get count of the lengths form each of the voice and divide the pitch series accordingly - very simple.