HOME | EDIT | RSS | ABOUT | GITHUB

使用aboboo提取原版电影音频和字幕文件制作anki暗记卡片

1.

将电影文件和字幕文件改成同名,放到同一文件夹内。使用aboboo本地-打开,则aboboo在切分语音时自动按字幕时间戳切分。

2.

处理字幕。有时候需要原、译文对调;繁体乱码改简体;删除字幕后重新载入等操作。

3.

句子选择。打开后反选,然后在第二项中修改为”参照文本大于4个词的句子“,确定。

4.

导出选中句子到音频文件,字幕格式为utf-8,勾选自动剪除句子首尾静音,每一句一个句子。

5.

使用python,生成anki可以导入的create.csv文件。create.py文件代码如下:

#-*-coding:utf-8-*-
"""
My first python program
"""
import re
import os
import sys
import csv
#from sys import argv
import glob
import time
output = "Tobeimport.csv"
def Main():
    curpath = os.getcwd()
    lrcfiles = curpath + "//*.lrc"
    flist = glob.glob(lrcfiles)
    writer = csv.writer(file(output, 'wb+'))
    pattern1 = re.compile(r'00]([\s\S]*) \t')
    pattern2 = re.compile(r'\t([\s\S]*)')
    i = 0
    for f in flist:
       i = i + 1
       fh = file(f,'r')
       content = fh.read()
       english = pattern1.findall(content)
       chinese = pattern2.findall(content)

       print content

       print english
       print chinese 
       mp3file = f[:-3] + "mp3"
       newname = str(time.time()) + str(i) + ".mp3"
       print mp3file
       print newname
       os.rename(mp3file, newname)
       question = "[sound:" + newname +"]"

       if not english:
	   answer =content[10:]
       else:
	   answer = english[0] + "   " + question
       writer.writerow([question, answer])
       fh.close()
    del writer
      
if __name__ == "__main__":
    Main()

6.

将媒体文件导入anki文件夹内。linux是anki安装后在主文件夹内生成documents文件夹;windows是安装后在user/pc-user-id/AppData/Roaming/Anki2/User 1/collection.media中。