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

Add support for all quarter tone accidentals #318

Closed
Huji opened this issue Dec 7, 2015 · 93 comments
Closed

Add support for all quarter tone accidentals #318

Huji opened this issue Dec 7, 2015 · 93 comments

Comments

@Huji
Copy link
Contributor

@Huji Huji commented Dec 7, 2015

Please consider adding support for quarter tone accidentals.

These include the Western notation for half-sharp, half-flat, sharp-and-a-half and flat-and-a-half, all of which are explained on https://en.wikipedia.org/wiki/Accidental_%28music%29#Microtonal_notation (and a picture us also available).

These also include the Iranian notation for half-sharp and half-flat, which are depicted in Persian Wikipedia's pages on sori and koron, respectively.

Ideally, a different identifier should be used for the western and eastern half-notes, so they can coexist in the same sheet if need be. An example of when this is needed is when sheet music is being written for many instruments (as is used by conductors) some of which are oriental instruments and some western instruments but all can play quarter tones.

-- UPDATE --

As shown below, vexflow already supports the Western quarter tone accidentals. There is need for support of Iranian accidentals though.

@0xfe
Copy link
Owner

@0xfe 0xfe commented Dec 7, 2015

VexFlow already supports microtonal accidentals. Are these not sufficient?

screen shot 2015-12-07 at 2 19 40 pm

@Huji
Copy link
Contributor Author

@Huji Huji commented Dec 7, 2015

Oh I didn't find hat in the documentation. It would be great if you would direct me to where these are explained (this can benefit those who find this thread in the future too).

I am going to modify the title of this issue and amend the original request; the only thing that is left to done is to add support for the oriental signs (links to which were provided above).

@Huji Huji changed the title Add support for quarter tone accidentals Add support for oriental quarter tone accidentals Dec 7, 2015
@0xfe
Copy link
Owner

@0xfe 0xfe commented Dec 7, 2015

Documentation is way behind. Best place to learn about how to use the API is the tests/ directory, which is always current.

It looks like the Oriental accidentals links you provided are in Arabic. Do you have any english text that I can read?

@Huji
Copy link
Contributor Author

@Huji Huji commented Dec 7, 2015

That page is not in Arabic, it is in Persian. But both languages use similar scripts!

You can ready more about it on this web page: https://sites.google.com/site/240edo/about24-edo

