Memrise2Anki Replacement

I created this script that seems to work for now: Export from memrise to anki, export from memrise to CSV (Works in 2022) · GitHub

just run in dev console, save the result as .csv and then import with anki

3 Likes

Shouldn’t it be ...+ i + "}", instead of ...+ num + "}", at the end of line 10?
Also i <= num in line 5, assuming that num is the total number of levels in the course?
But it works in general :slightly_smiling_face:

1 Like

I took the liberty of modifying the script and turning it into a Chrome extension so that it would run with a single mouse click, without the need to manually put in the course id and number of levels. The extension is here (sorry, I couldn’t quickly find a way of forking a gist into a proper repository):

There are some limitations: the script does not handle grammar and multimedia levels (it only downloads words before the first such level in a course), and I’m not sure it correctly handles characters from all the possible languages (the ones I tested seem fine though).


The instruction for anyone wanting to use the extension.

Installation:

  1. Download the zip archive from the link above (same way as described in the original comment of this thread)
  2. Unpack the zip
  3. In Google Chrome click on the Extensions button: image
  4. Go to Manage Extensions
  5. Enable Developer mode in the top right corner:
    image
  6. In the top left corner choose Load unpacked and select the folder extracted in step 2 (ignore the error with the manifest version)
  7. (optional) Go back to the Extensions menu from step 3 and pin the extension by clicking the pin button:
    image

Use:

  1. Open any page from the course you want to download
  2. Click the extension icon image
  3. When the download is finished, the CSV file should appear in your downloads folder (it might take some time for large courses!)
4 Likes

awesome :slight_smile:

yeah i used an old unfixed version by accident

1 Like

I got the point where the CSV file downloaded, but it has no contents. :confused: Anything I should do differently?

Thank you for your work. :slight_smile:

What course have you been trying to download?

https://app.memrise.com/course/1019941/the-mystery-of-nils/

Actually the Finnish one works now, my Adblock was a little too effective. :wink: But I still have blank files for the Nils one and this one:

it’s because the first level is a multimedia level. I sent Eltaurus who maintains the addon a fix and if he accepts it it should be fixed :slight_smile:

edit: he fixed it, you probably need to reinstall the addon

1 Like

I made the merge. Seems to work perfectly now :slightly_smiling_face:
I also added you as a collaborator, so you should be able to make all the changes directly


the easy way of updating the extension is to extract the new version into the same folder and click the refresh button image on the extension pannel in the extension manager page.

1 Like

Thank you both! :smile: This might require a different add-on, but is it possible to extract the audio as well?

Thank you very much!

1 Like

@naynaynay23 will answer it better, as I have only a vague understanding of how the core of the script works. But as an alternative, you can always use Anki addons such as AwesomeTTS or HyperTTS, which can generate audio from the text fields on the fly. The audio they produce is often better than the recordings in Memrise courses.

1 Like

As far as i can see the direct links to the audios and videos are provided in the ‘learnables’ property, such as these: https://static.memrise.com/uploads/items/videos/medium/86602__f__1528366207.mp4, https://static.memrise.com/uploads/items/audios/86602_1527247574_m_Male_--e-e-e02.mp3

but i’m not sure how you’d intergrate that with anki

To import audio into Anki all the audio files should be downloaded separately and placed inside Anki’s collection.media folder. The references to the files are placed as a separate column in the csv file using the format [sound:%filename.mp3]. The rest is pretty much the same.
I haven’t tested this, but I am reasonably sure that’s how it should work.

@Eltaurus i’ve done a lot of progress, could you help me with downloading it using the extension api? I’m not sure how the communication and stuff works The files are supposed to go into a subfolder called courseID/filename

relevant api: Chrome Extension- Change download folder for specific download - Stack Overflow

current fork: GitHub - baroxyton/CourseDump2022: Google Chrome extension to download Memrise courses as csv files

I recently paid for an AwesomeTTS subscription and use it with imported Duolingo words and now trying it with my Memrise decks. Apart from being good quality recordings I feel having different voices to the ones your used to hearing in Duolingo or Memrise is also beneficial.

