Skip to content

WolfgangDrescher/humdrum-figured-bass-filter-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Humdrum figured bass filter demo

See craigsapp/humlib#53 for further informations.

Based on the hint -l command it should be possible to create a filter for Humdrum that adds spines for automatic detection of the figured bass numbers. For each part separately as Intervallsatz, or as real basso continuo numbers.

With the hint command you get specific intervals like e.g. "major third" (M3) or "minor third" (m3). But with figured bass it does not matter if an interval is major or minor. Instead the relation to the key and the key signature needs to be taken into account.

An implementation into the Verovio JS toolkit would be appreciated to create such an analysis on the fly in the browser. Similar to the existing cint filter.

Examples

Here is a test set of what I think this command should be capable of.

1. Verbose Intervallsatz

Calculate the exact intervall without converting compound to non-compound intervals.

01.krn | View in VHV

NB: In bar 6 on the second 16th note the alt voice goes below the bass note. -2 of even -2# seems like the correct intervall here (see problem 3) but it cannot be displayed by Verovio.

2. Compound Intervallsatz

Calculate the the compound intervals. -c could be the argument here similar to the hint commnad.

02.krn | View in VHV

3. Verbose figured bass (detailed)

Merge both Intervalsätze from example 1 to a single figured bass line.

03.krn | View in VHV

4. Compound figured bass (detailed)

Merge both Intervalsätze from example 2 to a single figured bass line. Again with the -c flag.

04.krn | View in VHV

5. Compound figured bass (simplified)

Same as example 4 but with simplified figured bass numbering.

05.krn | View in VHV

6. Opinionated figured bass (simplified)

Close to example 5 but opinionated to leave out all unnecessary numbers for a practical basso continuo player. Something close to this can be achieved by just displaying numbers on every eighth note (see problem 8).

06.krn | View in VHV

Problems, questions and ideas

  1. Name of the command is tbd.
  2. Calculating intervals relativ to a specified spine seems usefull so it would be possible to pass different voices as base via arguments to the command.
  3. Could there be an argument to always calculate the intervals relative to the lowest note, ignoring the given base voice/staff? Since there is music where the lowest note is not always in the bass.
  4. Should negative value be allowed?
  5. Should there be a difference between 1 and 8 for the compounded modes?
  6. How could we calculate the difference between 2 and 9 for the compounded modes?
  7. Negative values are not allowed in **fb spines since the - get translated into a flat accidental. Should this be implementet or does this need a new interpretation records?
  8. Add option to only calculate intervals or figured bass on certain beats (quarter notes in 4/4, oder 1st and 4th eighth note in 6/8).
  9. How can we get this command in VHV and the Verovio JavaScript toolkit?
  10. Add an option to ignore negative intervals?
  11. Decide how to display 5 4 to 6 4 in bar 7 (with 5 or without). Maybe add a config with a flag.
  12. Decide how to display 5 3 chords. Never? Always? Contextual? Maybe add a config with a flag.
  13. Should -#2 in bar 7 resolte to 1 or 8 in example 5 (simplified figured bass)?
  14. -c option should be default with another flag to display them not compounded.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published