-
Posts
848 -
Joined
-
Last visited
Content Type
Forums
Events
Store
Video Gallery
Everything posted by JulioHerrlein
-
Dear all Is there some way to make a processing of accidentals in the make-omn expression or even later, in the PS expression ? Something like: bar #1 all sharps bar#2 all flats etc. I noticed that after many sucessive list processing, my original notes were altered. Thanks ! Best ! Julio
- 7 replies
-
- enharmonics
- flats
-
(and 2 more)
Tagged with:
-
harmonics for equal tempered tunings / guitar // sorting single-events?
JulioHerrlein replied to AM's topic in OMN Lingo
Amazing, beautiful and advanced score, André !! The piece I´m working now is almost entirely done inside Opusmodus. Finding my way, now ! Julio -
harmonics for equal tempered tunings / guitar // sorting single-events?
JulioHerrlein replied to AM's topic in OMN Lingo
There is a lot of automatic stuff in Finale, by the way. Some macros that helps a lot when finishing stuff. I like to: 1) make enharmonic stuff in Musescore 2) the engraving and dynamics in Finale, because of this automatization process plugins. like this: https://www.scoringnotes.com/tutorials/using-jw-changes-sequence-editor-in-finale-to-automate-tasks/ FREE VERSIONS OF JW PLUGINS Download WWW.FINALETIPS.NU Tips, plug-ins, and other resources for the Finale music notation software. Download WWW.FINALETIPS.NU Tips, plug-ins, and other resources for the Finale music notation software. -
video Petite suite Partie 4/6
JulioHerrlein replied to Stephane Boussuge's topic in Made In Opusmodus
Congrats, Stephane !! Are you finishing the things in Staffpad ? It´s an Ipad ? Do you like Staffpad workflow ? Best ! -
harmonics for equal tempered tunings / guitar // sorting single-events?
JulioHerrlein replied to AM's topic in OMN Lingo
Dear André ! Sometimes the hand is faster. But maybe you could just do a simple substitute-map to change "playback" notes to "reading performance" notes and just copy/paste in the files... Just a guess. Best ! -
harmonics for equal tempered tunings / guitar // sorting single-events?
JulioHerrlein replied to AM's topic in OMN Lingo
This is related to locations in the fingerboard (TAB) in a 24-fret neck in standard tuning. -
harmonics for equal tempered tunings / guitar // sorting single-events?
JulioHerrlein replied to AM's topic in OMN Lingo
THE GUITAR AS A MATRIX Here is a MIDI Chart I did like 20 years ago... For example, MIDI note #76 appears in all strings (in a 24-fret guitar, for example). There is a color code: 1) BLUE NOTES: Appear just in one location in the TAB. 2) BLACK NOTES: Appear in two locations in the TAB. 3) GREEN NOTES: Appear in 3 locations in the TAB. 4) 2) BLACK NOTES (BIG FONT): Appear in 4 locations in the TAB. 5) 2) PINK NOTES: Appear in 5 locations in the TAB. 6) RED NOTE: Appear in 6 locations (in the case of 24-fret guitars) or 5 times (in the case of 20, 21 or 22-fret guitars). Hope it helps to find a solution. If you are using a different Scordatura, you must build a custom table like that for the specific tuning and maybe a table for the harmonic locations. -
harmonics for equal tempered tunings / guitar // sorting single-events?
JulioHerrlein replied to AM's topic in OMN Lingo
Dear André ! This is much better. I have some imagination But I´d like to know exactly your idea. Do you have a score for playing and another for reading (for the musicians) ? This is what I get from the conversation. And you need to convert the harmonics notes played by sampler into readable material ? All the best ! Julio -
harmonics for equal tempered tunings / guitar // sorting single-events?
JulioHerrlein replied to AM's topic in OMN Lingo
Oh, André ! I´m very bad at programming.... Sorry But I´m happy you mentioned me ! Best -
Dear Janusz, This is great ! Thank you ! This is better ! (setf pitchlist '((c4 d4 e4 f4) (cs4 ds4 as4 fs4) (bb4 eb4 ab4))) (setf rhy (gen-repeat 5 '((q e e) (-s s) (s) (s e e) (e e) (e e_h)))) (setf map '((x x x) (x) nil (x) (x x x) (x x) (x x))) (span rhy pitchlist :swallow t) => ((c4 d4 e4) (ds4) (bb4) (c4 d4 e4) (cs4 ds4) (bb4 eb4)) (span map pitchlist :swallow t) => ((c4 d4 e4) (cs4) nil (c4) (cs4 ds4 as4) (bb4 eb4) (c4 d4)) (make-omn :length rhy :pitch (span rhy (span map pitchlist :swallow t)) :span :length) You can keep the span process, using a nested span, like the above. The perfect solution would be a way of extracting the map forms for each individual pitch list and also (the most wanted) a way of skipping a list. We have 3 lists (just for the sake of debugging) : 1) natural note list (c4 d4 e4 f4) 2) sharp note list (cs4 ds4 as4 fs4) 3) flat note list (bb4 eb4 ab4) In this NIL map model, how to skip completely the sharp list, for example ? Best ! Thank you
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
The "manual workaround" works great, I just need to organize my list of pitches before the span process, according to the purpose of use and rhythm list. 1) Lists of pitches to be used as repeated rhythm attacks (1-element lists) 2) Lists to be used as melodic movement (n-elements lists, usually 16 elements) These decisions are more musical and individual to each part of the musical texture, so there is no way to make it as an automated process. The idea of "special character" was just a way to make it easier and flexible, allowing to just skip over a bunch of lists. But in either way, the pre-compositional organization is necessary. Best, Julio
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
Thank you Janusz, It could be nice to include this as a new standard functions in a future upgrade. In the meanwhile, I´ll try to learn some coding with map function, or possibly keep composing with my "manual" workaround. All the best ! Julio
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
Yes, André ! Thank you for encouragement and precious information. Someday I´ll study LISP seriously... By the way, do you think that this idea of transforming the span function is possible with a customized code ? Like indexing the lists (in a "master" list) and using a special character to skip back and forth the items of a "slave" list, like this "span-index" function ? ;;; HIPOTHESIS (setf pitchlist '((c4 d4 e4 f4)(cs4 ds4 as4 fs4)(bb4 eb4 ab4))) (setf rhy '((q e e)(-s s)(%1)(s)(s e e)(e e)(%3)(e e_h)(%2)(q))) (make-omn :length rhy :pitch (span-index rhy pitchlist) :span :length) '(4 4)) > ((q c4 e d4 e e4)(-s s cs4) (c4) (s cs4 e ds4 e as4)(e bb4 eb4)(e bb4 e_h eb4)(q cs4)) Or at least this, where the % works for skipping ? (setf pitchlist '((c4 d4 e4 f4)(cs4 ds4 as4 fs4)(bb4 eb4 ab4))) (setf rhy '((q e e)(-s s)(%)(s)(s e e)(e e)(e e_h))) (omn-to-time-signature (make-omn :length rhy :pitch (span2 rhy pitchlist) :span :length) '(4 4)) >> ((q c4 e d4 e4) (-s cs4) (s c4) (s d4 e e4 f4) (e cs4 ds4) (e bb4 e_h eb4)) Best ! Julio
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
Thanks a lot, Janusz !! I have many gaps on programming. Thanks a lot for it ! I´m going to study that. Certainly, it will help on remaping the list ! Best ! Julio
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
Sorry if I might seem a little crazy speaking here alone but I can relate to this in the future, as a kind of memorial of proceedings... My solution for now is a giant substitute-map for customizing each voice. You, know ? In the end, this kind of manual work makes me feel more like composing, since I have to annotate a lot on paper. This is cool. I´m enjoying it. I´m filling the gaps of my bad programming with compositional work. Best ! Julio ;;;;;;Voice 1 - recombining the list steps (setf matlistsize-v1 (get-count (get-count v1dt))) (setf listmatord-v1 '( 0 1 ;ch 1 - size/form (1 16) 2 3 4 5 6 7 8 9 10 ;11 put semicolons to mute items of the list 12 ;13 14 ;15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 )) (setf gen-divlist (get-count (substitute-map v1dt (gen-integer matlistsize-v1) listmatord-v1))) (setf v1dtb (gen-divide gen-divlist (flatten (substitute-map v1dt (gen-integer matlistsize-v1) listmatord-v1))))
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
I did something unnecessary... I don't need the repeating note list... As far as the rhythm list is separated in a sublist, it will remain spanning the same note over and over. But the problem of skipping lists in the span remains the same... (make-omn :length rhy :pitch (span rhy v1dtb) :span :length) (setf rhy '((q e. s) (s s s s h_e s s) (s s s s)(h h))) (setf v1dtb '((ab4) (b4 e4 gs4 a4 b4 e4 gs4 a4 b4 e4 gs4 a4 b4 e4 gs4 a4) (bb4) (eb5 g4 bb4 gs4 eb5 g4 bb4 gs4 eb5 g4 bb4 gs4 eb5 g4 bb4 gs4) (e4) (a4 b4 e4 cs5 a4 b4 e4 cs5 a4 b4 e4 cs5 a4 b4 e4 cs5) (d4) (f4 bb4 d5 gs4 f4 bb4 d5 gs4 f4 bb4 d5 gs4 f4 bb4 d5 gs4))) > ((q ab4 e. s) (s b4 e4 gs4 a4 h_e b4 s e4 gs4) (s bb4 bb4 bb4 bb4) (h eb5 g4))
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
Thank you, Stephane The idea of aligning using the binaries is interesting. Looks good. But, I feel that this concept of span + skipping is more flexible. Let's cross fingers and see if Janusz find this interesting. Best, Julio
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
ONE MORE IDEA span-index This function could be a variation of the span2: The span-index could do the counting and indexing of the lists used for the spanning process. In the same way of span2, span-index could have a number before or after the special character to specify the sublist to skip. Something like: ;;; HIPOTHESIS (setf pitchlist '((c4 d4 e4 f4)(cs4 ds4 as4 fs4)(bb4 eb4 ab4))) (setf rhy '((q e e)(-s s)(%1)(s)(s e e)(e e)(%3)(e e_h)(%2)(q))) (make-omn :length rhy :pitch (span-index rhy pitchlist) :span :length) '(4 4)) > ((q c4 e d4 e e4)(-s s cs4) (c4) (s cs4 e ds4 e as4)(e bb4 eb4)(e bb4 e_h eb4)(q cs4)) The special characters in the rhythm lists affects the list of pitches when in the :span :length mode. The special characters in the pitch lists affects the list of rhythms when in the :span :pitch mode. More 2 cents to discussion. Best, Julio
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
There are some comments in portuguese... Maybe I´ll do a video about it, later. Now, I´m in the process of composition. Thanks to the forum where I learned the stuff. This is my modest contribution. Hope it can help someone to work out things in Opusmodus.
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
Exactly, Stephane !! This is precisely the way I´m working. I´d like to share with you in the forum the complete process for generating the score. Goes like this: And with this new function it will became easier !! Best, Julio ;;; Julio Herrlein ;;;Compositional Process - String Quartet ;;; CHORALE - MIDI GUITAR RECORDED (progn (setf pitmidi2 '(a3b3e4ab4 gs3ds4g4bb4 cs3a3b3e4 gs2f3as3d4)) (assign-variable 'ch pitmidi2) ;;;FASTER PITCH-DEMIX using Array (setf chordarray (build-array (sort-desc (melodize (mclist pitmidi2))))) (setf size (get-count pitmidi2)) ;;; v1rp - repeating 16 notes (setf chrptimes '(16)) (assign-variable 'v1rp (gen-repeat chrptimes (mclist (get-array 0 0 size chordarray :direction 'down)))) (assign-variable 'v2rp (gen-repeat chrptimes (mclist (get-array 0 1 size chordarray :direction 'down)))) (assign-variable 'v3rp (gen-repeat chrptimes (mclist (get-array 0 2 size chordarray :direction 'down)))) (assign-variable 'v4rp (gen-repeat chrptimes (mclist (get-array 0 3 size chordarray :direction 'down)))) ;;; repeating notes material ;;; VOZ 1 a 4 (setf vrpt1 '(v1rp0 v1rp1 v1rp2 v1rp3)) (setf vrpt2 '(v2rp0 v2rp1 v2rp2 v2rp3)) (setf vrpt3 '(v3rp0 v3rp1 v3rp2 v3rp3)) (setf vrpt4 '(v4rp0 v4rp1 v4rp2 v4rp3)) ;;;MELODIC MATERIAL - arpeggios or custom material ;;VL 1 (assign-variable 'melch1- (gen-repeat '(4) (ambitus-octaves 'e4 1 (pitch-rotate 1 (melodize (gen-divide 1 (list ch0 ch1 ch2 ch3))))))) (setf vml1 '(melch1-0 melch1-1 melch1-2 melch1-3)) ;;VL 2 (assign-variable 'melch2- (gen-repeat '(4) (ambitus-octaves 'e3 1 (pitch-rotate 0 (melodize (gen-divide 1 (list ch0 ch1 ch2 ch3))))))) (setf vml2 '(melch2-0 melch2-1 melch2-2 melch2-3)) ;; VIOLA (assign-variable 'melch3- (gen-repeat '(4) (ambitus-octaves 'e3 1 (pitch-rotate -2 (melodize (gen-divide 1 (list ch0 ch1 ch2 ch3))))))) (setf vml3 '(melch3-0 melch3-1 melch3-2 melch3-3)) ;; CELLO (assign-variable 'melch4- (gen-repeat '(4) (ambitus-octaves 'e2 1 (pitch-rotate -1 (melodize (gen-divide 1 (list ch0 ch1 ch2 ch3))))))) (setf vml4 '(melch4-0 melch4-1 melch4-2 melch4-3)) ;;; MIXING LISTS (repeated notes and melodic fragments) (setf list1 vrpt1) (setf list1b vml1) (setf v1dt (gen-divide '(16) (flatten (apply-eval (matrix-transpose (list list1 list1b)))))) (setf list2 vrpt2) (setf list2b vml2) (setf v2dt (gen-divide '(16) (flatten (apply-eval (matrix-transpose (list list2 list2b)))))) (setf list3 vrpt3) (setf list3b vml3) (setf v3dt (gen-divide '(16) (flatten (apply-eval (matrix-transpose (list list3 list3b)))))) (setf list4 vrpt4) (setf list4b vml4) (setf v4dt (gen-divide '(16) (flatten (apply-eval (matrix-transpose (list list4 list4b)))))) ;;; Length Map atualizado - 8 FEV (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)))) ;;;RITMOS ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; 12 mar B (setf rv1 (gen-repeat 5 (gen-divide '(3 7) (gen-repeat 5 '(q e. s s s s s h_e s s))))) (setf rv2 (gen-repeat 5 (gen-divide '(2) (gen-repeat 5 '(-e eh -e eh))))) (setf rv3 (gen-repeat 5 (gen-divide '(2) (gen-repeat 5 '(-q qq -q qq))))) (setf rv4 (gen-repeat 5 (gen-divide '(2) (gen-repeat 5 '(-q. eq -q. eq))))) (setf timesig '(6 4 1)) (setf timesigs '((6 4 1) (6 4 1))) (setf timesig-proc (butlast (gen-divide 3 (span (flatten v1dt) timesigs)))) ) ;;;FINAL DO PROGN INITIALIZE ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;BUG TRACKING #3 11 mar ;;; Mudando o :span de :pitch para :length, ;;faz com que cada vez que recomeça a lista de length os acordes partem do início;;isso pode ser interessante e os ritmos estão com o comportamento esperado (progn ;(setf timesig '(6 4 1)) (setf vh1-2 (make-omn :length rv1 :pitch (span rv1 v1dt) :span :length :velocity (length-map len-map2 rv1 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv1 :otherwise '(ord) :repeat t))) (setf vh2-2 (make-omn :length rv2 :pitch (span rv2 v2dt) :span :length :velocity (length-map len-map2 rv2 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv2 :otherwise '(ord) :repeat t))) (setf vh3-2 (make-omn :length rv3 :pitch (span rv3 v3dt) :span :length :velocity (length-map len-map2 rv3 :otherwise '(mf) :repeat t) :articulation (length-map len-map1 rv3 :otherwise '(ord) :repeat t))) (setf vh4-2 (make-omn :length rv4 :pitch (span rv4 v4dt) :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 12 vh1-2) vh2-2 vh3-2 vh4-2) (list (pitch-transpose 12 (ambitus 'violin vh1-2)) (ambitus 'violin vh2-2) (ambitus 'viola vh3-2) (ambitus 'cello vh4-2)) :key-signature 'atonal ;;;obs: abrindo o time sig aqui, faz bypass do omn-to-time-signature acima :time-signature timesig-proc ;time-signature timesig :tempo 80 :title "STR 4tet" :display :window)) ;;;>>>>>>>>>>>>> F I N A L <<<<<<<<<<<<<<<<< ;;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
Yes, I understand that the gen-swallow is to be used before the make-omn as a selector of the lists and it really works doing it. But the span2 can bypass that stage, doing at the same time the span AND the selection/skipping of the nested lists. BEst
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
Thank you, Janusz But the gen-swallow won´t do what I propose either before or inside the make-omn... Best ! And Even if it worked, I will have to make a gen-swallow for each rhythm, creating many derived lists... The idea of span2 is more elegant and preserve the materials more intact inside the compositional architeture, providing much more flexibility to skip lists. More free and musical, I think. It´s just a little adjust to make the old span function skip the lists, according to some special character. Best Please, take a closer look and you´ll see.
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
Thank you, Stephane, Your solution have some problems because the rests in the rhythm lists will result in undesirable skips in the sublists of nested lists, because of the swallow, like this: (setf pitchlist '((c4 d4 e4 f4)(cs4 ds4 as4 fs4)(bb4 eb4 ab4))) (setf rhy (gen-repeat 3 '((q e e)(-s s) (s) (s e e)(e e)(e e_h)))) (remove-nils (gen-swallow rhy pitchlist)) ((q c4 e d4 e4) (-s ds4) (s bb4) (s c4 e d4 e4) (e cs4 ds4) (e bb4 he eb4)) The D# is not the in the beggining of the list... I also tried in the context of the make-omn architeture. like this... (setf pitchlist '((c4 d4 e4 f4)(cs4 ds4 as4 fs4)(bb4 eb4 ab4))) (setf rhy '((q e e)(-s s) nil (s) (s e e)(e e)(e e_h))) (remove-nils (gen-swallow rhy pitchlist)) (make-omn :length rhy :pitch (span rhy (remove-nils (gen-swallow rhy pitchlist))) :span :length) I still think that the creation of a span2 function, as described above , could be useful. Thank you ! Best ! Hi, Ole The function remove-nils is native in Opusmodus. It worked here (although not in the documentation). Best, Julio
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
ONE LAST COMMENT FOR NOW In the example above, in the (hopefully possible) function span2 the character % let you skip to the next list. I don't even imagine how but, if there is some possibility, I can imagine the following: % as a symbol to skip forward in a sublist and $ as a symbol to skip backward in a sublist. In this model of make-omn using span, musically it would be an immense achievement for organizing non-linear approaches to the materials. You can make just a long list containing many sublists of materials and just skip back and forth through them just using span2. You can organize the gen-divide of the rhythmic material lists that also could contain the characters to skip up and down in the pitch material sublists. I like this kind of architeture most than the counterpoint function, maybe because I'm constructing this ideas for some time and the counterpoint thing looks a little opaque to me now... Let me know if it is possible. Best, Julio
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with:
-
More precisely - THIS IS THE ACTUAL SPAN (setf pitchlist '((c4 d4 e4 f4)(cs4 ds4 as4 fs4)(bb4 eb4 ab4))) (setf rhy '((q e e)(-s s)(s)(s e e)(e e)(e e_h))) (omn-to-time-signature (make-omn :length rhy :pitch (span rhy pitchlist) :span :length)'(4 4)) RESULT Without omn to time sig ((q c4 e d4 e4) (-s cs4) (s bb4) (s c4 e d4 e4) (e cs4 ds4) (e bb4 e_h eb4)) WITH OMN to TIME SIG with omn to time sig (for better reading) WITH THE SPAN2 FUNCTION THAT ALLOWS THE % character to skip the list (setf pitchlist '((c4 d4 e4 f4)(cs4 ds4 as4 fs4)(bb4 eb4 ab4))) (setf rhy '((q e e)(-s s)(%)(s)(s e e)(e e)(e e_h))) (omn-to-time-signature (make-omn :length rhy :pitch (span2 rhy pitchlist) :span :length) '(4 4)) RESULT with omn to time sig (for better reading) (omn-to-time-signature '((q c4 e d4 e4) (-s cs4) (s c4) (s d4 e e4 f4) (e cs4 ds4) (e bb4 e_h eb4)) '(4 4)) Span2 function exactly the same way Span, with the possibility of using % (or any chosen character by programmer) to skip a list, without changing the rhythm content. Best, Julio COMPARISON PITCH LISTS (c4 d4 e4 f4) (cs4 ds4 as4 fs4) (bb4 eb4 ab4) (setf rhy '((q e e)(-s s)(s)(s e e)(e e)(e e_h))) SPAN SPAN 2 PITCH LISTS (c4 d4 e4 f4) (cs4 ds4 as4 fs4) (bb4 eb4 ab4) '((q e e)(-s s)(%)(s)(s e e)(e e)(e e_h))) Hope it clarifies the subtle difference... All the best ! Julio
- 29 replies
-
- ways of skipping
- swallow
-
(and 2 more)
Tagged with: