Generate Notes from Chord Symbols: philosophy and use cases

This feature is intriguing, I’ve never found tools to help you write music very useful. Generally more geared towards simple minded beginner writing or something, and invariably they’re chordal based where I’m more of a contrapuntal thinker. While this is chordal it is much more sophisticated then I’ve seen. Anyhow I’m trying to wrap my head around this feature and how it might be useful.

First issue is you have to write chord symbols, something I don’t do, especially with an orchestral score seems kind of odd. Second, this is really only useful for Tutti writing? Or perhaps some kind of ostinato writing which is way too popular these days IMO. It looks powerful, and while the video example are all orchestral it seems to be more of a pop feature?

Dunno - curious to hear how people are using this feature in practice.

2 Likes

I didn’t use it yet, but it will surely be helpful for me in arranging, where I can decide a top voice of wind/brass/string and let Dorico suggest me the other voices, already with the right rhythm. it will not be my go to at all points, but when I know I want to have homorhythmic sections, why not make use of it?
I don’t think of it as a composition feature, but rather as an arrangement feature.

2 Likes

Don’t forget that Dorico can also do chords from notes!

Well, people who had more time on their hands, like Mozart, could do the harmonic analysis at the start of the compositional process, and then fill in the orchestration afterwards.

I might put it to use on some Christmas Carols…!

2 Likes

Auto generate.dorico (1.3 MB)
I would love to see this feature work well. There are a Brazilian options, so I think it is probably possible to do something useful. But I have been at it for an hour and I can’t get Dorico to do anything other than the most childish harmonization.
I have uploaded a simple 12 measure blues snippet for brass quintet. I entered a melody line in Trumpet 1 and used gn to harmonize the other 4 parts. No matter what I do, it looks like the first semester of 4th grade band class.
I have been poking through the nite input options and nothing I have tried makes any real difference.
I feel like I must be missing something very basic here.

1 Like

“Generate Notes from Chord Symbols” doesn’t harmonise a melody in the way I think you are expecting - it won’t do “planing”, for example. It can use a melody as a “hint” to which chord tone needs to be at the top of the voicing, and/or it can use it as the basis of a rhythmic pattern, but really it is about realising the chord progression.

1 Like

Dang, a typo. You had me looking for the Samba and Partido Alto settings. :joy:

Yeah, I can’t imagine I’ll personally have a use for this, but it has been much requested so I suppose there are users that will.

The first thing I tried it on was a lead sheet. Since the chord track doesn’t really do any voice leading, it’s OK for checking errors, but not super fun to play along with. By adding a piano part (and why not a double bass too) to the lead sheet, and using GNFCS, you can come up with a better accompaniment pretty quickly. So, for lead sheets and exercises, I find this pretty useful. For composing concert music, probably not so much, although who knows, it might come in handy in the sketching phase.

I was curious to see if any of the voice leading logic made its way into the chord track itself, and the answer appears to be that it has not.

Are you sure? It is certainly behaving exactly as you describe, but it is hard to believe the Dorico team would have put in so much effort for something that has such limited use in the real world.
Referring to my simple blues example, there is a great deal of motion in the melody part. But nothing I do, (short of adding explicit chords at every beat) gets any motion at all into the harmony parts. No arranger would write this way. Can somebody on the Dorico team confirm that there are no options that would get some motion in between the explicit chord entries?
Motion

That is correct - it follows the chord changes not the melody line, aside from (optionally) using the melody as a hint to the voicing. You could think of it as generating a chordal accompaniment rather than a harmonised melody.

1 Like

Having said that, I find that I do get some movement when I try the same thing, with “Use instrument as top notes hints”:

This isn’t so much that it’s trying to harmonise the melody, more that it is trying to keep the chord tones in the melody at the top of the voicing.

That’s something. Now that there is something resembling motion, it might be possible to make it a little natural by constraining the interval jumps on the harmony parts.

Have a look at this one:
Auto generate.dorico (1.5 MB)

It isn’t anything I would present to musicians, but it is closer to being a useful starting point. I fiddled with the Note Input options thusly:

  • Between chords penalize motion > 6 half-steps
  • Turned on “Between chords, prefer motion < 4”
  • Increased penalty for beyond interval limits and muddy voicings
  • penalized same direction > 3 half steps
  • prefer step-wise movement – about 1/3 up the slider

