Posts posted by JulioHerrlein
-
-
Hello, All
I'm trying to work out André's solution examples to make partitions out of tone rows or infinity series
(setf lengths '(1/2 1/16 7/16 1/8 3/8 3/16 5/16 1/4 1/4 5/16 3/16))
(setf pitches '(g4 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 fs4 a4 g4 gs4 a4 fs4 e4 b4 g4 gs4 fs4 a4 gs4 g4 f4 bb4 a4 fs4 e4 b4 fs4 a4 g4 gs4 e4 b4 a4 fs4 b4 e4 d4 cs5 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 g4 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 f4 bb4 gs4 g4));;; get the pitches
(setf pitsublist (loop for i in (append (list 0) (cumulative-sums (loop for k in lengths collect (/ k 1/16)))) collect (nth i pitches)); All ok but what I need next is to take the nth order sublist generated in André's solution to chordize it in partitions ala Babbitt.
chordize (gen-divide '(2 1 3) '(pitsublist) chordize-list (gen-divide '(2 1 3) '(pitsublist))))
Any hint ?
Thanks a lot !
-
-
Dear Torsten,
Thanks a lot. This music21 is cool, really.
I´m doing the job with this, for a while, since I have to conclude my doctoral dissertation.
Best,
Julio
-
Dear All,
I´m looking for some way of retrieving musical information from sets of notes.
Some problems, for example:
1) This is the first and more needed now:
Given some UNORDERED amount of pitches, how retrive the prime
form and/or Forte Number.
2) How to do this from an existing midi file or XML ? Is t possible to
retrive the forte number of every "n" notes of the pitch collection (melody or chord)?
3) Can you circunscribe some notes for analysis in a large file ?
Thanks, everyone !
Best,
Julio
-
-
-
-
Hello, Friends !
I'm using the code below to generate combinations of rhythm in 12/8 time signature.
I'd like to have my XML with correct beaming of the notes, related to the most common
interpretation of a 12/8 time signature, i. e., beaming every 3 8th notes.
Instead, I'm getting it more beamed like a 6/4 time signature:

