information sign on shelf

如何製作帶有音檔的Anki雙語卡包:以越南語與中文為例

我要來聊聊如何利用Python,為那些熱衷於學習新語言的同學們,特別是對越南語感興趣的朋友,打造一套既實用又高效的學習工具。我們的目標是創建一個Anki卡包,正面是越南語的詞彙和音檔,背面則是中文翻譯。讓我們一步步走過這個過程吧!

開始之前的準備工作

首先,我們需要安裝兩個Python庫:genankigttsgenanki用於生成Anki包,而gtts(Google的文字轉語音服務)則幫助我們生成越南語的音頻檔案。簡單來說,只需開啟終端機,執行下列命令即可:

pip install genanki gtts

接下來,確保你的詞彙表已經準備好,最好是以CSV格式,包含第一列是越南語詞彙,第二列是中文翻譯。

音頻檔案的生成

使用gTTS庫為每一個越南語詞彙生成對應的音頻檔。這個步驟旨在讓學習更加生動,幫助記憶。下面是個簡化的代碼示例:

from gtts import gTTS
import pandas as pd

# 假設你的CSV檔案有兩欄'Vietnamese'  'Chinese'
vocab_df = pd.read_csv('path_to_your_vocabulary_list.csv')

for index, row in vocab_df.iterrows():
    tts = gTTS(text=row['Vietnamese'], lang='vi')
    tts.save(f"audio/{row['Vietnamese']}.mp3")

創建Anki筆記

透過genanki庫來創建Anki筆記。這需要定義一個模型,包含越南語詞彙及其音頻在正面,中文翻譯在背面。

import genanki

my_model = genanki.Model(
  1607392319,
  'Simple Model with Audio',
  fields=[
    {'name': 'Question'},
    {'name': 'Answer'},
    {'name': 'MySound'},  # 用於音頻
  ],
  templates=[
    {
      'name': 'Card 1',
      'qfmt': '{{Question}}<br>{{MySound}}',  # 在此插入音
      'afmt': '{{FrontSide}}<hr id="answer">{{Answer}}',
    },
  ])

my_deck = genanki.Deck(
  2059400110,
  'Vietnamese-Chinese Vocabulary')

for index, row in vocab_df.iterrows():
    my_note = genanki.Note(
        model=my_model,
        fields=[row['Vietnamese'], row['Chinese'], f'[sound:{row["Vietnamese"]}.mp3]'])
    my_deck.add_note(my_note)

生成並導出APKG檔案

最後,利用genanki庫將你的卡片包導出為APKG格式,方便在Anki中導入。

genanki.Package(my_deck).write_to_file('Vietnamese-Chinese_Vocabulary.apkg')

總結

透過上述步驟,我們成功創建了一個既含有音頻也有中文翻譯的越南語學習卡包。這對於台灣的大學生來說,無疑是一個既實用又方便的學習資源。學習新語言不再是單調乏味的記憶過程,而是一場充滿樂趣的探索之旅。

記得在導出APKG檔案前,確保音頻檔案的路徑與你在筆記中指定的路徑相匹配。這樣當你在Anki中導入卡包時,Anki會自動處理並將音頻檔存放到其媒體檔案夾中,確保一切能夠順利運行。

啟動你的Python編輯器,開始你的語言學習冒險吧!祝你學習愉快~

Leave a Reply

Your email address will not be published. Required fields are marked *