:! We need: :! * transposition (which understands the mode of what's being :! transposed) : Why does transposition need to understand the mode?
I had in mind a problem with the way BarFly used to transpose. If the tune is *strictly* in a mode it worked okay, but if you transposed a tune with accidentals, it was anybody's guess how it would decide to name them - if you had an F sharp in a G minor tune, it might end up as B flat if you transposed it to B minor, and the program would then need to put a natural in front of the next B in the bar, with similar cascades of weirdness throughout the tune (this looked particularly bizarre if you had a sharpened gracenote like that). I think this is fixed now, at least I just tried a few tunes with accidentals and couldn't get it to happen; I presume the program now realizes that such an F sharp is a sharpened seventh rather than a flattened tonic, and represents it accordingly when transposing it. (BTW, it just occurred to me that there is a neat way of representing modal transposition using category theory - will try to write it up). I mentioned this a long time ago in the context of K:none. For atonal music a different rule applies: just pick the simplest way to represent the accidentals when transposing. You transpose by an interval rather than from one key to another, and if you transpose F sharp down a minor third, it goes to E flat, not D sharp. >> Currently, the abc2midi transposer only understands the key >> signature. So if I have a piece in D dorian, and I transpose >> it up 3 half notes, the transposed output is in Ab. It should >> be in F dorian. > This is an inevitable consequence of using tonic/mode in the K: command. It's not inevitable because BarFly gets it right (and always has done from the earliest version I used). Mode is preserved under transposition. It's a source-to-source transformation so it's hardly rocket science to preserve it. I don't quite see how this matters to abc2midi. MIDI doesn't have any concept of mode, does it? =================== <http://www.purr.demon.co.uk/jack/> =================== To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html