Writing variations in ABC

Writing variations in ABC

Sometimes in a reel, for example, bars 5 & 6 of the B part are played differently in the two repeats.
I have seen such tunes written (for example in Gerry O’Connor’s banjo book), where the
two versions of bars 5 & 6 are marked like 1st and 2nd endings (i.e. with 1 ————————, 2 ———————)
but then bars 7 & 8 follow them. This can also be use to show a variation.

If I use [1 || [2 || in ABC the rendered sheet music looks just like those books do
(except for the double bar line), but apparently the tool that converts ABC to midi for playback,
totally misunderstands such things.
I just posted two tunes like that and faced ridicule for the result.
(I also got the key signature wrong in one of them, writing Emaj when it should have been Emix).

Without using the [1, [2 marks, the only way to write the tune is to write out the 8 bars of the B part twice
changing bars 5 & 6 in the second 8 and keeping bars 1,2,3,4,7,8 the same.
It seems to me that the music is more compact and easier to see that only two bars have changed
if the [1 , [2 thing would work in the middle of a part.

Are there any ABC tools that allow that?

Re: Writing variations in ABC

I think the problem with the ABC midi player is that it expects a repeat sign at the end of your [1 section. I can see why you would like to write things the way you have described but I don’t think it’s standard notation practice and would probably confuse most musicians looking at the score for the first time.

However you can do something more compact than writing out the 8 bars of the B part twice. I would suggest doing it this way:

|: bar1 | bar2 | bar3 | bar4 |[1 bar5 | bar6 | bar7 | bar8 :|[2 bar5b | bar6b | bar7 | bar8 |]

The midi player will have no problem with that. Only two bars longer than your initial idea.

Re: Writing variations in ABC

Thanks Stiamh. In this tune https://thesession.org/tunes/1392#setting41148
(Finbarr’s version of the Boys of Tandaragee, or Pat Burke’s) the changes are actually in bars 3, 4 & 5.
So your method would only save two bars and wouldn’t be worth it. Oh well.

Since you play C#/D you might want to give that one a try. It’s not super easy, but it’s not as hard as it sounds.

Re: Writing variations in ABC

Oops. That link takes you to the version in Dmix (which is for B/C box).
The version for C#/D is above that one. It’s in Emix.

Re: Writing variations in ABC

In the days when I scored by hand I remember using your method on at least one occasion and I thought it made perfect sense.
But with scoring programs we have had to learn to be more rigorous in our approach (like putting a start repeat at the beginning of the second part of a tune). In Sibelius I sometimes use ossia staves for minor variations. In playback you get both original and ossia sounding simultaneously. No idea how to use them in ABC notation, however.

Re: Writing variations in ABC

Playback with [1, [2 volta markings is a right mess in ABC, I’m afraid to say. We had a massive argument about it on the ABC mailing list a while back and I don’t know if we ever actually got anywhere with it.

One minor thing is that [1 should be matched with a |] or ]; it won’t work every time depending on what else is going on but the spec does say I think that volta brackets need an explicit ending.

Posted by .

Re: Writing variations in ABC

Thanks for the reminder, Stiamh, I had totally forgotten - an age thing.

Incidentally, Paul Cranford uses "free-floating" ossia staves to show variations in his Cape Breton Heritage series of books.

Re: Writing variations in ABC

About variations, though there’s inevitably much repetition I think it’s often best two write out the tune twice (or three times) in full. That is both easier to sightread (for you sightreaders out there) and results in perfect audio playback.

However I realise that it’s common in Irish reels for a certain phrase to be singled out for variation while the rest of the tune-part remains more or less the same.

What I’ve done (in handwritten manuscript) is write out the tune once, and put a bracket over the phrase that the musician has chosen for most of the variations.

Down below I will write all the variations, just the phrases with a bracket over each saying "ossia".

That way a person can sightread the tune straight through without the complication of 1st time/2nd time markings or alternate ossia bars etc.

When they wish they can refer to all the variations at the bottom of the page.

Re: Writing variations in ABC

Thanks everyone for all your comments! The discussion about ossia staves was particularly interesting.
Richard Cook’s comment there
— that using ossia staves allows one to write a tune once and indicating just those bars that vary makes the music more understandable—
is just how I feel.

I was trying to get the same effect with the "volta" markings (a bit of new terminology for me).
If I had ended each volta section with |] then the playback might have worked better than it did when I
used ||. But it still doesn’t really work. Here is a test I did in EasyABC
T: Volta test
K: C
R: reel
|: edcB AGFE | [1 GcGc EGEG |] [2 cc c2 GG G2 | |] CDEF GABc :|
When I play this in EasyABC it goes:
Bar 1, Bar 2, Bar 4, Bar 1, Bar 3, Bar 4, Bar 1, Bar 4.
So it almost works as intended, but seems to play an extra repeat without the voltas (?)

I think it would be great if the ossia staves would really work easily and even better if the playback could
automatically substitute the ossia variations during repeats.

I was excited to understand the Finbarr Dwyer tunes I was listening to, that seemed so complex, actually
had a fixed structure where only three bars were changed on each repeat. I wanted to write them in a way where that would be obvious.

Because the playback didn’t work
(compounded by a mistake by me of adding an extra sharp to the key signature in one of them),
Kenny made me feel like a total idiot for posting those transcriptions. (I actually lost sleep over that!).

I have lots of tune books that show such variations. Some use the "volta" method, and I do have almost all
the Paul Cranford books, and they use the ossia staves. My music learned from Noel Hill is littered with
notations for alternate versions of certain bars, usually by marking the bar with an asterisk and then writing
another bar with the same asterisk below the tune.

I sometimes see tunes here on the session.org that have been written out two or three times in order to show
the variations, and such transcriptions won’t fit on one screen (so are hard to play from) and the few bars that are
varying are hard to spot.

So, thanks to your comments, I don’t feel like an idiot any more.

Re: Writing variations in ABC

"volta" just means "time" in Italian - not time as in time passing or as in the time of day, but specifically as in the first time, the second time, the next time etc. A useful distinction that we don’t have in English - the French do (la première fois etc.).

I saw the heated debate on the abc users list - it was mainly about repeat signs, over a hundred messages were exchanged!

But I did learn something very useful from it - not really related to ithaca-markb’s question here, but some of you might find it useful. It involves the use of multiple repeat signs and up to 4 volta brackets.

It allowed me to solve a transcription problem that had been annoying me for ages. The tune is The Trip We Took Over the Mountain and, the way I play it, both the A and B parts have 32 bars, with a lot of repeated bits, which made for a tune that took up a lot of space on the page of my ceili band tunebook. (My solution here is contrary to Richard’s idea of writing things out in full for ease of sightreading.)

I tried to post it in the tune section here but the multiple repeat signs at the beginning didn’t show up in the sheet music, so Ididn’t finish the post.

Here it is. Turned 5 lines of stave into 3 - the compact version is not a problem because the score is for reference rather than to be sight-read. Plays perfectly in EasyABC.

The rbmax command, incidentally, allows the volta bracket to extend over multiple bars - up to a maximum of 10 here.

X:245
T:THE TRIP WE TOOK OVER THE MOUNTAIN
Z:Steve Jones
M:3/4
L:1/8
K:G
%%rbmax 10
|:::D2 GF GA|B2 G2 GB|(3ABA ^G2 A2|f3 g af|g2 d2 de|d2 c2 A2|1,3 G3 B AG| F3 A GF:|2 G3 B AF| G4 GE:|4 G3 B AF| G4 Bd:|]
|::g2 d2 d2|g2 a2 g2|f2 d2 e2|=f3 g a^f|g2 d2 de|d2 c2 A2|1 G3 B AG| F4 Bd:|2 G3 B AF|G2 B2d2:|
|3 G3 B AG| F3 A GF | D2 GF GA|B2 G2 GB|(3ABA ^G2 A2|f3 g af|g2 d2 de|d2 c2 A2|G3 B AF |G4-G2|]

Re: Writing variations in ABC

Where does the repeat at the end of the 4th time ending take us to? Do we repeat the whole A part again?

Re: Writing variations in ABC

Cool Stiamh!
The way that music looks in EasyABC, the third volta in the B part ends with a regular bar line
and then the final part of tune comes after.
That makes me think that it could be used to solve my original problem.

So here is the challenge: write 4 bars of music that plays in this order
1 2 4 1 3 4
If you can do that, then I could use the method to do what I wanted
( bars 2 and 3 represent the variations
and 1 the part before the variation and 4 the part after the variation).

Re: Writing variations in ABC

I see. abc2midi is ignoring that last repeat mark in the A part. So does the |::: over-ride it?

Re: Writing variations in ABC

@David50 I have just changed the code in EasyABC so that it now reads |:: at the beginning, and removed the repeat mark at the end of the 4 time ending. It still plays correctly. Thanks for pointing that out.

Re: Writing variations in ABC

I see now that the 3rd volta in the B part is supposed to go all the way to the end of the tune
(10 bars long). But (at least my copy of) EasyABC is only drawing it two bars long.
(So the rbmax 10 command isn’t working for me ?).

So maybe my challenge has no solution using just repeats and voltas (?).

Re: Writing variations in ABC

I’m probably not up-to-date but abcm2ps-8.14.2 (2018-12-18) doesn’t seem to understand the "%%rbmax 10 ". Only two bars covered in the 3rd time ending of the B part.

So if it’s not working for others that may be why.

Re: Writing variations in ABC

Crossed with ithaca-markb . I wonder if there is a later version.

Re: Writing variations in ABC

I asked my challenge on the ABC notation user group on facebook.
I asked: can you write four sections of music B, M1, M2, E and get them to play in the order
B M1 E B M2 E without duplicating any notes.

Jack Campin replied " Doesn’t P: work for you? "
Anybody here know what P: is?

Re: Writing variations in ABC

I tried this test :
T:P test
M:3/4
K:C
P:ABDACD
||[P:A] C6||[P:B] D6 ||[P:C] E6 ||[P:D] F6||

But the playback was C D E F not C D F C E F .
What am I not understanding?

Re: Writing variations in ABC

Try

X:1
T:P test 2
M:3/4
P:ABDACD
K:C
||[P:A] C6||[P:B] D6 ||[P:C] E6 ||[P:D] F6||

Re: Writing variations in ABC

"Volta just means time in Italian - not time as in time passing or as in the time of day, but specifically as in the first time, the second time, the next time etc. A useful distinction that we don’t have in English."

Ah but we do have such a word, instance, as in the first instance, the second instance.

Re: Writing variations in ABC

"I’m probably not up-to-date but abcm2ps-8.14.2 (2018-12-18) doesn’t seem to understand the "%%rbmax 10 ". Only two bars covered in the 3rd time ending of the B part."
http://moinejf.free.fr/abcm2ps-doc/rbmax.xhtml
It’s working in abcm2ps v.8.13.14 (2017-08-05)

"If I use [1 || [2 || in ABC the rendered sheet music looks just like those books do
(except for the double bar line), but apparently the tool that converts ABC to midi for playback,
totally misunderstands such things."

Seymour Shlien (2020-01-03)
*Introduction:
"First, abc2midi has some serious limitations and perhaps a few known bugs. Abc2midi ignores all D.C.
(Da Capo), D.S. (Da Segno), al Fine symbols. You will either need to explicitly repeat sections or use the
P: command to control these repeats."

**Repeats:
"The treatment of repeats has been a source of a lot of grief to some users. The problem is…"

***Parts:
" A part label must be a single character in the range A - Z. e.g.
P:A"

__*https://abcmidi.sourceforge.io/#top
_**https://abcmidi.sourceforge.io/#repeats
***https://abcmidi.sourceforge.io/#parts

"My music learned from Noel Hill is littered with notations for alternate versions of certain bars, usually by marking the bar with an asterisk and then writing another bar with the same asterisk below the tune."
Brilliant! These variants are not endings which are typically part of how tune (parts) work together (i.e. ~ 1st & 2nd endings). Isn’t that obvious?

Final note.

Jean-François Moine :
"Some indications can be adjusted for the reader to know quickly and
exactly how the tune must be played. Here is a newer version.
You may note that abcm2ps and abc2svg do not give the same rendering.
Time for a finer ABC standard?"
https://groups.io/g/abcusers/message/17476

Posted by .

Re: Writing variations in ABC

Richard, "instance" does not have the same meaning as "volta" or "fois". We use "time" for all instances of those words. I’ll explain it all to you the next instance I meet you. 🙂

Re: Writing variations in ABC

For volta ou la première fois, isn’t there an English word that sounds like ‘sound’? Begins with an ‘r’?

Re: Writing variations in ABC

What Staimh said. ‘Time’ is not a translation of ‘volta’ (or ‘fois’), it’s the word we use for what the Italians (or French) use them for in this context. We could use ‘occasion’ but we don’t for tunes. The Spanish ‘vez’ also has multiple uses.

Re: Writing variations in ABC

Looks like abcm2ps-8.14.2 is using the rbmax value but getting the layout wrong. Deleting all but the 3rd time ending gives one line of score with the volta line over all the bars (despite the syntax errors). Removing the rbmax specifier it goes back to the default of 4 bars.

However, even with the line not going all the way isn’t the meaning clear - the line is not ‘closed’ with a downturn so we can interpret the ending as going to the next double bar line.

@ithaca-markb My suggestion for placement of the P:ABDACD line before the K: does give the desired effect. I guess that with it last abc2midi is reading it as a part identifier rather than being in the header. Thanks for making me aware of the ‘inline’ part label - seems as if it can be used to do things like label a last time bar (for a human reader at least)

Re: Writing variations in ABC

I’m using abcm2ps-18.4.7 - the rbmax command works correctly.

Re: Writing variations in ABC

Here’s how I can get the effect I wanted using the P: fields.
The A part is normal. The B part is divided into BME — beginning, middle, end —
and the variation middle is marked V, so we play AA BME BVE
(When I pasted the ABC copied from here, using ~ for rolls, into EasyABC it wouldn’t play
until I changed the ~’s into !roll!, but that probably a problem with cutting and pasting changing
the ~ character.)
T: Finbarr’s Boys of Tandargee
P:AABMEBVE
K: Emix
M: 6/8
||[P:A]BAB !roll!E2 B,| BAB !roll!d2 A| {c}BAF !roll!D3| A,DD A,DD|
BAB !roll!E2 B,| BAB daf| edB !roll!AFA|BEE E3||
||[P:B] ebg !roll!e3|Bef (3gab g|afe [P:M]dfa | baf dfa |
gbB [P:E]!roll!e2 B|def a2f| edB !roll!AFA|BEE E3||
||[P:V]!roll!d3| Bdd Add|BgB||

Anyway, this music plays correctly.
(As David50 pointed out, the P:AABMEBVE has to come before the K: in the header.)
It looks about right, but the part letters A B M E V might be misunderstood as (very unusual)
chord symbols at first glance.
(You can’t use parts named Beg Mid End Var, they have to be single capital letters.)

I’m afraid to try posting such a thing here, though. But for my own private versions of tunes I might adopt this P: method.

Re: Writing variations in ABC

OK, Mark, so, you’ve got the abc2midi player to interpret your score correctly. But it’s a long way from what you were asking about in your OP and, I think, merely baffling for a human wanting to read the tune. As long as you’re happy though… 🙂

If you want to make the part labels look different from chord symbols, use the %%partsbox command to draw a box around them.

Re: Writing variations in ABC

Stiamh,
You’re right. It’s not what I wanted.
(I wanted voltas [1 xxxxx |] [2 yyyyyyy |] to work in the middle of a part.)
But it does answer my challenge of getting it to play right without needing to duplicate notes
that are common to both repeats.

If I use it for my own private archives, I won’t be confused by it, but I wouldn’t post any
tunes using this method here — I’ve learned my lesson!

Re: Writing variations in ABC

Understood, Mark. But is weaving in those middle part fields easier then duplicating the first and last bits of the 4-bar sections?

Stiamh, I too would use the partsbox. FWIW I scratched this out and the MIDI seems to play correctly.
It does duplicate some of the notes though (when typing). So it fails the challenge there.

X:1
T:Finbarru2019s Boys of Tandargee
P:ACBC
K: Emix
M: 6/8
%%partsbox
|:BAB !roll!E2 B,| BAB !roll!d2 A| {c}BAF !roll!D3| A,DD A,DD|
BAB !roll!E2 B,| BAB daf| edB !roll!AFA|BEE E3:|
||[P:A]ebg !roll!e3|Bef (3gab g|afe dfa | baf dfa |gbB1
[P:C]!roll!e2 B|def a2f| edB !roll!AFA|BEE E3|
[P:B]ebg !roll!e3|Bef (3gab g|afe!roll!d3| Bdd Add|BgB

Posted by .

Re: Writing variations in ABC (%%rbmax 10) 🙂

"Crossed with ithaca-markb . I wonder if there is a later version." {abcm2ps}
https://groups.io/g/abcusers/message/16978

Richard Walker …[abcusers] <abcusers@…>
02/26/20 #16978

"That was the solution. I was using an older version of abcm2ps, as was a
friend of mine, and neither worked correctly with those endings and the
rbmin and rbmax parameters. When we installed the newest versions all is
well." 🙂

http://abcplus.sourceforge.net/#abcm2ps

Posted by .

Re: Writing variations in ABC

@AB. Yes, %%rbmax 10 works with abcm2ps-8.14.11 (2020-12-05). Thanks.

Re: Writing variations in ABC

Hooray!

Posted by .