At this point, if somebody wants anything like “Supersax” lines, I think it will be necessary to enter a bunch of hidden chords. As it sits, the function is probably better for Renaissance and Baroque but nothing modern.

I’ve been working with it since midday and posted the results on a separate thread (apologies, I didn’t spot this one).

I suspect for those who are completely au-fait with orchestration this new feature won’t add much, but for others, like me, for who it is a constant struggle, it’s brilliant. As I said on the other thread it does a huge amount of the work and it opens up ideas. It’s not an end in itself (I don’t think its meant to be) but used in conjunction with something like NotePerformer, it’s incredibly helpful.

@Richard_Lanyon, out of curiosity (and because I am not at a computer to try it out): is the feature strictly deterministic? I.e., will it always produce the same output from the same starting conditions? Or is there some variability built in at the core?

It’s deterministic, provided you run it with the same options on the same music.

3 Likes

This is how I envisioned the new chord-realization being most useful to me. I can’t see using it (much) to realize a full orchestration; but having it fill out a preliminary sketch “staff” sounds useful.

1 Like

If you are using “Prefer step-wise movement” you may want to experiment with turning off “Between chords, prefer motion < 4” even though it seems like you would want them both on. Those two options work in slightly different ways, internally, and sometimes you will only need one of them. In my experience “Prefer step-wise movement” is maybe more of a “jazz” option and “Between chords, prefer …” is maybe more of a “classical” option but really it will depend on the chord progression. Chords with a lot of different pitches (e.g. a lot of extensions) will typically give the algorithm more leeway to get smooth stepwise voice-leading.

I don’t have the time to try it out just yet, but I have a question if anyone might have an insight.

In my workflow I have a staff dedicated to schematic voice leading. I populate that staff with block chords that are implied in the sketch composition that’s recorded on a sketch staff. Then I modify these schematic chords to generate voice leading, mostly on top of the given bass. This staff then becomes the foundation for the voicing of all orchestral textures - various figurations, static and moving harmonic fillers, counterpoint melodies and the like.

It appears as if this feature is perfect for such a use case. I wonder if I could speed this up even more if I somehow: record (incorrectly voiced) block chords, have Dorico identify them and then re-voice them properly?

Thanks. I can’t wait to try the update.

OK that’s a great idea. One of my issues is I don’t want to see chord symbols on a full score, but I already work by I have a special focused score which is the sketch using the generic instruments (Woodwinds, Strings, etc) where I block out. Then I switch to the full score to transfer and orchestrate.

Yeah … writing out chords as part of sketching, filling in the arrangement as it makes sense, all in the sketch - that makes perfect sense and keeps it all from ‘polluting’ (sorry :grin:) the main score.

Yes this sounds kind of similar to my approach outlined above.

Again, I’m not entirely sure how most people that have wanted this feature would like to use it, but it wouldn’t involve too many rules to come up with a “stock chart” type of setting for jazz, in order to harmonize an existing line if there was a desire for this to be expanded in that direction. Most of the existing Note Input options don’t really apply and could be ignored or turned off somehow. Basic, simple rules could be:

  1. 4-part, close position harmony, doubling or extending down as needed.
  2. Add a 6th to any major triad.
  3. When a 9th (or other extension) is in the melody, the root may be omitted
  4. Non chord tones that are in the corresponding “leading tone diminished” scale should be harmonized with a diminished voicing from that scale. For example, an F on a C7 chord should use a Bdim7 chord, as B is the leading tone to C.
  5. There are only a few other chromatic issues that would need to be addressed, but simple rules could certainly be all set for these, using extensions of V7, or bII based harmony, #4dim7, and planing.

Using the “paint-by-numbers” approach above, I can come up with this from @cparmerlee 's melody and chords. (I had to add an F#dim7 in the 6th bar). Sure, the repeated notes in the lower parts are poor writing and I would avoid that if I was really orchestrating this, but this type of formulaic “stock chart” writing is really easy to do.

EDIT: Oops, I went to Cmaj6 on the end instead of C7.

3 Likes

What is this “Prefer step-wise movement” you guys are talking about? I don’t see this in the new Generate Notes from Chord Symbols dialog.
Same with all this “penalty” options talk - where do I find this?

(I’m using Dorico in German, if this is of any help.)