The person who invented this notation, Ali-Naghi Vaziri, was an influential musocologist from Iran. Iranian music system very frequently uses quarter tones (in its Dastagh's). My intention, to be honest, is to use VoxFlow to create notations for each of these Dastgah's, based on Vaziri's book and other books (such as this one published by Hormoz Farhat in English) and upload to English Wikipedia to expand those relevant articles.

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented Dec 7, 2015

I have the same question for arabic and turkish maqam and i want help with it, use the same symbols that Mus2.

@Huji
Copy link
Contributor Author

@Huji Huji commented Dec 8, 2015

@SalahAdDin you are absolutely correct. The maqam's are shared between Arabic, Turkish, and Persian music, and have had influences on other Mediterranean music too. The notation requested above can be essential for notation of these music genres.

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented Dec 9, 2015

Yes, i have a two papers about it, we need six accidentals more i think, if you want i can put here.

@Huji
Copy link
Contributor Author

@Huji Huji commented Dec 11, 2015

@SalahAdDin please provide a link to the papers and/or a screenshot that shows and explains the six accidentals.

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented Dec 12, 2015

I hope that this aren't bad, you can see a example here: http://www.mus2.com.tr/explore/
And here are the papers:
223_ISMIR_2012.pdf
Abjad_JIMS_071203.pdf

@ozanyarman
Copy link

@ozanyarman ozanyarman commented Dec 12, 2015

Hello! This is Assoc. Prof. Dr. Ozan Yarman from Istanbul specializing in maqam music theory (tunings/tone-systems) and music technology applications (DAW pitch bends, scale tuning files and the like). I had communicated along the same lines with Mohit Muhanna in a personal e-mail correspondance dated 27 March 2013. The official tone-systems for the Arabic, Persian and Turkish main branches of Maqam music, while purporting to represent the needed microtonal pitches on paper and in practice, will undoubtedly fail in several critical/problematic scales or modes when played in exact by computer software.

For a synposis of the intonation situation, please refer to the intro section of our publication:

http://www.ozanyarman.com/files/Yarman36.pdf

where we say: "... it is impossible to perform authentic music in such modes based on the standardized 24 pitches to the octave systems of the diametrically opposed cultures of the geography, without detuning the strings, adding or shifting frets as required, or employing an ad hoc (e.g., unmethodical) mandal configuration."

The article above highlights one of the tuning solutions I proposed, with the pertinent accidentals font downloadable here:

http://www.ozanyarman.com/files/Yarman36.ttf

Calculations and videos are accessible below (in Turkish, with Google Translate to English option):

http://www.ozanyarman.com/yarman36.html

Other solutions by me include a 79-tone qanun tuning I expounded in my doctorate dissertation and explained in the links below:

http://www.ozanyarman.com/files/doctorate_thesis.pdf
http://www.ozanyarman.com/79toneqanun.html
https://www.youtube.com/watch?v=y4XuVBuGa08

My latest alternative tuning suggestion is a light-weight replacement of the official Arel-Ezgi-Uzdilek (AEU) 24-tone Pythagorean tone-system for Turkish Art music, while relying on the same array of accustomed accidentals. Yarman-24a, which was the first variant as an AEU substitute was compared to histogram measurements of live recordings and came out to be the best match:

http://www.ozanyarman.com/files/theoryVSpractice.pdf

An improved Yarman-24c variant is demonstrated in these youtube videos:

https://www.youtube.com/watch?v=fP1elrsk5QM (on bowed tanbur)
https://www.youtube.com/watch?v=qZXAv8GyHQg (on acoustic guitar)
https://www.youtube.com/watch?v=-QcYgslHq9k (on TouchKeys)
https://www.youtube.com/playlist?list=PLAs4xTDckBEw4gVFwypqaZwKW6Ih9KtJ6 (on my TouchKeys)

Notice that, Andrew McPherson, the designer and inventor of TouchKeys, has already incorporated Yarman-24c among the experimental tuning mapping options in his control software.

Should there be any need to expand the microtonal capabilities of VexFlow with results that would more-or-less satisfy Maqam music enthusiasts intonation-wise, do please get in contact with me personally or in group e-mail correspondence:

ozanyarman@ozanyarman.com

May VexFlow,
around the world spread and grow. :)

Cordially,
Dr. Oz.

@Huji
Copy link
Contributor Author

@Huji Huji commented Dec 12, 2015

@SalahAdDin Thanks for the articles; really good reads. However, in both those articles, the Western notation for quarter-tones is used. VexFlow already supports those accidentals (which include half-sharp, sharpt-and-a-half, half-flat, and flat-and-a-half). See the first comment from @0xfe above.

@ozanyarman Thanks for your comment as well. Very informative. But what you focus on here is about issues relating to microtonal music "when played in exact by computer software". VexFlow is not a tool for playing music in computers, it is a tool for annotation of music. Imagine if you want to write a online book (or an article like those posted by @SalahAdDin); you need a way to write the musical annotation for the Maqams. VexFlow allows you to do that (and just that) in HTML5.

@0xfe it is becoming apparant to me that the Turkish music may be using the western quarter-tone accidentals for notation. Therefore I am going to, yet again, change the request here and specify the need for Iranian accidentals.

@Huji Huji changed the title Add support for oriental quarter tone accidentals Add support for Persian quarter tone accidentals Dec 12, 2015
@Huji Huji changed the title Add support for Persian quarter tone accidentals Add support for Iranian quarter tone accidentals Dec 12, 2015
@ozanyarman
Copy link

@ozanyarman ozanyarman commented Dec 13, 2015

@Huji

You're welcome. Please note that Arel-Ezgi-Uzdilek tone-system utilizes the array of accidentals given in page 39, Fig. 3.6 of my doctoral dissertation:

http://www.ozanyarman.com/files/doctorate_thesis.pdf

Compare with the older Rauf Yekta notation in the table on the same page. Pages 33 and 36 delineate AEU and Yekta-24 notations in full respectively.

Page 80, Fig. 4.13 demonstrates the 20th Century contender tone-system by Ekrem Karadeniz, which encapsulates 41 pitches per octave out of 106 equal divisions of the octave.

There are a significant number of scores written in each of the tone-systems mentioned above, while AEU is the official notation system in circulation today.

Dr. Oz.

@0xfe
Copy link
Owner

@0xfe 0xfe commented Dec 14, 2015

Hi Folks,