Is there some form of force the right beaming?
All the best !
Please help this doctorate student !
Julio
(setf some-pitches (integer-to-pitch (gen-integer-step 7 145 '(0))))
(setf some-lengths (span some-pitches '(e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e e -e -e -e -e -e -e -e -e -e e e e e -e -e -e -e -e -e -e -e -e e -e - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - - = = = = = = = = = - - - - = = = = = = = = = -)))
;(setf some-division '(12))
;(setf length-div (gen-divide some-division some-lengths))
(setf time-sig '(12 8))
(def-score time
(
:key-signature 'chromatic
:time-signature time-sig
:tempo 112
:layout (clarinet-layout 'clarinet)
)(clarinet
:length length-div
:pitch some-pitches
:channel 1
:sound 'gm
:program 'clarinet
)) -
-
-
Thanks a lot, Stephane ! This is great ! And thank you for
showing me more functions.
However, there some issues: how to control to get a 12/8 instead of a 6/4?
Or: how to get always a time signature with x/8 ? Or always
with a X/4, or mix them ?
In the example you provide, a 12 generates a 6/4 instead of a 12/8.
I changed the code a little:
(setf some-pitches (integer-to-pitch (gen-integer-step 7 480 '(0))))
;>>> here, because I want to stay in the same note g4
(setf lengths (span some-pitches '(q q e q q q e)));>>> here, because I want this specific rhythm, not random sample
(setf some-division '(21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3));here, there's that problem of 6/4 versus 12/8 and one more problem occurred because OM stop changing the timesignature after the number 14 (xml attached) I don't know why.
(setf length-div (gen-divide some-division some-lengths))
(setf time-sig (get-time-signature length-div))
(def-score time
(
:key-signature 'chromatic
:time-signature time-sig
:tempo 112
:layout (clarinet-layout 'clarinet)
)(clarinet
:length lengths
:pitch some-pitches
:channel 1
:sound 'gm
:program 'clarinet
))Best !!
Julio
-
This is even more simple:
(setf pitches '((g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 HERE COMES THE Pitch List :type :pitch)))
(setf lengths (span pitches '(e -e -e -e HERE COMES THE Rhythm pattern list - same size or less than the pitches)))
(def-score Stage-1
(:key-signature 'chromatic
:time-signature '(4 4) '(1 8) >>>>>>>> Here is the problem: How to span the content through different Time Signatures using the same rhythm list and pitches ?
:tempo 80
:layout (treble-layout 'piano-rh))
(piano-rh
:length lengths
:pitch pitches
:channel 1
:sound 'gm
:program 'clarinet)
) -
Hello, friends !
I'm trying to make some rhythm patterns and I'd like to use the same pattern
changing just the time signature order/or sequence.
For example, assuming an 8th note as the number 1.
2 2 1 2 2 2 1 (african bembé rhythm) as a pattern.
This pattern could match in a 12/8 time signature or also
in a 3/4 time signature. This is ok, no problem.
But what if I like to span it as a 10/8 + 2/8 or 9/8 + 3/8
or 7/8 + 5/8 or in a sequence like 3/8 + 2/8 + 4/8 + 3/8 always
repeating the time signature sequences until have al the notes
spanned ?
Thanks for help !
Best !
Julio
This works for me with ONE time signature only. I need the same
stuff with a SEQUENCE of time signatures.
(setf padrao '((0 1 2 3))) (setf pitches '((g4 g4 g4 g4 HERE COME THE PITCH LIST, padrao :type :pitch))) (setf lengths (span pitches '(e e -e e HERE COMES THE Rhythm pattern list - same size or less than the pitches))) (setf text (span pitches padrao)) (def-score Stage-1 (:key-signature 'chromatic :time-signature '(4 4) :tempo 80 :layout (treble-layout 'piano-rh)) (piano-rh :length lengths :pitch pitches ;text text :channel 1 :sound 'gm :program 'clarinet) )
-
-
-
-
Dear Friends,
Is there some function that deals with finding the shortest path between,
for example, a trichord "a" to a trichord "b" ?
In general, how to find the shortest path from a collection of notes (i.e. a chord) "a" to a collection
of notes "b" (both in the same cardinality) ?
Thanks in advance !
Best !
Julio
-
-
Dear Friends,
Is there some tutorial covering the basic rhythm notation
coding, showing how to write the basic code for
tuplets, beaming, ties, etc ?
For example, here in Lilypond there are a very detailed manual on rhythm coding.
http://lilypond.org/doc/v2.18/Documentation/notation/writing-rhythms
Is there something similar in Opusmodus ?
I´m working in a kind translation of Puredata to Opusmodus, so I need the syntax.
Thanks,
Julio
Help with combining lists
in Support & Troubleshooting
Dear Janusz,
This is the closest I get. I suppose it isn't related to Time-point.
I'll try to explain.
1) There is a general list of pitches from a certain source (a row, for example)
2) From this list, we use the rhythm list as a skip list of pitches, picking the notes from a sequence.
3) The sequence of note picks is related to the lenght of note divided by the small quantized value, for example, the 16th note.
4) So, the lenght sequence
(1/2 1/16 7/16 1/8 3/8 3/16 5/16 1/4 1/4 5/16 3/16))
Will result in a pick skip note sequence like (8, 1, 7, 2, 6, 3, 5, 4, 4, 5, 3)
5) The pick-skip note acts like
8 - means pick the first and skip 7 from the first list of pitches
1 - means pick the first and skip 0 from the first list of pitches
7 - means pick the first and skip 6 from the first list of pitches
and so on...
This will result in a sublist of first list of pitches, based on the skipped notes, taken every nth notes.
according to the sequence.
5) The missed step is that I want to chordize this sublist to an desired HARMONIC partition, like
for example 2 trichords, 1 dyad, 3 single notes and a tetrachord, using something like this:
(chordize (gen-divide '(3 3 2 1 1 1 4) 'pitches sublist))
Here is the closer I get.
Best,
Julio
(setf lengths '(1/2 1/16 7/16 1/8 3/8 3/16 5/16 1/4 1/4 5/16 3/16))
(setf pitches '(g5 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 fs4 a4 g4 gs4 a4 fs4 e4 b4 g4 gs4 fs4 a4 gs4 g4 f4 bb4 a4 fs4 e4 b4 fs4 a4 g4 gs4 e4 b4 a4 fs4 b4 e4 d4 cs5 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 g4 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 f4 bb4 gs4 g4))
(def-score time
(
:key-signature 'chromatic
:time-signature time-sig
:tempo 112
:layout (clarinet-layout 'clarinet)
)
(clarinet
:length lengths
:pitch (loop for i in (append (list 0) (cumulative-sums (loop for k in lengths
collect (/ k 1/16))))
collect (nth i pitches))
:channel 1
:sound 'gm
:program 'piano
))