Skip to content

Releases: EllisMorrow/Anki-TTS-Edge

v2.9.3

Choose a tag to compare

@EllisMorrow EllisMorrow released this 09 Aug 06:41
d2a4aea

v2.9.3 (2026-08-09)

  • 离线引擎安装链加固 / Hardened offline-engine installation: strict SHA-256 validation, safe archive extraction, trusted bundled manifests, partial-download cleanup, and bounded uninstall.
  • 数据安全与清理 / Safer persistence and cleanup: atomic settings/history/cache writes, contained history deletion, and generated WAV cleanup.
  • 全新抗锯齿图标 / New anti-aliased icon: 1024px RGBA master plus nine Windows ICO sizes from 16px to 256px.
  • 许可证与维护 / Licensing and maintenance: complete GPL-3.0-only and third-party notices, legal files included in the package, pinned direct dependencies, Windows CI, and Dependabot.
  • Flet and flet-desktop intentionally remain on 0.28.3 pending a dedicated compatibility migration.

Windows package

  • Anki-TTS-Edge-v2.9.3-windows-amd64.zip
  • SHA-256: 48efd82de382c8a59a49c7bb73806b9743e550707505715ed62709d072400b3a

See CHANGELOG.md for details.

v2.9.2

Choose a tag to compare

@EllisMorrow EllisMorrow released this 17 Mar 07:57

v2.9.2 (2026-03-17)

  • 换声音后再次播放会重新生成:播放按钮的缓存判定现在会包含 引擎 + 声音/音色(sid) + 语速/音量/音高 + 文本,避免“文本没变但换声音仍播放旧音频”的问题。
    Voice switch now takes effect on next play: Playback cache validation now includes engine + voice/sid + rate/volume/pitch + text, preventing stale audio when switching voices without changing text.

  • 离线点读恢复(通过重新合成):离线 Kokoro 无时间戳时,播放界面仍提供可点击文本覆盖层;点击某字/词会停止当前播放并重新合成从该位置开始的文本后播放(不写入历史、不复制到剪贴板)。
    Offline point-read restored (via re-synthesis): When offline Kokoro has no timestamps, the UI still provides a clickable text overlay. Clicking a character/word stops current playback and re-synthesizes the suffix from that position, without writing history or copying to clipboard.

  • 离线点读忙时断路器 + 长文本保护:点读生成中会拒绝后续点击;文本过长时自动禁用点读覆盖层并提示,避免 UI 卡顿。
    Busy-state circuit breaker + long-text guard for offline point-read: Rejects additional clicks while generating, and disables the overlay for very long text to prevent UI lag.

See CHANGELOG.md for details.

v2.9.1

Choose a tag to compare

@EllisMorrow EllisMorrow released this 16 Mar 15:59

Windows (onedir)\nAsset: Anki-TTS-Edge-v2.9.1-windows-amd64.zip\nSHA256: 561E9D014C5874A5DD3FFDA3F30015C278BF1A036CF7F6A76D93783F3F853F3F\n\n## Highlights\n- Offline voice list shows the official Kokoro v1.1 voice catalog (sid groups) + demo link.\n- Engine switch clears playback state and prompts re-generate to avoid stale-audio confusion.\n- Point-read/seek playback improved; offline without timestamps shows clear 'not supported' feedback.\n- Edge online errors are surfaced with more specific messages for diagnosis.\n

v2.9.0

Choose a tag to compare

@EllisMorrow EllisMorrow released this 16 Mar 12:23

Offline Kokoro sidecar engine (optional download) + provider abstraction. See CHANGELOG.md for details.

v2.8.2

Choose a tag to compare

@EllisMorrow EllisMorrow released this 13 Mar 15:25
  • Stabilized the Flet desktop runtime and packaged EXE startup path.
  • Fixed copy-to-generate, selection single/dual voice, history play/delete/clear, and cross-tab background actions.
  • Added a busy-state circuit breaker to the selection flow to prevent freezes and high CPU or memory spikes.
  • Hardened MP3 clipboard output, history cleanup, repeated-generation caching, and runtime self-check tooling.

v2.8

Choose a tag to compare

@EllisMorrow EllisMorrow released this 13 Mar 06:12

v2.8

  • Fixes startup dependency gaps, tray/satellite restore, history playback state leakage, cache trimming, filename collisions, and theme/settings persistence.
  • Adds ARCHITECTURE.md and updates install/build docs.

Asset: download the zip, extract it, and run Anki-TTS-Edge.exe.

Anki-TTS-Edge v2.7

Choose a tag to compare

@EllisMorrow EllisMorrow released this 01 Mar 08:02

v2.7 (2026-03-01)
✨ 新功能 / Features
快捷打开数据目录:在设置界面新增“打开数据目录”按钮(存储了音频、历史记录、配置文件等),方便高级管理。 Quick access to data directory: Added a new "Open Data Directory" button in Settings to easily access audio files, history, and config files.

Anki-TTS-Edge v2.3-2.6

Choose a tag to compare

@EllisMorrow EllisMorrow released this 01 Mar 06:26

v2.6 (2026-03-01)