I'm open to adding new accidentals if that will help.

I don't know a lot about microtonal music, so what I will need is some agreement on what is missing and what should be added. In particular:

  • What specific accidentals should be added?
  • What should they be called (in English)?
  • What VexFlow accidental symbol should they use?
  • Vector data for each of the accidentals.

If someone wants to take this on and send me a PR, that would be great too. Thanks.

@Huji
Copy link
Contributor Author

@Huji Huji commented Dec 14, 2015

The scope of this issue has been narrowed down to Iranian quarter tone accidentals. In that context, the answers are:

  • Two accidentals are needed: sori and koron.
  • The can be called exactly that: sori and koron.
  • To the best of my knowledge, VexFlow's font doesn't have glyphs for those accidentals.
  • If you would show me what tool you use to edit the vector fonts to create new glyphs, I will happily create the accidentals for you.

And I will happily fork and create a PR (once I know how to deal with the fonts).

@ozanyarman
Copy link

@ozanyarman ozanyarman commented Dec 14, 2015

The most commonly used AEU accidentals in Classical Turkish music notation are:

+1 comma = irha / komma diyezi (comma sharp)
+4 comma = bakiyye diyezi (limma sharp)
+5 comma = küçük mücenneb diyezi (apotome sharp)

-1 comma = irha / komma bemolü (comma flat)
-4 comma = bakiyye bemolü (limma flat)
-5 comma = küçük mücenneb bemolü (apotome flat)

(where "irha" actually signifies more accurately quarter-tone alterations as seen in various Arabic maqams.)

Please refer to page 39, Fig. 3.6 of my doctoral dissertation:
http://www.ozanyarman.com/files/doctorate_thesis.pdf

Dr. Oz.

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented Dec 15, 2015

Doktor, Selam
I want to do a full completly app for notation and play oriental music open source. I hope do this in Turkey in a master, but i don't know i which university.

At future i hope begin with this and all help in this library will be more useful.

Thanks :D

@0xfe
Copy link
Owner

@0xfe 0xfe commented Dec 15, 2015

@Huji Unfortunately I lost the tool that I used about five years ago to create the vectors from the fonts. But I could write one up again. If you can create a TTF or OTF file with the new glyphs, I can convert them to the vexflow JS font format.

@0xfe
Copy link
Owner

@0xfe 0xfe commented Dec 15, 2015

Also, here are some instructions if you want to create new entries in the font file yourself:

Each character in the font is indexed by it's code (e.g., v0). The structure consists of the following fields:

"x_min": left-most x value 
"x_max": right-most x value
"o": a long string consisting of repeated commands followed by coordinates.

You can get the width of the character by x_max - x_min.

The repeated commands in "o" are:

m: MoveTo(x,y)
l: LineTo(x,y)
q: QuadraticCurveTo(cpx, cpy, x, y)
b: BeizerCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)

The cp* parameters are coordinates to control points for the curves. All coordinates are scaled (multiplied) by the factor point_size * 72 / (Vex.Flow.Font.resolution * 100).

You can look up the implementation in Vex.Flow.Glyph.renderOutline() for how the parameters are used on a HTM5 Canvas.

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented Dec 15, 2015

Doktor, Selam
I want to do a full completly app for notation and play oriental music open source. I hope do this in Turkey in a master, but i don't know i which university.

At future i hope begin with this and all help in this library will be more useful.

Thanks :D

@ozanyarman
Copy link

@ozanyarman ozanyarman commented Dec 16, 2015

Dear SalahAdDin,

Why don't you take a look at the marvelous Mus2:

http://www.mus2.com.tr/en/

You may like to get in touch with Utku Uzmen and M. Kemal Karaosmanoglu to give Mus2 a shoulder boost. It's been neglected for quite some while, and I would like to have the programmers implement some major improvements that they already have been informed about.

Mus2 is very economical and can do a lot of things microtonally. If you can familiarize yourself with the program and wish to proceed upon it, write to me privately.

Cordially,
Dr. Oz.

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented Dec 17, 2015

Abi, which programming language use mus2? i'll want to do like it but open source.

@ozanyarman
Copy link

@ozanyarman ozanyarman commented Dec 17, 2015

SalahAdDin, Halil Kirazlı already made quite a headway with his Suzidil project before he sort of abandoned it. Maybe you should proceed on that trail:

http://sourceforge.net/projects/suzidil/

