Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solfege support? #67

Open
evanrmurphy opened this issue Sep 14, 2018 · 2 comments
Open

Solfege support? #67

evanrmurphy opened this issue Sep 14, 2018 · 2 comments

Comments

@evanrmurphy
Copy link

Hi, are there any plans to support solfege/solfa notation?

I recently started using Tonal in a project at SightReadingMastery, and it would be very useful there. I can imagine it would be in many other applications as well. I noticed Teoria supports this feature as well.

Tonal is a fantastic library! Kudos to everyone who has made it possible.

@evanrmurphy evanrmurphy changed the title Plans to support solfege? Solfege support? Sep 14, 2018
@danigb
Copy link
Collaborator

danigb commented Sep 16, 2018

Hi Evan,

Thanks, I'm glad you find it useful. I like a lot the idea of your site 👍 good luck with the business!

I don't know exactly what solfege/solfa notation is. Can you provide links to some documentation?

Currently, I don't have time to spend into tonal, so PR is more than welcome. Probably it won't take too much effort to add another notation (you can take a look to https://github.com/danigb/tonal/tree/master/extensions/abc-notation).

Anyway, if I find it easy after reading the documentation, I could implement it.

@blackwood
Copy link

It's several years old, so I don't know if this is still an active issue, but I'm very interested in supporting this effort in any way I can. To briefly summarize, solfege syllables are used in choral singing in much of the Western world, initially as a stand-in for the notes of the diatonic major scale. The syllables are somewhat arbitrary, they derive from the first syllables of lines of a Latin poem that Guido de Arrezo used as a mnemonic for his students in the 11th century. In most cases, and likely for this case, solfege is meant to be "movable", meaning it's always in reference to a particular scale, where the first syllable do is the tonic/root of the scale. The major scale uses these syllables do re me fa sol la ti with do representing the tonic, re representing a major second, me a major third, and so on. Depending on whether a note is raised or lowered, it keeps the related consonant, and changes its vowel sound. The pattern is somewhat consistent here, raised notes get an "i" vowel, so a sharp 5 becomes si instead of sol, and a lowered note gets an "e"—though there are some alternative versions (see here https://en.wikipedia.org/wiki/Solf%C3%A8ge#Major)—so commonly, a flat 5 becomes se.

Generally speaking, it maps to sharps and flats, but as far as I know, solfege doesn't generally concern itself with double sharps or double flats, instead just defaulting to one of the aforementioned note names, though proposals exist to accommodate those, I don't think that's a necessary feature. Solfege is largely used as a quick reference for singers to orient themselves to unfamiliar melodies by utilizing previous knowledge of harmonic relationships via rote memorization of these syllables.

If you can point me in the direction of how to add notations (or even for importing custom ones at runtime) I'd be happy to take a swing at implementing this. Just let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants