Jump to content

JulioHerrlein

Members
  • Joined

  • Last visited

Everything posted by JulioHerrlein

  1. 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
  2. This would be great to make fast block harmonizations for arrangements.
  3. 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
  4. 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
  5. Quoting André: But, despite this, we always want to have the output as close as possible to the final score. Best, Julio
  6. WOWWWWWWW !!!! This version is getting better every day !!! Best ! Julio
  7. 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
  8. Thank you for your thougths and insights. Best Julio
  9. 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
  10. Anyway, Opusmodus is amazing and can do A LOT for the composition process ! Best, Julio
  11. 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...
  12. 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
  13. Would be Great to have a simple function to make chord symbols over staves...
  14. 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
  15. 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
  16. Great!! Always good to see your loop functions!
  17. Thank you, Stephane! You are always an inspiration! Best Julio
  18. 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)))))
  19. Thanks, Stephane !! Best ! Julio
  20. Thank you, SB ! Sometimes we need to comunicate with machines, instead of musicians. Best, Julio
  21. Thanks a lot, Stephane. I'm going to try your function soon. The idea here is more about transforming a set of chords, instead of generating the chords. More about controlling the exact spacing of the voicings in a given progression. I'm getting some trouble with gen-chord3. When evaluating this: (gen-chord3 '(c4 eb4 g4) '((3 3 3 3) (3 5 7 9) (2 5 7 11))) I'm getting different results each time First Time: Second time: Others: And so on... Is there some random algorithym in this function ? When evaluating this: (make-chord-if-length '((q c4 e d4 e4 f4 h d4)(s a4 b4 a4 g4 h f4)(q c4 d4 h e4))) I'm getting different results each time? Is this correct ? 1st time eval: 2nd time eval: 3rd eval... Best, Julio
  22. Dear Wim, Please, check this post: Best, Julio
  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

Copyright © 2014-2025 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy