dsh-voice-by-edge:为 DSH Web 页面增加语音交流练习模式

前言

DSH 的插件生态允许把 Web 页面能力以插件形式加入。做听说练习时,文本回复往往不够:回复需要适合朗读,对话需要被读出来,用户也需要用麦克风输入。dsh-voice-by-edge 就是针对 DSH Web 页面的语音交流练习插件。下面介绍它的功能、安装、启用方式和注意事项。

这是什么

dsh-voice-by-edge 为 DSH Web 页面提供语音交流练习模式,包括双语口语化回复、朗读(TTS)与语音输入(STT)。

GitHub 仓库地址为:

https://github.com/astr0mfly/dsh-voice-by-edge

许可证为 MIT。资料未给出显式维护者字段;仓库地址中的 owner 为 astr0mfly

核心功能

这个插件在 DSH Web 对话框中增加以下能力:

1、新增语音交流模式开关
2、开启后模型以目标语言用短句口语化回复
3、浏览器自动朗读对话内容,支持中英文分段选择对应语音
4、支持麦克风语音输入(STT),识别结果实时填入输入框并可自动发送
5、使用 Microsoft Edge 神经语音(edge-tts)合成 TTS,不可达时回退浏览器本地 speechSynthesis
6、提供逐条朗读、练习语言选择、自动朗读、跟读回放、自动发送、语速调节和停止控制
7、服务端为开启模式的会话注入语音练习提示词

安装与启用

先执行安装命令。命令中钉住了 commit:

dsh plugin --profile web add "github:astr0mfly/dsh-voice-by-edge#c2b51e1bc643687b4cbf53d4cc258a211ecf5f1b"

首次安装时,如果 pnpm 拦截 msedge-tts 构建脚本,先修改 ~/.dsh/profiles/web/pnpm-workspace.yaml,把 allowBuilds.msedge-tts 改为 true,再重新执行上面的 add 命令。确认这一项为:

allowBuilds.msedge-tts: true

如果报 ERR_PNPM_IGNORED_BUILDS,检查是否已完成构建脚本允许步骤。

该插件按 bundle 插件处理,安装后需要重启 DSH Web。可用下面命令验证 voice-by-edge 层已生效:

dsh --profile web --dump-config

典型用法

启用后,按浏览器权限和网络条件操作即可。

1、使用 Chrome / Edge 打开 DSH Web
2、在对话框中开启语音交流模式
3、选择练习语言
4、打开自动朗读,或对单条回复使用逐条朗读
5、点击麦克风按钮,并允许浏览器麦克风权限
6、语音识别结果会实时填入输入框,并可自动发送
7、语速可在 0.75×–1.5× 范围内调节,也可以使用停止控制

TTS 合成需要可访问 Microsoft Edge 语音服务。合成结果缓存于:

~/.dsh/cache/voice-by-edge/

当 Microsoft Edge 语音服务不可达时,回退到浏览器本地 speechSynthesis

适用场景与注意

这个插件适合需要把口语化对话、朗读和麦克风输入放在同一个 DSH Web 会话里使用的用户。注意以下限制:

  • STT 依赖浏览器 Web Speech API;语音输入需要 Chrome / Edge,并允许麦克风权限。浏览器不支持时,麦克风按钮会显示提示。
  • Chrome 下语音识别需要 HTTPS 或 localhost。
  • TTS 依赖网络访问 Microsoft Edge 语音服务;不可达时回退浏览器本地 speechSynthesis
  • 模式状态仅存于浏览器与服务端内存;重启 DSH 后需要重新开启模式。
  • 提示词注入只影响开启模式的会话,不修改历史记录。
  • TTS 有语音白名单校验。
  • 插件以当前 DSH 进程权限运行;安装前应检查源码与许可证。本次资料给出的许可证为 MIT,仓库地址见前文。

结尾

dsh-voice-by-edge 把语音交流模式、TTS 朗读和 STT 输入集中到 DSH Web 对话框中。DSH 社区目录是独立站点;本次资料未提供目录页 URL,因此不贴具体目录链接。GitHub 仓库为:

https://github.com/astr0mfly/dsh-voice-by-edge
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