> 3. Where possible, resolve the remaining notes using stepwise motion (up
or down).
I forgot one other really obvious bit: *not* moving a voice is preferred to
moving it. So:
3a. Keep notes common between chords.
3b. Where possible, resolve the remaining notes by step.
Because of the rule to resolve things in a downward direction, you'll find
that chords over time tend to creep downward. The solution is to apply the
"keep notes in the middle register" rule to correct this.
In any event, piano chord voicing really is a different thing than SATB
voicing.
-- David
On Tue, Mar 15, 2016 at 11:37 AM, David Cuny <davidfc...@gmail.com> wrote:
> >> There are a number of algorithms that could be used to generate the
> >> voicings.
>
> > Would please you have some pointers in this regard?
> > More than the algorithmic stage I am not sure how the solution itself
> > would be characterized, though (ie: what does it actually do,
> > harmony-wise?).
>
> Non-developer jumping in again. ;-)
>
> Rules for chord voicings are different than SATB rules, since they have
> different goals:
>
> * Notes should not be too low, or the intervals will be muddy/indistinct.
> * Notes should not be too high, or they will collide with the melody.
> * Notes should move as little as possible, so they don't distract from the
> melody. Stepwise motion is preferred.
> * Active tensions (7ths and suspensions) should generally be resolve via
> downward step.
> * Four is a good maximum for a right-hand voicing. For chords with more
> notes, you can drop less essential notes:
> 9th: drop the root, because the left hand is playing it anyway.
> Maj11th: drop the root (it's in the left hand) and the 3rd (it's a
> dissonance against the 11th). You can generally treat a G11 as Dm7/G.
> Min11th: treat as min7 or min9
> 13th: These are more complex:
> * Always include 3rd and 7th
> * Never include the 11th (unless it’s the #11)
> * Include 9th and 13th whenever possible
> * Avoid a minor second at the top of the chord, since it's a strong
> dissonance.
>
> These rules ignore what's in the melody - things get more complex if you
> start taking that into account.
>
> You can implement the above rules with the following algorithm:
>
> 1. Choose the notes of the chord, having no more than 4 notes (lookup
> tables are good, especially since you can also flag tension notes).
> 2. Where possible, resolve tensions (7ths or suspensions) of the prior
> chord using downward, stepwise motion.
> 3. Where possible, resolve the remaining notes using stepwise motion (up
> or down).
> 4. Keep the remaining notes in the middle register - roughly E3 to G4.
> 5. If there's a half-step between the top two notes of the chord, drop the
> one not resolving a tension down an octave.
>
> -- David
>
>
>
> On Tue, Mar 15, 2016 at 1:02 AM, Tobia Tesan <tobia.te...@gmail.com>
> wrote:
>
>> On 15/03/2016 04:18, Marc Sabatella wrote:
>>
>> Thanks for you reply, Marc.
>> > I think from previous discussions there seems to be general agreement
>> > that the way forward is for any chord playback syste, to simply
>> > generate actual notes on an actual staff, the user could then edit or
>> > make that staff invisible etc.
>>
>> Ah, is it so?
>> I think I have completely misunderstood you, then; sorry about that.
>> In practice, this doesn't change a whole lot, though, I guess that
>> instead of a "render to midi" pipeline stage you would get a "render to
>> staff" stage.
>>
>> > There are a number of algorithms that could be used to generate the
>> > voicings.
>>
>> Would please you have some pointers in this regard?
>> More than the algorithmic stage I am not sure how the solution itself
>> would be characterized, though (ie: what does it actually do,
>> harmony-wise?).
>>
>> > It has also been suggested we *integrate* with Impro-visor for more
>> > sophisticated playback, and I'm open to that as well.
>>
>> Could you elaborate a bit on that?
>> What sort of "integration", exactly?
>>
>> Thank you very much.
>>
>> --
>> Tobia Tesan
>> <tobia.te...@gmail.com>
>> <sip:tobia.te...@ekiga.net>
>> +39 393 4427709
>> "I have not failed.
>> I've just found 10000 ways that won't work."
>> -- Thomas Edison
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Transform Data into Opportunity.
>> Accelerate data analysis in your applications with
>> Intel Data Analytics Acceleration Library.
>> Click to learn more.
>> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
>> _______________________________________________
>> Mscore-developer mailing list
>> Mscore-developer@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>
>
>
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Mscore-developer mailing list
Mscore-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mscore-developer