Roger Hare Posted November 8 Posted November 8 (edited) I've come across some strange key signatures in an old ABC file - examples below: X:36 T:Beauty of the North, The R:Slow Strathspey C:Captain Simon Fraser B:The Athole Collection M:C L:1/8 Q:1/4=140 K:E_ E|G,<E E>F G>A B<c|C<C F>E D<B, ~B,2|G,<E E>F G>A B<g| f>d e/d/c/B/ e2e:| g|e>g B<g e<g b>g|a>gf>e d<BB<g|e<g B>g e/f/g/a/ b<g|a>f e/d/c/B/ e2 e>f| g<eB<G e<BG<E|A>GF>E D<B, ~B,2|G,<EE<A G<eB<g|f>d e/d/c/B/ e2e|| X:49 T:Blue Bonnets Ow'r the Border R:Country Dance B:The Athole Collection M:6/8 L:1/8 K:B_ B,3 B,>CD|B>cd B2F|BGG G2g|g>fd c2B|B,3 B,>CD|B>(3c/d/c/) BGF| G3 FDF|FBD C2B:| |:Bdf fdB|gfd c2B|Bdf g>ab|B>(3c/d/e/) c2B|Bdf fdB|gfd cBc|G3 FDF| FBD C2B:| The key signatures in question are K:E_ and K:B_. Clearly something is wrong, because with those key signatures, the score is not displayed (in EasyABC). I have to make some change to the key signature before the score is displayed. Is it safe to assume that (the 'obvious') K:Eb and K:Bb are meant? Or is it K:E and K:B? I ask because these actually sound OK when played back using either incantation. I've seen several other instances of this, so I'd like to sort it out... Thanks... Edited November 8 by Roger Hare
RAc Posted November 8 Posted November 8 (edited) From my understanding, there are instruments that make it easy to change between minor and major of the same root note with little to none effort (some forms of pipes?), so that key signature may indicate that the same melody (and fingering) may work in either minor or major. There are several tunes in the balfolk realm (for example by Christoph Pelgen) that work this way; the A and B parts are almost identical except that one (usually the A part) is in major (say, G major) and the other in the corresponding minor (in this case G minor). I ran your abcs through Michael Eskin's tool (which ignores the underscore and makes that major). I agree that those will sound ok either way, so maybe that IS a clue to the signature (then again, it may be something totally different). Edited November 8 by RAc
David Barnert Posted November 8 Posted November 8 3 hours ago, Roger Hare said: Is it safe to assume that (the 'obvious') K:Eb and K:Bb are meant? Or is it K:E and K:B? I think the former, especially since the underscore is the way to indicate a flat in the body of a tune (but not the header). It would be an understandable mistake to think it might be appropriate to use the underscore to indicate a flat in the header. Note that Bb and Eb are the two most common flat major keys in folk music, which certainly describes both of these tunes. E major is not all that uncommon, but B major, with five sharps, is unlikely. Were both these tunes notated by the same person? Are there any tunes in the collection in flat major keys that have correctly notated K: fields? I suspect the answers are “yes” and “no.” 26 minutes ago, RAc said: From my understanding, there are instruments that make it easy to change between minor and major of the same root note with little to none effort (some forms of pipes?), so that key signature may indicate that the same melody (and fingering) may work in either minor or major. There are several tunes in the balfolk realm (for example by Christoph Pelgen) that work this way; the A and B parts are almost identical except that one (usually the A part) is in major (say, G major) and the other in the corresponding minor (in this case G minor). Conceivably possible, but I would think unlikely.
Roger Hare Posted November 8 Author Posted November 8 (edited) 1 hour ago, RAc said: ...I ran your abcs through Michael Eskin's tool (which ignores the underscore and makes that major). I agree that those will sound ok either way, so maybe that IS a clue to the signature (then again, it may be something totally different). That was going to be my next move. Thank you for saving me the effort of doing so! 49 minutes ago, David Barnert said: I think the former, especially since the underscore is the way to indicate a flat in the body of a tune (but not the header). It would be an understandable mistake to think it might be appropriate to use the underscore to indicate a flat in the header. Note that Bb and Eb are the two most common flat major keys in folk music, which certainly describes both of these tunes. E major is not all that uncommon, but B major, with five sharps, is unlikely. Were both these tunes notated by the same person? Are there any tunes in the collection in flat major keys that have correctly notated K: fields? I suspect the answers are “yes” and “no.” Conceivably possible, but I would think unlikely. Thank you. Your thoughts mirror my own exactly, and I'll be making the necessary corrections. I think I was vaguely aware that Bb was common, but I hadn't clocked the fact that Eb was also common. As you suspected, the answers to your two questions are indeed "yes" and "no". What prompted the question in the first place (apart from the flaky key signatures) was the fact that I have seen transcriptions of at least one of these tunes in a major key, but I guess RAc's comments deal with that one... There are ~60 examples of this in a file of ~900 tunes, so it's small but significant problem. It's the only file I've seen with this 'feature' (same as the 'k's I was banging on about a week ago)... Bb and Eb it is! Thanks both... Edited November 8 by Roger Hare
DaveRo Posted November 8 Posted November 8 Putting e.g. the first tune into Paul Rosen's abcjs Quick Editor plays OK but displays an error: Music Line:9:1: Expected note name after flat: E_ A curious message. Flat? Michaels stuff uses abcjs.
Michael Eskin Posted November 8 Posted November 8 (edited) 2 hours ago, DaveRo said: Putting e.g. the first tune into Paul Rosen's abcjs Quick Editor plays OK but displays an error: Music Line:9:1: Expected note name after flat: E_ A curious message. Flat? Michaels stuff uses abcjs. I see the same thing if you turn on the syntax validation panel in my tool (checkbox on the "Advanced Settings" dialog). Seems to sound fine in Eb major. Often when abcjs throws a warning like this it will just ignore the characters it doesn't understand. Edited November 8 by Michael Eskin
David Barnert Posted November 8 Posted November 8 2 hours ago, DaveRo said: Putting e.g. the first tune into Paul Rosen's abcjs Quick Editor plays OK but displays an error: Music Line:9:1: Expected note name after flat: E_ A curious message. Flat? Michaels stuff uses abcjs. I think this just means that the software doesn’t know what to do with an underscore except in the context of the body of a tune, where it is meaningless unless followed by a note name, in which case it means “flat,” as in the F major scale: F G A _B c d e f
Michael Eskin Posted November 8 Posted November 8 (edited) Exactly. abcjs parses the ABC and can recognize that this character doesn't fit what is expected to be on a K: tag so it just throws a warning and ignores the extra characters. It will do the same for a lot of weird stuff people stick into a file, for example drop a bunch of qqqq into the first line of a tune and it will throw a bunch of warnings but just ignore them, for example this renders and plays just fine in my tool: X: 1 T: Cooley's R: Reel M: 4/4 L: 1/8 Q: 1/2=90 K: Edor |:EBBA B2 EB|B2 AB qqqq dBAG|F/E/D AD BDAD|F/E/D AD BAGF| EBBA B2 EB|B2 AB defg|afge dBAF|1 DEFD E3D:|2 DEFD E2gf|| |:eB (3BBB eBgf|eBB2 gedB|A/A/A FA DAFA|A/A/A FA defg| eB (3BBB eBgf|eBBB defg|afge dBAF|1 DEFD E2gf:|2 DEFD E4|] But the diagnostics panel will show: Music Line:10:20: Unknown character ignored: |:EBBA B2 EB|B2 AB qqqq dBAG|F/E/D AD BDAD|F/E/D AD BAGF| Music Line:10:21: Unknown character ignored: |:EBBA B2 EB|B2 AB qqqq dBAG|F/E/D AD BDAD|F/E/D AD BAGF| Music Line:10:22: Unknown character ignored: |:EBBA B2 EB|B2 AB qqqq dBAG|F/E/D AD BDAD|F/E/D AD BAGF| Music Line:10:23: Unknown character ignored: |:EBBA B2 EB|B2 AB qqqq dBAG|F/E/D AD BDAD|F/E/D AD BAGF| Edited November 8 by Michael Eskin
DaveRo Posted November 8 Posted November 8 (edited) 1 hour ago, David Barnert said: I think this just means that the software doesn’t know what to do with an underscore except in the context of the body of a tune, where it is meaningless unless followed by a note name, in which case it means “flat,... Section 3.1.14 of the ABC 2.1 spec "The key signatures may be modified by adding accidentals..." does allow for underscores on the K field, though only preceded by a space and followed by a note. So I assume that's what it's trying to parse. And indeed, if you change the _ to ^ the error message says 'sharp'. Edited November 8 by DaveRo
David Barnert Posted November 8 Posted November 8 1 hour ago, David Barnert said: I think this just means that the software doesn’t know what to do with an underscore except in the context of the body of a tune, where it is meaningless unless followed by a note name, in which case it means “flat,... 11 minutes ago, DaveRo said: Section 3.1.14 of the ABC 2.1 spec "The key signatures may be modified by adding accidentals..." does allow for underscores on the K field, though only preceded by a space and followed by a note. So I assume that's what it's trying to parse. And indeed, if you change the _ to ^ the error message says 'sharp'. Indeed. Note, I didn’t say the construction was not permitted in the standard, I said the software didn’t know what to do with it.
Roger Hare Posted November 8 Author Posted November 8 (edited) 1 hour ago, Michael Eskin said: Exactly. abcjs parses the ABC and can recognize that this character doesn't fit what is expected to be on a K: tag so it just throws a warning and ignores the extra characters... Yup, I think this is pretty much what EasyABC is doing (presumably it's abc2midi, 'under the bonnet'). I see the error message "Unknown mode '_'" when I present it with this stuff... _______________ I'm getting pretty hardened to this sort of stuff - I just found a few tunes with oodles of unclosed slurs (which makes a right mess of the score) - I just deleted 'em... Edited November 8 by Roger Hare
Michael Eskin Posted November 8 Posted November 8 Plus, wouldn't it normally be the case that the underscore would be before the letter not after? This just seems like it was someone who perhaps didn't know what they were doing.
JimR Posted November 8 Posted November 8 (edited) Which means the key code should be K: _E ? Edited November 8 by JimR
David Barnert Posted November 9 Posted November 9 3 hours ago, JimR said: Which means the key code should be K: _E ? 3 hours ago, Michael Eskin said: Yes, but that also doesn't work. Not really. The standard is pretty clear. In the header, the key is defined in the K: field using b and # to indicate flat and sharp... Quote 3.1.14 K: - key The key signature should be specified with a capital letter (A-G) which may be followed by a # or b for sharp or flat respectively. In addition the mode should be specified (when no mode is indicated, major is assumed). ... and the symbols _ and ^ only come into play (in the K: field of the header) when adding accidentals to a key signature: Quote The key signatures may be modified by adding accidentals... For example, K:D Phr ^f would give a key signature with two flats and one sharp... Otherwise, _ and ^ (and 😃 denote flat and sharp (and natural) in the body of the tune: Quote 4.2 Accidentals The symbols ^, = and _ are used (before a note) to notate respectively a sharp, natural or flat. Double sharps and flats are available with ^^ and __ respectively.
Michael Eskin Posted November 9 Posted November 9 (edited) Not sure what you mean by "not really" in the context of the K: with a single key and no modifications afterwards. It doesn't work, so "really". 🙂 Edited November 9 by Michael Eskin
David Barnert Posted November 9 Posted November 9 3 minutes ago, Michael Eskin said: Not sure what you mean by "not really" in the context of the K: with a single key and no modifications afterwards. It doesn't work, so "really". 🙂 I was referring to the statement: “the key code should be K: _E ?” and your response that started with the word “Yes.”
Michael Eskin Posted November 9 Posted November 9 (edited) Someone who thinks E_ refers to E-flat hasn't, like possibly you or definitely me, doesn't have a copy of the ABC spec on their nightstand. 🙂 I wasn't representing _E as a valid value for a K: tag, just that if it were, that would be the syntax, not E_ Edited November 9 by Michael Eskin
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now