[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A small step for guitar chord diagrams: syntax
From: |
Heikki Johannes Junes |
Subject: |
Re: A small step for guitar chord diagrams: syntax |
Date: |
Mon, 02 Feb 2004 03:37:54 +0200 (EET) |
User-agent: |
HUT webmail, IMP 2.2.6 |
On Sun, 01 Feb 2004 23:37:30 +0100 José Luis Cruz
<address@hidden> wrote:
> I am one of those guitarist who would be happier if their favourite
> note typesetting program supported engraving of chord diagrams. :)
I am just a self-educate gitarist :)
> At first, i would recommend begin making the diagrams only manually..
Of course. The syntax should be the most general. I tried to specify how it
could be implemented.
> If you could just tell it which symbol you want on which position...
> and leave it open... I imagine that it would not cost anything opening
> the door for personalization on diagrams by something like:
>
> \property Score.TabDiagram \override #'number-frets = #5
This look analogous to Tablatures, in which fret number is customable.
> \property Score.TabDiagram \override #'no-string-symbol = #'"x"
Optionally, `x´ could be also omitted.
> This is my wishlist:
>
> - Being able to change the size of the diagram.
> - Text of diagram is a markup.
Text and diagram should scale together, I guess.
> - Setting the glyph i want for dots. (numbers, little black dots, or
> big ones)
A good symbol could be, for example, black filled circle that has a white number
which tells the finger.
> - Under each string, you can write the text/character you want.
> (fingering, note, grade, etc)
I think the syntax is possible to implement...
> - Being able to select the character that marks the unused strings.
> ...
This was proposed already above
>
> if the project it's getting real, i'll think more :)
>
>
> So apart from normal chords, which are the ones that 80%? users will
> use ever, the rest of us will be able to create our dreamed diagrams
> like:
>
>
> A arpeggio
>
> x o
> -----------
> |_|_|_|_|_|
> |_|_o_O_o_|
> |_|_|_|_|_|
> |_o_|_|_|_|
> O | | | | |
> 1 3 5 1 3 5
Seems like here `x´ does not mean here a mute string ... that means customable
string both below and above... and `O´ is different than `o´ ...
The sixth string needs string both below and above:
e,\6^\markup{"x"}_1
where "x" overrides the empty string above the string.
Also, the centered circle could be markup, something like
e,\6^\markup{"x"}-\markup{\bigger \filledcircle}_1
> A Dorian arpeggio on 1 pos.
>
> |---|---|---|---|---|
> | | 5 | | 13 IV
> |---|---|---|---|---|
> | b3 | | 11 |
> |---|---|---|---|---|
> | | | 9 | |
> |---|---|---|---|---|
> (1) | b7 | | |
> |---|---|---|---|---|
I agree that roman numbering is better to show the fret number.
Also, if `IV´ or similar is shown, the top line should be thin, not bold.
( 1BTW, this look much like Tablature turned 90 degree clockwise. )
You're right, there no reason to restrict the number of fret positions on a
string.
The above chord diagram could typed as:
<
b,\6-\markup{ "(1)" }
d\5-\markup{ "b3" }
fis\4-5 a\4-\markup{ "b7" }
cis'\3-9
e'\2-\markup{ 11 }
gis\1-\markup{ 13 }
>
> C-M7(b9) ->> C-M7(#9)
>
> X X
> =====================
> |---|---|---|---|---|
> | | o | | |
> |---|---|---|---|---|
> | | | | b9 |
> |---|---|---|---|---|
> | O | | | |
> |---|---|---|---|---|
> | | | o (#9) |
> |---|---|---|---|---|
>
> C Eb B Db/D#
>
> José Luis
For this, syntax could be:
<
c\5_\markup{ "C" }
es\4_\markup{ Eb }
b\3_\markup{ B }
cis\2-\markup{ b9 } dis\2-\markup{ (#9) }_\markup{Db/D#}
>:\markup{ C-M7(b9) ->> C-M7(#9) }
This is already rather complete set of features.
I will summary all the features which could be present:
- a new context: \context TabDiagram { ... }
- customable numbers and tunings of strings (like Tablatures rotated -90 deg)
- default markups above each string (overridable):
`x´ - above unused string
`o´ - above open string (open circle symbol)
- string positions are grouped into a chord: < ... >
- string position is given as note, e.g. a,\5
- there is centered markup below note, e.g. a,\6_1
a,\6_\markup{ "A" }
- the filled symbol can be overriden, e.g. a,\6-\markup{ \bigger "o" }
- overridable symbol above thestring, e.g. a,\6^\markup{"x"}
- there may be many string positions, e.g. cis\2 dis\2
- always the minimum fret position is found (except the free string `o´),
and the fret number is printed right to the diagram if it is greater
than one, as roman number
- after the chord there may be a duration, < ... >4
- above the diagram there is a chord markup: < e,\6 a,\5:/E ... >
- and that markup could also be overriden < e,\6 a,\5:\markup{ ... } ... >
I am not capable to program this, but I hope that the specification of syntax
given above could give somebody a good kick start.
Greetings,
Heikki Junes