✨ 改进 / Improvements

  • 中性配色主题:浅色/深色模式均改为 Slate 蓝灰色系,无强烈色彩倾向,视觉中性专业,适合所有用户。
    Neutral color theme: Both light/dark modes now use a Slate blue-grey palette with no strong color bias — clean, professional, and universally comfortable.

  • 设置即改即存:移除"保存设置"按钮,所有设置项修改后立即生效并自动保存,减少不必要的点击。
    Instant settings save: Removed the "Save Settings" button. All setting changes now take effect and are saved immediately, eliminating unnecessary clicks.

  • README 核心特性精简:核心特性小节不再堆积更新日志条目,仅保留软件功能的简洁描述。
    README features cleanup: The Core Features section now contains only clean feature descriptions, not changelog entries.


v2.5 (2026-03-01)

✨ 新功能 / Features

  • 用户数据统一管理:所有用户生成的文件(设置、历史、音频、日志、语音缓存)迁移至 %APPDATA%/Anki-TTS-Edge/,目录使用英文命名(audio/logs/),全球通用。首次启动自动迁移旧数据。
    Centralized user data: All user-generated files (settings, history, audio, logs, voice cache) moved to %APPDATA%/Anki-TTS-Edge/ with English-named directories (audio/, logs/). Automatic one-time migration from old paths on first launch.

  • 深色/浅色主题重新设计:浅色模式采用暖色调 Teal 主色 + Stone 中性色,深色模式采用高对比 Teal-400 + Stone-900 背景,视觉更舒适自然。UI 控件全面使用语义化颜色 token(primarysurfaceprimaryContainer),主题切换无色彩断裂。
    Theme redesign: Light mode uses warm Teal-600 primary + Stone neutral surfaces; dark mode uses vibrant Teal-400 + Stone-900 backgrounds. All UI components now use semantic color tokens for seamless theme switching.


v2.4 (2026-03-01)

✨ 新功能 / Features

  • 即点即读精确定位:点击文段中任意单词/字符时,直接从该位置开始播放,不再跳转到句首,定位更精确。
    Precise click-to-play: Clicking any word/character in the text now starts playback from that exact position instead of jumping to the sentence start, providing more precise control.

📦 构建 / Build

  • 构建方式切换为 onedir 模式:从 PyInstaller 单文件 (onefile) 切换为文件夹 (onedir) 模式,大幅提升 Windows 下的启动速度(消除杀毒软件扫描导致的延迟)。
    Switch to onedir build: Changed from PyInstaller single-file (onefile) to folder (onedir) mode, significantly improving Windows startup speed by eliminating antivirus scan delays.

v2.3 (2026-03-01)

🔧 修复 / Fixes

  • 修复 TTS 生成失败:升级 edge-tts 至 7.2.7,修复微软 API 认证令牌过期导致的 403 错误,恢复所有语音的正常生成能力。
    Fix TTS generation failure: Upgraded edge-tts to 7.2.7, resolving 403 errors caused by expired Microsoft API authentication tokens. All voices are now functional again.

  • 修复单词高亮跟随失效:适配 edge-tts 7.x API 变更(boundary 参数默认值从 WordBoundary 改为 SentenceBoundary),显式传入 boundary='WordBoundary' 以恢复单词级时间戳和实时高亮。
    Fix word-level highlight sync broken: Adapted to edge-tts 7.x API change where the boundary parameter default changed from WordBoundary to SentenceBoundary. Now explicitly passes boundary='WordBoundary' to restore word-level timestamps and real-time highlighting.

  • 修复重复函数定义 (handle_generate_a):删除 main.py 中残留的重复函数定义。
    Fix duplicate function definition (handle_generate_a): Removed leftover duplicate definition in main.py.

  • 修复窗口事件双重绑定:移除旧 API 的事件绑定 (page.on_window_event),仅保留新 API (page.window.on_event),避免窗口关闭/最小化事件被触发两次。
    Fix double window event binding: Removed legacy API binding (page.on_window_event), keeping only the new API (page.window.on_event) to prevent duplicate event triggers on close/minimize.

  • 修复 MonitorManager.stop() 缺失:添加 stop() 方法作为 stop_monitors() 的别名,修复应用重启时的 AttributeError
    Fix missing MonitorManager.stop(): Added stop() as an alias for stop_monitors(), fixing AttributeError on app restart.

  • 修复卫星轮询中无效的 locals() 检查satellite_loop 中的 monitor_manager 是闭包变量,locals() 永远无法检测到它,已改用 hasattr() 检查。
    Fix invalid locals() check in satellite loop: monitor_manager is a closure variable, so locals() could never detect it. Replaced with hasattr().

Anki-TTS-Edge v2.1

Choose a tag to compare

@EllisMorrow EllisMorrow released this 23 Dec 08:21

全新的朗读体验 (v2.1):
高亮跟随:朗读时单词实时高亮,精确同步,支持 "1"->"one" 等复杂符号映射。
即点即读:朗读模式下,点击文段中任意单词,立即从该句句首开始播放。
智能导航:支持“上一句/下一句”跳转,自动生成并播放,方便逐句校对学习。

Anki-TTS-Edge v2.2

Choose a tag to compare

@EllisMorrow EllisMorrow released this 23 Dec 13:51

修复无法清理历史缓存文件的问题。