-
Posts
848 -
Joined
-
Last visited
Content Type
Forums
Events
Store
Video Gallery
Everything posted by JulioHerrlein
-
Dear Janusz and Friends, ;; I have a question about dictum and its relation with making revisions, like trying to improve the scores for better readability for real musicians. I will demonstrate with a kind of notation I use a lot in my writing. Let´s start with a motif spread through some bars. (setf time-signatures '((2 4 1) (2 4 1) (4 4 1) (2 4 1))) (omn-to-time-signature (gen-repeat 5 '(-e cs6 stacc h. c6 p<f>p long -q)) time-signatures) ;; I use the notation below (the omn result from the expression above) just to keep track of what I´m doing but... ((-e cs6 mf stacc q c6 p<f>p tie+long) (h c6) (-q -e cs6 mf stacc h c6 p<f>p tie+long) (q c6 -) (-e cs6 mf stacc q c6 p<f>p tie+long) (h c6) (-q -e cs6 mf stacc) (h c6 p<f>p tie+long) (q c6 -) (-e cs6 mf stacc q c6 p<f>p tie+long) (h c6) (-q)) ;; for the final writing, I have to rewrite it again in this way, in order to be correctly read and played ((-e cs6 mf stacc q c6 p< tie+long) (q f> tie q p) (-q -e cs6 mf stacc q c6 p< tie+long q f> tie) (q c6 p -) (-e cs6 mf stacc q c6 p< tie+long) (q c6 f> tie q p) (-q -e cs6 mf stacc) (q c6 p< tie q f> tie+long) (q c6 p -) (-e cs6 mf stacc q c6 p< tie+long) (q c6 f> tie q p) (-q)) ;; But, since there are many different ways to express the same length situation, it´s difficult to find a condition to put in the dictum expression to make the substitutions. Doing manually is painful both in Opusmodus or in the notation software. It´s a kind of boring stuff that we have to do as composers. (omn :length '((-e cs6 mf stacc q c6 p<f>p tie+long) (h c6) (-q -e cs6 mf stacc h c6 p<f>p tie+long) (q c6 -) (-e cs6 mf stacc q c6 p<f>p tie+long) (h c6) (-q -e cs6 mf stacc) (h c6 p<f>p tie+long) (q c6 -) (-e cs6 mf stacc q c6 p<f>p tie+long) (h c6) (-q))) ((-1/8 1/8 1/4) (1/2) (-1/4 -1/8 1/8 1/2) (1/4 -1/4) (-1/8 1/8 1/4) (1/2) (-1/4 -1/8 1/8) (1/2) (1/4 -1/4) (-1/8 1/8 1/4) (1/2) (-1/4)) ;;when extracting the length information from the omn phrase, the tie is not present as length. And in this case, maybe a good idea would be to have a kind of "tie2" attribute, only for the cases where the tie is functioning as a duration, and not as an expressive or articulation tie. I think the the tie as a duration should be translated in length value, because essentially this is the meaning of the tie when connecting the same two notes. ;; As the number of notes is altered when using the tie, the distribute-stream processes are also altered. We have to make the manual adjustments and also calculate the new streams of notes considering the repetitions of notes that must occur in the case of durational ties. ;; So, that is my questions concerning the power of Dictum to make revision that could be useful to prepare a score for a definitive and readable form. Looking forward to your ideas and suggestions. All the best ! Julio
-
Bravo !! Great ! I will have a dedicated computer just to test Opusmodus in Windows !
-
Dear Janusz, This will be in the next update ? Best, Julio
-
This is great for motivic development and variation. Best !
-
Interesting... Maybe Janusz will chime up with some solution. Worked for me at that particular occasion. Best !
-
How about this ?
-
Thanks for the observation, Ole ! Best ! Julio
-
Thanks, Stephane ! Ole, I think that the right way to code my previous example is like this: ((q b4 p leg fs5 < leg e3 < leg a5 <) (e e5 < stacc b5 < stacc c4 mf stacc) (q g5 mf leg a4 leg eb3 leg d4) (e c6 ff stacc b5 stacc a4 stacc) (e c5 > stacc eb5 > stacc gs4 > stacc) (q b4 mf leg f5 leg f5 leg fs5 leg gs5 leg a5) (e cs4 pp g4 < c6 <) (e gs5 fff fermata)) If I put the pp and the < crescendo side by side, we get two C# s. The right way is to put the crescendo for "being carried" by the next g4 note. Looks like each note can carry only one velocity attribute at a time. Best, Julio
-
I´m studying the Dictum function. For example, this: (setf omn4 '((e b4 fs5 e3 a5) (e e5 b5 c4) (e g5 a4 eb3 d4) (e c6 b5 a4) (e c5 eb5 gs4) (e b4 f5 f5 fs5 gs5 a5) (e cs4 g4 c6) (e gs5))) (dictum '((:butlast leg :bar (1 3 6)) (:apply stacc :bar (2 4 5)) (:any e :apply q :bar (1 3 6)) (:first p :bar 1) (:apply < :bar 1 :event 2) (:apply ff :bar 4) (:apply > :bar 5) (:apply < :bar 7..8) (:apply fff :bar 8) (:last fermata :bar 8)) omn4) ;give me this as result ((q b4 p leg fs5 < leg e3 mf leg a5) (e e5 mf stacc b5 stacc c4 stacc) (q g5 mf leg a4 leg eb3 leg d4) (e c6 ff stacc b5 stacc a4 stacc) (e c5 > stacc eb5 > stacc gs4 > stacc) (q b4 mf leg f5 leg f5 leg fs5 leg gs5 leg a5) (e cs4 < g4 < c6 <) (e gs5 fff fermata)) How to get this result ? ((q b4 p leg fs5 < leg e3 < leg a5 <) (e e5 < stacc b5 < stacc c4 mf stacc) (q g5 mf leg a4 leg eb3 leg d4) (e c6 ff stacc b5 stacc a4 stacc) (e c5 > stacc eb5 > stacc gs4 > stacc) (q b4 mf leg f5 leg f5 leg fs5 leg gs5 leg a5) (e cs4 pp < g4 < c6 <) (e gs5 fff fermata)) Very nice function! Thanks ! Julio
-
How to retrieve parts from the 12-tone matrix
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
Thanks a lot ! I also used the array in another application. Nice way to use it in the 12-tone matrix. Best ! Julio -
How to retrieve parts from the 12-tone matrix
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
FOUND IT !!! (get-form-set '(0 4 9 10 5 3 8 7 1 2 11 6) 'r7) -
How to retrieve parts from the 12-tone matrix
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
For example: How to combine from the matrix P0 - second hexachord (F# E G F A G#) with RI5 - first hexachord (D# D F# E G F) Or any hexachordal combination from the matrix (even if it does not form an agregate...) Best, Julio -
Dear friends, There is a function to make the 12-tone matrix (twelve-tone-matrix '(3 11 10 2 1 0 6 4 7 5 9 8)) I 0 8 7 11 10 9 3 1 4 2 6 5 0 3 11 10 2 1 0 6 4 7 5 9 8 4 7 3 2 6 5 4 10 8 11 9 1 0 5 8 4 3 7 6 5 11 9 0 10 2 1 1 4 0 11 3 2 1 7 5 8 6 10 9 2 5 1 0 4 3 2 8 6 9 7 11 10 P 3 6 2 1 5 4 3 9 7 10 8 0 11 R 9 0 8 7 11 10 9 3 1 4 2 6 5 11 2 10 9 1 0 11 5 3 6 4 8 7 8 11 7 6 10 9 8 2 0 3 1 5 4 10 1 9 8 0 11 10 4 2 5 3 7 6 6 9 5 4 8 7 6 0 10 1 11 3 2 7 10 6 5 9 8 7 1 11 2 0 4 3 RI The function returns the 48 form matrix of the original 12-tone row. Questions: 1) How can I get some excerpts from the Matrix ? 2) For example, if I want to make a combinatoriality between two hexachords of the matrix, like, for example, the first hexachord of P-0 (3 11 10 2 1 0) + the second hexachord of RI-8 (3 2 6 4 7 5) how can I retrieve the values from the matrix ? Is there some keyword ? Whth this retrieving possibility, the matrix can be very useful for composition. Best ! Julio
-
Thanks a lot, MIlton ! I´m very happy to see your comment ! Actually, a lot of interesting rhythmic timelines are beyond the 12 units. In indian music there are very long cyclic rhythms and in popular music, the 16 n is very widespread, including the popular drum machines step sequencers. But for the purpose of having a complete set of combinations, any number beyond 12 is too big, generating too much material to make a typology. Maybe in a larger cardinality we can talk about tendencies and not an specific typology. Opusmodus can deal with it, also. Janusz programed a special function based in my dissertation, called pcs-rhythm. It´s well exemplified in the documentation. Here is the forum thread that give birth to the function. All the best and thanks for your kind words ! Julio
- 10 replies
-
- rhythm
- set theory
-
(and 3 more)
Tagged with:
-
Lovely idea ! Eduardo Reck Miranda was born in my city, Porto Alegre / Brasil ! Best ! https://www.exxoshost.co.uk/atari/mirror/myatari/issues/jul2002/camus.htm
-
trim-to-time-signature function ?
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
Thanks, Stephane I was working around with something like this: (setf mat1 (gen-repeat 2 '((s b4 mf gs3 cs4 fs4) (s a4 mf g3 c4 d4) (s bb4 mf f3 c4 eb4) (s f4 mf d3 g3 c4) (s eb4 mf bb2 gs3 cs4) (s d4 mf a2 e3 g3) (s b3 mf a2 e3 fs3) (s g3 mf c3 d4 a4)))) (setf v1 (gen-trim 3 (omn-to-time-signature (pitch-transpose 12 (list mat1)) '(3 4))) Best !! I´ll try length-span -
Dear All, Is there a function to align generated materials to fit in a same space, for example aligning / spanning / trimming 3 voices to fit in a space of, 4 3/4 measures. I know that there are some/many functions related to it, but there are some specific trim-to-time-signature function ? Best, Julio
-
I agree ! It would be nice to have a dedicated function for set operations with lists of any nature. There are set theory functions for dealing with pitch class sets, like (pcs-super-sets 4 (pcs '3-1) :forte) and (pcs-sub-sets 4 (pcs '7-35) :forte) Check the Filters / Processing functions. There are many ways to filter things. Some are related do the idea of sets. best !
-
Dear Cliff, Welcome ! Hope you can solve the problem. You can also set Reaper to do the stuff. All the best ! Julio
-
Cliff, Maybe this giant chord stuff can be a kind of internal midi loop feedback between output and input midi ports. Check the I/O midi configuration in Cubase. Alternatively, you can export MIDI and open in Cubase. I use my libraries inside REAPER daw with using four different midi ports from Opusmodus with no problem at all. I also configured each one of my instruments in a customized port/ midi channel from Opusmodus. I send midi information from OSX to a windows machine via RTP midi (midi via wifi). In the windows machine there are my sounds and Reaper. The OSX is only for Opusmodus. Actually the OSX is a virtual machine, it´s all on the same hardware PC. Best, Julio
-
Congrats, Janusz ! Sounds great
-
Andre, you can set a custom instrument, using piano grand-layout (this layout don´t need two lists).
-
Dear André, Here is a project I did some years ago, with PD and Lilypond. Kind of realtime converter of beats to rhythmic notation.
-
It´s also possible (using MAX or Pure Data) to convert audio impulses to length values using a value in milliseconds as reference for beats and then convert the results to OMN syntax. Nice Solution, Andre !
-
I don´t know if I got the whole idea but you can send a bunch of midi notes from any DAW to Opusmodus using a virtual midi cable. Record whatever you like onto reaper, logic, ableton live, etc and set a virtual midi output port to Opusmodus. You can send this midi notes at 3x the speed of original tempo if you like. The length information can be obtained only by import midi, however. Best, Julio It´s a sort of "mechamical solution" but I like it