Jump to content

JulioHerrlein

Members
  • Posts

    814
  • Joined

  • Last visited

Posts posted by JulioHerrlein

  1. Yes,

     

    But the purpose of omn-dictum, according to the documentation is to provide the possibiliry of revisions : "The dictum arguments can be seen  as maps, rules or handwritten corrections to a final score." So, this kind of revision is typical.

    Maybe keywords like :flats and :sharps

     

    Something like:

     

    (omn-dictum '((e stacc 1) (:sharps 2) (3q leg 2)) omn2)

     

    Best !

    Julio

     

  2. Vintage LISP teaching (MIT, 1986)

    KIND OF COOL THING (this guy teaches the way I like)

     

    6-001s05.jpg
    OCW.MIT.EDU

    This course introduces students to the principles of computation. Upon completion of 6.001, students should be able to explain and apply the basic methods from programming languages to analyze computational systems, and to generate computational solutions to abstract problems. Substantial weekly programming assignments are an integral part of the course. This course is worth 4 Engineering Design Points.

     

     

     

    LISP MUSIC

     

     

  3. Dear Janusz,

     

    Maybe a good update would be the possibility of customizing the ensembles and its related clefs.

    For example, somebody may want to write a extended technique violin piece using a percussion clef or something like this.

    Or maybe a Pierrot Ensemble with some added instrument,  a prepared piano piece with three or four staves,

    or a strange combination of instruments/clefs.

     

    The ability of customizing specific groups and bracketsis interesting.

     

    Best,

    Julio

  4. On 8/23/2020 at 9:08 AM, opmo said:

    Every layout from the "Instrument Layout Presets" document can be used in the DEF-INSTRUMENT-SET function i.e., PS.

    Dear Janusz,

     

    Please, I´d like to make an acoustic guitar quartet, all with treble octave down clefs.

    I did´t find this configuration in the Instrument Layout Presets document.

    How can I proceed ?

     

    Thanks  !

    Best !

    Julio

     

  5. 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

     

    WWW.FINALETIPS.NU

    Tips, plug-ins, and other resources for the Finale music notation software.
    WWW.FINALETIPS.NU

    Tips, plug-ins, and other resources for the Finale music notation software.

     

  6. 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.

     

    GTR_MIDI_CHART.jpg

     

    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.

     

  7. 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

     

  8. 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

     

  9. 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

  10. 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))))

     

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy