Edge智读

Edge智读 公开 已发布

如何安装动作?
版本历史
修订版本 更新时间 更新说明
34 15小时59分钟前 1. 优化首段播放策略 首段继续优先使用 stream 流式播放,保证正常情况下尽快出声。 2. 新增首段 file 竞速兜底 如果首段 stream 超过 3 秒还没有返回首帧,会自动启动同一首段的 file 下载兜底。stream 和 file 谁先返回音频,就优先使用谁,减少 stream 连接异常导致的长时间无声。 3. 优化第二段预取时机 第二段不再等首段完全播放结束,而是在首段 stream 建立后等待 800ms 即开始预取。这样既保护首段首帧,又能减少第一段和第二段之间的停顿。 4. 优化前几段分段长度 中文首段控制在约 40-90 字,第 2-4 段控制在约 140 字以内;英文首段控制在约 80-180 字符,第 2-4 段控制在约 260 字符以内。前几段更短,更利于快速预取和连续播放。 5. 优化长文本后续分段 第 5 段以后会重新合并为较大的普通段,避免长文本被切得过碎,减少请求数量。 6. 优化服务端 file 请求超时 服务端 file 合成单次 attempt 增加 6 秒超时保护。遇到微软 TTS 连接卡住时,会更快进入下一次重试,减少单段长时间阻塞。 7. 清理服务端日志格式 移除了服务端每个 RequestStart 前的大分隔符,避免同一个 taskId 下多段请求时日志过于混乱。 8. 保留 taskId 全链路追踪 客户端和服务端仍然使用同一个 taskId,可继续对照查看首段 stream、后续 file 下载、重试和恢复情况。 9. 增强中英文适配 中文和英文采用不同分段阈值,避免英文按中文字符长度切得过碎,同时保证前几段能尽快准备好。
33 18小时42分钟前 1.优化首次朗读速度 将服务端请求超时时间从 15 秒调整为 4 秒。遇到微软 TTS 连接卡住时,会更快重试,减少长时间等待。 2.新增开机预热 即使没有把动作加入 Quicker 自启动,也会在 Windows 开机后自动预热本地 TTS 服务。 3.避免重复预热 如果同时设置了 Quicker 自启动和 Windows 开机预热,系统会自动避免重复执行。 4.优化日志 客户端日志改名为 quicker_tts_client.log,日志格式更清晰。 5.增强服务端日志 服务端日志现在会记录完整请求链路,包括收到请求、请求微软、收到微软音频、转发给客户端等关键时间点,方便排查卡顿原因。 6.增加 taskId 对照 客户端和服务端日志现在使用同一个 taskId,方便快速定位同一次朗读任务。 7.提升异常恢复能力 服务端请求失败时会自动重试,并记录恢复情况。
32 1天12小时前 本次更新围绕“更快出声、更少浪费、更稳定、更容易排查”做了优化。 一、播放策略优化 引入首段流式播放,优先让第一段尽快出声。 后续段落采用四并发滚动预取,不再一次性下载全文。 预取队列从最多约三十段收紧到六段,整体提前量约控制在十段左右,减少中断播放后的资源浪费。 二、中断与资源控制 优化用户中断播放时的线程收尾逻辑。 修复中断时下载线程写入已关闭队列造成的误报。 分段下载接入取消令牌,新任务开始或用户中断后,旧任务下载能更快停止。 三、稳定性增强 清理 Python 微服务中重复创建 edge_tts.Communicate 的代码。 /tts/stream 和 /tts 都增加服务端内部重试。 C# 首段流式请求重试次数提升到三次。 微服务增加版本检查,发现旧服务运行时会自动重启以应用新模板。 四、日志与诊断改进 日志统一为英文格式。 每次播放增加 taskId 和 lang,方便区分连续任务和中英文测试。 增加 TtsPlan 日志,记录 voice、rate、首段长度、总分段数和首段预览。 SegmentDownload 增加 taskId,方便定位分段下载归属。 增加 BufferLow 低缓冲监测,用于判断段间是否存在断粮风险。 低缓冲日志会屏蔽首帧后一秒内的自然低缓冲,并且在用户主动中断播放时不再记录,减少误报。
31 1天18小时前 本次版本重点提升首次部署、环境修复、开机预热和运行稳定性。 新增内置便携 Python 优先策略,用户无需提前安装 Python。 新增环境体检报告,检查本地目录、Python、pip、TTS 依赖、本地服务、端口和健康状态。 优化“检测与修复”功能:发现语音组件缺失或不完整时,会询问是否立即修复。 优化“检测与修复”功能:组件完整但服务未运行时,可一键启动并预热服务。 新增“无法使用时重置”功能,用于清空本动作生成的语音组件并重新安装。 新增开机静默预热逻辑,Quicker 开机自动运行时可提前启动服务。 开机预热时如果环境未部署,会静默退出,不打扰用户。 新增部署锁,避免重复点击或开机自启导致多个部署流程冲突。 固定核心依赖版本,减少上游依赖变化导致的不稳定。 新增本地服务 /health 健康检查接口。 新增 pip 缓存目录,提升重复部署速度和抗网络波动能力。 新增失败部署残留清理,自动处理不完整的便携 Python 环境。 新增下载文件校验,避免下载到错误页面后继续解压或执行。 优化部署失败提示,显示更明确的失败原因和日志路径。 优化日志格式,区分 [DEBUG] 和 [ERROR]。 清理异常字符和说明性注释,提升 Quicker 环境兼容性。 优化重置确认提示,明确说明重置影响和后续自动重新安装流程。
30 1天22小时前 优化首段出声时间及后续部分逻辑。
29 2天10小时前 修复部分环境下的 Quicker 编译失败问题。 移除 System.Buffers.ArrayPool 依赖,提升兼容性。 采用更基础的 C# 写法,降低运行环境要求。 修复部分乱码字符串引起的异常。 优化播放、录制、设置和服务启动稳定性。
28 5天18小时前 功能/用途说明更新为: 无需打开Edge,选中文字,触发即读,中文自动由晓晓、英文ava朗读
27 6天20小时前 更新说明: 本次更新主要围绕“稳定性、排错能力、环境兼容性”做了优化,让动作在更多 Windows 电脑上运行得更稳,也更容易定位问题。 1.优化了首段语音的容错机制 首段语音默认仍优先使用流式方式快速开始播放;如果连续失败 2 次,会自动切换为整段下载后再播放,避免出现“后面能播,但开头丢失”的问题。 2.增强了性能与排错日志 新增了关键耗时日志,包括: 首帧出声耗时 首段流式播放完成耗时 分段下载耗时 总播放耗时 总录制耗时 这样在遇到播放慢、卡顿或异常时,可以更快判断问题出在哪一环。 3.补充了服务端生成耗时日志 后端 TTS 服务增加了更细的耗时记录,用于区分是“语音生成慢”,还是“本地接收、解码、播放慢”,方便后续继续优化。 4.修正了错误提示中的日志路径 部署失败时,现在会直接提示真实日志文件位置,避免用户去错误目录查日志。 5.提升了运行环境兼容性 放开了代理兼容,改善了在企业网络、校园网或受管终端中的初始化成功率。 同时扩展了服务端口范围,并增加自动寻找空闲端口的兜底机制,减少端口占用导致的启动失败。 整体来说,这次更新的目标不是增加功能,而是让语音播放更可靠、安装启动更顺利、出现问题时更容易排查。
26 17天14小时前 不再勾选尝试不通过剪贴板的方式获取 不再通过UIAutomation方式获取,修复某些情况可能出现无法完整获取文字、失去换行信息等问题
25 17天18小时前 1.优化后续分段背压等待退出条件 把后续分段解码时的取消判断前移到 while 条件里。停止朗读、切换新朗读或任务取消时,解码线程能更快退出等待,减少卡住感。 2.优化服务健康检查资源释放 在 /ping 健康检查中释放 HttpResponseMessage。避免频繁检查服务状态时响应对象释放不及时,减少长期运行的连接和资源压力。 3.优化录制保存同步对象释放 为录制保存流程中的 SemaphoreSlim 和 AutoResetEvent 增加安全释放逻辑。只有确认所有录制任务都完成后才释放,保留原来的超时容错行为。 4.优化缓存内存上限控制 新音频加入缓存后再次执行缓存清理,并确保超出内存限制时至少移除 1 条缓存。避免大音频加入后缓存超过 50MB 却暂时不清理。 5.优化后续分段入队内存拷贝 移除下载完成后多余的 byte[] 完整复制,直接把已下载的音频数据放入播放队列。长文本多分段播放时可减少内存分配和 GC 压力。
24 17天21小时前 后续 TTS 分段下载完成后,原来会把 byte[] data 完整复制一份再放进播放队列,但解码端只是读取 chunk.Data,不会修改它,这份复制是多余的,删除。
23 17天22小时前 优化首段流式播放里的资源释放。 原代码里 HttpResponseMessage 没有释放,stream/fullCache/frameStream 只在正常路径手动 Close,如果请求失败、取消、解码异常或提前返回,资源可能残留。Quicker 这种动作会反复运行,时间久了可能造成连接占用、内存压力或后续请求变慢。
22 17天22小时前 优化首段流式 MP3 解码。 原来每次读取网络数据都会清空 frameStream,如果一个 MP3 frame 被拆在两个网络包里,前半截会被丢掉,可能导致首句卡顿、爆音、少播。现在会保留未解完的尾部数据,等下一块数据到达后继续拼接解码,首段播放会更稳。
21 18天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