To Thread - Forum Home

The Mudcat Café TM
https://mudcat.org/thread.cfm?threadid=159191
23 messages

Tech: Harmony lines in ABCexplorer

04 Feb 16 - 07:15 AM (#3770515)
Subject: Tech: Harmony lines in ABCexplorer
From: Les in Chorlton

A friend has lent me a book of tunes with a second part, ie a harmony to the main tune. I would like to put this into ABCexplorer and see how it sounds.

Is this possible? I can't see any instructions that would enable me to play two lines of music at the same time within ABCex.


04 Feb 16 - 08:05 AM (#3770519)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: GUEST,Jon

I don't know ABCExplorer but abc can use multiple voices. Here is a shortened (2 of 4 parts shown) example from Joe's folkinfo songs:

[pre]X:1    %Music
T:Diadem
B:Ian Russell,A Festival of Carols - A Second Collection of Carols from the Mount-Dawson Manuscripts, Sheffield, 1996
C: Arr. Ian Russell, http://www.sgpublishing.co.uk/gm/vc/vcabout.html
Z:Ian Russell
Q:1/4=112    %Tempo
V:1 clef=treble name="Soprano"
M:3/4    %Meter
L:1/8    %
K:G
D2 |G4 A2 |(B3/2c/d2) G2 |A2 G2 F2 |
w:All hail the power__ of Je-*sus'
G4 (FE) |D3 E DC |(B,2D2) G2 |(E2c2) c2 |
w:name, Let_ an-gels prost-rate fall_ Let an-*gels
B4 A2 |G6-|G4 (GA) |B4 B2 |
w:prost-rate fall *Bring_ forth the
B2 A2 G2 |A2 G2 F2 |G3/2A/ B2 d2 |(c3BAc|
w:roy-*al di-*a-dem__ And crown___
B3AGB|A3GFA|G2) G2 z2 |c2 c2 z2 |
w:_________ Him, crown Him,
A2 A2 z2 |B2 B2 d2 |(G3/2A/B2) A2 |G4 F2 |G6-|G4 z2 |]
w:crown Him, crown Him, And crown__ Him Lord of all!
V:2 clef=treble name="Alto"
M:3/4    %Meter
L:1/8    %
K:G
B,2 |D4 D2 |D4 D2 |E2 D2 D2 |
D4 (DC) |B,3 C B,A, |(G,2B,2) D2 |E4 E2 |
D4 DC |B,6-|B,4 D2 |D4 D2 |
D2 C2 B,2 |E2 D2 D2 |D4 D2 |E2 E2 z2 |
w:******* And crown Him, *
D2 D2 z2 |D2 D2 z2 |D2 D2 z2 |(E3DCB,|
w:crown Him. crown Him, crown Him crown___
D6-|D2 D2 D2 |D4 C2 |D4 D2 |D6-|D4 z2 |]
w: __ Him, And crown Him Lord of all! [/pre]


04 Feb 16 - 08:30 AM (#3770524)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Les in Chorlton

Thanks Jon, I cannot get the whole of this to show as music in ABCex. but parts of it will load and it doesn't seem to have 2 lines of music anywhere played at the same time - ie in harmony.

I can use W and w to get words onto the page but not two lines of simultaneous music.

Any other advice?


04 Feb 16 - 08:53 AM (#3770528)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: GUEST,Jon

First you've probably spotted but the [pre] and [/pre] are not part of the abc (I'd meant to use html tags...).

Second, the example does convert OK at http://mandolintab.net/abcconverter.php

I believe ABCExplorer uses abc2midi and abcm2ps for midi and sheet music. If your program is a old, perhaps you need to update these?

That said, looking at the converter, abcm2ps is at abcm2ps-6.6.22 (November 28, 2012) - I hope there haven't been later changes that stop the example I gave from working. I've had little to do with abc since around that date...


04 Feb 16 - 08:54 AM (#3770529)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Jack Campin

There are different ways to represent multi-voice music in ABC and not all of them are portable. The two basic approaches are to enter the voices in separate complete chunks (as Jon did) or to match them up line by line as in the staff notation (which is what I do - it's more likely to work on a range of implementations). You shouldn't need to restate key, tempo and default note length for each voice as Jon did.

Have a look at the "tunes with a bass" and duet sections in my "Old Scottish Flute Music" pages.


04 Feb 16 - 09:18 AM (#3770535)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: GUEST,Jon

here is the latest (abc 2.2 draft - 2013). I can find for multiple voices. It looks as if the topic is still subject to revision (ie marked as volatile) but I wouldn't use the example I gave for new abcs.

http://abcnotation.com/wiki/abc:standard:v2.1#multiple_voices


04 Feb 16 - 10:02 AM (#3770540)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: GUEST,Jon

For my curiosity, I have downloaded ABCExplorer 1.6.1. I couldn't get that to run properly on wine (I'm on Linux) but I have ran the versions of abcm2ps (5.9.25 - November 2011) and abc2midi (3.10 - June 2013) it comes with. There are a few warnings but the output from the diadem example I gave seems OK with both of these when ran from the command line.


04 Feb 16 - 10:05 AM (#3770542)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: CupOfTea

When I plug the above sample into an old version of the Craic app on my ancient iPad, I get two separate lines of music, with the words on a line below each, though not always spaced under the appropriate notes & with some peculiar long slur? marks going for multiple measures/ lines. Playback sounds both lines of music simultaneously. If you're only concerned about getting both to sound together, I give as example an arrangement I did of KINGSFOLD/Star of the County Down for me to play on concertina, when was trying to reconcile two versions with what I could manage to play that has both single and doubled notes:


X: 0
T: I Heard the Voice of Jesus Say
C:tune:  Kingsfold
L: 1/4
Q:1/4=130
M: 4/4
%%MIDI program 1 0
K: G
 [G/]F/|"Em" [B,E] [B,E] [CE] [A,D]|"C"  [DG] [DG] "D" [DA]  [G/][A/] | "Em" [GB] [GB]"C" A/G/  E| "D"  [A,3D3]G/F/ |"Em" [B,E] E [CE] D| 
"G" [DG] [DG]"D" [DA] G/A/ |"Em" [GB] [EB]"C" A/G/ [CE] | "Em" [B,3E3] B/c/ | "G" [Gd] [GB] [G/B/][D/A/] [DG]|"D"  [EA] [DA]  [DB] G/A/ |"Em" [GB] B/A/ "C" G  [CE]| 
"D" [A,3D3] G/F/ | "Em" [B,E] [B,E] E/D/ E/F/ | "G" [DG] G"D" [FA] G/A/ |"Em" [GB] [EB] "C" A/G/  [CE] |"Em"([B,3-E3-]  [B,E])|]
W:Lyrics were included in my version, next line a space between verses
W:
W:Next verse line
W:
W: arranged by Joanne Laessig

Ive just learned the basics of ABC in the last 6 months since I got the app, and found that if I looked through the music I'd downloaded as ABC, I could find examples of what I wanted to do, and started building up a cheat sheet of bits I needed after analyzing what had been done. Best of luck to you!

Joanne in Cleveland


04 Feb 16 - 10:17 AM (#3770543)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Les in Chorlton

Thanks Jack & Jon, the fields that allow harmony lines are V: 1 & V:2 they don't appear on my version of ABC but if I put them in at the start of the first and then the second line of notation in joins them together nicely.

However, nothing after that works. If I put in V:3 & V:4 it falls apart completely.

On looking at the detail of your music Jack you are doing somethings far more sophisticated than my own humble one line plus a harmony.

Thanks also Joanne, I can manage words ok and more than one note on a stick - I feel sure somebody can help with two lines of music played at the same time


04 Feb 16 - 10:35 AM (#3770544)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Jack Campin

Here is a link to another multi-voice transcription I put together, Arbeau's 4-voice arrangement of "Belle qui tiens ma vie".

http://theocarinanetwork.com/single/?p=8441060&t=6765484 (click on the spoiler bar to see the ABC and generated staff notation).

That ABC code works on Barfly (the old Mac application I mostly use for ABC), abcm2ps (three different versions) and abc2midi. The one non-portable feature is the "transpose" directive, which tells player programs to shift the pitch - that does different things in different applications. I used it to avoid writing too many commas in the lower parts.


04 Feb 16 - 01:48 PM (#3770584)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: GUEST,Grishka

The ABC language is not very tolerant against syntax errors. Moreover, ABCExplorer fails to report any syntax errors, even if the underlying software does diagnose them. Therefore, your best bet is to get those tutorials and read them.

The easiest way is to have each V: field have a line of its own (you can add a clef etc.), followed by all the notes of that voice. Make sure to put a K: field directly preceding the first V: line. Use arbitrary but distinct names behind the : of each V:.

Also make sure to erase any space character at the beginning of any line - some browsers add these when copy-and-pasting.

X:1
T:C Major
M:4/4
K:C
V:soprano
c8 |]
V:alto
G8 |]
V:tenor clef=treble_8
E8 |]
V:bass clef=bass
C,,8 |]

If you are still dumbfounded, give us an example of what you tried.


04 Feb 16 - 03:54 PM (#3770605)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Stanron

Hi Les. Does this help? The first time you use V:1 and V:2 add the 'cleff=treble' line.
For subsequent lines just use V:1 and V:2.


T:Planxty Irwin
C:Turlough O'Carolan
Z:
Q:1/4=112    %Tempo
M:3/4    %Meter
L:1/8    %
K:G
V:1 clef=treble
d2|: g4 f2|e3 f g2 | d4 c2 | B3 A G2 |
V:2 clef=treble
g2|: b4 a2|g3 a b2 | f4 e2 | d3 c B2 |
V:1
c4 A2 | B2 c2 d2 | G2 B3 c | B4 d2 |
V:2
e4 c2 | d2 e2 f2 | B2 d3 e | c4 f2 |


Incidentally I'm doing this in a text editor. I never got ABC Navigator to work in Linux so I check the code in an online ABC player.


05 Feb 16 - 05:36 AM (#3770701)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Les in Chorlton

Thanks Folks, I think I am making some progress. Here is the tune I am working on:

X:1
T: Portsmouth
R:Hornpipe
M:4/4
L:1/8
K:G
|:"G"G3A BAGF|"C"E4e4|"G"d2B2 "C"cBAG|"D"A6D2|
z2|BAGF G3d|c2 ABc2A2|BAGF E2 FG|F6z2|
"G"G3A BAGF|"C"E4e4|"G"d2B2 "D"cBAB|"G"G6:|
BAGF G3d|c2AB c2A2|BAGF A2F2|G6:|
|:d2|"G"g3a bagf|"G"g2d2B2d2|"G"g2B2 "C"cBAG|"D"A6 D2|
z2|B4G2d2|B8|B4E2FG |F6z2|
"G"G3A BAGF|"C"E4e4|"G"d2B2 "D"cBAB|"G"G6:|
BAGF G3d|c2ABc2A2|BAGF A2F2|G6:|

lines 1, 3, 5, 7 are the tune and 2, 4, 6, 8,

are the harmony lines. I can print this as it is and that will be ok for tune players. But it will not play within ABC for obvious reasons.

Planxty Irwin is helping, thanks Stanron. I have to leave for a while - back later.


05 Feb 16 - 07:00 AM (#3770717)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Stanron

Hi Les

I pasted this;


X:1
T: Portsmouth
R:Hornpipe
M:4/4
L:1/8
K:G
V:1
|:"G"G3A BAGF|"C"E4e4|"G"d2B2 "C"cBAG|"D"A6D2|
V:2
|:BAGF G3d|c2 ABc2A2|BAGF E2 FG|F6z2|
V:1
"G"G3A BAGF|"C"E4e4|"G"d2B2 "D"cBAB|"G"G6:|
V:2
BAGF G3d|c2AB c2A2|BAGF A2F2|G6:|
V:1
d2|:"G"g3a bagf|"G"g2d2B2d2|"G"g2B2 "C"cBAG|"D"A6 D2|
V:2
z2|:B4G2d2|B8|B4E2FG |F6z2|
V:1
"G"G3A BAGF|"C"E4e4|"G"d2B2 "D"cBAB|"G"G6:|
V:2
BAGF G3d|c2ABc2A2|BAGF A2F2|G6:|


into this page;

ABC Player

and it comes out like I think you want.

It's your file edited as a result of trial and error.

A couple of things I discovered. As a result of the V:1 and V:2 tags all bar lines are automatically lined up, and you don't need cleff=treble.

Cheers

Stan


05 Feb 16 - 07:27 AM (#3770720)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: GUEST,brakn

Similar - cut and paste
X:1
T: Portsmouth
R:Hornpipe
M:4/4
L:1/8
K:G
V:1
|D2|:"G"G3A BAGF|"C"E4e4|"G"d2B2 "C"cBAG|"D"A6D2|
V:2
z2|:BAGF G3d|c2 ABc2A2|BAGF E2 FG|F6z2|
V:1
"G"G3A BAGF|"C"E4e4|"G"d2B2 "D"cBAB|1"G"G6z2:|2"G"G6d2|
V:2
BAGF G3d|c2AB c2A2|BAGF A2F2|1G6z2:|2G6z2|
V:1
|:"G"g3a bagf|"G"g2d2B2d2|"G"g2B2 "C"cBAG|"D"A6 D2|
V:2
|:B4G2d2|B8|B4E2FG |F6z2|
V:1
"G"G3A BAGF|"C"E4e4|"G"d2B2 "D"cBAB|"G"G6z2:|
V:2
BAGF G3d|c2ABc2A2|BAGF A2F2|G6z2:|


05 Feb 16 - 08:24 AM (#3770733)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Jack Campin

Stanron, your version drops a beat on the repeat in the second part - your opening repeat sign is in the wrong place. I prefer to leave opening repeats out unless they are absolutely essential. Unfortunately they are essential here since without them the version of abc2midi on the mandolintab.net converter will get the repeat structure wrong.

So, this is what I came up with. It still isn't quite right - the lower part should be an octave down or it sounds like a complete mess. My "transpose" directive does that in BarFly, but abc2midi doesn't understand it. I think there is a portable way to do it but I can't remember what it is.

I also changed the time signature (cut time gives you a more sensible metronome mark, which I have inserted) and removed the R: field (which most player programs make a mess of, abc2midi in particular). And I've aligned the beats throughout - this makes it easier to spot mistakes and to see which bits of the tune are repeated or paralleled. I also put the V: tags in square brackets, as you do for "inline" constructs. That was simply to work round a bug in BarFly where its display of multivoice tunes gets screwed up when a staff line doesn't have a barline at the end. It does make for a more compact layout as well.

X:1
T:Portsmouth
M:C|
L:1/8
Q:1/2=90
V:1
V:2 transpose -12
K:G
[V:1] |:z2|"G"G3 A BAGF|"C"E4   e4  |"G"d2B2 "C"cBAG|"D"A6
[V:2] |:z2|   BAGF G3 d|   c2AB c2A2|   BAGF    E2FG|   F6
%
[V:1]   D2|"G"G3 A BAGF|"C"E4   e4  |"G"d2B2 "D"cBAB|"G"G6:|
[V:2]   z2|   BAGF G3 d|   c2AB c2A2|   BAGF    A2F2|   G6:|
%
[V:1] |:d2|"G"g3 a bagf|"G"g2d2 B2d2|"G"g2B2 "C"cBAG|"D"A6
[V:2] |:z2|   B4   G2d2|   B8       |   B4      E2FG|   F6
%
[V:1]   D2|"G"G3 A BAGF|"C"E4   e4  |"G"d2B2 "D"cBAB|"G"G6:|
[V:2]   z2|   BAGF G3 d|   c2AB c2A2|   BAGF    A2F2|   G6:|


The trick to getting Mudcat to display that correctly: edit the whole tune to replace every space with &nbsp; and then enclose it in <tt> ... </tt> tags.


05 Feb 16 - 08:27 AM (#3770734)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Stanron

Nice one brakn. I hope you don't mind one or two little edits.
There was an unwanted bar line right at the start of the first line and there is no need for the first and second time numbers in the second line as the staves are joined.


X:1
T: Portsmouth
R:Hornpipe
M:4/4
L:1/8
K:G
V:1
D2|:"G"G3A BAGF|"C"E4e4|"G"d2B2 "C"cBAG|"D"A6D2|
V:2
z2|:BAGF G3d|c2 ABc2A2|BAGF E2 FG|F6z2|
V:1
"G"G3A BAGF|"C"E4e4|"G"d2B2 "D"cBAB|1"G"G6z2:|2"G"G6d2|
V:2
BAGF G3d|c2AB c2A2|BAGF A2F2|G6z2:|G6z2|
V:1
|:"G"g3a bagf|"G"g2d2B2d2|"G"g2B2 "C"cBAG|"D"A6 D2|
V:2
|:B4G2d2|B8|B4E2FG |F6z2|
V:1
"G"G3A BAGF|"C"E4e4|"G"d2B2 "D"cBAB|"G"G6z2:|
V:2
BAGF G3d|c2ABc2A2|BAGF A2F2|G6z2:|


In the ABC Player I linked to in my previous post the second time bracket goes wierd, so I tried this page;

ColinHume ABC convertor

In this page the repeats are displayed correctly. At first glance it doesn't look as good as the other page but you can save the page as a PDF file and the quality of that is very good. Also on this page the midi plays not only both parts but also the chords.

Cheers

Stan


05 Feb 16 - 08:51 AM (#3770740)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Stanron

Jack, we cross posted. Sorry, also when I checked my last file it turns out to be faulty. I'll come back to it later.

To get a mono spaced posting I use the words

pre and /pre

each surrounded by <> at the beginning and end of the code.

Cheers

Stan


05 Feb 16 - 09:41 AM (#3770752)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Jack Campin

The problem with "pre" on Mudcat is that it inserts leading spaces. The way I do it, the tune will work on any ABC processor if you just copy and paste it.


05 Feb 16 - 01:19 PM (#3770806)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Stanron

Ah yes the spaces. It is a bit of a chore to copy it into a text editor and delete them all. What, exactly, is' '?


05 Feb 16 - 01:48 PM (#3770817)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Stanron

Aha! I've answered my own question, but prompted another. How did you get the characters to appear other than as a space?


05 Feb 16 - 02:52 PM (#3770832)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Jack Campin

You can quote HTML tags by using the HTML names for the characters that start them - so I got &nbsp; to appear here by typing &amp;nbsp; and got < by typing &lt; .

(And I did that description by using yet another level of meta-syntax).

The characters that close a tag don't need to be escaped.


05 Feb 16 - 04:52 PM (#3770847)
Subject: RE: Tech: Harmony lines in ABCexplorer
From: Jack Campin

Should have added: the other thing you need to do when preparing an ABC tune for quoting on Mudcat is to replace every occurrence of < in it with &lt; . If you don't do that, the first broken-rhythm construct (as in strathspeys) will be misinterpreted by your browser as the start of a tag and the rest of the tune will disappear.