diff --git a/anki-hsk-creator/__main__.py b/anki-hsk-creator/__main__.py index 8df4382..b3aa69a 100644 --- a/anki-hsk-creator/__main__.py +++ b/anki-hsk-creator/__main__.py @@ -44,34 +44,34 @@ font-size: 75px; ## Classess -SIMPLE_MODEL = Model( +PHRASE_MODEL = Model( 2076166425, - "Simple Model", + "Phrase Model", fields=[ - {"name": "Question"}, - {"name": "Answer"}, + {"name": "Translated"}, + {"name": "Phrase"}, + {"name": "Audio"}, ], templates=[ { "name": "Card 1", - "qfmt": "{{Question}}", - "afmt": '{{FrontSide}}
{{Answer}}', + "qfmt": "{{Translated}}
{{Audio}}", + "afmt": '{{FrontSide}}
{{Phrase}}', + }, + { + "name": "Card 2", + "qfmt": "{{Phrase}}
{{Audio}}", + "afmt": '{{FrontSide}}
{{Translated}}', + }, + { + "name": "Card 3", + "qfmt": "{{Audio}}", + "afmt": '{{FrontSide}}
{{Phrase}}', }, ], css=CSS, ) -HSK_FRONT_TEMPLATE = """ - -{{Pinyin}} - -
- -{{English}} - -
-{{Audio}} -""" HSK_MODEL = Model( 1708536519, @@ -81,12 +81,12 @@ HSK_MODEL = Model( {"name": "Pinyin"}, {"name": "Simplified"}, {"name": "Traditional"}, - {'name': 'Audio'}, + {"name": "Audio"}, ], templates=[ { "name": "Card 1", - "qfmt": HSK_FRONT_TEMPLATE, + "qfmt": "{{Pinyin}}
{{English}}
{{Audio}}", "afmt": "{{FrontSide}}
" "{{Simplified}}

{{Traditional}}
", }, @@ -96,6 +96,12 @@ HSK_MODEL = Model( "{{Traditional}}", "afmt": '{{FrontSide}}
{{Pinyin}}
{{English}}
{{Audio}}', }, + { + "name": "Card 1", + "qfmt": "{{Audio}}", + "afmt": "{{FrontSide}}
{{Pinyin}}
" + "{{Simplified}}

{{Traditional}}
", + }, ], css=CSS, ) @@ -129,6 +135,7 @@ def create_translator(): ) argostranslate.package.install_from_path(package_to_install.download()) + def create_tts(): # Automatically detect the best available device if torch.cuda.is_available(): @@ -137,9 +144,10 @@ def create_tts(): device = "mps" else: device = "cpu" - tts = ChatterboxMultilingualTTS.from_pretrained(device=device) + tts = ChatterboxMultilingualTTS.from_pretrained(device=device, t3_model="v3") return tts + ## Main @@ -162,7 +170,7 @@ def process_files(): level = selected relative = in_file.relative_to(INPUT) out_file = OUTPUT / relative - resources = RESOURCES / relative + resources = RESOURCES / relative resources = resources.parent / resources.stem resources.mkdir(parents=True, exist_ok=True) out_file.parent.mkdir(parents=True, exist_ok=True) @@ -174,7 +182,7 @@ def process_files(): def dictionary_process(dictionary, tts, in_file, resources): """Process dictionary files""" words_list = in_file.open(encoding="utf8").read().strip().split("\n") - results = [] + results = [] try: with in_file.open("w", encoding="utf8") as input_file: for words in words_list: @@ -193,8 +201,14 @@ def dictionary_process(dictionary, tts, in_file, resources): for m in w.meanings: print(f"\t{m}") s = None - while not s or not s.isnumeric() or not (1 <= int(s) <= len(v)): - s = input(f"Please select the correct word [1-{len(v)}]: ") + while ( + not s + or not s.isnumeric() + or not (1 <= int(s) <= len(v)) + ): + s = input( + f"Please select the correct word [1-{len(v)}]: " + ) v = v[int(s) - 1] else: v = ml[0] @@ -202,7 +216,7 @@ def dictionary_process(dictionary, tts, in_file, resources): v = v[0] audio_path = resources / f"{word}.wav" if not audio_path.exists(): - audio = tts.generate(word, language_id="zh") + audio = tts.generate(f"{word}。", language_id="zh") torchaudio.save(audio_path, audio, tts.sr) input_file.write(f"{word}\t{v.pinyin}\n") results.append((v, audio_path)) @@ -217,16 +231,18 @@ def dictionary_process(dictionary, tts, in_file, resources): return results -def translator_process(in_file): - """Process text trasnlate files""" - text_list = in_file.open(encoding="utf8").read().split()[1:] +def translator_process(tts, resources, in_file): + """Process for phases trasnlation""" + text_list = in_file.open(encoding="utf8").read().strip().split() results = [] - for text in text_list: - text = text.strip() - for par in text.split("。"): - if par: - translatedText = argostranslate.translate.translate(par, CN, EN) - results.append([translatedText, par]) + for n, phrase in enumerate(text_list): + phrase = phrase.strip() + audio_path = resources / f"N{n}.wav" + if not audio_path.exists(): + audio = tts.generate(f"{phrase}。", language_id="zh") + torchaudio.save(audio_path, audio, tts.sr) + translated = argostranslate.translate.translate(phrase, CN, EN) + results.append([translated, phrase, audio_path]) return results @@ -260,41 +276,50 @@ def output_anki_dictionary(out_file, results): PinyinToneConverter().convert_text(entry.pinyin), entry.simplified, entry.traditional, - f"[sound:{audio.name}]" + f"[sound:{audio.name}]", ], ) audios.append(audio) deck.add_note(note) package.media_files = audios package.write_to_file(final_file) - -def output_anki_text(out_file, results): + +def output_anki_phrase(out_file, results): final_file = out_file.parent / f"{out_file.stem}.apkg" deck_name = "::".join(out_file.relative_to(OUTPUT).parts[:-1] + (out_file.stem,)) deck = Deck(random.randrange(1 << 30, 1 << 31), deck_name) - for entry in results: + package = Package(deck) + audios = [] + for translated, phrase, audio in results: note = Note( - model=SIMPLE_MODEL, - fields=entry, + model=PHRASE_MODEL, + fields=[ + translated, + phrase, + f"[sound:{audio.name}]", + ], ) deck.add_note(note) - Package(deck).write_to_file(final_file) + audios.append(audio) + package.media_files = audios + package.write_to_file(final_file) def main(): - in_file, out_file, resources, file_type = process_files() - if PHRASES_TYPE in in_file.suffixes: - create_translator() - results = translator_process(in_file) - output_anki_text(out_file, results) - elif DICT_TYPE in in_file.suffixes: - tts = create_tts() - dictionary = create_cedict() - results = dictionary_process(dictionary, tts, in_file, resources) - output_anki_dictionary(out_file, results) - else: - raise TypeError("Error, filetype not especified!") + tts = create_tts() + dictionary = create_cedict() + create_translator() + while True: + in_file, out_file, resources, file_type = process_files() + if PHRASES_TYPE in in_file.suffixes: + results = translator_process(tts, resources, in_file) + output_anki_phrase(out_file, results) + elif DICT_TYPE in in_file.suffixes: + results = dictionary_process(dictionary, tts, in_file, resources) + output_anki_dictionary(out_file, results) + else: + raise TypeError("Error, filetype not especified!") if __name__ == "__main__": diff --git a/data/input/HSK1/HSK1-2.dictionary.txt b/data/input/HSK1/HSK1-2.dictionary.txt index dce1ed0..da1c73b 100644 --- a/data/input/HSK1/HSK1-2.dictionary.txt +++ b/data/input/HSK1/HSK1-2.dictionary.txt @@ -1,4 +1,4 @@ -谢谢 -不 -不客气 -再见 \ No newline at end of file +谢谢 xie4 xie5 +不 bu4 +不客气 bu4 ke4 qi5 +再见 zai4 jian4 diff --git a/data/input/HSK1/HSK1-2.phrases.txt b/data/input/HSK1/HSK1-2.phrases.txt index 388f7f6..63cc199 100644 --- a/data/input/HSK1/HSK1-2.phrases.txt +++ b/data/input/HSK1/HSK1-2.phrases.txt @@ -1,2 +1,7 @@ 不谢 -谢谢你 \ No newline at end of file +谢谢你 +打开书 +清大声读 +再读一遍 +一起读 +有问题吗? \ No newline at end of file diff --git a/data/input/HSK1/HSK1-3.dictionary.txt b/data/input/HSK1/HSK1-3.dictionary.txt index 399d348..028baff 100644 --- a/data/input/HSK1/HSK1-3.dictionary.txt +++ b/data/input/HSK1/HSK1-3.dictionary.txt @@ -1,12 +1,12 @@ -叫 -什么 -名字 -我 -是 -老师 -吗 -学生 -人 -李明 -中国 -美国 +叫 jiao4 +什么 shen2 me5 +名字 ming2 zi5 +我 wo3 +是 shi4 +老师 lao3 shi1 +吗 ma5 +学生 xue2 sheng5 +人 ren2 +李明 ERROR +中国 Zhong1 guo2 +美国 Mei3 guo2 diff --git a/data/input/HSK1/HSK1-3.phrases.txt b/data/input/HSK1/HSK1-3.phrases.txt new file mode 100644 index 0000000..71ab0ae --- /dev/null +++ b/data/input/HSK1/HSK1-3.phrases.txt @@ -0,0 +1,6 @@ +你叫什么名字? +我叫李月。 +你是老师吗? +我不是老师, 我是学生。 +你中国人么? +我不是中国人,我是美国人。 \ No newline at end of file diff --git a/data/input/HSK1/HSK1-4.dictionary.txt b/data/input/HSK1/HSK1-4.dictionary.txt index 27da69d..d642296 100644 --- a/data/input/HSK1/HSK1-4.dictionary.txt +++ b/data/input/HSK1/HSK1-4.dictionary.txt @@ -1,12 +1,12 @@ -她 -他 -谁 -的 -汉语 -哪 -国 -呢 -他 -同学 -朋友 -委内瑞拉 \ No newline at end of file +她 ta1 +他 ta1 +谁 shei2 +的 de5 +汉语 Han4 yu3 +哪 na3 +国 guo2 +呢 ne5 +他 ta1 +同学 tong2 xue2 +朋友 peng2 you5 +委内瑞拉 Wei3 nei4 rui4 la1 diff --git a/data/input/HSK1/HSK1-4.phrases.txt b/data/input/HSK1/HSK1-4.phrases.txt new file mode 100644 index 0000000..72f304e --- /dev/null +++ b/data/input/HSK1/HSK1-4.phrases.txt @@ -0,0 +1,9 @@ +他是谁? +他是我的汉语老师,他叫李月。 +你是哪国人? +我是美国人,你呢? +我是中国人。 +他是谁? +他是我同学。 +他呢?他是你同学吗? +他不是我同学,她是我朋友。 \ No newline at end of file diff --git a/data/input/汉语口语新时代-初级下/HSK1-4.phrases.txt b/data/input/汉语口语新时代-初级下/HSK1-4.phrases.txt new file mode 100644 index 0000000..72f304e --- /dev/null +++ b/data/input/汉语口语新时代-初级下/HSK1-4.phrases.txt @@ -0,0 +1,9 @@ +他是谁? +他是我的汉语老师,他叫李月。 +你是哪国人? +我是美国人,你呢? +我是中国人。 +他是谁? +他是我同学。 +他呢?他是你同学吗? +他不是我同学,她是我朋友。 \ No newline at end of file diff --git a/data/input/口语/口语-第10课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第10课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第10课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第10课.dictionary.txt diff --git a/data/input/口语/口语-第10课.phrases.txt b/data/input/汉语口语新时代-初级下/口语-第10课.phrases.txt similarity index 100% rename from data/input/口语/口语-第10课.phrases.txt rename to data/input/汉语口语新时代-初级下/口语-第10课.phrases.txt diff --git a/data/input/口语/口语-第1课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第1课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第1课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第1课.dictionary.txt diff --git a/data/input/口语/口语-第2课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第2课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第2课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第2课.dictionary.txt diff --git a/data/input/口语/口语-第3课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第3课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第3课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第3课.dictionary.txt diff --git a/data/input/口语/口语-第4课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第4课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第4课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第4课.dictionary.txt diff --git a/data/input/口语/口语-第5课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第5课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第5课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第5课.dictionary.txt diff --git a/data/input/口语/口语-第6课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第6课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第6课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第6课.dictionary.txt diff --git a/data/input/口语/口语-第7课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第7课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第7课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第7课.dictionary.txt diff --git a/data/input/口语/口语-第8课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第8课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第8课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第8课.dictionary.txt diff --git a/data/input/口语/口语-第9课.dictionary.txt b/data/input/汉语口语新时代-初级下/口语-第9课.dictionary.txt similarity index 100% rename from data/input/口语/口语-第9课.dictionary.txt rename to data/input/汉语口语新时代-初级下/口语-第9课.dictionary.txt diff --git a/data/input/口语/口语-第9课.phrases.txt b/data/input/汉语口语新时代-初级下/口语-第9课.phrases.txt similarity index 100% rename from data/input/口语/口语-第9课.phrases.txt rename to data/input/汉语口语新时代-初级下/口语-第9课.phrases.txt diff --git a/data/input/汉语口语新时代-初级下/第11课-1.dictionary.txt b/data/input/汉语口语新时代-初级下/第11课-1.dictionary.txt new file mode 100644 index 0000000..c884502 --- /dev/null +++ b/data/input/汉语口语新时代-初级下/第11课-1.dictionary.txt @@ -0,0 +1,14 @@ +温柔 wen1 rou2 +星星 xing1 xing5 +摘 zhai1 +颗 ke1 +亲手 qin1 shou3 +浪漫 lang4 man4 +飞行员 fei1 xing2 yuan2 +标准 biao1 zhun3 +考虑 kao3 lu:4 +十全十美 shi2 quan2 shi2 mei3 +理想 li3 xiang3 +支持 zhi1 chi2 +性格 xing4 ge2 +恋爱 lian4 ai4 diff --git a/data/input/汉语口语新时代-初级下/第11课-1.phrases.txt b/data/input/汉语口语新时代-初级下/第11课-1.phrases.txt new file mode 100644 index 0000000..3ffedd4 --- /dev/null +++ b/data/input/汉语口语新时代-初级下/第11课-1.phrases.txt @@ -0,0 +1,8 @@ +她每年都会送孩子新年礼物 +有一年,孩子要星星,她没办法去亲手,就摘颗送给他。 +有些人在选择男/女朋友时总是有很高的标准,会考虑很多方面。 +但是世界上哪有理想的人啊? +我觉得十全十美的男/女朋友就是在一起时每天都很开心。 +我理想中的女朋友有两个标准: +第一,性格要非常温柔; +第二,要支挡我的工作,即使。 \ No newline at end of file diff --git a/data/output/HSK1/HSK1-1.dictionary.apkg b/data/output/HSK1/HSK1-1.dictionary.apkg index 0b4b811..a21141b 100644 Binary files a/data/output/HSK1/HSK1-1.dictionary.apkg and b/data/output/HSK1/HSK1-1.dictionary.apkg differ diff --git a/data/output/HSK1/HSK1-1.phrases.apkg b/data/output/HSK1/HSK1-1.phrases.apkg new file mode 100644 index 0000000..108b56d Binary files /dev/null and b/data/output/HSK1/HSK1-1.phrases.apkg differ diff --git a/data/output/HSK1/HSK1-2.dictionary.apkg b/data/output/HSK1/HSK1-2.dictionary.apkg new file mode 100644 index 0000000..43aab21 Binary files /dev/null and b/data/output/HSK1/HSK1-2.dictionary.apkg differ diff --git a/data/output/HSK1/HSK1-2.phrases.apkg b/data/output/HSK1/HSK1-2.phrases.apkg new file mode 100644 index 0000000..de95411 Binary files /dev/null and b/data/output/HSK1/HSK1-2.phrases.apkg differ diff --git a/data/output/HSK1/HSK1-3.dictionary.apkg b/data/output/HSK1/HSK1-3.dictionary.apkg new file mode 100644 index 0000000..7517220 Binary files /dev/null and b/data/output/HSK1/HSK1-3.dictionary.apkg differ diff --git a/data/output/HSK1/HSK1-3.phrases.apkg b/data/output/HSK1/HSK1-3.phrases.apkg new file mode 100644 index 0000000..4683e52 Binary files /dev/null and b/data/output/HSK1/HSK1-3.phrases.apkg differ diff --git a/data/output/HSK1/HSK1-4.dictionary.apkg b/data/output/HSK1/HSK1-4.dictionary.apkg new file mode 100644 index 0000000..746b5c7 Binary files /dev/null and b/data/output/HSK1/HSK1-4.dictionary.apkg differ diff --git a/data/output/HSK1/HSK1-4.phrases.apkg b/data/output/HSK1/HSK1-4.phrases.apkg new file mode 100644 index 0000000..24aa21e Binary files /dev/null and b/data/output/HSK1/HSK1-4.phrases.apkg differ diff --git a/data/output/汉语口语新时代-初级下/第11课-1.dictionary.apkg b/data/output/汉语口语新时代-初级下/第11课-1.dictionary.apkg new file mode 100644 index 0000000..b49f6e7 Binary files /dev/null and b/data/output/汉语口语新时代-初级下/第11课-1.dictionary.apkg differ diff --git a/data/output/汉语口语新时代-初级下/第11课-1.phrases.apkg b/data/output/汉语口语新时代-初级下/第11课-1.phrases.apkg new file mode 100644 index 0000000..8409d80 Binary files /dev/null and b/data/output/汉语口语新时代-初级下/第11课-1.phrases.apkg differ diff --git a/data/resources/HSK1/HSK1-1.dictionary/你.wav b/data/resources/HSK1/HSK1-1.dictionary/你.wav index cbdb916..e074ed8 100644 Binary files a/data/resources/HSK1/HSK1-1.dictionary/你.wav and b/data/resources/HSK1/HSK1-1.dictionary/你.wav differ diff --git a/data/resources/HSK1/HSK1-1.dictionary/你好.wav b/data/resources/HSK1/HSK1-1.dictionary/你好.wav index 0d545ac..a19351d 100644 Binary files a/data/resources/HSK1/HSK1-1.dictionary/你好.wav and b/data/resources/HSK1/HSK1-1.dictionary/你好.wav differ diff --git a/data/resources/HSK1/HSK1-1.dictionary/好.wav b/data/resources/HSK1/HSK1-1.dictionary/好.wav index 51c43a4..e8dc63e 100644 Binary files a/data/resources/HSK1/HSK1-1.dictionary/好.wav and b/data/resources/HSK1/HSK1-1.dictionary/好.wav differ diff --git a/data/resources/HSK1/HSK1-1.dictionary/对不起.wav b/data/resources/HSK1/HSK1-1.dictionary/对不起.wav index b6a56f2..3cbb9c5 100644 Binary files a/data/resources/HSK1/HSK1-1.dictionary/对不起.wav and b/data/resources/HSK1/HSK1-1.dictionary/对不起.wav differ diff --git a/data/resources/HSK1/HSK1-1.dictionary/您.wav b/data/resources/HSK1/HSK1-1.dictionary/您.wav index 27b100e..867c0fd 100644 Binary files a/data/resources/HSK1/HSK1-1.dictionary/您.wav and b/data/resources/HSK1/HSK1-1.dictionary/您.wav differ diff --git a/data/resources/HSK1/HSK1-1.dictionary/您好.wav b/data/resources/HSK1/HSK1-1.dictionary/您好.wav index 69873d1..2707aee 100644 Binary files a/data/resources/HSK1/HSK1-1.dictionary/您好.wav and b/data/resources/HSK1/HSK1-1.dictionary/您好.wav differ diff --git a/data/resources/HSK1/HSK1-1.dictionary/没关系.wav b/data/resources/HSK1/HSK1-1.dictionary/没关系.wav index fbfaef7..a132207 100644 Binary files a/data/resources/HSK1/HSK1-1.dictionary/没关系.wav and b/data/resources/HSK1/HSK1-1.dictionary/没关系.wav differ diff --git a/data/resources/HSK1/HSK1-1.phrases/N0.wav b/data/resources/HSK1/HSK1-1.phrases/N0.wav new file mode 100644 index 0000000..5543c19 Binary files /dev/null and b/data/resources/HSK1/HSK1-1.phrases/N0.wav differ diff --git a/data/resources/HSK1/HSK1-1.phrases/N1.wav b/data/resources/HSK1/HSK1-1.phrases/N1.wav new file mode 100644 index 0000000..342b4d1 Binary files /dev/null and b/data/resources/HSK1/HSK1-1.phrases/N1.wav differ diff --git a/data/resources/HSK1/HSK1-1.phrases/N2.wav b/data/resources/HSK1/HSK1-1.phrases/N2.wav new file mode 100644 index 0000000..46df850 Binary files /dev/null and b/data/resources/HSK1/HSK1-1.phrases/N2.wav differ diff --git a/data/resources/HSK1/HSK1-1.phrases/N3.wav b/data/resources/HSK1/HSK1-1.phrases/N3.wav new file mode 100644 index 0000000..4fc9c13 Binary files /dev/null and b/data/resources/HSK1/HSK1-1.phrases/N3.wav differ diff --git a/data/resources/HSK1/HSK1-1.phrases/N4.wav b/data/resources/HSK1/HSK1-1.phrases/N4.wav new file mode 100644 index 0000000..1f03fd9 Binary files /dev/null and b/data/resources/HSK1/HSK1-1.phrases/N4.wav differ diff --git a/data/resources/HSK1/HSK1-1.phrases/N5.wav b/data/resources/HSK1/HSK1-1.phrases/N5.wav new file mode 100644 index 0000000..fafcb4a Binary files /dev/null and b/data/resources/HSK1/HSK1-1.phrases/N5.wav differ diff --git a/data/resources/HSK1/HSK1-1.phrases/N6.wav b/data/resources/HSK1/HSK1-1.phrases/N6.wav new file mode 100644 index 0000000..7561089 Binary files /dev/null and b/data/resources/HSK1/HSK1-1.phrases/N6.wav differ diff --git a/data/resources/HSK1/HSK1-2.dictionary/不.wav b/data/resources/HSK1/HSK1-2.dictionary/不.wav new file mode 100644 index 0000000..f425264 Binary files /dev/null and b/data/resources/HSK1/HSK1-2.dictionary/不.wav differ diff --git a/data/resources/HSK1/HSK1-2.dictionary/不客气.wav b/data/resources/HSK1/HSK1-2.dictionary/不客气.wav new file mode 100644 index 0000000..c2e25d0 Binary files /dev/null and b/data/resources/HSK1/HSK1-2.dictionary/不客气.wav differ diff --git a/data/resources/HSK1/HSK1-2.dictionary/再见.wav b/data/resources/HSK1/HSK1-2.dictionary/再见.wav new file mode 100644 index 0000000..65e8c3b Binary files /dev/null and b/data/resources/HSK1/HSK1-2.dictionary/再见.wav differ diff --git a/data/resources/HSK1/HSK1-2.dictionary/谢谢.wav b/data/resources/HSK1/HSK1-2.dictionary/谢谢.wav new file mode 100644 index 0000000..b41593a Binary files /dev/null and b/data/resources/HSK1/HSK1-2.dictionary/谢谢.wav differ diff --git a/data/resources/HSK1/HSK1-2.phrases/N0.wav b/data/resources/HSK1/HSK1-2.phrases/N0.wav new file mode 100644 index 0000000..54254ef Binary files /dev/null and b/data/resources/HSK1/HSK1-2.phrases/N0.wav differ diff --git a/data/resources/HSK1/HSK1-2.phrases/N1.wav b/data/resources/HSK1/HSK1-2.phrases/N1.wav new file mode 100644 index 0000000..408c4e3 Binary files /dev/null and b/data/resources/HSK1/HSK1-2.phrases/N1.wav differ diff --git a/data/resources/HSK1/HSK1-2.phrases/N2.wav b/data/resources/HSK1/HSK1-2.phrases/N2.wav new file mode 100644 index 0000000..f747679 Binary files /dev/null and b/data/resources/HSK1/HSK1-2.phrases/N2.wav differ diff --git a/data/resources/HSK1/HSK1-2.phrases/N3.wav b/data/resources/HSK1/HSK1-2.phrases/N3.wav new file mode 100644 index 0000000..1b61ccb Binary files /dev/null and b/data/resources/HSK1/HSK1-2.phrases/N3.wav differ diff --git a/data/resources/HSK1/HSK1-2.phrases/N4.wav b/data/resources/HSK1/HSK1-2.phrases/N4.wav new file mode 100644 index 0000000..8a9b0a0 Binary files /dev/null and b/data/resources/HSK1/HSK1-2.phrases/N4.wav differ diff --git a/data/resources/HSK1/HSK1-2.phrases/N5.wav b/data/resources/HSK1/HSK1-2.phrases/N5.wav new file mode 100644 index 0000000..caaf0f8 Binary files /dev/null and b/data/resources/HSK1/HSK1-2.phrases/N5.wav differ diff --git a/data/resources/HSK1/HSK1-2.phrases/N6.wav b/data/resources/HSK1/HSK1-2.phrases/N6.wav new file mode 100644 index 0000000..594dfa5 Binary files /dev/null and b/data/resources/HSK1/HSK1-2.phrases/N6.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/中国.wav b/data/resources/HSK1/HSK1-3.dictionary/中国.wav new file mode 100644 index 0000000..5b4cde0 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/中国.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/人.wav b/data/resources/HSK1/HSK1-3.dictionary/人.wav new file mode 100644 index 0000000..b403e39 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/人.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/什么.wav b/data/resources/HSK1/HSK1-3.dictionary/什么.wav new file mode 100644 index 0000000..87d2c48 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/什么.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/叫.wav b/data/resources/HSK1/HSK1-3.dictionary/叫.wav new file mode 100644 index 0000000..dd37617 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/叫.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/名字.wav b/data/resources/HSK1/HSK1-3.dictionary/名字.wav new file mode 100644 index 0000000..ac1a0c7 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/名字.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/吗.wav b/data/resources/HSK1/HSK1-3.dictionary/吗.wav new file mode 100644 index 0000000..667a053 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/吗.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/学生.wav b/data/resources/HSK1/HSK1-3.dictionary/学生.wav new file mode 100644 index 0000000..fd33ad9 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/学生.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/我.wav b/data/resources/HSK1/HSK1-3.dictionary/我.wav new file mode 100644 index 0000000..862dc50 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/我.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/是.wav b/data/resources/HSK1/HSK1-3.dictionary/是.wav new file mode 100644 index 0000000..2bc72d4 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/是.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/美国.wav b/data/resources/HSK1/HSK1-3.dictionary/美国.wav new file mode 100644 index 0000000..fe7c996 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/美国.wav differ diff --git a/data/resources/HSK1/HSK1-3.dictionary/老师.wav b/data/resources/HSK1/HSK1-3.dictionary/老师.wav new file mode 100644 index 0000000..38d0d63 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.dictionary/老师.wav differ diff --git a/data/resources/HSK1/HSK1-3.phrases/N0.wav b/data/resources/HSK1/HSK1-3.phrases/N0.wav new file mode 100644 index 0000000..2c0d87b Binary files /dev/null and b/data/resources/HSK1/HSK1-3.phrases/N0.wav differ diff --git a/data/resources/HSK1/HSK1-3.phrases/N1.wav b/data/resources/HSK1/HSK1-3.phrases/N1.wav new file mode 100644 index 0000000..b5defbd Binary files /dev/null and b/data/resources/HSK1/HSK1-3.phrases/N1.wav differ diff --git a/data/resources/HSK1/HSK1-3.phrases/N2.wav b/data/resources/HSK1/HSK1-3.phrases/N2.wav new file mode 100644 index 0000000..c6cb604 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.phrases/N2.wav differ diff --git a/data/resources/HSK1/HSK1-3.phrases/N3.wav b/data/resources/HSK1/HSK1-3.phrases/N3.wav new file mode 100644 index 0000000..b270ab5 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.phrases/N3.wav differ diff --git a/data/resources/HSK1/HSK1-3.phrases/N4.wav b/data/resources/HSK1/HSK1-3.phrases/N4.wav new file mode 100644 index 0000000..161dd5a Binary files /dev/null and b/data/resources/HSK1/HSK1-3.phrases/N4.wav differ diff --git a/data/resources/HSK1/HSK1-3.phrases/N5.wav b/data/resources/HSK1/HSK1-3.phrases/N5.wav new file mode 100644 index 0000000..17782b1 Binary files /dev/null and b/data/resources/HSK1/HSK1-3.phrases/N5.wav differ diff --git a/data/resources/HSK1/HSK1-3.phrases/N6.wav b/data/resources/HSK1/HSK1-3.phrases/N6.wav new file mode 100644 index 0000000..e106b0c Binary files /dev/null and b/data/resources/HSK1/HSK1-3.phrases/N6.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/他.wav b/data/resources/HSK1/HSK1-4.dictionary/他.wav new file mode 100644 index 0000000..0cd507c Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/他.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/同学.wav b/data/resources/HSK1/HSK1-4.dictionary/同学.wav new file mode 100644 index 0000000..65d2149 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/同学.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/呢.wav b/data/resources/HSK1/HSK1-4.dictionary/呢.wav new file mode 100644 index 0000000..bd132c4 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/呢.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/哪.wav b/data/resources/HSK1/HSK1-4.dictionary/哪.wav new file mode 100644 index 0000000..34bc5e6 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/哪.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/国.wav b/data/resources/HSK1/HSK1-4.dictionary/国.wav new file mode 100644 index 0000000..122f1cc Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/国.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/她.wav b/data/resources/HSK1/HSK1-4.dictionary/她.wav new file mode 100644 index 0000000..86a7b82 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/她.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/委内瑞拉.wav b/data/resources/HSK1/HSK1-4.dictionary/委内瑞拉.wav new file mode 100644 index 0000000..796d0c0 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/委内瑞拉.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/朋友.wav b/data/resources/HSK1/HSK1-4.dictionary/朋友.wav new file mode 100644 index 0000000..7396fd7 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/朋友.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/汉语.wav b/data/resources/HSK1/HSK1-4.dictionary/汉语.wav new file mode 100644 index 0000000..e0d0aff Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/汉语.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/的.wav b/data/resources/HSK1/HSK1-4.dictionary/的.wav new file mode 100644 index 0000000..e219690 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/的.wav differ diff --git a/data/resources/HSK1/HSK1-4.dictionary/谁.wav b/data/resources/HSK1/HSK1-4.dictionary/谁.wav new file mode 100644 index 0000000..f1047ee Binary files /dev/null and b/data/resources/HSK1/HSK1-4.dictionary/谁.wav differ diff --git a/data/resources/HSK1/HSK1-4.phrases/N0.wav b/data/resources/HSK1/HSK1-4.phrases/N0.wav new file mode 100644 index 0000000..6f9bb86 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.phrases/N0.wav differ diff --git a/data/resources/HSK1/HSK1-4.phrases/N1.wav b/data/resources/HSK1/HSK1-4.phrases/N1.wav new file mode 100644 index 0000000..9d73d4e Binary files /dev/null and b/data/resources/HSK1/HSK1-4.phrases/N1.wav differ diff --git a/data/resources/HSK1/HSK1-4.phrases/N2.wav b/data/resources/HSK1/HSK1-4.phrases/N2.wav new file mode 100644 index 0000000..4507825 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.phrases/N2.wav differ diff --git a/data/resources/HSK1/HSK1-4.phrases/N3.wav b/data/resources/HSK1/HSK1-4.phrases/N3.wav new file mode 100644 index 0000000..d601fd5 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.phrases/N3.wav differ diff --git a/data/resources/HSK1/HSK1-4.phrases/N4.wav b/data/resources/HSK1/HSK1-4.phrases/N4.wav new file mode 100644 index 0000000..dab7119 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.phrases/N4.wav differ diff --git a/data/resources/HSK1/HSK1-4.phrases/N5.wav b/data/resources/HSK1/HSK1-4.phrases/N5.wav new file mode 100644 index 0000000..1403ab4 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.phrases/N5.wav differ diff --git a/data/resources/HSK1/HSK1-4.phrases/N6.wav b/data/resources/HSK1/HSK1-4.phrases/N6.wav new file mode 100644 index 0000000..d893b56 Binary files /dev/null and b/data/resources/HSK1/HSK1-4.phrases/N6.wav differ diff --git a/data/resources/HSK1/HSK1-4.phrases/N7.wav b/data/resources/HSK1/HSK1-4.phrases/N7.wav new file mode 100644 index 0000000..61b716f Binary files /dev/null and b/data/resources/HSK1/HSK1-4.phrases/N7.wav differ diff --git a/data/resources/HSK1/HSK1-4.phrases/N8.wav b/data/resources/HSK1/HSK1-4.phrases/N8.wav new file mode 100644 index 0000000..2ddf13f Binary files /dev/null and b/data/resources/HSK1/HSK1-4.phrases/N8.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/亲手.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/亲手.wav new file mode 100644 index 0000000..d5b1d1e Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/亲手.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/十全十美.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/十全十美.wav new file mode 100644 index 0000000..59d44a6 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/十全十美.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/性格.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/性格.wav new file mode 100644 index 0000000..9fc8046 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/性格.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/恋爱.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/恋爱.wav new file mode 100644 index 0000000..2dd08e8 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/恋爱.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/摘.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/摘.wav new file mode 100644 index 0000000..47ffdd8 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/摘.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/支持.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/支持.wav new file mode 100644 index 0000000..1d77a7c Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/支持.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/星星.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/星星.wav new file mode 100644 index 0000000..32c2219 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/星星.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/标准.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/标准.wav new file mode 100644 index 0000000..af9edc3 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/标准.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/浪漫.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/浪漫.wav new file mode 100644 index 0000000..e850670 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/浪漫.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/温柔.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/温柔.wav new file mode 100644 index 0000000..aed47ba Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/温柔.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/理想.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/理想.wav new file mode 100644 index 0000000..8a9e7d9 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/理想.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/考虑.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/考虑.wav new file mode 100644 index 0000000..c61315c Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/考虑.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/颗.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/颗.wav new file mode 100644 index 0000000..c5e3421 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/颗.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/飞行员.wav b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/飞行员.wav new file mode 100644 index 0000000..355a434 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.dictionary/飞行员.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N0.wav b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N0.wav new file mode 100644 index 0000000..3cf1f8b Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N0.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N1.wav b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N1.wav new file mode 100644 index 0000000..118596a Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N1.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N2.wav b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N2.wav new file mode 100644 index 0000000..d927296 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N2.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N3.wav b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N3.wav new file mode 100644 index 0000000..3c548a8 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N3.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N4.wav b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N4.wav new file mode 100644 index 0000000..d416fe8 Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N4.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N5.wav b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N5.wav new file mode 100644 index 0000000..4f6a48a Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N5.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N6.wav b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N6.wav new file mode 100644 index 0000000..7a98fcb Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N6.wav differ diff --git a/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N7.wav b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N7.wav new file mode 100644 index 0000000..d359a7d Binary files /dev/null and b/data/resources/汉语口语新时代-初级下/第11课-1.phrases/N7.wav differ diff --git a/setup.py b/setup.py index 7b8f39d..1eb9581 100644 --- a/setup.py +++ b/setup.py @@ -12,6 +12,6 @@ setup( "chatterbox-tts", "torch", "torchaudio", - "torchcodec" + "torchcodec", ], )