How I failed learning lyrics with anki

I tried to learn lyrics of song I love[1] using anki. This is one of my biggest failure.

I begin by explaining the technical reason of the failure, then the human one. And finally, the problem that is specific to learning songs.

Technical failure

Problems related to the set of cards to see one day

Let me consider a song wich 60 verses, for my example. A length which is not unusual (e.g. Every body knows, of L. Cohen). Then a note in anki (a set of information, i.e., a song), will generate at least 60 cards. One by verse. May be more, if you also decide to see every pair of verses. And/or every distique.

By default, in anki, if you see one card (i.e. when anki ask you to recall one verse), every other cards (verses) are buried. It means that you will not see any other verse the same day. If for some reason, the planning software believe there are 4 verses you should be seeing today, then you'll see a single verse. The other one will be seen, in the best case, the three following days. This delay is a really bad things and defeat the purpose of spaced repetition software.

This get even worse. May be anki will believe that there is also some other card you should see tomorrow. It will also be delayed for at least 4 days. And so on. Cards to see get more and more delayed, which ruin anki's purpose. I.e. you'll recall those card badly.

Of course, you can choose not to bury cards. In this case, what happens is that anki will ask you to recall a verse. A few minutes after, it will asks for the preceding verse. You will recall this preceding verse, but only because you just saw it, not because you really know it.

Note type

Another problem, which I have not yet solved, is: what kind of cards you should create. I first created cloze deletion cards. That means that card number n asks for verse number n and shows every other verses. Showing the verses after the current is a nonsens, but that's the easiest thing to do with anki. The manual of Space repetition software's state that the best way to learn a list is overlap. You ask verses n and n+1, and on another card, you ask verses n+1 and n+2. This is hard to do in anki, because cloze can not overlap. It means that you have two remaining choices: either you have note type with at least 60 fields (let's say a hundred, to be safe.) or you have one note by verse.

One note by verse is a very bad idea, for at least two reasons. I can tell you, I tried it, using an add-on doing exactly this. First, imagine that one made a typo, let's say on verse 40. Then you'd need to correct the typo on the 20 last cards. If it's a small typo, a search/replace may work. If it concerns a newline, you are screwed. Secondly, because it means that you do not have anymore the notion of «related cards». When you see question about one song, you may see another question about the same song the same day. As I explained above, it is a bad idea.

Doing a note type with a hundred fields is not such a good idea. Anki is not made for this, and it may makes anki really slow when adding a new note (I know, I alrdeady have a note with a hundred fields). This problem is due to the implementation of anki. I think I could solve it and create a more efficient implementation. I also know that the lead developper would not accept this, so I don't want to waste time doing it.

One thing is sure, it becomes impossible to enter a song by hand. At least not if you want to have one verse by field. Thus, the import process should be done using an add-on. I may want to give a try one-day, but right now, I don't know how to create a graphical interface. At least, I don't know how to do more than just adding a field in a menu, or a ok/cancel popup. Which is not enough to deal with songs. So, right now, I'm not trying to do it.

Human failure

The main problem is that, as soon as I want to add some lyrics in anki, I want to add hundreds of songs from dozens of artists I love. This takes time, deciding what to add, finding the lyrics on the web, or sometime typing them if the song's lyric is not already online(Which happens quite often when you love singers which are not famous). But mostly, it take a lot of time reviewing them.

Another problem comes from the fact that (I think) I already know most of the lyrics of the songs I add in anki.I'll want to see the hundred of songs immediatly. I can do it if I have a free hour. The trouble is that, a few day later, it will create a hundred of new card to review. Which led to the technical problem of having a lot of verses to review simultaneously.

On the other hand, if, in a day, I see only 10 new verses, it will be frustrating that I don't consider the hundred of other song I want to learn. Furthermore, I'll always see the same songs, which means that the last songs, either by alphabetical order, or by order in which I add them, will not be seen before monthes. Which is frustrating, because if I just added a song, it means I would love to see it right now.

Failure related to songs

One last problem is that song may be very repetitive. When a few verses repeat themselves multiple times in the song, e.g. in a chorus, you need a lot of context to know which is the next verses which is missing. You can't just read the 3 last lines. You need to know whether its the first, second, third chorus...

Furthermore, the cards created to learn the second chorus are a waste of time, since you already knew the first chorus.

In fact, when the repetition is only a chorus, it's kind of ok. You may write {chorus} instead of rewriting the chorus. It will save you time, since {chorus} is shorter.

The problem mostly is when the chorus change a little bit each occurrence. I don't have english example, but in French, it's quite usual to have chorus were one or two words are sometime changed. Either you write {Chorus (the current change)} to state that this time, the chorus has (the current change) (which is really strange to read when you learn your card), or you write the chorus entirely, and then you have the same problem as above.

This means that, essentially, what you really want to know is to learn which part of the song comes after which part, to see the big picture. This would let you know what goes after each chorus, since you'd essentially ignore the chorus. But doing the «big picture» seems to be complicated, how can you tell Anki how to process it ?


[1] Sometime song I hate too. At least song with which I have a love-hate relation.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien :

Fil des commentaires de ce billet