Re: [frogs] chord-name-engraver plus capo |
[ Thread Index |
Date Index
| More lilynet.net/frogs Archives
]
- To: Wols Lists <antlists@xxxxxxxxxxxxxxx>
- Subject: Re: [frogs] chord-name-engraver plus capo
- From: Carl Sorensen <c_sorensen@xxxxxxx>
- Date: Sun, 29 Aug 2010 19:14:40 -0600
- Accept-language: en-US
- Acceptlanguage: en-US
- Cc: Neil Puttock <n.puttock@xxxxxxxxx>, Lilypond Frogs <frogs@xxxxxxxxxxx>
- Thread-index: ActHsmEDgZ6UQingTbO4d/ZffR3xCgALldAo
- Thread-topic: [frogs] chord-name-engraver plus capo
On 8/29/10 1:42 PM, "Wols Lists" <antlists@xxxxxxxxxxxxxxx> wrote:
> On 29/08/10 00:42, Carl Sorensen wrote:
>>
>>
>> On 8/28/10 1:39 PM, "Neil Puttock" <n.puttock@xxxxxxxxx> wrote:
>>
>>> On 28 August 2010 19:02, Carl Sorensen <c_sorensen@xxxxxxx> wrote:
>>>
>>>> Why not just define a C++ function
>>>>
>>>> transpose_pitch (int semitones)
>>>>
>>>> return Pitch (0, - int (semitones / 2), - (semitones mod 2));
>>>>
>>>>
>>>> to handle the transposition? Or perhaps even make this part of the
>>>> Pitch class -- i.e. add a transposed_semitones function to Pitch, so then
>>>> you could just call p->transposed_semitones (capo)?
>>> The tranposition is subjective (it's mainly flat, but goes sharp for F
>>> and C), so that wouldn't be possible without also telling the function
>>> how to behave for certain tranpositions.
>> Yes, but I suspect that this is probably not correct at all for most chords.
>> It's defined for a C chord, but probably won't work correctly for any other
>> chords in the key of C.
>>
> From elsewhere, though, I've picked up that just "transposing down X
> semitones" probably won't work. For example, apparently transposing C
> down three semitones gives you Bbb, not A.
>
> The obvious way round that is for the normalise function to take key
> signature into account, but if it doesn't do that already I don't want
> to get into that at the moment ...
I think that we have a normalize function that will take into account key
signature.
Doing this well is actually a slightly harder problem than so far indicated..
Probably you need to have both a capo fret and a capo key-signature.
Because what you want is to have the chords in the capo indications have
"good" names, i.e. be common guitar chords. So you probably want to have F#
instead of Gb, and Bb instead of A#, etc. I don't think this is an
intractable problem, but I do think it will need both pieces of information..
Thanks,
Carl
---
----
Join the Frogs!