Jump to content

Recommended Posts

Posted (edited)
8 hours ago, Michael Eskin said:

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.

 

I've seen a number of 'mysterious' practices over the last few years, most of which (after looking at several editions of the ABC language specification) can only be explained by assuming that the 'problems' have arisen because of the above reason. I've always been very reluctant to come to that conclusion, but I think it must be right in many cases...

 

7 hours ago, JimR said:

Which means the key code should be K: _E ?

 

Yes and no? I keep the 'music' and the 'header' parts of ABC completely separate in (what passes for) my mind. The use of '_' and '^' is clear in the context of the 'music'. It seems reasonable that in the different context of the 'headers', they might be used in a different way, so if it were legal (which it isn't) K:_E would be reasonable...

_________________________

I didn't anticipate that my original query would spark a relatively lengthy discussion, but I'd already considered just about everything which has been said before I posted my original query. Like I said, I've seen several 'odd' practices in the last few years, and dealing with them is now a well established thought process. It's always interesting (and helpful!) to see other folks thoughts...

 

Edited by Roger Hare
Posted
3 hours ago, Michael Eskin said:

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_

 

just for clarification: An _E in the music part of a piece whose key signature is Gminor would really be a D, right?

 

About the recurring mysteries: Although I am by far not as experienced in abc notation as folks like Michael or Roger, I have come to believe that the abc "culture" attracts customization; because rendering and translating abcs is a computationally rather easy endeavour, it is very tempting to hack out custom modifications where needed for a "private" software. Batch processing an existing abc database to accomodate those mods isn't rocket science either, so I am not surprised to find a share of local color in abc land. There is nothing wrong with that by itself; we see a similar things in handwritten scratch books in the 19th century. Only difference being that abcs are theoretically meant to be shareable and universal. 

Posted (edited)
2 hours ago, RAc said:

About the recurring mysteries: Although I am by far not as experienced in abc notation as folks like Michael or Roger, I have come to believe that the abc "culture" attracts customization; because rendering and translating abcs is a computationally rather easy endeavour, it is very tempting to hack out custom modifications where needed for a "private" software. Batch processing an existing abc database to accomodate those mods isn't rocket science either, so I am not surprised to find a share of local color in abc land. There is nothing wrong with that by itself; we see a similar things in handwritten scratch books in the 19th century. Only difference being that abcs are theoretically meant to be shareable and universal. 

 

Hah! Thanks for the compliment, but I do regard myself as someone who is only 'moderately' fluent in the ABC language. That is why I ask dumb questions sometimes (not too frequently, I hope).

 

I try not to 'hack out custom modifications' myself, and I will always try to reduce them to 'standard' ABC when I do encounter them (or remove them altogether).

 

My goal (in so far as I have one) is to make these (usually) old files truly 'shareable and universal' by cleaning 'em up a little, bringing the ABC code 'up-to-date', and (usually) by adding simple accompaniment chords. Why? Because there's a lot of good tunes lurking in there...

 

Doing so is not rocket science, as you say. I use a mix of global edits and hand-editing to do the job. It (usually) needs a slightly different set of global edits to cope with each different file I stumble across. 'Inventing' those different global edits is all part of the 'fun'...🙂

 

For many of those global edits, I still use ECCE, a simple text-only editor which must be approaching its 50th birthday, but which is still incredibly useful/fast.

___________________________

Edinburgh Compatible Context Editor.

Edited by Roger Hare
  • Like 1
Posted
18 hours ago, Roger Hare said:

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 just tried it in my version of EasyABC (1.3.8.7 - I know you use an earlier one).
It displays the message:

abcm2ps-8.14.14 (2022-12-19)
...
stdin:13:4: error: Missing note after accidental
  13 K:E_
         ^

As for K:_E, EasyABC completely ignores it and  does not display a message. abcjs treats it, correctly IMO, as a single accidental E flat mark. Which doesn't sound great!

Posted (edited)

Problem solved 🙂

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:_B _E _A
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||

https://michaeleskin.com/abctools/abctools.html?lzw=BoLgzAbAUAKiBCBTAhgVwC4E8AEB7AZtugBaLYByuATiQDTYylQBKIAygDa4Du2b6VZCQDOAB0SYoAYRBTko9MgCWAOz5KAtrjUAxQcMRUo8EIzIBBErg5kp1mwGN0S7VACysqABkQARgD0ABxQAIp+-gAsALy+EQAMUADSIAD68NgpAKIZ5lCZAD4A4rQAPNmZAHw62IUV5tjwJQ75UiVS2DoV2QAiJfD0AH79AExFpeVVNXUNJQDm+fgVACbYiP5L-g7+8P6rw4gg+VDziBWzM+eIc9gARmf5yGeLZEt9jSfX8Ger-vj+s-5kLsbnMHhVCGsNlsdntVuCjrMSohGoVVn1CmV8uYKoVOj0+oMRmMypkSvUMcjQYsVpDNttdoh9vl8kA&format=noten&ssp=10&name=Beauty_of_the_North_The&play=1

Edited by Michael Eskin
Posted
5 hours ago, DaveRo said:

I just tried it in my version of EasyABC (1.3.8.7 - I know you use an earlier one).
It displays the message:

abcm2ps-8.14.14 (2022-12-19)
...
stdin:13:4: error: Missing note after accidental
  13 K:E_
         ^

Ah! That sounds like I need to check the versions of abc2midi, abcm2ps, etc. on the machine in question. I thought I was all up-to-date. Thank you for the heads-up...

 

I just spent a couple of hours munging some of these ABC transcriptions, and maybe it wasn't such a dumb question after all. So far the tunes with the flaky key sigs have turned out to be pretty good versions of the tunes concerned, some of which I haven't seen/heard before, so it's looking/sounding good..

Posted
11 hours ago, RAc said:

just for clarification: An _E in the music part of a piece whose key signature is Gminor would really be a D, right?

 

That’s not clearly defined in the standard, which merely says:

 

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.

 

(note, what looks like a long underscore is actually two consecutive underscores, which are ligated together in this font)

 

However I wouldn’t think RAc’s suggestion is correct. Certainly, if I were reading printed music in G minor and I saw an E with a flat sign in front of it, I would interpret it as an Eb, not an Ebb or a D. The way to notate an E double flat in printed notation, even if there’s an Eb in the key signature is as a double flat. I would think the same goes for abc notation.

Posted (edited)
19 hours ago, Michael Eskin said:

Problem solved 🙂

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:_B _E _A

  .

  .

Ta!

 

This only seems to work in (Easy)ABC if I modify the key sig as follows: K:C _B _E _A. I can think of one other situation where abcjs makes a better job of interpreting ABC code than abc2midi/abcm2ps, but that was with some (music) code which had been written in (to me) a very strange way.

 

I only realised that it was possible to write out key sigs 'longhand' like this when I looked at some klezmer tunes recently. Somewhere, I also saw a key change from G to C which was specified as K:G =f (or something like that).

 

I had to think about that for a while before I realised that there could sometimes be a good reason for doing things this way.

 

One seems to be able to do some pretty scary clever things within ABC by going only ever-so-slightly 'off-piste'. Good!   🙂

Edited by Roger Hare
Posted
17 hours ago, David Barnert said:

However I wouldn’t think RAc’s suggestion is correct. Certainly, if I were reading printed music in G minor and I saw an E with a flat sign in front of it, I would interpret it as an Eb, not an Ebb or a D. The way to notate an E double flat in printed notation, even if there’s an Eb in the key signature is as a double flat. I would think the same goes for abc notation.

 

Yes, but the thing is that, for example, every F# in a piece with the key signature Gmajor shows up as an F in the abc notation, so the implied interpretation of any unannotated F in such a score is "the variation of F that lies in the scale defined by the key," in this case F#. Consequently, every explicitly sharped F in that score would have to be an F##, right? Otherwise the explicit sharp (and analogously the explicit flat) could not be interpreted unambiguously - it may be either a deliberate sharping of the already sharped note or a redundant explicification (which in standard notation I believe would be something like a bracketed sharp after an explicit naturalization to explicify that we are back to the key sphere).

 

The same, needless to say, would go for the explicit flattening.

Posted

I'm pretty sure any specifically indicated accidentals in the notation that match the key signature would be considered "cautionary" not further modifying pitch unless the pitch had been previously altered from the key signature, for example to show that in the key of G, a previously naturaled F in a measure goes back to an F#.


https://www.areditions.com/blog/post/a-guide-to-cautionary-accidentals

 

 


 

 

Posted
10 minutes ago, Michael Eskin said:

I'm pretty sure any specifically indicated accidentals in the notation that match the key signature would be considered "cautionary" not further modifying pitch unless the pitch had been previously altered from the key signature, for example to show that in the key of G, a previously naturaled F in a measure goes back to an F#.


https://www.areditions.com/blog/post/a-guide-to-cautionary-accidentals

 

I agree. There has to be a way to notate the “cautionary” accidentals discussed in the link that Michael provides within the rules of abc. Just as in printed music notation, if you want a double sharp or flat, notate it as such.

 

Do you (Ruediger) actually have software that when confronted with

 

Quote

X:...

T:...

M:...

K:G

^F

 

will display an F double sharp?

Posted
9 minutes ago, David Barnert said:

 

I agree. There has to be a way to notate the “cautionary” accidentals discussed in the link that Michael provides within the rules of abc. Just as in printed music notation, if you want a double sharp or flat, notate it as such.

 

Do you (Ruediger) actually have software that when confronted with

 

 

will display an F double sharp?

Good question, David - not to my best knowledge, possibly there are not many use cases for this oddity. Then again, I am a pragmatic - I only use as much of abc as I need for my purposes and edit a "problematic" abc score if needed. I do not use very many tools that process and render abcs, mostly Mobil Sheets, Mozart and Michael's tool.

 

The following tweaked abc (note the sharpened f at the end of the first full bar) will dispaly as a cautionary F(#) in Mozart and as a regular F# (and play as such) in Michael's tool (I can not test MSP right now):


 

Quote

 

X:1
T:The Devron Reel
M:4/4
L:1/8
K:D major
 [Q:1/4=120]"D"D2 D2 FED^F |A2 A2 BAFA |d2 d2 "A7"e2 de |"D"f2 e2 "A7"e2 A2 |
 "D"D2 D2 FEDF |A2 A2 BAFA |d2 d2 "A7"e2 de |"D"f2 "A7"e2 "D"d2 >A2 :|:
 "D"f2 f2 defd |"A7"e2 a2 A2 >A2 |"G"B2 B2 GABG |"D"A2 d2 D2 >F2 |
 "G"G2 G2 EFGE |"D"F2 A2 d2 >A2 |"G"BA GF "A7"EF GE |"D"F2 D2 D4 :||


 

 

So I guess your interpretation is correct, thanks for taking the time to look at it!
 

 

 

  • Like 1

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...