Edge智读

Edge智读 公开 已发布

如何安装动作?
版本历史
修订版本 更新时间 更新说明
27 20小时53分钟前 更新说明: 本次更新主要围绕“稳定性、排错能力、环境兼容性”做了优化,让动作在更多 Windows 电脑上运行得更稳,也更容易定位问题。 1.优化了首段语音的容错机制 首段语音默认仍优先使用流式方式快速开始播放;如果连续失败 2 次,会自动切换为整段下载后再播放,避免出现“后面能播,但开头丢失”的问题。 2.增强了性能与排错日志 新增了关键耗时日志,包括: 首帧出声耗时 首段流式播放完成耗时 分段下载耗时 总播放耗时 总录制耗时 这样在遇到播放慢、卡顿或异常时,可以更快判断问题出在哪一环。 3.补充了服务端生成耗时日志 后端 TTS 服务增加了更细的耗时记录,用于区分是“语音生成慢”,还是“本地接收、解码、播放慢”,方便后续继续优化。 4.修正了错误提示中的日志路径 部署失败时,现在会直接提示真实日志文件位置,避免用户去错误目录查日志。 5.提升了运行环境兼容性 放开了代理兼容,改善了在企业网络、校园网或受管终端中的初始化成功率。 同时扩展了服务端口范围,并增加自动寻找空闲端口的兜底机制,减少端口占用导致的启动失败。 整体来说,这次更新的目标不是增加功能,而是让语音播放更可靠、安装启动更顺利、出现问题时更容易排查。
26 11天14小时前 不再勾选尝试不通过剪贴板的方式获取 不再通过UIAutomation方式获取,修复某些情况可能出现无法完整获取文字、失去换行信息等问题
25 11天19小时前 1.优化后续分段背压等待退出条件 把后续分段解码时的取消判断前移到 while 条件里。停止朗读、切换新朗读或任务取消时,解码线程能更快退出等待,减少卡住感。 2.优化服务健康检查资源释放 在 /ping 健康检查中释放 HttpResponseMessage。避免频繁检查服务状态时响应对象释放不及时,减少长期运行的连接和资源压力。 3.优化录制保存同步对象释放 为录制保存流程中的 SemaphoreSlim 和 AutoResetEvent 增加安全释放逻辑。只有确认所有录制任务都完成后才释放,保留原来的超时容错行为。 4.优化缓存内存上限控制 新音频加入缓存后再次执行缓存清理,并确保超出内存限制时至少移除 1 条缓存。避免大音频加入后缓存超过 50MB 却暂时不清理。 5.优化后续分段入队内存拷贝 移除下载完成后多余的 byte[] 完整复制,直接把已下载的音频数据放入播放队列。长文本多分段播放时可减少内存分配和 GC 压力。
24 11天22小时前 后续 TTS 分段下载完成后,原来会把 byte[] data 完整复制一份再放进播放队列,但解码端只是读取 chunk.Data,不会修改它,这份复制是多余的,删除。
23 11天23小时前 优化首段流式播放里的资源释放。 原代码里 HttpResponseMessage 没有释放,stream/fullCache/frameStream 只在正常路径手动 Close,如果请求失败、取消、解码异常或提前返回,资源可能残留。Quicker 这种动作会反复运行,时间久了可能造成连接占用、内存压力或后续请求变慢。
22 11天23小时前 优化首段流式 MP3 解码。 原来每次读取网络数据都会清空 frameStream,如果一个 MP3 frame 被拆在两个网络包里,前半截会被丢掉,可能导致首句卡顿、爆音、少播。现在会保留未解完的尾部数据,等下一块数据到达后继续拼接解码,首段播放会更稳。
21 12天14小时前 1. 首段流解码优化 复用 MemoryStream,减少重复分配,降低 GC 压力 _decompressor 初始化使用双重检查锁,减少锁竞争,提高解码效率 2. 缓存访问优化 确认 _ttsCache 访问线程安全,锁粒度优化 保证 LastAccess 和 HitCount 更新安全 3. _decompressor 锁粒度优化 避免每帧重复进入锁,提高 CPU 利用效率 双重检查锁保证线程安全 4. 队列添加逻辑调整 _downloadQueue.Add 每段文字创建独立 AudioChunk 副本 明确 IsPooled 设置,降低重复内存分配 5. 所有主流程和预热相关的 new Thread 已全部替换为 Task.Run,实现线程池复用,进一步提升性能和资源利用率。
20 2026-04-10 21:06 📢 Edge TTS 语音智读 (大版本更新日志) 🚀 1. 核心引擎重构:零延迟“内联点火” * 突破物理极限:彻底重写了音频解析逻辑。现在网络刚下载到几十个字节的音频碎片,系统就会在内存中瞬间解码并“直塞”给声卡。 * 实际效果:去除了所有中间等待环节,框选文字后的首句发声延迟被压榨到了 100ms 以内,真正实现“秒读”体验!同时内置了智能背压防爆阀门,长文朗读顺滑如丝,彻底告别重复卡顿。 ⚡ 2. 性能降维打击:全线提速与“零 GC” * 消灭系统级卡顿:移除了底层所有笨重的内核级线程锁(Event),全线换装现代化的轻量级 Task 异步并发流。多段音频后台预下载速度翻倍,且大幅降低 CPU 占用。 * 告别内存泄漏:引入了企业级的共享内存池(ArrayPool)。现在的音频数据用完即刻回收,不再产生任何内存碎片,哪怕挂机朗读一整天,内存占用也稳如泰山。 🛡️ 3. 部署系统装甲化:专治各种“水土不服” * 防“假 Python”诈骗:全新升级的环境嗅探器。现在能精准识别并绕过 Windows 应用商店的虚假 Python 唤醒弹窗,强制校验 Python 3.8+ 版本,确保沙盒一键部署 100% 成功。 * 防手误崩溃保护:为首次环境配置界面加装了“防手残”安全锁。如果在自动部署途中误关了窗口,程序会弹出友好的中断确认并安全退出,再也不会抛出乱码报错了。 * 解压模块回稳:优化了内部提取引擎,去除了对额外系统 DLL 的强依赖,确保在任何复杂精简版 Windows 系统上都能完美解压运行。 🐛 4. 细节打磨与 Bug 修复 * 修复“幽灵录音”:修复了在未选中文字时点击“录制到文件”,会生成一个名为“录制__日期.mp3”空文件的逻辑漏洞。现在系统会聪明地直接拦截并提示您先选文字。
19 2026-04-09 21:22 1、解决系统静音 Bug:移除了干预系统音量的代码(删除了 waveOut.Volume = 0;),统一改为只使用 Stop() 断开音频流。彻底修复了“紧急刹车”会导致整个 Quicker 软件被 Windows 系统永久静音的问题。 2.修复后台静默卡死:重构了流式下载的网络异常处理。将遇到网络错误时导致线程崩溃的 throw; 替换为了安全的 return null;,并加入直观的弹窗提示。遇到断网或超时会明确报错,不再会导致程序假死。 3.杜绝音频重叠(重音):强化了防重音的全局令牌(Token)校验机制。在每一段音频的下载结束、准备播放以及播放过程中,都加入了严格的令牌比对,有效拦截了快速连点时产生的串音和重叠播放。 4.修复编译报错硬伤:补回了之前版本不小心遗失的 GetLogFilePath 辅助方法,并将个别超前的 C# 现代语法降级为兼容写法,解决了代码在编译时可能隐蔽触发的 CS0103 和 CS1525 错误。
18 2026-04-02 21:14 ⚡ 核心架构大换血(底层重构) ❌ 旧版 V17: 每次发声都要启动一次 Python 进程,生成 MP3 文件存入 C 盘,再调用系统播放器读取,不但慢而且极度消耗硬盘寿命。 ✅ 新版 V18 (微服务+纯内存架构): 引入 FastAPI 本地常驻微服务,接管所有网络请求。音频数据直接以二进制流(Stream)的形式打入系统内存,由内置 NAudio 引擎直接物理硬件解码发声!全程 0 进程创建开销,0 磁盘写入,实现按下快捷键的“毫秒级瞬间开口”! 📦 1. 彻底告别环境配置(零依赖便携部署) 再也不用教同事怎么去官网下载 Python 和配置环境变量了! 沙盒隔离: 首次运行时,如果检测到电脑未安装 Python,动作将全自动静默下载仅 10MB 的便携版 Python 核心引擎,并部署在独立沙盒中。 绝对纯净: 不污染系统全局变量,不需要管理员权限,真正的 100% 绿色便携,开箱即用! 🛡️ 2. 企业级内网穿透与多源容灾(专治网络不服) 绕过企业防火墙: 底层网络组件开启 UseProxy=false 直连模式,完美穿透深信服等企业局域网代理劫持,彻底解决内网环境下的“假死”与“报错”。 四路节点轮询: 底层环境部署全面引入**“淘宝源 / 华为云 / Python官方 / Gitee”**多路节点灾备阵列。主节点被墙?瞬间无缝切换备用节点,杜绝任何单点故障。 🎵 3. 双重分级切片算法(丝滑语流) 针对几千字的史诗长文和“一逗到底”的奇葩排版进行了极限调优: 硬切片优先: 优先按句末标点(。!?)打包传输,绝不生硬切断长句,保留发音人最完美、最连贯的抑扬顿挫。 软切片熔断: 遇到超长畸形句(如几百字无句号),紧急触发逗号软切片熔断,防止内存撑爆和网络超时,保障播放平滑无缝。 ⏸️ 4. 现代级交互:一键智能启停 (Toggle) 抛弃繁琐的右键“停止”菜单!现在,动作本身就是一个聪明的开关: 无缝切换: 正在朗读时,框选新文字再次触发动作,瞬间掐断旧声音,直接读新内容。 紧急刹车: 正在朗读时,不选任何文字(在空白处)触发动作,将直接作为“静音”指令,极其优雅地瞬间停止发声,不再弹出任何报错干扰! 🧹 5. 引入“内存自洁”缓存引擎 (TTL) 为突破网络瓶颈,V18 引入了常驻内存缓存池(最少使用淘汰 LFU)。 新增 TTL (存活时间) 扫地机器人机制:超过 2 小时未被复用的音频碎片,将被底层悄悄抹杀并释放给系统。长时间挂机也绝对零内存泄漏! 🛠️ 6. 其他打磨细节 文件名重构: “录制到文件”功能现采用 录制_正文前8字_时间 的规范命名,优雅过滤非法字符。 降维打击: 剔除所有高版本 C# 语法糖,完美向下兼容 Quicker 所有旧版本编译器。 💡 开发者寄语: 这是一次几乎推翻了每一行老代码的重构,把复杂与容灾留给了底层的几百行代码,把最极致的极简、极速留给了您的耳朵。建议将本动作设置为**“开机自启”**,体验真正的零等待唤醒!
17 2026-03-31 00:03 新增分段朗读机制:由“整段一次合成”改为“首段优先 + 后续后台合成”,长文本可更快开口。 新增分段策略参数:中文 100/380、英文 110/600,用于平衡首响速度与段间衔接(并支持自定义覆盖)。 新增英文缩写防误切:对 U.S.、M.D.、Ph.D.、a.m. 等缩写做点号保护,避免误断句。 新增剪贴板稳态保护:引入 STA 线程执行、超时控制与竞态兜底,并增强复制兼容流程(SendKeys.Flush + 微延迟)。 新增滚动日志能力:写入 %TEMP%\qk_tts.log,超 1MB 自动保留最新内容,支持 INFO/WARN/ERROR 分级,便于排障。 新增启动清理策略:自动清理旧 qk_*.mp3 临时文件,减少缓存残留。 新增环境检测与修复增强:支持多解释器探测(py -3 / python / python3)、版本校验与结构化检测日志,跨环境更稳。
16 2026-03-30 16:19 优化语速设置界面提示文案,改为更简洁明确:范围:-100~100(单位:%)。 保持语速输入限制逻辑不变:超出范围自动修正并提示。 微调“双语速设置”窗口高度(300 → 285),界面更紧凑。
15 2026-03-30 15:01 改名为:Edge智读
14 2026-03-30 13:48 更新功能/用途说明: 微软 Edge 强音智读:智能中英分拣,响应迅速流畅,环境问题一键检测修复。
13 2026-03-30 13:02 复制判定升级:由“比较复制前后文本”改为 GetClipboardSequenceNumber() 判断剪贴板是否真的变化。 修复问题:减少“未选中文字也弹出保存位置”的误触发。 自动发音人优化:新增中文/英文混合判断逻辑,不再只要出现小写字母就切英文。 单位识别优化:mm/cm/kg/ml/hz/kv/... 等单位不再触发英文发音;km/h 这类复合单位会先标准化后再判断。 结果策略:纯英文优先 Ava;中文主场优先晓晓;英文明显占优才切 Ava。 其余功能(朗读、录制、语速设置、环境检测)保持原有流程不变。
12 2026-03-29 22:38 增加了语速设置提示:明确了“仅输入数字”的规则(如:输入 20 代表 +20%)。
11 2026-03-29 22:09 新增双语速独立控制:新增中文 (rate_zh) 与英文 (rate_en) 独立调速逻辑。支持中文飞速刷题、英文标准语速精听,互不干扰。
10 2026-03-29 21:38 新增类级别异步预加载引擎。在动作启动瞬间(或开机自启时)即刻将 Python 与语音库载入系统内存。
9 2026-03-29 18:36 部分优化
8 2026-03-29 17:43 调整了: 中英混合自动由 Ava 朗读,纯中文和全大写缩写由晓晓朗读 提升了朗读速度。
7 2026-03-29 16:34 调整顺序为: 选择朗读者 设置语速 录制到文件 环境检测与修复
6 2026-03-29 16:17 新增一键录制 MP3:右键菜单新增“录制到文件”。
5 2026-03-29 14:35 增加: Emma多语言-女声 Andrew多语言-男声
4 2026-03-29 13:37 增加自动更新此动作。
3 2026-03-29 13:34 兼容性飞跃:重构底层调用逻辑。改用 python -m 机制,彻底解决“edge-tts 无法识别”或“路径未添加”的报错,只要有 Python 就能跑。 响应更稳健:优化了 RunCmd 判定策略。环境检测更宽容、更准确,大幅提升“一键修复”在不同系统环境下的成功率。
2 2026-03-29 12:22 1、并发防冲突:文件名引入随机 ID,彻底解决连续点击动作时提示“文件被占用”的报错。 2、播放更稳健:改用“硬计时”逻辑,完美规避因系统响应延迟导致的朗读提前截断。 3、防假死保护:新增 3 秒加载超时机制,防止在极端情况下因音频加载失败导致 Quicker 界面卡死。 4、自愈逻辑优化:放宽环境修复的超时限制,大幅提升弱网环境下组件自动安装的成功率。
1 2026-03-28 23:34 更新了中文、纯英文及中英混杂下的发音
0 2026-03-28 22:44