|
|
|
|
|
|
#365821 - 04/30/13 09:57 AM
trying to write a software PC based arranger
|
Member
Registered: 04/29/13
Posts: 45
Loc: WA, USA
|
Hello folks, I'm new in town. Finally got on here after MUCH bugging of Nigel I have a pet piano practice program that's kind of my life's work. And I'm trying to add style playing to it's list of features (as my Yamaha CP-33 won't do it in hardware) I have a pretty good understanding of - yamaha style file format (thanks to JorgenS,PeterW) - chord qualities (and yamaha's list of defined ones) - midi software in general (see my pet in the sig) What I'm not understanding is how the notes of the style are transposed into the notes of the chord you PLAY. I understand that the style file is keysig=C based and you transpose from C to the root of the PLAYED chord. And I get that the style chord channel is based on a particular chord quality - usually CMaj7 so you need to scoot around the 1,3,5,7 chordals. But I don't understand what to do when: 1) the style note isn't on the 1,3,5 or 7 of the style chord quality. 2) the played chord type doesn't INCLUDE a chordal of the style note. For example, you have a 4 note style with CMaj7 based C,E,G,B. And you PLAY a Cmaj. The B gets totally scooted to a new chordal as the played chord has no 7th. I can see how you want to play all style notes on SOME note to keep the rhythm, etc. But I don't understand how the new note octave,step is picked. If anybody can help me with this, I'd greatly appreciate it !!
|
Top
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#365823 - 04/30/13 10:09 AM
Re: trying to write a software PC based arranger
[Re: stephen.hazel]
|
Senior Member
Registered: 09/21/00
Posts: 43703
|
|
Top
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#365828 - 04/30/13 11:51 AM
Re: trying to write a software PC based arranger
[Re: stephen.hazel]
|
Member
Registered: 04/29/13
Posts: 45
Loc: WA, USA
|
Hiya Dennis,
There are some chord trigger modes that mix your triggering with the output, but in general i THINK that your left hand ONLY picks a chord root and quality. The chord is first transposed from C to that root, but from what I've seen in some experiments, ALL of the style notes ALWAYS go out.
If there's an exact match between the chordal (1,3,5,7) in the style's channel's chord quality with the chord quality you PLAY, then the style notes go out with just the root transpose plus 3,5,7 adjustments due to chord type.
BUT if the style channel was recorded with CMaj7 C,E,G,B and you play a Cmajor, then since the 7 is extra, it gets mapped to a 1. That B gets remapped to the next C up.
(Then voice leading logic is thrown in on top).
Let's take a look at a relatively tricky example: style channel is based on Cmin7(11) and has these notes: 3Eb 3F 3Bb(3,4,7)
now you play Cmaj, Cmin, Cadd9.
Major has the 3, but it's adjusted to a M3 instead of existing m3 so 3Eb=>3e No 4 or 7 in Cmaj, so the 3f=>3g(4=>5) and the 3Bb=>4c(7=>1)
When Cminor is played, the same thing happens, but the 3 is left minor.
Now you play a Cadd9. 3Eb adjusts to major again. 3F is moved to a 5 again (3F=>3G)
=BUT= the 3Bb is moved to a 4D. (So 7=>2) How did it decide to skip over the 4c which is IN the played chord???
Maybe that has to do with the voice leading logic? Hmmmmmm............
Edited by stephen.hazel (04/30/13 11:52 AM)
|
Top
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#365830 - 04/30/13 01:28 PM
Re: trying to write a software PC based arranger
[Re: stephen.hazel]
|
Member
Registered: 04/29/13
Posts: 45
Loc: WA, USA
|
I think what I'm gonna do is build an arranger that just redistributes the style notes onto new chordals from "as recorded in style" quality to "as wanted by PLAYED chord" quality in as plain a manner as possible - just pick the next dang chordal up valid in played chord. And see how it sounds. It won't be an identical arrangement to yamaha's. But it'll still sound good per chord quality.
If a style composer happens by later and can fill me in, I'll change my algorithm.
In addition to the weird yamaha "pick next chordal" thing, there are also cases where ONE (or some) of a style's note(s) are duplicated. Not just shifting the chordal, but making a whole new one.
Here's an example: style channel was plain CMaj7 chord quality with 3g,4b,4e notes
when major chord is played, out come 3g,4c,4e as you'ld expect. As 7 is often hopped to 1
BUT when C79 is played, out comes 3Bb,4c,4e,4d
Where the heck did that extra note come from??? The style only had 3 notes...
|
Top
|
|
|
|
|
|
|
|
|
|
|
|
|