lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Automatically transforming a FiguredBass line into a sequence of cho


From: Richard Shann
Subject: Re: Automatically transforming a FiguredBass line into a sequence of chords ?
Date: Tue, 24 Nov 2015 08:06:26 +0000

The fundamental problem you will hit here is that a figured bass is
ambiguous, it only hints at the harmonic sequence, you have to make
judgements about how frequently the chords should be changing, and where
"obvious" changes have been omitted. (So an artificial intelligence
approach would be needed to do it by computer).
FWIW there is a set of Figured Bass exercises by Handel which I've
packaged with Denemo - you can play the chords and they are installed on
a staff above the bass notes. You can use this "Play Chords over Bass"
command for any score - I've used this to provide a guide realization
for accompanists who don't read from the figured bass directly. Then you
can take the LilyPond output for that staff. But you do have to be able
to play from the figures yourself for this, albeit as slowly as you like
- it waits for you to play the bass note before listening for the
chord(s).

Richard

On Mon, 2015-11-23 at 23:56 +0100, Michael Gerdau wrote:
> Hi list,
> 
> does someone know of a function or snipped that automatically transforms
> some music together with a FigruedBass line into a sequence of chords
> like illustrated in the example below ?
> 
> %%%%%%%%%%%%%%%
> \version "2.19.31"
> 
> bcMusic = \relative {
>   c2 c | c c | c c | c c |
> }
> 
> bcFigures = \figuremode {
>   \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
>   \bassFigureExtendersOn
>   \set figuredBassPlusDirection = #RIGHT
>   \set figuredBassAlterationDirection = #RIGHT
>   <5 3>2 <5 3> | <6 5+ 2>4 <6 4! 2> <6 4! 2>2 | <6\! 5> <6 5> |
>   <9 4>4 <8 3>4 <8 3>2
> }
> 
> \markup { "Is there a function that transforms this FiguredBass line..." }
> <<
>   \new Staff {
>     \clef bass \bcMusic
>   }
>   \new FiguredBass \bcFigures
> >>
> 
> result = \relative {
>   <c e g>2 <c e g> | <d gis a>4 <d f a> <d f a>2 |
>   <c g' a> <c g' a> | <c f d'>4 <c e c'> <c e c'>2 |
> }
> 
> \markup { "...automatically into this sequence of chords ?" }
> \new Staff { \clef bass \result }
> 
> \markup { "(hoping I got it right manually :)" }
> 
> %%%%%%%%%%%%%%%
> 
> Kind regards,
> Michael
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user





reply via email to

[Prev in Thread] Current Thread [Next in Thread]