Add furigana support for Japanese lyrics

Feature description:

Add furigana support for Japanese lyrics. Furigana is the small hiragana or katakana letter appearing above kanji (“Chinese characters”), to provide reading aid on how to pronounce the kanji. (More details below.)

Problem solved:

In the Japanese language, there are three writing system, two of which are “hiragana” and “katakana”. These two are easy to learn, read, and pronounce, since it works similarly to a latin alphabet.

However, the third writing system “kanji” stems from Chinese characters. Kanji doesn’t doesn’t have a definite way of reading, it depends on the context or what characters combinations are made. Even native Japanese people have trouble with kanji.

By adding support for furigana, it’s possible to read kanji without needing to learn 3000+ kanji characters (the suggested amount for being able to understand a Japanese newspaper).

Brought benefits:

The Japanese music market is the second largest in the world, and many who are interested in Japanese music might only know how to read basic hiragana and katakana.

Adding furigana will improve the experience in the lyrics view, but also give bigger appreciation for the music we listen to, while also bringing a stronger attachment to Symfonium, since this feature is rarely seen on music players (from my experience at least).

Other application solutions:

 
Within the open source community, I’ve seen this being implemented in the music player “SpMp”:

From my understanding, it uses a pre-existing library for generating furigana, but it would require adding styling to place the furigana above the kanji.

 

Additional description and context:

 
As Chinese and Japanese share many kanji characters, I’ve noticed that the music app “SpMp” has a check to determine whether the lyrics is Japanese or not. To clarify, furigana is only relevant for Japanese, and cannot be applied in Chinese.

It should be fairly easy to make the distinction between the two languages, especially in the context of lyrics, but I’m not confident in what the best approach would be. E.g. if the encoding you receive of the lyrics already gives an idea of what language it is, or if it’s simply as easy to check if any hiragana/katakana is included in the lyrics.
 

Screenshots / Mockup:

 

   

2 Likes

Unfortunately solutions for this requires to embed very very large dictionaries.

For the library you link it’s 33 MB of data so just the dictionary is twice the size of the app that I try to optimize for size because it matters a lot.

So tripling the size of the app for very few users is not really something I can do.

The app is not even properly translated to Japanese so have nearly no Japanese users.

1 Like

Thanks for looking into this!

I don’t know the details of how spmp implemented the dictionary, but it looks like the binaries aren’t larger than 24mb, based on the latest release:

To clarify the purpose of this feature request, while it could serve Japanese users, it’s primarily focused on people who are not Japanese. Essentially, majority of people who aren’t native Japanese speakers, but are interested in the language, will know hirgana/katakana.

Of course, it’s understandable that undertaking this is still for a minority of users, but I wanted to at least do my best to give clarity, in order for this feature request to have had its fair assessment.

It is 33mb uncompressed :wink: I did not throw a random value.

Of the 24Mb of the APK 13Mb are from the dictionaries so more then the half.

So sorry but this is way too much data for a very small usage.

The feature won’t be added as is due to this, it’s still on hold as I suppose it would be possible to rewrite a complete lib to offer those dictionaries as optional downloads, but this is a lot of work that I can’t justify for now.

1 Like

Ah I see! It’s completely understandable, thanks for considering this feature request.

It didn’t occur to me that another approach would be to offer optional dictionary download (similar to how keyboard apps do it). That sounds like a good middle ground if this ever gets implemented in the future.

Edit: grammar

Personally I’ve given up on getting lyrics to my library due to kanji, but something like this would make me reconsider and start using this feature (and lyrics).

Though I do agree it is a very niche usecase, that probably ain’t worth doing for now.

I can completely relate, as I would find this feature a saving grace as well. My music library is essentially 95% Japanese.

Indeed, the amount of work required is understandable as to why this wouldn’t be implemented on a whim.