Re: Chords symbols for Function Theory (Riemann)

2010-12-20 Thread Music Teacher
Hi Stefan,

Besten Dank, many thanks. I had also a look at the fret-script in
scheme, i must say this is not for me actually :-(
Also to your script, hut ab, chapeau bas. I wait that you send it to
the official lily-distribution, but if can be of any help, just ask
me.

Francois

2010/12/20, Stefan Thomas :
> Dear Francois,
> there is a way to write the symbols of the Riemann-Maler-Functions with
> lilypond.
> I've started to write a little library with these symbols, but I'm not
> finished yet.
> I 've attached the file.
> There is still something to do. As You can see, the position of the
> "verkuerzte D7" ( I don't know the english word for it) is anything but
> perfect.
> Here is my code:
>
> \version "2.12.3"
> \include"funktionen.ly"
>
> \relative c' {
>   \Sdrei c1 \Tdrei g'
>   \verkuerzter f \T  e
> }
>
> Hello,
>>
>> I would like to know if there is a way (i search quite a while
>> whithout success) to write chords according to Riemann's Function
>> Theory. In principle, math would do the trick, but there are some
>> arguments for a own syntax (have a look at
>> )
>>
>> Thanks in advance
>>
>> Francois
>>
>>
>

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Chords symbols for Function Theory (Riemann)

2010-12-20 Thread Stefan Thomas
Dear Francois,
there is a way to write the symbols of the Riemann-Maler-Functions with
lilypond.
I've started to write a little library with these symbols, but I'm not
finished yet.
I 've attached the file.
There is still something to do. As You can see, the position of the
"verkuerzte D7" ( I don't know the english word for it) is anything but
perfect.
Here is my code:

\version "2.12.3"
\include"funktionen.ly"

\relative c' {
  \Sdrei c1 \Tdrei g'
  \verkuerzter f \T  e
}

Hello,
>
> I would like to know if there is a way (i search quite a while
> whithout success) to write chords according to Riemann's Function
> Theory. In principle, math would do the trick, but there are some
> arguments for a own syntax (have a look at
> )
>
> Thanks in advance
>
> Francois
>
>
\version "2.12.0"
\layout{
  \context { \Staff  \override TextScript #'staff-padding = #4.0 }
 \context {
   \type "Engraver_group"
   \name "Funktion"
  \alias Voice
  \consists "Output_property_engraver" %keine Ahnung, was das bedeuten soll!
   \consists "Text_spanner_engraver"
   \consists "Text_engraver"
   \consists "Axis_group_engraver"
%\consists "Bar_engraver"
   
   \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
 }
 \context { \Score \accepts Funktion }
 \context { \PianoStaff \accepts Funktion }
 } %Ende Layout

% Inspired by slashed-digit from scm/define-markup.scm:
#(define-markup-command (slashed-char layout props ch) (char?)
"A character, with slash."
(let*
((mag (magstep (chain-assoc-get 'font-size props 0)))
(thickness
(* mag
(ly:output-def-lookup layout 'line-thickness)
(chain-assoc-get 'thickness props 1.6)))
(char-stencil (interpret-markup layout props ch))
(num-x (interval-widen (ly:stencil-extent char-stencil X)
(* mag 0.1)))
(num-y (ly:stencil-extent char-stencil Y))
(is-sane (and (interval-sane? num-x) (interval-sane? num-y)))
(slash-stencil
(if is-sane
(ly:make-stencil
`(draw-line
,thickness
,(car num-x) ,(car num-y)
,(cdr num-x) ,(cdr num-y))
num-x num-y)
#f)))
(ly:stencil-add char-stencil slash-stencil)))

%Zuerst die Hauptfunktionen:
% Alle möglichen Tonikas
%zuerst die Durtonikas

Tonika = \markup {T}
T = #(define-music-function (parser location x) (ly:music?)
#{
   \context Voice <<$x { s1*0_\Tonika} >>
#})

Tonikamitterzimbass = \markup {T { \hspace #-1.5 \raise #0.25 \sub 3  } }
Tdrei = #(define-music-function (parser location x) (ly:music?)
#{
   \context Voice <<$x {  s1*0_\Tonikamitterzimbass} >>
#})

Tonikamitquintimbass = \markup {T { \hspace #-1.5 \raise #0.25  \sub 5 } }
Tfuenf = #(define-music-function (parser location x) (ly:music?)
#{
   \context Voice <<$x {  s1*0_\Tonikamitquintimbass } >>
#})
%Tonika als Textspanner
Tspan = {
   \textSpannerDown
   \override TextSpanner #'bound-details #'left #'text =
  \markup {"T" }
   \once \override TextSpanner #'bound-details #'left-broken #'text = ##f %dieser Quatschkram sorgt dafür, dass der Text nicht auf der nächsten Seite von neuem beginnt!!
  \override TextSpanner #'style =
 #'dashed-line
   \override TextSpanner #'dash-period = #0.01
\override TextSpanner #'bound-details #'right #'attach-dir = #1
  \once \override TextSpanner #'bound-details #'right-broken #'text = ##f %dieser Quatschkram sorgt dafür, dass der Text nicht auf der nächsten Seite von neuem beginnt!!
\override TextSpanner #'bound-details #'right #'padding = #-0.5
   } %damit das klappt, musst Du danach noch "\start" und "\stopTextSpan" einfuegen, erst dann startet das Symbol!
%dasselbe nun in Moll
tonika = \markup {t}
mt = #(define-music-function (parser location x) (ly:music?)
#{
   \context Voice <<$x {  s1*0_\tonika} >>
#})

tonikamitterzimbass = \markup {t { \hspace #-1.5 \raise #0.25 \sub 3 } }
tdrei = #(define-music-function (parser location x) (ly:music?)
#{
   \context Voice <<$x {  s1*0_\tonikamitterzimbass} >>
#})

tonikamitquintimbass = \markup {t { \hspace #-1.5 \raise #0.25 \sub 5 } }
tfuenf = #(define-music-function (parser location x) (ly:music?)
#{
   \context Voice <<$x {  s1*0_\tonikamitquintimbass } >>
#})
%tonika als Textspanner
tspan = {
   \textSpannerDown
   \override TextSpanner #'bound-details #'left #'text =
  \markup {"t" }
   \once \override TextSpanner #'bound-details #'left-broken #'text = ##f %dieser Quatschkram sorgt dafür, dass der Text nicht auf der nächsten Seite von neuem beginnt!!
  \override TextSpanner #'style =
 #'dashed-line
   \override TextSpanner #'dash-period = #0.01
\override TextSpanner #'bound-details #'right #'attach-dir = #1
  \once \override TextSpanner #'bound-details #'right-broken #'text = ##f %dieser Quatschkram sorgt dafür, dass der Text nicht auf der nächsten Seite von neuem beginnt!!
\override TextSpanner #'bound-details #'right #'padding = #-0.5
   }
   %

%Alle Dursubdominanten
Subdominante = \markup {S

Re: Chords symbols for Function Theory (Riemann)

2010-12-17 Thread Music Teacher
Hi Carl, many thanks,

I will have to learn scheme, tis obvious :-(
But this seems to be the idea. I will eventually really need your help...

A nice week-end to all,

Francois

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Chords symbols for Function Theory (Riemann)

2010-12-17 Thread Carl Sorensen
On 12/17/10 2:40 PM, "Music Teacher"  wrote:

> Thanks!
> 
> I read these posts, but this doesnt really help in the case of
> analysis after the fonction theory. Minors and Majors arent used in
> this form, instead, the last letter of the main symbol does it (upper
> case=major, lower case=minor).
> 
> But there is more. Each symbol is like an elaborated matrix, i send a
> pict attached to get an idea. You need also the ability to cross-out
> the main symbol (meaning a chord without fundamental) and the
> possibility of substition (two main symbols in a column, meaning that
> the upper one is the fonction till now and the lower one the fonction
> from now on)
> And last but not least, this analysis can be written without music. So
> I suppose the (new?) fonction should work either in a lyric-context
> and in a markup.
> 
> Well, according to my less mathematical brain structure, this is a
> matrix. The question is just how to implement it.
> 

This is fairly similar in overall structure to a fret diagram.

When I implemented fret diagrams, I did it in the form of a markup function,
i.e.

\markup \fret-diagram-terse "x;3;2;o;1;o;"

The arguments necessary to define the fret diagram are in the string.  I
wrote Scheme code to parse the string, and then used Scheme code to create
the necessary stencils and glue them together into a fret diagram.  You can
read the code in the file scm/fret-diagrams.scm.

If I were trying to do your functional analysis, I'd do the same thing.
Determine a string that can be used to indicate the functional analysis
symbol you want, and write a markup function to parse that string and turn
it into a stencil.  This can then be used in a Lyrics context or as a markup
attached to a note.

I'll be happy to provide any help I can as you try to make this happen.

Thanks,

Carl


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Chords symbols for Function Theory (Riemann)

2010-12-17 Thread Music Teacher
Thanks!

I read these posts, but this doesnt really help in the case of
analysis after the fonction theory. Minors and Majors arent used in
this form, instead, the last letter of the main symbol does it (upper
case=major, lower case=minor).

But there is more. Each symbol is like an elaborated matrix, i send a
pict attached to get an idea. You need also the ability to cross-out
the main symbol (meaning a chord without fundamental) and the
possibility of substition (two main symbols in a column, meaning that
the upper one is the fonction till now and the lower one the fonction
from now on)
And last but not least, this analysis can be written without music. So
I suppose the (new?) fonction should work either in a lyric-context
and in a markup.

Well, according to my less mathematical brain structure, this is a
matrix. The question is just how to implement it.

Francois

2010/12/17, Carl Sorensen :
> On 12/17/10 8:58 AM, "Music Teacher"  wrote:
>
>> Hi,
>> This mail never arrived, it seems. So i send it again...
>>
>> I would like to know if there is a way (i search quite a while
>> whithout success) to write chords according to Riemann's Function
>> Theory. In principle, math would do the trick, but there are some
>> arguments for a own syntax (have a look at
>> )
>
> There is no automatic chord analysis capability in LilyPond.
>
> It has been suggested that you can do your own analysis and use a Lyrics
> context to display it:
>
> http://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00523.html
>
> One could adjust the note names list given in scm/chord-names.scm to change
> from a letter to a roman numeral, and we currently have code in place to
> render minor chords in lower case.
>
> You may also want to look at these threads:
>
> http://lists.gnu.org/archive/html/lilypond-user/2008-04/msg00050.html
>
> http://lists.gnu.org/archive/html/lilypond-user/2008-06/msg00196.html
>
> HTH,
>
> Carl
>
>
<>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Chords symbols for Function Theory (Riemann)

2010-12-17 Thread Carl Sorensen
On 12/17/10 8:58 AM, "Music Teacher"  wrote:

> Hi,
> This mail never arrived, it seems. So i send it again...
> 
> I would like to know if there is a way (i search quite a while
> whithout success) to write chords according to Riemann's Function
> Theory. In principle, math would do the trick, but there are some
> arguments for a own syntax (have a look at
> )

There is no automatic chord analysis capability in LilyPond.

It has been suggested that you can do your own analysis and use a Lyrics
context to display it:

http://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00523.html

One could adjust the note names list given in scm/chord-names.scm to change
from a letter to a roman numeral, and we currently have code in place to
render minor chords in lower case.

You may also want to look at these threads:

http://lists.gnu.org/archive/html/lilypond-user/2008-04/msg00050.html

http://lists.gnu.org/archive/html/lilypond-user/2008-06/msg00196.html

HTH,

Carl


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Chords symbols for Function Theory (Riemann)

2010-12-17 Thread Alexander Kobel

On 2010-12-17 16:58, Music Teacher wrote:

Hi,
This mail never arrived, it seems. So i send it again...


Hi, Francois,

it actually arrived - you can check this in the mailing list archives.


I would like to know if there is a way (i search quite a while
whithout success) to write chords according to Riemann's Function
Theory.


AFAIK, no. But there are workarounds like using custom markups as 
lyrics, or probably even tweaking a ChordNames context to look like 
this. But you'll have to make the analysis yourself.



In principle, math would do the trick,


AFAIK, no. You'd have to specify when the sensation of tonality changes 
for the listener; in particular, you need to know where and how long to 
put parentheses around the chord designators. It's not just giving 24 
chords (in minor and major) a symbol, and shift this assignment when 
everything is transposed.



Cheers,
Alexander

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Chords symbols for Function Theory (Riemann)

2010-12-17 Thread Music Teacher
Hi,
This mail never arrived, it seems. So i send it again...

I would like to know if there is a way (i search quite a while
whithout success) to write chords according to Riemann's Function
Theory. In principle, math would do the trick, but there are some
arguments for a own syntax (have a look at
)

> Thanks in advance
>
> Francois

2010/12/15, Music Teacher :
> Hello,
>
> I would like to know if there is a way (i search quite a while
> whithout success) to write chords according to Riemann's Function
> Theory. In principle, math would do the trick, but there are some
> arguments for a own syntax (have a look at
> )
>
> Thanks in advance
>
> Francois
>

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Chords symbols for Function Theory (Riemann)

2010-12-15 Thread Music Teacher
Hello,

I would like to know if there is a way (i search quite a while
whithout success) to write chords according to Riemann's Function
Theory. In principle, math would do the trick, but there are some
arguments for a own syntax (have a look at
)

Thanks in advance

Francois

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user