Slideshow mode is unacceptably buggy

144 views
Skip to first unread message

dmitriy.f...@gmail.com

unread,
Oct 4, 2014, 11:43:22 AM10/4/14
to anki-a...@googlegroups.com
I would like to use AnkiDroid in slideshow mode.

Anki has this mode but it is so buggy, that it's impossible to use it.

In this mode Anki should show side 1 of a card, pronounce it, then show side 2 of the card, pronounce it, then show side 1 of the next card etc. The advance of cards should be automatic without participation of the user (hands free).
More advanced slideshow mode also includes possibility to rate a card during the slideshow. It's available in Anki but is also too buggy. So let's leave it for future discussion. First, bugs of easier hands free mode should be fixed.

How to start hands free slideshow mode in Anki (this explanation is for Anki 2.3alpha28):
1) Decide which deck you are going to study in this mode.
2) Install text to speech engine if it is not installed. You can install Google TTS. Then install languages you will need for side 1 and side 2 of cards.
3) Set up Anki to pronounce words. Switch on TTS: Settings => Advanced => Text to Speech. You must also switch on TTS in the selected deck: Deck Options => General => Automatically play audio. If you want to work with a filtered deck, you should do the latter in its parent deck.
4) Turn on autoadvance of cards: Settings => Reviewing => Automatic display answer. (by the way, it should be renamed to Autoadvance of cards)
4) Open the selected deck, click Study, select TTS language for side 1 of cards and TTS language for side 2 of cards. If you set the languages incorrectly, you can remove the settings: Settings => Advanced => "Reset Languages" and then set them again

Bugs:
1) AnkiDroid does not remember for long my TTS languages.
Even if I specified TTS languages for both sides of cards in a deck, after some time (for instance, after restart) Anki forgets them and I have to specify them again.
2) AnkiDroid often shows "No TTS available" when I start the slideshow by clicking "Study Deck".
3, 4) If I activated autoadvance of cards and then want to start slideshow by pressing "Study Deck", AnkiDroid displays a big window asking me to select TTS language. The problem is that window covers the text of side 1 and I do not see in what language side 1 is. Another bug is that Anki does not pause waiting for me to select a language but continues the slideshow, so one more window opens asking me to select a language for another side of the card, then the third and so on. So, if I activated autoadvance, it is impossible to select TTS language
5) After I started slideshow, I cannot switch off the screen because if I do it, the slideshow will stop. I tried to overcome it by keeping screen on (Settings => Reviewing => Keep screen on) and using third-part app TouchGuard for blocking the screen. But when I have to open another app or close AnkiDroid or answer a call, slideshow stops too.
6) AnkiDroid should repeat the same card for several times (alternating it with other cards) and then the card should be suspended. Instead, AnkiDroid keeps asking the same cards forever. So, I can listen only to a few cards.
7) Autoadvance is too slow.
Even if I reduce the time between side 1 and side 2 and side 1 of the next card, the cards still advance too slow. For instance, if the selected interval between question and answer is 2 sec., actual time is 9 sec. It seems that TTS loads CPU too much. If I make the interval in settings (Settings => Reviewing => "Time to show answer" and "Time to show next question") short (0 or 1 seconds), then new problems occur, for instance, only a part of the answer is pronounced or what is pronounced does not correspond to what is shown on the screen). It seems that the display of sides of cards and their pronunciation are not bound and can happen independently. Instead, the time for pronunciation should be a part of the time of showing a side of a card.

By the way, maybe you know another Android app that has slideshow mode implemented better than in AnkiDroid?

Tim

unread,
Oct 4, 2014, 8:42:50 PM10/4/14
to anki-a...@googlegroups.com, dmitriy.f...@gmail.com
Hi, it seems that most of your issues are with TTS. TTS has been broken for a long time, and unfortunately none of the developers are currently very motivated to fix it. If you have some Android programming skills, we would very much welcome someone who can maintain the TTS code. If not, you're better off using Anki Desktop TTS plugin to render audio files for all of your fields, and just disable TTS on AnkiDroid. This would seem to solve almost all of the issues above, except issue 5 and issue 6. 

Issue 6 could be fixed by allowing the user to choose which button they want AnkiDroid to use for automatic answer. Issue 5 could be implemented like this I guess, or you could just increase screen timeout to max setting. Unless there was a larger demand from users, I probably wouldn't support merging either feature to the main code base, but you're more than welcome to patch AnkiDroid to make your own custom version for this feature. It shouldn't be very difficult IMO, even for a beginner Android programmer.
Reply all
Reply to author
Forward
0 new messages