Jump to content

JulioHerrlein

core_group_3
  • Content Count

    250
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by JulioHerrlein

  1. In the jazz world, Barry Harris came up with the idea of harmonizing a bebop scale. Combining a C6 (C, E, G, A) and a Bdim7 (B, D, F, Ab) chords, we have this scale: From this stantpoint we can alternate tonic and dominant sounds, like this: Every pair of chords have all the 8-note set. The notes C,E, G and A are always harmonized with a C6 chord. The notes D, F, Ab and B are always harmonized with a Bdim7 chord. So, from the point of view of sets, there is no problem. WHAT IS NEEDED: I want a way to start FROM the melody, and then make a four part block harmonization with this (or any other) harmonic system from the melody as an OMN expression. So, I need a way to filter the notes to aply the right chord: FOR EXAMPLE: For the notes C, E, G and A If the note is an C (in any register), I will apply a chord like , I will add the notes A, G and E, below the melody. If the note is an (in any register), I will apply a chord like , I will add the notes G, E and C, below the melody. And so on... For the notes D, F, Ab and B: If the note is an B (in any register), I will apply a chord like , I will add the notes Ab, F and D, below the melody. And so on: So, to make any procedure: I need first find a way to apply a specific procedure only over the notes I want, over all the C notes, all the B notes, etc. How to filter from an OMN expression ? All the best ! Julio
  2. JulioHerrlein

    Harmonic Systems - Harmonizing from top notes (melodies)

    Thanks a lot Stephane!! Looks Great!!
  3. JulioHerrlein

    Help on WILDCARDS ? *

    Dear All, Some help needed in wildcard uses in Opusmodus Functions and OMN expressions... ><><><><><><><><><><> The definition.... https://en.wikipedia.org/wiki/Wildcard_character In computer (software) technology, a wildcard is a symbol used to replace or represent one or more characters.[2] Algorithms for matching wildcards have been developed in a number of recursive and non-recursive varieties. In Unix-like and DOS operating systems, the question mark ? matches exactly one character. ><><><><><><><><><><><><>< I was in need of a wildcard to represent a pitch class in ANY register, like "cs?" meaning all C# pitch classes in any register/octave (cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, etc). There are other interesting uses for this wildcards inside functions, to generalize and make recursions possible elegantly. Any Hints ? Best, Julio
  4. JulioHerrlein

    Help on WILDCARDS ? *

    Thanks, André ! I was trying to solve this problem (setf melody '(c5 c5 d5 e5 g5 a5 g5 c6 b5 c6)) (setf blkharm (pattern-map '(((c3) (e2g2a2c3))((d3) (f2gs2b2d3))((e3) (e3c3a2g2))((f3) (gs2b2d3f3))((g3) (g3e3c3a2))((gs3) (b2d3f3gs3))((ab3) (b2d3f3ab3))((a3) (c3e3g3a3))((b3) (d3f3ab3b3))((c4) (e3g3a3c4))((d4) (f3gs3b3d4))((e4) (e4c4a3g3))((f4) (gs3b3d4f4))((g4) (g4e4c4a3))((gs4) (b3d4f4gs4))((ab4) (b3d4f4ab4))((a4) (g4e4c4a4))((b4) (d4f4ab4b4))((c5) (e4g4a4c5))((d5) (f4gs4b4d5))((e5) (e5c5a4g4))((f5) (gs4b4d5f5))((g5) (g5e5c5a4))((gs5) (b4d5f5gs5))((ab5) (b4d5f5ab5))((a5) (g5e5c5a5))((b5) (d5f5ab5b5))((c6) (e5g5a5c6))((d6) (f5gs5b5d6))((e6) (e6c6a5g5))((f6) (gs5b5d6f6))((g6) (g6e6c6a5))((gs6) (b5d6f6gs6))((ab6) (b5d6f6ab6))((a6) (g6e6c6a6))((b6) (d6f6ab6b6))) melody :otherwise 'c4f4bb4eb5)) (make-omn :length '(q e e e e e e q q q) :pitch blkharm) To make some block harmonizations, like this: If you are curious, see this post: Best !! Thank you ! You are the LOOPER MAN ! Julio
  5. JulioHerrlein

    Harmonic Systems - Harmonizing from top notes (melodies)

    I found a solution with pattern-match. Pitches for melody (setf melody '(c5 c5 d5 e5 g5 a5 g5 c6 b5 c6)) Block harmonization with pattern-match (setf blkharm (pattern-map '(((c3) (e2g2a2c3)) ((d3) (f2gs2b2d3)) ((e3) (e3c3a2g2)) ((f3) (gs2b2d3f3)) ((g3) (g3e3c3a2)) ((gs3) (b2d3f3gs3)) ((ab3) (b2d3f3ab3)) ((a3) (c3e3g3a3)) ((b3) (d3f3ab3b3)) ((c4) (e3g3a3c4)) ((d4) (f3gs3b3d4)) ((e4) (e4c4a3g3)) ((f4) (gs3b3d4f4)) ((g4) (g4e4c4a3)) ((gs4) (b3d4f4gs4)) ((ab4) (b3d4f4ab4)) ((a4) (g4e4c4a4)) ((b4) (d4f4ab4b4)) ((c5) (e4g4a4c5)) ((d5) (f4gs4b4d5)) ((e5) (e5c5a4g4)) ((f5) (gs4b4d5f5)) ((g5) (g5e5c5a4)) ((gs5) (b4d5f5gs5)) ((ab5) (b4d5f5ab5)) ((a5) (g5e5c5a5)) ((b5) (d5f5ab5b5)) ((c6) (e5g5a5c6)) ((d6) (f5gs5b5d6)) ((e6) (e6c6a5g5)) ((f6) (gs5b5d6f6)) ((g6) (g6e6c6a5)) ((gs6) (b5d6f6gs6)) ((ab6) (b5d6f6ab6)) ((a6) (g6e6c6a6)) ((b6) (d6f6ab6b6))) melody :otherwise 'c4f4bb4eb5)) OMN with all (make-omn :length '(q e e e e e e q q q) :pitch blkharm)
  6. JulioHerrlein

    Harmonic Systems - Harmonizing from top notes (melodies)

    Aparently, this works (pattern-map '(((c5 d5 e5) (e4g4a4c5 f4gs4b4d5 e5c5a4g4))) '(c5 d5 e5 fs4) :otherwise 'c4f4bb4eb5) Is there some WILDCARD to mean all C pitch classes? If no, I will have to program it for all the octaves of the range of the melody. For example cs$ or cs? meaning all C# in ANY octave. Best, Julio
  7. JulioHerrlein

    Harmonic Systems - Harmonizing from top notes (melodies)

    Interesting, Stephane ! Any way of filtering actions based on specific pitch classes ? Best, Julio
  8. JulioHerrlein

    Harmonic Systems - Harmonizing from top notes (melodies)

    Dear Janusz, The chord generators in the system (as far as I know) are root based systems, i.e., they buid chords stacking notes over a root. When you work a saxophone soli section in a big band arrangement, you use a top to bottom approach, i.e., you start with the melody of a song or an origianl tune (think a Charlie Parker bebop head) and you build an harmonization under it. The melody becomes the top note of a 4-part harmonization. We use some rules to determine wich chord will be used in each case, depending on the melodic function. In the above example, the notes C, E, G and A will be always harmonized with the corresponding close position inversions of the C6 chord while the B, D, F and Ab will be always harmonized with the corresponding close position inversions of the Bdim7 chord. We need a function that will transform a melody to a 4-part harmonization, similar to chord-interval-add function. For example: (chord-interval-add '(-3 -3)(chord-interval-add '(-4 -3)(chord-interval-add '(-3 -3) '(c5 d5 e5 f5 g5 gs5 a5 b5)))) This will result in a 4-part harmonization, but this is not "note selective", it will apply the same interval series over the entire list of notes. I need a filter to apply diferent series of intervals over each different note. For example: Over all the C notes, I want the (-3 -2 -3) as interval add. Over all the D, F, A and Ab/G# notes, I want (-3 -3 -3) Over all the E notes, I want the (-4 -3 -2) as interval add. Over all the G notes, I want the (-3 -4 -3) as interval add. This is the Barry Harris Rule for harmonizing a bebop scale. So I need a chord-interval-add function with note selection (a kind of IF - DO filter): IF this is an C note (in any register) DO ADD this interval list (-3 -2 -3) from the melody, forming a 4-part C6 chord with melody on top. IF this is a B, D, F or G#/Ab note, ADD this interval list (-3 -3 -3) from the melody, forming a 4-part Bdim7 chord with melody on top. And prefearably, a chord-interval-add function with multiple choice of intervals, but I can workaround this, if not possible, working with variables setf, I think... Is it clear now ? BEst, Julio
  9. JulioHerrlein

    Harmonic Systems - Harmonizing from top notes (melodies)

    This would be great to make fast block harmonizations for arrangements.
  10. JulioHerrlein

    Harmonic Systems - Harmonizing from top notes (melodies)

    In other words: Given and OMN expression, how can I apply one operation (like transposition, for example) to just the C notes, or just the B notes (in any register)? Best Julio
  11. JulioHerrlein

    how to keep omn-notation?

    Quoting André: But, despite this, we always want to have the output as close as possible to the final score. Best, Julio
  12. JulioHerrlein

    transpose-on-event-number

    WOWWWWWWW !!!! This version is getting better every day !!! Best ! Julio
  13. JulioHerrlein

    transpose-on-event-number

    Very interesting, André ! Two things: 1) How it works over chord lists, like '(c4e4g4) ? The chord is counted as one item in the span, or each note counts as one item ? 2) Would be interesting to have an argument for an "span-ignore-pauses" option, while doing the span, because the way you write the pause will chanbe the span function. Sometimes it can be good and sometimes not, depending on the desired effect. For example (-q -q) counts as 2 items, while (-h) counts as one item. Best, Julio
  14. JulioHerrlein

    Creating Custom Chord Symbols

    When I did this post, I used the Giant Steps (Coltrane) progression as harmonic path, in this way: (setf harmpath '((h (b3 maj7) (d3 7)) (h (g3 maj7) (bb3 7)) (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7)) (h (g3 maj7) (bb3 7)) (h (eb3 maj7) (gb3 7)) (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7)) (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7)) (h (g3 maj7) (g3 maj7)) (h (cs3 m7) (fs3 7)) (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7)) (h (eb maj7) (eb maj7)) (h (cs3 m7) (fs3 7))) But in the resulting score, the chord symbols won't show. I have some questions: 1) How to make the chord symbols appear ? 2) How to make my own custom chord symbols ? 3) Can I make associations of chord symbols with specific sets of notes ? 4) Can I display chord symbols over a melody with a Hidden Piano Part playing them ? All the best ! Julio
  15. JulioHerrlein

    Creating Custom Chord Symbols

    Thank you for your thougths and insights. Best Julio
  16. JulioHerrlein

    Creating Custom Chord Symbols

    Yes, this is exactly the way I see it. I was just thinking of chord symbols as another tool, because in my book I coded all the Forte numbers as chord symbols. As a jazz oriented musician chord symbols are very organic to me. I appreciate different viewpoints and and I think that music can originate from Any material, including popular music. In Brazil we have one of the most solid popular Expressions. All the best, Julio
  17. JulioHerrlein

    Creating Custom Chord Symbols

    Anyway, Opusmodus is amazing and can do A LOT for the composition process ! Best, Julio
  18. JulioHerrlein

    Creating Custom Chord Symbols

    Popular music is so important and fundamental. As jazz too... It could make Opusmodus more... popular ! Minimalistic music is related to it also. Best, Julio And chord symbols can be important in the compositional process, to track harmony changes. Actually, I use some advanced and crazy chord symbols that I invented to describe every kind of set (based on Forte list). Fr6 It's far more intuitive than 4-25, and it relates to the music history (french sixth chord...etc). Best, Julio Just my 2 cents...
  19. JulioHerrlein

    Creating Custom Chord Symbols

    Can the font and font size be changed in the text attributes function ? Best, Julio Maybe a "general-text" function could be added. A goodreason for that is to use in a more gramatical-based music, like the music made using functional harmony. Best
  20. JulioHerrlein

    Creating Custom Chord Symbols

    Would be Great to have a simple function to make chord symbols over staves...
  21. JulioHerrlein

    Creating Custom Chord Symbols

    Yes, Janusz ! I have this EXACT result when I evaluate the expression. The problem is when I do some chord processing, like chord-closest-path, like this: (setf comping (gen-repeat '(2) (gen-divide 1 (flatten (omn :pitch (chord-closest-path '(b3c4e4g4) '((h (b3 maj7) (d3 7)) (h (g3 maj7) (bb3 7)) (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7)) (h (g3 maj7) (bb3 7)) (h (eb3 maj7) (gb3 7)) (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7)) (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7)) (h (g3 maj7) (g3 maj7)) (h (cs3 m7) (fs3 7)) (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7)) (h (eb maj7) (eb maj7)) (h (cs3 m7) (fs3 7))))))))) and the resulting score comes without the symbols, like this: Is there some way of building my own chord library ? Best, Julio
  22. JulioHerrlein

    replace-velocity-of-a-length

    Great!! Always good to see your loop functions!
  23. How to apply different voicings over a chord progression Sometimes you have to spread the notes of a chord progression in a very specific way, specially in the case of sectional writing as in the big bands, for example, where specific voicings are used, commonly named as drop2, drop3, etc. All the voicings are based in the initial closed position: - DROP2 is obtained by dropping the 2nd voice an octave below, as shown below: - DROP3 is obtained by dropping the 3rd voice an octave below, as shown below: There are 24 types of voicings as shown in the image below. The rule is to not exceed the octave between two adjacent voices. VOICING TYPES From Combinatorial Harmony Book, avaiable at: https://www.melbay.com/Products/Default.aspx?bookid=30042BCDEB CLOSED, DROP2, DROP3, DROP2+4, DROP2+3 and DOUBLEDROP2+ HOW TO IMPLEMENT IN OPUSMODUS EXAMPLE ;;; SOME Seventh CHORDS TO USE (setf chords '((a4c4d4f4) (c5eb4f4gs4) (d5f4g4bb4) (cs5e4fs4a4) (e4f4a4c4) (fs4g4b4d4) (d4eb4g4bb3) (eb4e4gs4b3) (e4g4a4c4) (a4c5d5f4) (f4gs4bb4cs4) (d4f4g4bb3) (fs5g4b4d5) (b5c5e5g5) (a5bb4d5f5) (gs4a3cs4e4) (b4d4e4g4) (d5f4g4bb4) (e5g4a4c5) (eb5fs4gs4b4) (e4f4a4c4) (fs4g4b4d4) (d4eb4g4bb3) (eb4e4gs4b3))) Setting the Voicing Types: csd (Closed Position) dp2 (Drop 2) dp2 (Drop 3) dp2-4 (Drop 2+4) dp2-3 (Drop 2+3) ddp2-3 (Double Drop 2 + Drop 3) (setf csd '(0 0 0 0) dp2 '(0 -12 0 0) dp3 '(0 0 -12 0) dp2-4 '(0 -12 0 -12) dp2-3 '(0 -12 -12 0) ddp2-3 '(0 -24 -12 0)) Drop order to apply over the sequence ;;;DROP ORDER (setf droplist (flatten (list csd dp2 csd dp2-4))) Command to make the voicings over the original chord progression ;;;ABERTURAS (chordize-list (pitch-transpose-n droplist (pitch-melodize chords))) RESULT Not the expected result!!!! See the next correction!!! All the best ! Julio Herrlein An important correction: In order to produce the right voicings is it necessary to sort the notes before transposing, so the Command to make the voicings over the original chord progression is like this: VOICINGS (setf chordprogdrop (chordize-list (pitch-transpose-n droplist (sort-desc (pitch-melodize chordtrp-rpt))))) Now, the right result for the voicing order csd dp2 csd dp2-4
  24. JulioHerrlein

    How to apply different voicings over a chord progression

    Thank you, Stephane! You are always an inspiration! Best Julio
  25. JulioHerrlein

    How to apply different voicings over a chord progression

    An important correction: In order to produce the right voicings is it necessary to sort the notes before transposing, so the Command to make the voicings over the original chord progression is like this: VOICINGS (setf chordprogdrop (chordize-list (pitch-transpose-n droplist (sort-desc (pitch-melodize chordtrp-rpt)))))
×