メモログ

💡 Personal notes about somthing I'm interested in

Genarate Anki Cards Tool

最近Ankiを使って単語の記憶をしようという試みをしている。もともとはFluent Foreverという本に載っていたところからこのアプリを知った(最近になって邦訳「脳が認める外国語勉強法」があると知った)。

最初は英語とその日本語訳を入れたシンプルなカードを作ろうとしていたのですが、なんとなく味気ないなとということで、画像を追加したり、音声を追加してみたりと色々しているうちに、手作業でやるのがしんどいなということになり、generate-anki-cardsというツールを作成してみた。他の人に使ってもらいたい意図もなく、npmツールとしては公開する必要性がまったくないのですが、なんとなくついでだったのでnpmにも公開generate-anki-cards - npm。npmでインストールできる。

npm install -g generate-anki-cards

下のようなCSVを用意して、

apple,リンゴ
banana,バナナ
cherry,さくらんぼ
generate-anki-cards -i ./data.csv -o ./out

みたいに実行すると、PuppeteerでCambridge Dictionary のサイトにアクセスして、データがあれば、画像と音声データをダウンロードして保存します。Ankiで実際に利用する場合は、collection.media フォルダにそれらをコピーする必要がある(参考:File Locations)。

Cambridge Dictionary に画像または音声データがない場合は、Google Translate のサイトから音声データを取得したり、Unsplashからダウンロードしたりします。Google TranslateにPuppeteerで音声データを取得するより、CLOUD TEXT-TO-SPEECHを使う方が良いのかなという思いはありつつ、大量にアクセスするようなものでもないし、とりあえずそのまま。UnsplashについてもAPIを使うべきと思いつつ、Puppeteerでアクセスしてダウンロードしている。個人利用だし、単語リストの元になるCSVファイルは公開してないので、、このくらいは良いかなと…

なんやかんやで作成した読み込みファイルを使ってAnkiカードを作成した結果がこんな感じ。

なんやかんやで作りながら紆余曲折してしまったので、この年末年始の時間をだいぶ費やしてしまったけど、wikipediaやweblioからもデータの取得が可能で、こんな風に英語以外の暗記でも使える。使うかどうかはわからないけど。

というメモ。