Skip to content

Effortlessly add free, high-quality Microsoft Edge TTS audio to Anki cards via text selection or copy, featuring a customizable, multi-lingual UI. 免费、快捷地为 Anki 添加高质量微软 Edge 语音,支持划词/复制触发、界面定制和多语言显示。

License

Notifications You must be signed in to change notification settings

msjsc001/Anki-TTS-Edge

Repository files navigation

🎵 Anki-TTS-Edge: Anki Audio Generator! 🎵

Anki快捷文生音!基于微软免费!助力学习!

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

Light Mode Screenshot

GitHub All Releases Downloads GitHub release (latest by date) GitHub last commit

Light Mode Screenshot Light Mode Screenshot Dark Mode Screenshot

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 快捷粘贴文件!)


✨ Features / 功能特性

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),支持主题和主颜色自定义。
  • 语言支持:界面支持英文和中文。
  • 自动清理:自动管理缓存的音频文件数量。

🎬 GIF Demo / GIF 功能演示

GIF Demo


🚀 Quick Start (Recommended) / 快速开始 (推荐)

English  👈🏼 Click to expand

If you prefer not to set up a Python environment, you can download the pre-packaged Windows executable (.exe):

  1. Go to the Releases Page: Visit the project's GitHub Releases page.
  2. Download the Latest Version: Find the newest release and download the .zip archive (e.g., Anki-TTS-Edge_vX.X.X.zip).
  3. 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):

  1. 前往 Releases 页面:访问项目的 GitHub Releases 页面。
  2. 下载最新版本:找到最新的版本,下载 .zip 压缩包 (例如 Anki-TTS-Edge_vX.X.X.zip)。
  3. 解压运行:将压缩包解压到你喜欢的任意位置,然后双击运行 Anki-TTS-Edge.exe 即可! 🎉

🗨️ Supported Voices List (Apr 1, 2025) / 支持的语音列表 (2025-04-01)

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(男性,通用,友好,积极)
  1. 创建/使用 .spec 文件 (强烈推荐)
    • 生成: pyinstaller --name Anki-TTS-Edge --noconsole --onefile main.py
    • 编辑 Anki-TTS-Edge.spec:在 Analysis 部分的 datas 列表中添加 translations.json
    a = Analysis(
        # ...
        datas=[('translations.json', '.')], # 添加此行
        # ...
    )
    • (可以考虑 customtkinterpygame 是否需要在此处添加额外的数据文件,但通常 PyInstaller 能处理好。)
  2. 使用 .spec 文件构建
    pyinstaller Anki-TTS-Edge.spec
  3. 最终的单个 .exe 文件将位于 dist 目录下。

📄 License & Dependencies / 版权与依赖

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 开源。

🤝 Contributing / 参与贡献

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

About

Effortlessly add free, high-quality Microsoft Edge TTS audio to Anki cards via text selection or copy, featuring a customizable, multi-lingual UI. 免费、快捷地为 Anki 添加高质量微软 Edge 语音,支持划词/复制触发、界面定制和多语言显示。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages