(Customizable Colors, Chinese/English Support / 自定义色彩界面,中英支持)



Select or Ctrl+C text, click the 🔵 blue dot to generate audio.
A 🟢 green dot appears during generation, turning 🔴 red upon completion.
Then, use Ctrl+V to paste the audio file into Anki!
(划选 或 Ctrl+C 文字后点击 🔵 蓝点生成音频,生成音频中会出现 🟢 绿点,
生成结束后变为 🔴 红点,而后可按 Ctrl+V 快捷粘贴文件!)
English 👈🏼 Click to expand
An Anki audio generation tool based on Edge-TTS, providing a free and fast way to add high-quality Microsoft Edge voices to your Anki flashcards.
- One-Click Generation: Quickly generate
.mp3
audio files for selected text in your Anki cards using the main interface. - Quick Actions:
- Copy text (Ctrl+C).
- Alternatively, select text with your mouse (if enabled in settings).
- Click the floating 🔵 blue button that appears near your cursor.
- Wait for the 🟢 green processing indicator to disappear.
- A 🔴 red confirmation dot appears briefly.
- Audio file is automatically copied to your clipboard.
- Paste (Ctrl+V) directly into your Anki field!
- Multiple Voices: Supports various languages and voice roles provided by Microsoft Edge TTS.
- Customizable UI: Easy-to-use graphical interface with theme and color customization.
- Language Support: Interface available in English and Chinese (中文).
- Auto Cleanup: Automatically manages the number of cached audio files.
中文 (Chinese) 👈🏼 点击展开
基于 Edge-TTS 的 Anki 音频生成工具,免费、快速地为你的 Anki 学习卡片添加高质量的微软 Edge 语音。
- 一键生成:通过界面输入框快速为文本生成
.mp3
音频文件。 - 快捷操作:
- 复制文本 (Ctrl+C)。
- 或者,用鼠标划选文本(需在设置中开启)。
- 点击鼠标附近浮现的 🔵 蓝色按钮。
- 等待 🟢 绿色处理提示消失。
- 短暂出现 🔴 红色确认提示。
- 音频文件已自动复制到剪贴板。
- 直接在 Anki 字段中粘贴 (Ctrl+V)!
- 多种语音:支持微软 Edge TTS 提供的多种语言和语音角色选择。
- 自定义界面:提供易于使用的图形用户界面 (GUI),支持主题和主颜色自定义。
- 语言支持:界面支持英文和中文。
- 自动清理:自动管理缓存的音频文件数量。
English 👈🏼 Click to expand
If you prefer not to set up a Python environment, you can download the pre-packaged Windows executable (.exe
):
- Go to the Releases Page: Visit the project's GitHub Releases page.
- Download the Latest Version: Find the newest release and download the
.zip
archive (e.g.,Anki-TTS-Edge_vX.X.X.zip
). - Extract and Run: Extract the contents of the zip file to any location you prefer. Double-click
Anki-TTS-Edge.exe
to run the application! 🎉
中文 (Chinese) 👈🏼 点击展开
如果你不想配置 Python 环境,可以直接下载我们为你打包好的 Windows 可执行文件 (.exe
):
- 前往 Releases 页面:访问项目的 GitHub Releases 页面。
- 下载最新版本:找到最新的版本,下载
.zip
压缩包 (例如Anki-TTS-Edge_vX.X.X.zip
)。 - 解压运行:将压缩包解压到你喜欢的任意位置,然后双击运行
Anki-TTS-Edge.exe
即可! 🎉
Click to expand/collapse the full list / 点击展开/折叠完整列表 👈🏼
Note: In the application's voice filter input, use the first two letters of the language code (e.g.,
zh
for Chinese,en
for English) to filter the voice lists.注意: 在应用的声音筛选框中,使用语言代码的前两位(例如
zh
代表中文,en
代表英文)来筛选语音列表。
-
af-ZA(南非荷兰语 - 南非 / Afrikaans - South Africa)
👈🏼 点击展开
af-ZA-AdriNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)af-ZA-WillemNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
-
am-ET(阿姆哈拉语 - 埃塞俄比亚 / Amharic - Ethiopia)
👈🏼 点击展开
am-ET-AmehaNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)am-ET-MekdesNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
ar(阿拉伯语 / Arabic - Multiple Regions)
👈🏼 点击展开
- ar-AE(阿联酋 / UAE): FatimaNeural (F), HamdanNeural (M)
- ar-BH(巴林 / Bahrain): AliNeural (M), LailaNeural (F)
- ar-DZ(阿尔及利亚 / Algeria): AminaNeural (F), IsmaelNeural (M)
- ar-EG(埃及 / Egypt): SalmaNeural (F), ShakirNeural (M)
- ar-IQ(伊拉克 / Iraq): BasselNeural (M), RanaNeural (F)
- ar-JO(约旦 / Jordan): SanaNeural (F), TaimNeural (M)
- ar-KW(科威特 / Kuwait): FahedNeural (M), NouraNeural (F)
- ar-LB(黎巴嫩 / Lebanon): LaylaNeural (F), RamiNeural (M)
- ar-LY(利比亚 / Libya): ImanNeural (F), OmarNeural (M)
- ar-MA(摩洛哥 / Morocco): JamalNeural (M), MounaNeural (F)
- ar-OM(阿曼 / Oman): AbdullahNeural (M), AyshaNeural (F)
- ar-QA(卡塔尔 / Qatar): AmalNeural (F), MoazNeural (M)
- ar-SA(沙特阿拉伯 / Saudi Arabia): HamedNeural (M), ZariyahNeural (F)
- ar-SY(叙利亚 / Syria): AmanyNeural (F), LaithNeural (M)
- ar-TN(突尼斯 / Tunisia): HediNeural (M), ReemNeural (F)
- ar-YE(也门 / Yemen): MaryamNeural (F), SalehNeural (M)
-
az-AZ(阿塞拜疆语 - 阿塞拜疆 / Azerbaijani - Azerbaijan)
👈🏼 点击展开
az-AZ-BabekNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)az-AZ-BanuNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
bg-BG(保加利亚语 - 保加利亚 / Bulgarian - Bulgaria)
👈🏼 点击展开
bg-BG-BorislavNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)bg-BG-KalinaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
bn(孟加拉语 / Bengali - Multiple Regions)
👈🏼 点击展开
- bn-BD(孟加拉国 / Bangladesh): NabanitaNeural (F), PradeepNeural (M)
- bn-IN(印度 / India): BashkarNeural (M), TanishaaNeural (F)
-
bs-BA(波斯尼亚语 - 波黑 / Bosnian - Bosnia and Herzegovina)
👈🏼 点击展开
bs-BA-GoranNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)bs-BA-VesnaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
ca-ES(加泰罗尼亚语 - 西班牙 / Catalan - Spain)
👈🏼 点击展开
ca-ES-EnricNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)ca-ES-JoanaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
cs-CZ(捷克语 - 捷克 / Czech - Czech Republic)
👈🏼 点击展开
cs-CZ-AntoninNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)cs-CZ-VlastaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
cy-GB(威尔士语 - 英国 / Welsh - United Kingdom)
👈🏼 点击展开
cy-GB-AledNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)cy-GB-NiaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
da-DK(丹麦语 - 丹麦 / Danish - Denmark)
👈🏼 点击展开
da-DK-ChristelNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)da-DK-JeppeNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
-
de(德语 / German - Multiple Regions)
👈🏼 点击展开
- de-AT(奥地利 / Austria): IngridNeural (F), JonasNeural (M)
- de-CH(瑞士 / Switzerland): JanNeural (M), LeniNeural (F)
- de-DE(德国 / Germany): AmalaNeural (F), ConradNeural (M), FlorianMultilingualNeural (M, Multi), KatjaNeural (F), KillianNeural (M), SeraphinaMultilingualNeural (F, Multi)
-
el-GR(希腊语 - 希腊 / Greek - Greece)
👈🏼 点击展开
el-GR-AthinaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)el-GR-NestorasNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
-
en(英语 / English - Multiple Regions)
👈🏼 点击展开
- en-AU(澳大利亚 / Australia): NatashaNeural (F), WilliamNeural (M)
- en-CA(加拿大 / Canada): ClaraNeural (F), LiamNeural (M)
- en-GB(英国 / UK): LibbyNeural (F), MaisieNeural (F), RyanNeural (M), SoniaNeural (F), ThomasNeural (M)
- en-HK(香港 / Hong Kong): SamNeural (M), YanNeural (F)
- en-IE(爱尔兰 / Ireland): ConnorNeural (M), EmilyNeural (F)
- en-IN(印度 / India): NeerjaExpressiveNeural (F, Expressive), NeerjaNeural (F), PrabhatNeural (M)
- en-KE(肯尼亚 / Kenya): AsiliaNeural (F), ChilembaNeural (M)
- en-NG(尼日利亚 / Nigeria): AbeoNeural (M), EzinneNeural (F)
- en-NZ(新西兰 / New Zealand): MitchellNeural (M), MollyNeural (F)
- en-PH(菲律宾 / Philippines): JamesNeural (M), RosaNeural (F)
- en-SG(新加坡 / Singapore): LunaNeural (F), WayneNeural (M)
- en-TZ(坦桑尼亚 / Tanzania): ElimuNeural (M), ImaniNeural (F)
- en-US(美国 / USA): AnaNeural (F, Cartoon/Cute), AndrewMultilingualNeural (M, Multi/Copilot), AndrewNeural (M, Copilot), AriaNeural (F, News), AvaMultilingualNeural (F, Multi/Copilot), AvaNeural (F, Copilot), BrianMultilingualNeural (M, Multi/Copilot), BrianNeural (M, Copilot), ChristopherNeural (M, News), EmmaMultilingualNeural (F, Multi/Copilot), EmmaNeural (F, Copilot), EricNeural (M, News), GuyNeural (M, News), JennyNeural (F, Friendly), MichelleNeural (F, News), RogerNeural (M, News), SteffanNeural (M, News)
- en-ZA(南非 / South Africa): LeahNeural (F), LukeNeural (M)
-
es(西班牙语 / Spanish - Multiple Regions)
👈🏼 点击展开
- es-AR(阿根廷 / Argentina): ElenaNeural (F), TomasNeural (M)
- es-BO(玻利维亚 / Bolivia): MarceloNeural (M), SofiaNeural (F)
- es-CL(智利 / Chile): CatalinaNeural (F), LorenzoNeural (M)
- es-CO(哥伦比亚 / Colombia): GonzaloNeural (M), SalomeNeural (F)
- es-CR(哥斯达黎加 / Costa Rica): JuanNeural (M), MariaNeural (F)
- es-CU(古巴 / Cuba): BelkysNeural (F), ManuelNeural (M)
- es-DO(多米尼加 / Dominican Rep.): EmilioNeural (M), RamonaNeural (F)
- es-EC(厄瓜多尔 / Ecuador): AndreaNeural (F), LuisNeural (M)
- es-ES(西班牙 / Spain): AlvaroNeural (M), ElviraNeural (F), XimenaNeural (F)
- es-GQ(赤道几内亚 / Equatorial Guinea): JavierNeural (M), TeresaNeural (F)
- es-GT(危地马拉 / Guatemala): AndresNeural (M), MartaNeural (F)
- es-HN(洪都拉斯 / Honduras): CarlosNeural (M), KarlaNeural (F)
- es-MX(墨西哥 / Mexico): DaliaNeural (F), JorgeNeural (M)
- es-NI(尼加拉瓜 / Nicaragua): FedericoNeural (M), YolandaNeural (F)
- es-PA(巴拿马 / Panama): MargaritaNeural (F), RobertoNeural (M)
- es-PE(秘鲁 / Peru): AlexNeural (M), CamilaNeural (F)
- es-PR(波多黎各 / Puerto Rico): KarinaNeural (F), VictorNeural (M)
- es-PY(巴拉圭 / Paraguay): MarioNeural (M), TaniaNeural (F)
- es-SV(萨尔瓦多 / El Salvador): LorenaNeural (F), RodrigoNeural (M)
- es-US(美国 / USA): AlonsoNeural (M), PalomaNeural (F)
- es-UY(乌拉圭 / Uruguay): MateoNeural (M), ValentinaNeural (F)
- es-VE(委内瑞拉 / Venezuela): PaolaNeural (F), SebastianNeural (M)
-
et-EE(爱沙尼亚语 - 爱沙尼亚 / Estonian - Estonia)
👈🏼 点击展开
et-EE-AnuNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)et-EE-KertNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
-
fa-IR(波斯语 - 伊朗 / Persian - Iran)
👈🏼 点击展开
fa-IR-DilaraNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)fa-IR-FaridNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
-
fi-FI(芬兰语 - 芬兰 / Finnish - Finland)
👈🏼 点击展开
fi-FI-HarriNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)fi-FI-NooraNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
fil-PH(菲律宾语 - 菲律宾 / Filipino - Philippines)
👈🏼 点击展开
fil-PH-AngeloNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)fil-PH-BlessicaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
fr(法语 / French - Multiple Regions)
👈🏼 点击展开
- fr-BE(比利时 / Belgium): CharlineNeural (F), GerardNeural (M)
- fr-CA(加拿大 / Canada): AntoineNeural (M), JeanNeural (M), SylvieNeural (F), ThierryNeural (M)
- fr-CH(瑞士 / Switzerland): ArianeNeural (F), FabriceNeural (M)
- fr-FR(法国 / France): DeniseNeural (F), EloiseNeural (F), HenriNeural (M), RemyMultilingualNeural (M, Multi), VivienneMultilingualNeural (F, Multi)
-
ga-IE(爱尔兰语 - 爱尔兰 / Irish - Ireland)
👈🏼 点击展开
ga-IE-ColmNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)ga-IE-OrlaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
gl-ES(加利西亚语 - 西班牙 / Galician - Spain)
👈🏼 点击展开
gl-ES-RoiNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)gl-ES-SabelaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
gu-IN(古吉拉特语 - 印度 / Gujarati - India)
👈🏼 点击展开
gu-IN-DhwaniNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)gu-IN-NiranjanNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
-
he-IL(希伯来语 - 以色列 / Hebrew - Israel)
👈🏼 点击展开
he-IL-AvriNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)he-IL-HilaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
hi-IN(印地语 - 印度 / Hindi - India)
👈🏼 点击展开
hi-IN-MadhurNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)hi-IN-SwaraNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
hr-HR(克罗地亚语 - 克罗地亚 / Croatian - Croatia)
👈🏼 点击展开
hr-HR-GabrijelaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)hr-HR-SreckoNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
-
hu-HU(匈牙利语 - 匈牙利 / Hungarian - Hungary)
👈🏼 点击展开
hu-HU-NoemiNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)hu-HU-TamasNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
-
id-ID(印尼语 - 印尼 / Indonesian - Indonesia)
👈🏼 点击展开
id-ID-ArdiNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)id-ID-GadisNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
is-IS(冰岛语 - 冰岛 / Icelandic - Iceland)
👈🏼 点击展开
is-IS-GudrunNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)is-IS-GunnarNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
-
it-IT(意大利语 - 意大利 / Italian - Italy)
👈🏼 点击展开
it-IT-DiegoNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)it-IT-ElsaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)it-IT-GiuseppeMultilingualNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极,多语言)it-IT-IsabellaNeural
- Female, General, Friendly, Positive(女性,通用,友好,积极)
-
iu(因纽特语 - 加拿大 / Inuktitut - Canada)
👈🏼 点击展开
- iu-Cans-CA(加拿大音节 / Cans): SiqiniqNeural (F), TaqqiqNeural (M)
- iu-Latn-CA(拉丁字母 / Latn): SiqiniqNeural (F), TaqqiqNeural (M)
-
ja-JP(日语 - 日本 / Japanese - Japan)
👈🏼 点击展开
ja-JP-KeitaNeural
- Male, General, Friendly, Positive(男性,通用,友好,积极)
- 创建/使用
.spec
文件 (强烈推荐):- 生成:
pyinstaller --name Anki-TTS-Edge --noconsole --onefile main.py
- 编辑
Anki-TTS-Edge.spec
:在Analysis
部分的datas
列表中添加translations.json
:
a = Analysis( # ... datas=[('translations.json', '.')], # 添加此行 # ... )
- (可以考虑
customtkinter
或pygame
是否需要在此处添加额外的数据文件,但通常 PyInstaller 能处理好。)
- 生成:
- 使用
.spec
文件构建:pyinstaller Anki-TTS-Edge.spec
- 最终的单个
.exe
文件将位于dist
目录下。
English 👈🏼 Click to expand
- Relies on edge-tts (GPL-3.0 License).
- This project is released under the GPL-3.0 License. You can freely use, modify, and distribute the code, but derivative works must also be open-sourced under GPL-3.0.
中文 (Chinese) 👈🏼 点击展开
- 基于 edge-tts (GPL-3.0 许可证)。
- 本项目采用 GPL-3.0 许可证。您可以自由使用、修改和分发,但衍生作品也必须使用 GPL-3.0 开源。
English 👈🏼 Click to expand
Contributions via Issues or Pull Requests are welcome!
中文 (Chinese) 👈🏼 点击展开
欢迎通过 Issue 或 Pull Request 参与贡献!
🌐 Project Repository / 项目地址: https://github.com/msjsc001/Anki-TTS-Edge