Gustaf-C / anki-chinese-support-3

Anki add-on providing support for Chinese study
https://ankiweb.net/shared/info/1752008591
GNU General Public License v3.0
26 stars 7 forks source link

Fill fields from Pinyin #63

Closed ThomasWattez closed 4 months ago

ThomasWattez commented 4 months ago

Hi.

First of all thanks a lot for this add-on, it really helps a lot of people and it helps all of us to save much time.

However, as a Chinese learner, it is still a bit tricky to find and write Hanzi.

Would it be possible to add a functionnality that would fill other fields from Pinyin ? It would be very convenient for beginners and any person struggling to write Hanzi with his keyboard. For example, we could easily build cards Pinyin/Sound to train our pronunciation, which is smarter than starting by learning Hanzis or just focusing on vocabulary.

Thanks again, and do not hesitate if I can help.

kieranlblack commented 4 months ago

Hi, you raise an interesting point. As you are probably aware pinyin -> characters -> meaning is not injective. What I mean by this is if, for example, someone entered shi1 into the input field then any of the following characters would be a valid match:

(somewhat interestingly, the inverse of the map also has complications called 多音字 for example 解 vs 你吃吗)

As you can see, characters are actually super useful because they do a much better job of pinning down just what word you are talking about.

Have you tried something like the following workflow instead?

  1. search english definition / pinyin in pleco
  2. ctrl c copy the character for the word you want
  3. ctrl v paste into anki and let the plugin do its magic

I think at the end of the day you still need to choose which character you want to make a card for, if this is done from within the plugin or manually via the workflow I described above is a slightly different problem than the one you posed above.

ThomasWattez commented 4 months ago

I understand that characters are fundamental and that pinyin alone does not make sense for all Chinese speakers. I will definitely learn them to accomplish my learning journey.

As a french, a lot of sounds coming from chinese are completely new to me. That is why I reckoned I should focus on having a good pronunciation before learning too much vocabulary, otherwise I would biased my brain. Indeed, if i associate words with wrong sounds in my head, it will be much more difficult to "unlearn" those wrong sounds than learning how to have a good pronunciation at start.

Thanks to Pinyin, you can actually do that without having to care about words itselves.

That is why I thought about creating myself a "Pronunciation" deck, with only Pinyin/Sound required. In the reverse, Sound/Pinyin can train our ear before we reach deep into tones and actual words.

However, I don't know if any speech engine is offering sounds of that way, that is just an idea. Maybe no Speech engine have this functionality.

That is just a single case showing the interest of filling other fields from Pinyin and not Hanzi. I know some fields would not be able to be filled, like characters for exemple, but is that really an issue ? It's not a bug since this lack is just reflecting reality.

I think this functionality would be a great add for users. Chinese is a difficult language to learn, especially for latin speakers, and we all choose a different way to approach it.

kieranlblack commented 4 months ago

Interesting, thanks for explaining more. So you're proposing adding a new note type which only has pinyin and sound?

Gustaf-C commented 4 months ago

The issue with this is that the speech engines (from what I can tell) can only handle characters to create sound, eg pīnyīn, or pin1yin1 won't give the correct output. Now this could potentially be worked around in the addon, but I have a hard time justifying the effort when I see a potential work around.

The way I would suggest that you solve this is to create a card with three fields, hanzi, pinyin and sound. In the hanzi field write any character that has the sound you want to practice and autofill the sound and pinyin. Then set up the card so that one side is only sound, and one is only pinyin. The actual character can simply be ignored. This should effectively give what you want.

kieranlblack commented 4 months ago

I agree with @Gustaf-C, I don't see much of a reason to add this functionality to the plugin itself. One thing to note is that there is a relatively small and finite number of pronunciations you are probably interested in practicing. People have already made decks for this, there doesn't seem to be much value in making your own unlike with meaning cards since the only information on the cards would be pinyin and sound (nothing really to customize there). I googled and found this for example:

https://www.reddit.com/r/ChineseLanguage/comments/115vrm7/all_chinese_tones_and_pinyin_anki_deck/

ThomasWattez commented 4 months ago

That seems a pretty good way to achieve what I had in mind, didn't think about it. If speech engines can't handle pinyin, then you're right, it's probably too much effort to be worth it.

Thanks a lot for those ideas, I will give it a try and check at the existing deck. I didn't find when I searched, but that may be what I was looking for.

Have a good day !