前言¶
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