1 Like

Thank you and @naynaynay23 for your precious contribution! It makes some of our lives easier and I can’t thank you enough guys!

While using the extension I stumbled upon two bugs:

1. When downloading this course:

  • If I pick NOT to download media it grabs all 644/644 words correctly.
  • If I pick to DOWNLOAD media it grabs 461/644 words and 507 media files regardless of embedding or not embedding them in CSV entries.

2. This course has multiple media per card (pronunciations by different people) but only the first one gets downloaded and embedded per CSV entry.

2 Likes

Thank you very much for this feedback.
I’ve updated the extension so that it would handle different numbers of audio and video files per word. It seems to work for both of your cases now.

I also changed a little bit the way the data is stored in the .csv files. I hope it wouldn’t cause much trouble, but if you’ll have any problems with importing new tables into Anki, please feel free to ask here.

2 Likes

Thank you! :heart:

Though the download process works perfectly fine now I stumbled upon some obstacles while importing .csv to Anki and have a few suggestions:

1. Currently media files get added as separate fields e.g.,

“Front”,“Back”,“Media”

which Anki recognizes accordingly:
anki_2022-10-17_13-02-40

The problem is, Anki can’t determine which side the media belongs to therefore can’t put it to use. And there is no option to append additional fields to existing ones.

What could be done about this is to add media to a corresponding field on the .csv generation phase, e.g.,

“Front, Media”,“Back”
“Front”,“Back, Media”
“Front, Media”,“Back, Media”

2. While trying to figure out a solution to the problem above I discovered that Anki Manual says:

Do not put subdirectories in the media folder, or some features will not work.

And this explains why:

Features like automatically deleting unused media, syncing etc. won’t work.

So I guess it’s better to add media to .csv without subfolders but keep the downloading structure as is and then instruct the user to put files directly into collection.media folder.

3. Currently if a user chooses to download media → the extension generates .csv → then flashes “Would you like some help with Anki integration?” → then waits for a response before downloading any media. I guess it would be better to flash the abovementioned message at the very end of the script after all files are saved.

Sorry if it’s overwhelming and by no means I want to strain your free time to work on this. If I could I would fix this myself but alas. :sweat_smile:

And thank you again for your brilliant work!

There is, but to do so you’ll have to modify the whole Note Type before starting the import.
In Anki go to Tools->Manage Note Types, select the Note Type you would like to edit from the list (in the screenshot you are using the Basic (and reversed card) one), then press Fields and Add.
You might want to clone the existing Note Type before adding fields though, so as to preserve the original. For that, instead of just selecting the Note Type from the list, click Add, select the Note Type from the list there and enter a new name, then proceed to adding fields to the new Note Type.

Alternatively, you can simply import the Basic with Media.apkg file, which I’ve included into the Extension folder (the Anki deck it produces can be safely deleted right after). It will create the Template: Basic with Media Note Type for you, which you can further modify to your liking and use instead of Basic (and reversed card) for importing data downloaded from memrise. (I plan to make a better template in the future as well, something closer to this)

It might seem a bit overcomplicated, but the reason for such separation of fields is that it makes subsequent editing in Anki much more flexible. If, for example, you would like to move Audio from the Front to the Back of a Card at some point, you will only need to move one corresponding line in the card template, without needing to redownload the whole csv table with different formatting and import it again into Anki (potentially losing the information about learned cards in the process).


Ah, yes. We discussed the subfolder issue with @naynaynay23, but I completely forgot about this part. I’ve removed the subfolder names from the csv table for now. (maybe it can be made to work in some way in the future)


You are right. I was thinking about the placement of this popup as well and decided to put it before downloading media, so that one could get busy reading the manual while waiting for the script to do its job. But since the downloading itself is perfomed by a separate process, there is no point in delaying its start, so I’ve updated the extension accordingly.


Thank you for your valuable contributions and for your kind words :blush:

2 Likes