Dr. Oz.

P.S. I think Mus2 is based on Qt framework.

@ozanyarman
Copy link

@ozanyarman ozanyarman commented Dec 17, 2015

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented Dec 17, 2015

Thanks abi, i want make something like this, and this library it's very useful. Now i'm learning play Ney.

Which programming language it's the base for Mus2?

@Huji
Copy link
Contributor Author

@Huji Huji commented Dec 21, 2015

@0xfe thank you for the response. I figured you are using Gonville Glyphs. I will create the vector versions for you and will even make an effort to add them back to Gonville itself!

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented Dec 22, 2015

Please.

@alejandroiglesias
Copy link

@alejandroiglesias alejandroiglesias commented Feb 28, 2016

Hi, I would like to chime in, help, and see this feature grow. I'm a student of all the traditions mentioned so far (Arabic, Turkish and Persian). All the traditions use different symbols as accidental, even though some symbols are shared between Arabic and Turkish traditions but with a different meaning:

Arabic accidentals

Arabic accidentals

Turkish accidentals

Turkish accidentals

(Source: http://www.oud.eclipse.co.uk/notation.html)

You can see the symbols shared but for different pitches (an Arabic "one quarter" is in between Turkish 1 comma and 4 comma accidentals). In the case of just providing the symbol for the user to write it, it doesn't matter, but there has to be awareness of that and the fact that the Turkish system has more symbols while adding and naming them into the library.

As somebody mentioned, some symbols are rarely found, like the Arabic "three quarter" and the Turkish 8 comma, but there may be cases where somebody needs them.

Persian accidentals

Persian accidentals

(Source: http://96edo.com)

A thing to notice in the case of Persian music is the compound symbols for "flat koron" and "sori sharp", which I've not yet found in a sheet (though I have lesser experience in Persian Classical Music), but those could be written with a combination of flat+koron and sharp+sori, respectively.

Finally, even though you can find many resources pointing the quarter tones of Arabic and Persian music tempered exactly the middle (50 cents up/down) of two semi-tones (like in the Persian accidentals chart I referenced above), that's not actually what happens on practice. Those pitches are not tempered to 24 TET in practice as far as I'm concerned. In some cases you can realise it by just listening some recordings. Something similar happens with the theorisation of Turkish music trying to map the pitches to 53 TET intervals. Again, that is a theorization for a very rich and complex tradition, and there's no single answer about a single pitch, depending on many factors (being geographical location one of them).

As you can read on the first paragraph of @ozanyarman's thesis' summary:

The long-standing conflict between the “Arel-Ezgi-Uzdilek” System
and Turkish Maqam Music practice has been established through computer
analyses of audio recordings by master musicians such as Neyzen Niyazi
Sayın and Tanburi Necdet Yaşar. Results incontrovertibly manifest the
delibarate employment of multifarious middle second intervals peculiar to
the genre, yet evaded by the current model. These middle seconds are
roughly expressible as 2/3, 3/4, and 4/5 tones, and often referred to by the
protagonists of the Music Reformation in Türkiye during the early 20th
century as “quarter-tones”.

Again, this is my understanding being a student on those traditions and I hope something with more experience can correct me if I'm wrong.

So, what is the status of this feature? Is there any progress made? Any help needed?
I'm currently starting to draft an app to help people tune microtones and would need to render a staff with all the accidentals in a given tradition.

Thanks and have a good time.

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 1, 2016

@infojunkie I just checked SMuFL and even that doesn't have the Iranian microtonal accidentals. See all SMuFL glyphs here (you need to have the Bravura Text font installed, and go to the Result tab). So switching to SMuFL will not allow us to close this issue, as of yet.

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented Sep 1, 2016

@Huji : If you mean koron and sori, then SMuFL does specify support for them: https://w3c.github.io/smufl/gitbook/tables/persian-accidentals.html - and since this link renders the actual character with the Bravura font, I have to assume that it is present.

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 2, 2016

Oh, I was looking at the wrong range of Unicode characters (after U10000).

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 2, 2016

@0xfe just to make sure my question doesn't go unnoticed: what does the ha parameter in the font definitions do?

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 2, 2016

@0xfe @infojunkie also, I have created the sori glyph:

'vd0':{'x_min':-10.890625,'x_max':299.4375,'ha':294,'o':'m 44 174 b 51 174 47 174 49 174 b 68 173 55 174 61 174 l 287 112 l 551 40 b 615 20 617 22 609 23 b 626 0 622 16 626 8 b 615 -22 626 -9 622 -18 b 613 -23 613 -23 613 -23 b 613 -23 613 -23 613 -23 b 287 -113 613 -24 597 -29 l 68 -174 b 53 -176 61 -176 57 -176 b 39 -172 47 -176 43 -174 b 27 -151 31 -167 27 -159 b 39 -129 27 -141 31 -133 b 230 -74 43 -124 20 -131 l 370 -36 l 468 -9 b 498 0 484 -4 498 -1 b 468 8 498 0 484 2 l 370 34 l 230 73 b 40 126 28 129 43 124 b 27 149 31 131 27 140 b 44 174 27 161 34 170 m 205 110 l 205 300 b 205 330 245 330 245 300 l 245 300 l 245 -300 b 245 -330 205 -330 205 -300 l 205 -300 l 205 110 l 345 90 m 345 90 l 345 330 b 345 360 385 360 385 330 l 385 330 l 385 -270 b 385 -300 345 -300 345 -270 l 345 -270 l 345 90'}

You can add it to the glyphs.html by hand to test it,it'll look like this:

capture

Would it be okay if I create a pull request and have it added to vexflow_font.js? If so, I will also create the koron glyph and create a pull request for that too.

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 2, 2016

And here is the glyph for koron:

'vd1':{'x_min':-20,'x_max':320,'ha':257,'o':'m -8 200 b -8 210 8 200 16 200 l 20 148 -199 l 23 -615 b 0 -629 9 -629 6 -629 l -21 -612 l -21 -201 l -21 216 l -20 200 m 16 200 l 310 0 l 240 0 l 16 140 l 16 -120 l 240 0 l 310 0 l 16 -200'}

capture

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented Sep 2, 2016

Fantastic stuff! PR plz!!

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 2, 2016

I will wait for #446 to be merged, then I will submit a PR. The advantage is that the addition of new glyphs using the new tidier format is easier to follow in diffs.

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented Sep 3, 2016

I also submitted a PR to support all accidentals in EasyScore: #451

@Silverwolf90
Copy link
Collaborator

@Silverwolf90 Silverwolf90 commented Sep 3, 2016

@Huji I'm not sure ha serves any purpose anymore -- I always figured it must be some acronym related to the height of the glyph, but it's very cryptic and didn't seem to produce expected results when used for glyph dimensions. But now we are analyzing the path itself to extract more accurate glyph dimensions. I can't find an instance of this property being used.

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 4, 2016

I figured it has to do with height too (and guessed that "ha" means "height
adjustment") but when I wrote my own code
https://jsfiddle.net/629myn9f/38/ to edit glyphs by trial and error I
realized that the "ha" parameter is effectively never used and I can write
code that ignores it completely yet generates similar output as VexFlow.

Thanks for the email though!

On Sat, Sep 3, 2016 at 3:46 PM, Cyril Silverman notifications@github.com
wrote:

@Huji https://github.com/Huji I'm not sure ha serves any purpose
anymore -- I always figured it must be some acronym related to the height
of the glyph, but it's very cryptic and didn't seem to produce expected
results when used for glyph dimensions. But now we are analyzing the path
itself to extract more accurate glyph dimensions. I can't find an instance
of this property being used.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#318 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFKLg2zdciPj7gpD0t2VkojaIGdILPNks5qmXocgaJpZM4GwaLb
.

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 4, 2016

That is great Karim!

I am thinking for sori and koron we should also define new acronyms for
VexTab. I suggest "s" and "k". So for instance C sori becomes "Cs" and D
koron becomes "Dk". That way they would not be confused with other quater
note accidentals.

What are your thoughts?

On Sat, Sep 3, 2016 at 8:50 AM, Karim Ratib notifications@github.com
wrote:

I also submitted a PR to support all accidentals in EasyScore: #451
#451


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#318 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFKLo1xD6862AR-azEizcMaviFoO1bRks5qmRisgaJpZM4GwaLb
.

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented Sep 5, 2016

"s" and "k" sound good to me. I can add these to the relevant places once your PR for the glyphs is merged.

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented Sep 5, 2016

Actually, @Huji, it would fantastic if you could also add the 3/4-flat accidental to the new glyphs: https://w3c.github.io/smufl/gitbook/tables/arabic-accidentals.html (U+ED31)

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 5, 2016

I will gradually work on all quarter note accidentals; I started with sori
and koron only because they are the easiest to create.

stay tuned!

On Mon, Sep 5, 2016 at 7:19 AM, Karim Ratib notifications@github.com
wrote:

Actually, @Huji https://github.com/Huji, it would fantastic if you
could also add the 3/4-flat accidental to the new glyphs:
https://w3c.github.io/smufl/gitbook/tables/arabic-accidentals.html
(U+ED31)


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#318 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFKLkJafTRikFivBEwRXe0BHTnDMLcYks5qm6ZQgaJpZM4GwaLb
.

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented Sep 5, 2016

I also edited the Microtonal Support wiki page https://github.com/0xfe/vexflow/wiki/Microtonal-Support - if anyone has a good suggestion on how to embed the accidental glyphs without creating a separate image for each one, please let me know :-)

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 5, 2016

@infojunkie the problem there is that d is mentioned both for "1 comma flat" and for "1 quarter-tone flat" in two separate rows; if the glyph is the same then we should collapse them together somehow.

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented Sep 5, 2016

Thanks - yes they are on two different rows because they mean two different things in Arabic vs Turkish systems... Feel free to change the layout if you have a better idea.

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 6, 2016

I think the minimum to do was to sort them, which I just did.

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented Sep 8, 2016

👍 for arabic and turkish and iranian quarter tone accidentals!

@Huji
Copy link
Contributor Author

@Huji Huji commented Sep 12, 2016

Alright, I created #461 but I need your help with it. I beautified the gonville_all font so you can better see the differences. In a second commit, I added the vd0 and vd1 glyphs. But when I build the project, they don't get added to build/vexflow-debug.js and I am not sure why. I am not familiar with grunt so I don't know how it decides which glyphs to take from gonville_all.js and which ones not to take. Any advice?

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented Sep 12, 2016

Thanks @Huji will review and attempt to fix as soon as I get some time.

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented Dec 31, 2016

@Huji: it would be great to update the microtonal wiki to reflect the sori and koron additions https://github.com/0xfe/vexflow/wiki/Microtonal-Support

@Huji
Copy link
Contributor Author

@Huji Huji commented Jan 2, 2017

Just updated it. Since Wiki is updated and #461 has been merged, I am going to close this issue.

@Huji Huji closed this Jan 2, 2017
@eeskikoy
Copy link

@eeskikoy eeskikoy commented May 6, 2017

Hi @infojunkie, I need microtonal accidentals and key signatures for Turkish Folks music. Here is the link to the SMuFL glyphs page. http://www.smufl.org/version/latest/range/turkishFolkMusicAccidentals . Actually, I only need just two of them. (The others are not used, at least for the song notation of instrument Baglama). What I need #3 (3 comma sharp) and b2 (2 comma flat). But until SMuFL support provided, I need to find a way to render these Turkish folks music accidentals using VexFlow. Note that the existing provided Turkish Microtonal Accidentals are used by Turkish -Classical- Music not by Turkish -Folks- Music. May be there are pitch overlapping but symbols (glyphs) and names are referred differently. Would you provide some help please?

@SalahAdDin
Copy link

@SalahAdDin SalahAdDin commented May 6, 2017

I need also because i play Ney, so, i'm playing turkish folk music.

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented May 7, 2017

@eeskikoy I'm currently trying to use the structure of the Gonville JS font format to add the Arabic 3/4-flat glyph. So far, I understand that a glyph is made of basic 2D operations, namely moveTo, lineTo, bezierCurveTo and quadraticCurveTo. Now I need to assemble these to make a glyph. Rereading this thread, I found that @Huji's fiddle is still online: https://jsfiddle.net/629myn9f/38/ - sounds like a great environment to make new glyphs.

@infojunkie
Copy link
Contributor

@infojunkie infojunkie commented May 7, 2017

I also updated the Wiki with images of each supported accidental. Looks much better 😄

@eeskikoy
Copy link

@eeskikoy eeskikoy commented May 8, 2017

Thanks @infojunkie, SMuFL (bravura) has already SVG, OTF glyph files which contains the accidentals that I need. I just need to convert the SVG path of them to the glyph meta data definitions of vexflow_font.js.

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

Successfully merging a pull request may close this issue.

None yet
9 participants
You can’t perform that action at this time.