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
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
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
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:
Use:
awesome
yeah i used an old unfixed version by accident
I got the point where the CSV file downloaded, but it has no contents. Anything I should do differently?
Thank you for your work.
What course have you been trying to download?
Actually the Finnish one works now, my Adblock was a little too effective. 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
edit: he fixed it, you probably need to reinstall the addon
I made the merge. Seems to work perfectly now
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 on the extension pannel in the extension manager page.
Thank you both! This might require a different add-on, but is it possible to extract the audio as well?
Thank you very much!
@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.
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.
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:
2. This course has multiple media per card (pronunciations by different people) but only the first one gets downloaded and embedded per CSV entry.
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.
Thank you!
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:
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.
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