Clarify hotword support across ASR modes (#23)
Closes #20. Docs-only: hotword support matrix across ASR modes + docs regression test.
This commit is contained in:
1 parent
e9f0859980
commit
d879abe643
3 files changed
+37
-2
No files matched your search
@@ -132,7 +132,7 @@ cd backend && uvicorn app.main:app --host 0.0.0.0 --port 8000
|
||||
- **全局语音输入** — 在任何应用中按下快捷键即可口述,文字自动插入光标位置
|
||||
- **AI 智能润色** — 口语自动转书面语,去口癖、纠错、分段,Prompt 完全可自定义
|
||||
- **多种语音识别** — 豆包 ASR、千问 ASR,以及本地离线识别(SenseVoice、Qwen3-ASR,基于 sherpa-onnx)
|
||||
- **热词增强** — 自定义专业术语词表,提升识别准确率
|
||||
- **热词增强** — 自定义专业术语词表;豆包、千问、服务器模式和本地 Qwen3-ASR 会参与 ASR 识别偏置,本地 SenseVoice 则通过 AI 整理/文本处理做后处理纠错
|
||||
- **悬浮窗反馈** — 录音状态、波形动画、处理进度实时可见
|
||||
- **历史记录** — 所有转录结果本地保存,支持搜索和收藏
|
||||
- **隐私可控** — 支持完全自部署,数据流向透明
|
||||
|
||||
+15
-1
@@ -23,6 +23,20 @@ SayIt 对豆包和千问 ASR 都做了流式优化——按住说话时,音频
|
||||
| **阿里千问** | qwen3-asr-flash-realtime | 流式识别,速度极快 | 1.19 元/小时 |
|
||||
| **阿里千问** | qwen3.5-omni-flash | ASR + AI 一步到位 | 按 Token 计费(见下方) |
|
||||
|
||||
### 热词支持情况
|
||||
|
||||
「热词」在不同识别模式里的作用不完全一样:
|
||||
|
||||
| 识别模式 | 热词是否进入 ASR 识别 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 豆包 Seed-ASR-2.0 | 支持 | 通过火山引擎 `context` 字段直传给 ASR。 |
|
||||
| 千问 qwen3-asr-flash / realtime | 支持 | 作为上下文偏置传给千问;流式版使用 `corpus.text`。 |
|
||||
| 服务器模式 | 支持 | 服务端会把热词作为识别上下文,适合团队统一维护术语表。 |
|
||||
| 本地 Qwen3-ASR | 支持 | 本地 recognizer 创建时会把热词写入配置;热词变化后会重建 recognizer。 |
|
||||
| 本地 SenseVoice | 不支持 ASR 热词 | sherpa-onnx SenseVoice 配置没有热词/context bias 字段。可开启「热词注入 AI 提示词」或文本处理,让 AI 整理阶段把 `Type less` 这类结果纠正为 `Typeless`。 |
|
||||
|
||||
因此,如果你要让「Typeless」「SayIt」这类产品名在 ASR 阶段就尽量识别正确,优先选择豆包、千问、服务器模式或本地 Qwen3-ASR。继续使用本地 SenseVoice 时,热词更适合用于后处理纠错,而不是直接改变声学解码结果。
|
||||
|
||||
## 2. 使用豆包语音识别
|
||||
|
||||
SayIt 支持使用字节跳动「豆包流式语音识别模型 2.0」作为语音识别引擎。豆包 ASR 是目前中文语音识别准确率最高的模型,推荐使用。
|
||||
@@ -100,4 +114,4 @@ SayIt 支持使用字节跳动「豆包流式语音识别模型 2.0」作为语
|
||||
| 千问 qwen3-asr-flash-realtime(流式) | 1.19 元/小时 | 10 小时(90天内) |
|
||||
| 千问 qwen3.5-omni-flash | 约 2.3 元/小时* | 100 万 Token(90天内) |
|
||||
|
||||
*Omni 按 Token 计费(每秒音频 ≈ 25 token),2.3 元为粗略估算。详见[千问价格文档](https://help.aliyun.com/zh/model-studio/model-pricing#95f0464a10q5c)。
|
||||
*Omni 按 Token 计费(每秒音频 ≈ 25 token),2.3 元为粗略估算。详见[千问价格文档](https://help.aliyun.com/zh/model-studio/model-pricing#95f0464a10q5c)。
|
||||
@@ -0,0 +1,21 @@
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[3]
|
||||
README = ROOT / "README.md"
|
||||
ASR_DOC = ROOT / "docs" / "SayIt 语音识别配置.md"
|
||||
|
||||
|
||||
def test_readme_calls_out_sensevoice_hotword_boundary():
|
||||
text = README.read_text(encoding="utf-8")
|
||||
assert "本地 Qwen3-ASR" in text
|
||||
assert "本地 SenseVoice" in text
|
||||
assert "后处理纠错" in text
|
||||
|
||||
|
||||
def test_asr_doc_keeps_hotword_support_matrix():
|
||||
text = ASR_DOC.read_text(encoding="utf-8")
|
||||
assert "### 热词支持情况" in text
|
||||
assert "| 本地 Qwen3-ASR | 支持 |" in text
|
||||
assert "| 本地 SenseVoice | 不支持 ASR 热词 |" in text
|
||||
assert "sherpa-onnx SenseVoice 配置没有热词/context bias 字段" in text
|
||||
Reference in new issue
Block a user