PronKi: practice pronunciation using your AnkiDroid flashcards

Hello, this is not a suggestion for AnkiDroid developers but for users. If like me you find difficult to practice your pronunciation by youself I would like to recommend you the use of PronKi.

I created this app that interacts with AnkiDroid, so you can use the flashcards that you already have there. You record your voice and will receive a feedback of your pronunciation assessment.

Pronunciation Assessment

It also has other features that can help you, like import of highlighted vocabulary (based on an image) and automatic flashcard creation using generative AI.

Check it out: GitHub - warleysr/pronki: PronKi is an Android app that allows you to practice your pronunciation using your Anki flashcards. It also has other features that can be helpful on your language learning journey!

I appreciate any suggestions, bug reports and contributions. Thanks!

2 Likes

Very cool! The fact that you can generate pronounciation checking for my existing cards is fantastic. Iā€™ve previously used an Android app Aomi to practice Japanese pronounciation. However, with that Iā€™m tied to going through the learning content they have instead of my own and that makes it a lot less interesting.

Template processing

I see that youā€™re processing the template content and stripping all html to only include the raw field content. However, it seems that youā€™re not stripping <script> tags at all. This makes using templates including any javascript impossible. I think stripping <script> tags would be pretty easy to add since youā€™re already stripping html.

Or just create a separate PronKi card type?

I suppose that you ought to create a separate card type that is meant only for use with PronKi. So, maybe the above point doesnā€™t matter?

Some thoughts on the pronounciation check

  • Some guidance on how to interpret the scores you get would be nice. The only thing I get is that 100% is good is lower is bad. Without understanding this the scores provide no information on how to improve my pronounciation.
  • As such, the most useful part is really the ability to compare the Azure generated voice vs your own.
  • For designing cards that would suitable for PronKi, I suppose that youā€™d want to include only the content that you want to practice pronouncing and nothing else?
    • Is only the card front used when checking pronounciation. Does the card back content matter at all?

Test card

2 Likes

Thanks for your insightful comment. Yeah, currently Iā€™m just parsing HTML tags and removing Anki tags e.g. [anki:play:...] , didnā€™t even thought about the <script> tag since the cards that I have are simpler. Definetly will implement this.

The guidance is also necessary, maybe a dialog or popup window on click in metrics name with the description provided by Microsoft:

About the specific card type Iā€™m not familiar with this, can I convert an existing card type to another? Or at least make a copy of a card using the new type? The idea was let the user practice with existing cards, I donā€™t know how to approach this using a different card type.

Currently the back can be used for assessment by toggling on the button next to the Mic one:

I donā€™t know if itā€™s common but I have some English-English cards that I might want to try using the back for practice. Also the back is necessary for reviewing, to go to the next card you need to use the ease buttons (like Anki) to review the current card, this made me think that maybe itā€™s not the best approach since someone might want to practice the pronunciation without reviewing the card because my app doesnā€™t have all the review features that AnkiDroid does.

Thanks for the screen from MS, that already helps a lot.

You can create an unlimited amount of card types for a note type. Each card type generates its own cards that are studied separately: Card Generation - Anki Manual
And, yes, you can make a copy of an existing card type. Whenever you create a new Card type itā€™ll initially be a copy of whatever card type you had selected in the template editor dialog at the moment.

Currently the back can be used for assessment by toggling on the button next to the Mic one:

What I was wondering is whether the card back is used for the pronounciation check at all? It seemed to me the the words that are checked are only the ones on the card front, is that right? I tried making my card back empty and that seemed to not change the words shown.

Also, could it be that the Completeness check is a bit buggy? I think its currently thinking that I pronounced only one word here because my Completeness score is 50% and there are two words shown. I did pronounce the whole word which is é›å­—ę¦ć‚ (the card front content is only that).

I donā€™t know if itā€™s common but I have some English-English cards that I might want to try using the back for practice. Also the back is necessary for reviewing, to go to the next card you need to use the ease buttons (like Anki) to review the current card, this made me think that maybe itā€™s not the best approach since someone might want to practice the pronunciation without reviewing the card because my app doesnā€™t have all the review features that AnkiDroid does.

Yeah, I can see that some users would want to practice pronounciation separately from their normal vocabulary reviews.

However, if a user wanted to study prounciation in a focused way - actually requiring themselves to pronounce correctly to pass reviews, it would make sense for a user to create separate cards for each kind of study. After all, itā€™s possible that you remember the meaning of a word, how to translate it, how to write it etc. but canā€™t pronounce it correctly. The recommended approach for using Anki is separating each thing you want to learn into a separate card type.

Creating a separate card type would also be the solution for users like me whoā€™d rather review their fancy javascript-filled cards on desktop or AnkiDroid so that they get all the bells and whistles :slight_smile:

The back is checked only if you toggle the button next to the Mic to use it, the default is set to use the front.

Based on the colors it seems that you actually mispronounced one of the words. The MS API can identify three types of errors: Mispronunciation, Omission and Insertion, if there is an error it will display the word with a specific color:

Mispronunciation - red
Omission - purplish
Insertion - bluish

If there is no error the word can be red, orange, yellow or green based on the score percentage. The omission identification appears to be working for English but unfortunetly Iā€™m unable to test it for (Japanese?).

Completely agree. I will think of some ā€œdo not review modeā€ where the user just go to the next card without actually reviewing them.

Thanks, that clarifies things. This is also more guidance that would be good to include with the report.

The omission identification appears to be working for English but unfortunetly Iā€™m unable to test it for (Japanese?).

Yeah, Japanese. Iā€™ll test more tomorrow.

Completely agree. I will think of some ā€œdo not review modeā€ where the user just go to the next card without actually reviewing them.

Great! That will allow both use cases to be served: users will be able to choose whether they actually review pronounciation cards or ā€œcramā€ pronounciation practice with their existing cards. Since Anki lets you make filtered decks itā€™ll be possible to practice specific words by using that and then enabling that ā€œdo not review modeā€ in PronKi.

Just released the version v1.0.1 with this mode and the other things you mentioned. Turn off the switch on top bar to not review cards:
image

So instead of ease buttons you have navigation ones:
image