987 lines
59 KiB
HTML
987 lines
59 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="generator" content="pandoc" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||
<title>ASR 方案深度调研:高识别率中文语音输入选型</title>
|
||
<style>
|
||
|
||
code{white-space: pre-wrap;}
|
||
span.smallcaps{font-variant: small-caps;}
|
||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||
div.column{flex: auto; overflow-x: auto;}
|
||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||
|
||
ul.task-list[class]{list-style: none;}
|
||
ul.task-list li input[type="checkbox"] {
|
||
font-size: inherit;
|
||
width: 0.8em;
|
||
margin: 0 0.8em 0.2em -1.6em;
|
||
vertical-align: middle;
|
||
}
|
||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||
</style>
|
||
<style type="text/css">:root { color-scheme: dark; }
|
||
body { font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, sans-serif; line-height: 1.75; color: #d6ddd8; background: #141a17; max-width: 920px; margin: 0 auto; padding: 48px 28px 96px; }
|
||
h1 { font-size: 28px; border-bottom: 1px solid #2c3a32; padding-bottom: 12px; color: #edf1e7; }
|
||
h2 { font-size: 21px; margin-top: 48px; color: #cfe3d6; border-left: 3px solid #91ae99; padding-left: 12px; }
|
||
h3 { font-size: 17px; margin-top: 32px; color: #b9c9bd; }
|
||
p, li { font-size: 15px; }
|
||
a { color: #8fd0a8; text-decoration: none; border-bottom: 1px dotted #4a6a58; word-break: break-all; }
|
||
a:hover { color: #c4ecd3; }
|
||
table { border-collapse: collapse; width: 100%; margin: 20px 0; font-size: 13.5px; display: block; overflow-x: auto; }
|
||
th, td { border: 1px solid #2c3a32; padding: 8px 12px; text-align: left; vertical-align: top; }
|
||
th { background: #1c2620; color: #cfe3d6; white-space: nowrap; }
|
||
tr:nth-child(even) td { background: #18211b; }
|
||
code { background: #1c2620; padding: 2px 6px; border-radius: 3px; font-size: 13px; color: #a8d5ba; font-family: "SF Mono", Menlo, monospace; }
|
||
pre { background: #101512; border: 1px solid #2c3a32; padding: 16px; border-radius: 6px; overflow-x: auto; }
|
||
pre code { background: none; padding: 0; }
|
||
blockquote { border-left: 3px solid #4a6a58; margin: 16px 0; padding: 4px 16px; color: #a9bcb0; background: #18211b; }
|
||
strong { color: #edf1e7; }
|
||
hr { border: none; border-top: 1px solid #2c3a32; margin: 40px 0; }
|
||
ul, ol { padding-left: 24px; }
|
||
li { margin: 4px 0; }
|
||
header#title-block-header { display: none; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<header id="title-block-header">
|
||
<h1 class="title">ASR 方案深度调研:高识别率中文语音输入选型</h1>
|
||
</header>
|
||
<h1 id="asr-方案深度调研高识别率中文语音输入选型">ASR
|
||
方案深度调研:高识别率中文语音输入选型</h1>
|
||
<ul>
|
||
<li><strong>调研日期</strong>:2026-10-04(文中价格与版本均为当日抓取,引用前请复核)</li>
|
||
<li><strong>问题</strong>:为 Tauri 2 + React/TypeScript
|
||
互动叙事应用(网页端 +
|
||
iOS/Android,中国大陆用户,中文长段口语讲述)选择高识别率语音输入方案,替换当前效果不佳的
|
||
Web Speech API</li>
|
||
<li><strong>方法</strong>:所有关键结论均追溯至一手来源(官方文档、官方定价页、API
|
||
reference、源码仓库、W3C/平台文档),URL
|
||
随文标注;博客与二手转述仅作线索,不作结论依据</li>
|
||
<li><strong>产品约束</strong>(来自 ADR-0004 与本产品定位):
|
||
<ol type="1">
|
||
<li>场景是几十秒到几分钟的<strong>长段中文口语讲述</strong>,容忍 2–5
|
||
秒转写延迟,整段上传可接受;</li>
|
||
<li><strong>音频"即焚"</strong>——服务端转写后不留原始音频,只保留文本与不可逆的韵律统计特征(语速/停顿/音高/能量),绝不存声纹;</li>
|
||
<li>中国大陆合规运营,用户为大陆高知人群,境外 API
|
||
的可用性与数据出境需评估;</li>
|
||
<li>需要<strong>韵律特征提取</strong>能力(ASR 附带或旁路);</li>
|
||
<li>成本敏感(早期产品,日活几百量级)。</li>
|
||
</ol></li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="0-执行摘要">0. 执行摘要</h2>
|
||
<p><strong>一句话结论:统一走"端上录音 → 上传自有服务端 → 服务端转写 +
|
||
服务端韵律提取 →
|
||
音频即焚"的管线;转写首选国内云厂商的录音文件识别(阿里云 NLS
|
||
或火山引擎豆包大模型版,0.8–2.5 元/小时量级),自托管 SenseVoiceSmall
|
||
作为降级与成本兜底;Web Speech API
|
||
降级为可选的"零上传"体验而非主通路。</strong></p>
|
||
<p>推荐组合:</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>端</th>
|
||
<th>推荐方案</th>
|
||
<th>理由</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>网页端(桌面浏览器)</td>
|
||
<td>MediaRecorder 录音上传服务端为主;<code>SpeechRecognition</code>
|
||
仅作为"音频不出本机"的可选模式保留</td>
|
||
<td>Chrome 的 Web Speech 后端是 Google 云端服务(见
|
||
1.1),大陆网络下质量/可用性不可控;Safari 支持但有 Siri
|
||
依赖与场景限制</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Tauri iOS</td>
|
||
<td><code>getUserMedia</code> + MediaRecorder 录音(iOS 14.3+ WKWebView
|
||
支持),上传自有服务端</td>
|
||
<td>Web Speech 在 WKWebView 中不可用(WebKit 官方确认,见
|
||
3.1);SFSpeechRecognizer 有 1
|
||
分钟硬限制与每日限额,不适合几分钟的讲述(见 3.1)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Tauri Android</td>
|
||
<td>同上(WebView 需处理 <code>onPermissionRequest</code>)</td>
|
||
<td>Android SpeechRecognizer
|
||
默认实现"很可能把音频流送到远端服务器",且大陆 ROM 无 GMS
|
||
时行为不可控(AOSP 源码注释,见 3.2)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>服务端</td>
|
||
<td>现有 <code>AsrProvider</code> 可插拔接口接入:首选阿里云 NLS
|
||
录音文件识别(SpeechIO 中文榜 CER
|
||
3.40%,国内可用性最稳)或火山豆包录音文件识别模型 2.0(0.8
|
||
元/小时);并行跑 parselmouth + FFmpeg 韵律提取</td>
|
||
<td>见第 2、5 节;韵律旁路与"即焚"纪律完全兼容</td>
|
||
</tr>
|
||
<tr>
|
||
<td>降级/兜底</td>
|
||
<td>自托管 SenseVoiceSmall(FunASR 或 llama.cpp
|
||
单机二进制):中文识别优于 Whisper,自带情感/笑声/叹息等事件标签,CPU
|
||
可跑</td>
|
||
<td>见 4.1;云端不可用时顶上,也把单价打到近零</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>成本量级(按 300 DAU、人均 4 分钟/日估算,约 600
|
||
转写小时/月):国内云约 <strong>480–1,500 元/月</strong>;自托管
|
||
SenseVoiceSmall 一台 4–8 核 CPU 服务器即可承载(推算过程见 4.5)。境外
|
||
API 同等量级约 1,700–2,600
|
||
元/月且存在可用性与数据出境问题,不推荐作为主通路。</p>
|
||
<p>本调研中最反直觉的三个事实:</p>
|
||
<ol type="1">
|
||
<li><strong>Chrome 的"免费"语音识别本质是把麦克风音频流上传到
|
||
<code>google.com/speech-api</code> 的未公开服务</strong>——Chromium
|
||
源码的网络流量注解明确标注数据类型为 <code>USER_CONTENT</code>、目的地
|
||
<code>GOOGLE_OWNED_SERVICE</code>(<a href="https://github.com/chromium/chromium/blob/main/content/browser/speech/network_speech_recognition_engine_impl.cc">源码</a>)。大陆用户走这条通路,效果差是网络问题而非模型问题。</li>
|
||
<li><strong>Web Speech API 在 WKWebView 里根本不存在</strong>——即所有
|
||
iOS 上的"浏览器"(Chrome iOS、微信内置浏览器)和 Tauri iOS
|
||
应用都无法使用;WebKit 工程师在官方 bug
|
||
跟踪中确认"SFSafariViewController 与主屏 Web App 均不可用"(<a href="https://bugs.webkit.org/show_bug.cgi?id=225298">WebKit Bug
|
||
225298</a>)。</li>
|
||
<li><strong>iOS 原生 SFSpeechRecognizer 对单次识别有 1
|
||
分钟硬限制</strong>,且"语音识别是基于网络的服务",每个设备/每个应用都有每日限额(<a href="https://developer.apple.com/documentation/speech/sfspeechrecognizer">Apple
|
||
官方文档</a>)——哪怕写原生插件也接不住"几分钟的叙事讲述"。</li>
|
||
</ol>
|
||
<hr />
|
||
<h2 id="1-网页端现状与浏览器侧方案">1. 网页端现状与浏览器侧方案</h2>
|
||
<h3 id="11-web-speech-apispeechrecognition支持矩阵与后端真相">1.1 Web
|
||
Speech API(SpeechRecognition)支持矩阵与后端真相</h3>
|
||
<p>Web Speech API 是 W3C 社区组草案(非正式标准),规范见 <a href="https://w3c.github.io/speech-api/">Web Speech API Editor's
|
||
Draft</a>;caniuse 数据标记其状态为 <code>unoff</code>(非标准)(<a href="https://caniuse.com/speech-recognition">caniuse speech-recognition
|
||
数据</a>)。2026-10 的支持矩阵:</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>平台</th>
|
||
<th>支持情况</th>
|
||
<th>关键限制</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>Chrome 桌面(Win/macOS/Linux/ChromeOS)</td>
|
||
<td>✅ 自 Chrome 25(前缀 <code>webkit</code>),部分属性缺失</td>
|
||
<td><strong>后端是 Google 云端服务</strong>(下详);必须联网</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Edge 桌面</td>
|
||
<td>⚠️ caniuse 标记为"不支持(#3)":API 存在但事件不触发(<a href="https://caniuse.com/speech-recognition">caniuse 注记 3</a>)</td>
|
||
<td>实际 Chromium 系 Edge 多数场景可用,但 caniuse
|
||
记录存在例外报告,需实测</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Safari 桌面(macOS 11.3+/Safari 14.1+)</td>
|
||
<td>⚠️ 前缀、部分支持</td>
|
||
<td>需系统开启 Siri 或听写;<code>SpeechGrammar</code> 不支持</td>
|
||
</tr>
|
||
<tr>
|
||
<td>iOS Safari(14.5+)</td>
|
||
<td>⚠️ 前缀、部分支持</td>
|
||
<td><strong>SFSafariViewController、主屏 PWA 均不可用</strong>;需开启
|
||
Siri(<a href="https://bugs.webkit.org/show_bug.cgi?id=225298">WebKit
|
||
Bug 225298</a>,WebKit 工程师 Sihui Liu 确认)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Tauri iOS(WKWebView)</strong></td>
|
||
<td>❌ 不可用</td>
|
||
<td>同上,WKWebView 不在暴露范围内</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Android Chrome</td>
|
||
<td>✅</td>
|
||
<td>依赖 Google 服务,大陆环境不可用</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Firefox 桌面</td>
|
||
<td>❌ 从未发布</td>
|
||
<td>仅有 <code>media.webspeech.recognition.enable</code>
|
||
实验开关,官方称"权限问题未解决"(<a href="https://caniuse.com/speech-recognition">caniuse 注记 2</a>)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Chrome 的识别后端</strong>:Chromium 源码
|
||
<code>network_speech_recognition_engine_impl.cc</code> 写死服务地址
|
||
<code>https://www.google.com/speech-api/full-duplex/v1</code>,其网络流量注解原文:"Chrome
|
||
provides translation from speech audio recorded with a microphone to
|
||
text, <strong>by using the Google speech recognition web service. Audio
|
||
is sent to Google's servers</strong> (upstream) and text is returned
|
||
(downstream)",数据类别 <code>USER_CONTENT</code>,目的地
|
||
<code>GOOGLE_OWNED_SERVICE</code>,最近复核日期 2024-02-21(<a href="https://github.com/chromium/chromium/blob/main/content/browser/speech/network_speech_recognition_engine_impl.cc">Chromium
|
||
源码</a>)。即:免费、无 SLA、未对第三方开放、音频出境。Chromium
|
||
源码树中另有 <code>soda_speech_recognition_engine_impl.cc</code>(Speech
|
||
On-Device API),但桌面 Chrome 的 Web Speech
|
||
路径走网络引擎;ChromeOS/Android 上 SODA 才用于本地听写。</p>
|
||
<p><strong>Safari 的后端</strong>:Apple 官方未公开,社区一致认为是
|
||
Apple 的语音识别服务(与系统听写同源),证据是官方文档要求"Siri
|
||
或听写开启"及 <code>supportsOnDeviceRecognition</code> 属性(<a href="https://developer.apple.com/documentation/speech/sfspeechrecognizer">Apple
|
||
文档</a>)。</p>
|
||
<p><strong>对本产品的含义</strong>:当前
|
||
<code>src/ui/VoiceInput.tsx</code> 通路 1(SpeechRecognition)在桌面
|
||
Chrome 上把音频直送
|
||
Google,大陆用户体验取决于网络;这解释了"效果差"。该通路可作为<strong>隐私卖点保留</strong>(用户可选"零上传"模式),但不应是主通路。</p>
|
||
<h3 id="12-浏览器本地推理wasm现状">1.2 浏览器本地推理(WASM)现状</h3>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>方案</th>
|
||
<th>官方数据</th>
|
||
<th>官方 Demo</th>
|
||
<th>结论</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>whisper.cpp WASM</strong></td>
|
||
<td>现代 CPU 浏览器上 tiny/base 模型约 <strong>2–3 倍实时</strong>(60
|
||
秒音频约 20–30 秒);最大只支持到 <code>small</code> 模型;音频上限 120
|
||
秒;tiny 模型 74MB(<a href="https://github.com/ggml-org/whisper.cpp/tree/master/examples/whisper.wasm">官方
|
||
README</a>)</td>
|
||
<td><a href="https://ggml.ai/whisper.cpp/">ggml.ai/whisper.cpp</a></td>
|
||
<td>tiny/base 的中文 CER 达不到"高识别率"要求;small
|
||
级在浏览器里延迟不可接受。仅适合离线兜底</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>sherpa-onnx WASM</strong></td>
|
||
<td>官方提供 WebAssembly 构建与 Colab 教程;HuggingFace 上有官方 Spaces
|
||
demo:英语 Zipformer、<strong>中英 Zipformer、中英 Paraformer、中英粤
|
||
Paraformer</strong>(<a href="https://k2-fsa.github.io/sherpa/onnx/wasm/index.html">官方文档</a>)</td>
|
||
<td>HuggingFace Spaces(<a href="https://k2-fsa.github.io/sherpa/onnx/wasm/index.html">文档内链接</a>)</td>
|
||
<td>中文流式模型在浏览器可行,但模型下载量大(百 MB
|
||
级)、无官方中文准确率基准;适合作为技术储备</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>onnxruntime-web</strong></td>
|
||
<td>支持 <code>webgl</code>/<code>webgpu</code>/<code>webnn</code>
|
||
执行后端 + WASM CPU;官方定位浏览器端 ML 推理(<a href="https://onnxruntime.ai/docs/tutorials/web/">官方教程</a>)</td>
|
||
<td>官方 examples 仓库</td>
|
||
<td>推理框架本身成熟,但"在浏览器跑 large-v3 级中文模型"没有官方
|
||
benchmark;WebGPU 在 Safari 上长期缺席,覆盖率仍是问题</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>结论</strong>:浏览器本地推理对"几分钟中文口语 +
|
||
高识别率"的组合<strong>不达标</strong>——能跑动的模型(tiny/base)中文识别率不够,识别率够的模型(large-v3
|
||
1.5GB+)下载与延迟都过不了产品关。WebGPU/WebNN 加速仍在推进,2026
|
||
年不具备全量用户覆盖条件。不推荐作为主通路。</p>
|
||
<hr />
|
||
<h2 id="2-云端中文-asr-api-横向对比">2. 云端中文 ASR API 横向对比</h2>
|
||
<h3 id="21-中文普通话识别率第三方基准">2.1
|
||
中文普通话识别率:第三方基准</h3>
|
||
<p>厂商宣传口径("准确率 98%"类)不可横向比较,本调研以 SpeechColab
|
||
维护的 <strong>SpeechIO Leaderboard</strong> 为第三方基准:46
|
||
组中文真实场景测试集(新闻联播、访谈、播客、演讲、直播、相声、方言电影等,由专业标注团队转写),2025.01
|
||
结果(<a href="https://github.com/SpeechColab/Leaderboard">SpeechIO
|
||
Leaderboard</a>):</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>排名</th>
|
||
<th>引擎</th>
|
||
<th>公开集 CER(ZH00001–26)</th>
|
||
<th>全量 CER(含未公开集)</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>1</td>
|
||
<td>Azure Batch(微软)</td>
|
||
<td>1.95%</td>
|
||
<td>2.99%</td>
|
||
</tr>
|
||
<tr>
|
||
<td>2</td>
|
||
<td>喜马拉雅 API</td>
|
||
<td>1.72%</td>
|
||
<td>3.35%</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3</td>
|
||
<td><strong>阿里云录音文件识别</strong></td>
|
||
<td><strong>1.80%</strong></td>
|
||
<td><strong>3.40%</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>4</td>
|
||
<td>讯飞语音转写(lfasr)</td>
|
||
<td>3.01%</td>
|
||
<td>4.80%</td>
|
||
</tr>
|
||
<tr>
|
||
<td>5</td>
|
||
<td>腾讯云</td>
|
||
<td>3.20%</td>
|
||
<td>4.64%</td>
|
||
</tr>
|
||
<tr>
|
||
<td>6</td>
|
||
<td>思必驰</td>
|
||
<td>3.61%</td>
|
||
<td>5.75%</td>
|
||
</tr>
|
||
<tr>
|
||
<td>7</td>
|
||
<td>百度(极速版)</td>
|
||
<td>7.30%</td>
|
||
<td>10.10%</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>与本产品场景最贴近的是<strong>播客/访谈/演讲类</strong>子集(如"故事FM"播客
|
||
4.5h、"鲁豫有约"访谈 3h):各引擎在这些口语集上的 CER 大致落在 2%–6%
|
||
区间(<a href="https://github.com/SpeechColab/Leaderboard">逐测试集结果</a>)。注意:榜单未覆盖火山引擎(字节),且自
|
||
2025 年起各厂相继发布"大模型版"识别(见
|
||
2.2),榜单数字可能已偏保守——建议选型时用我们自己的讲述样本做一次小规模盲测。</p>
|
||
<p>阿里云官方的 SenseVoice 论文(阿里通义)报告 SenseVoice-Small 在
|
||
AISHELL-1/AISHELL-2/WenetSpeech 等中文集上识别率优于 Whisper-Small(<a href="https://arxiv.org/abs/2407.04051">arXiv:2407.04051</a>,<a href="https://github.com/FunAudioLLM/SenseVoice">SenseVoice README
|
||
基准图</a>),可作开源侧参照。</p>
|
||
<h3 id="22-逐家详述">2.2 逐家详述</h3>
|
||
<p>价格均为 2026-10-04 官方页面抓取。换算基准:1 小时 = 60 分钟。</p>
|
||
<h4 id="阿里云-nls智能语音交互">阿里云 NLS(智能语音交互)</h4>
|
||
<ul>
|
||
<li><strong>产品线</strong>:实时语音识别(流式)、一句话识别(≤60s/次)、录音文件识别(异步,提交+轮询)、录音文件识别极速版、录音文件识别闲时版;另有百炼平台的
|
||
FunASR/Paraformer 模型 API。</li>
|
||
<li><strong>价格</strong>(<a href="https://help.aliyun.com/zh/isi/getting-started/billing-10">官方计费文档</a>):
|
||
<ul>
|
||
<li>录音文件识别按量 <strong>2.50 元/小时</strong>(日用量
|
||
0–299h),阶梯最低 1.00 元/小时(5000h+/日);资源包 1000 小时 1200
|
||
元(合 1.20 元/小时)、20000 小时 20000 元(合 1.00 元/小时)</li>
|
||
<li>录音文件识别闲时版(24h 内返回)<strong>1.00 元/小时</strong>,10
|
||
万小时以上 0.60 元/小时</li>
|
||
<li>录音文件识别极速版 3.30 元/小时起</li>
|
||
<li>实时语音识别 3.50 元/小时起</li>
|
||
<li>百炼 Paraformer 语音识别 <strong>0.288
|
||
元/小时</strong>(不限量,大模型平台定价)</li>
|
||
</ul></li>
|
||
<li><strong>能力</strong>:录音文件识别支持音频 ≤512MB、总时长 ≤12h 的
|
||
URL 提交(<a href="https://www.alibabacloud.com/help/zh/isi/developer-reference/api-reference-2">API
|
||
文档</a>);支持说话人分离(<code>auto_split</code>/<code>speaker_num</code>
|
||
参数,<a href="https://help.aliyun.com/zh/isi/support/faq-about-speech-recognition">FAQ</a>);带词级时间戳;可返回
|
||
JSON 逐句结果。</li>
|
||
<li><strong>免费额度</strong>:新用户 3 个月试用(2 路并发或每天 2
|
||
小时录音文件识别额度)(<a href="https://help.aliyun.com/zh/isi/getting-started/start-here">快速入门</a>)。</li>
|
||
<li><strong>合规</strong>:境内服务,可签署数据处理协议;audio
|
||
即焚纪律可由服务端实现(转写结果落库、音频不落盘)。</li>
|
||
</ul>
|
||
<h4 id="火山引擎字节跳动豆包语音">火山引擎(字节跳动,豆包语音)</h4>
|
||
<ul>
|
||
<li><strong>产品线</strong>:豆包录音文件识别模型
|
||
2.0(大模型版)、录音文件识别标准版/极速版/闲时版、豆包流式语音识别模型
|
||
2.0、大模型流式语音识别。</li>
|
||
<li><strong>价格</strong>(<a href="https://www.volcengine.com/docs/6561/1359370">官方计费文档</a>、<a href="https://www.volcengine.com/docs/DoubaoVoice/BillingOverview-15">计费概述</a>):
|
||
<ul>
|
||
<li>豆包录音文件识别模型 2.0:后付费 <strong>0.8
|
||
元/小时</strong>;资源包 30 小时 23 元(约 0.77)、10000 小时 7200
|
||
元(合 0.72)、300000 小时合 0.67 元/小时</li>
|
||
<li>豆包流式语音识别模型 2.0:后付费 1 元/小时</li>
|
||
<li>传统录音文件识别标准版:后付费 1.8 元/小时(0–300h)起;闲时版 1.2
|
||
元/小时后付费、资源包低至 0.5 元/小时</li>
|
||
</ul></li>
|
||
<li><strong>能力</strong>:标准版/极速版/闲时版均为"提交 + 查询"异步(<a href="https://docs.volcengine.com/docs/DoubaoVoice/Accessmust-read?lang=zh">接入必读</a>);大模型版
|
||
ASR 支持多语种、热词;新应用有免费试用额度。</li>
|
||
<li><strong>备注</strong>:SpeechIO
|
||
榜单未收录火山,中文口语实测数据缺第三方验证——但字节系(抖音语音输入)的中文口语工程能力属于第一梯队,且单价最低档。</li>
|
||
</ul>
|
||
<h4 id="腾讯云-asr">腾讯云 ASR</h4>
|
||
<ul>
|
||
<li><strong>产品线</strong>:实时语音识别、录音文件识别(异步)、录音文件识别极速版(同步,100MB/2h
|
||
内音频)、大模型 2.0
|
||
版、语音流异步识别;增值:情绪识别、角色分离、口语转书面语。</li>
|
||
<li><strong>价格</strong>(<a href="https://cloud.tencent.com/document/product/1093/35686">官方计费概述</a>、<a href="https://cloud.tencent.com/document/product/1093/52097">极速版文档</a>):
|
||
<ul>
|
||
<li>录音文件识别后付费 <strong>1.75 元/小时</strong>(0–12
|
||
万小时/月);资源包 60 小时 90 元(1.5)、1000 小时 1200 元(1.2)</li>
|
||
<li>录音文件识别(大模型 2.0 版):后付费 0.8 元/小时,资源包低至 0.72
|
||
元/小时</li>
|
||
<li>录音文件识别极速版:3.10 元/小时起</li>
|
||
<li><strong>情绪识别增值服务</strong>:后付费 0.85 元/小时(与 ASR
|
||
叠加计费)——直接提供"情绪"维度的云侧输出,但注意它是离散情绪类别而非韵律连续特征</li>
|
||
</ul></li>
|
||
<li><strong>免费额度</strong>(长期):录音文件识别 10 小时/月、实时 5
|
||
小时/月、一句话识别 5000 次/月。</li>
|
||
<li><strong>榜单</strong>:SpeechIO 全量 CER 4.64%(2025.01)。</li>
|
||
</ul>
|
||
<h4 id="讯飞开放平台iflytek">讯飞开放平台(iFLYTEK)</h4>
|
||
<ul>
|
||
<li><strong>产品线</strong>:语音听写(≤60s/次,实时)、语音转写
|
||
lfasr(≤5 小时/文件、≤500MB,异步)、实时语音转写。</li>
|
||
<li><strong>价格</strong>(<a href="https://www.xfyun.cn/services/lfasr">语音转写产品页</a>,含价格表;<a href="https://www.xfyun.cn/doc/member/trial.html">会员试用页</a>):
|
||
<ul>
|
||
<li>免费包:个人 5 小时/年、<strong>企业开发者 50 小时/年</strong></li>
|
||
<li>按时长套餐:80 小时/年 198 元(约 2.48 元/小时)、2000 小时/年 4000
|
||
元(2.0)、10000 小时 17500 元(1.75)、300000 小时 360000
|
||
元(1.2)</li>
|
||
<li>语音听写套餐:20 万次/年 1000 元、100 万次/年 4000 元</li>
|
||
</ul></li>
|
||
<li><strong>能力</strong>:中文方言是讯飞传统强项(202
|
||
种方言免切识别,部分需另购);lfasr 支持批量、时间戳(<a href="https://www.xfyun.cn/doc/asr/lfasr/API.html">lfasr API
|
||
文档</a>)。</li>
|
||
<li><strong>榜单</strong>:SpeechIO 全量 CER 4.80%(2025.01)。</li>
|
||
</ul>
|
||
<h4 id="百度智能云">百度智能云</h4>
|
||
<ul>
|
||
<li><strong>价格</strong>(<a href="https://ai.baidu.com/ai-doc/SPEECH/Tldjm0i4c">官方价格文档</a>):音频文件转写后付费
|
||
<strong>2 元/小时</strong>;小时包 1000 小时 1200 元(1.2
|
||
元/小时)起;短语音识别按次(后付费 3.4 元/千次起);实时语音识别 3
|
||
元/小时后付费、1.8 元/小时(1000h 包)。</li>
|
||
<li><strong>免费额度</strong>:10
|
||
万次短语音识别/企业账号(产品页)。</li>
|
||
<li><strong>榜单</strong>:SpeechIO 全量 CER
|
||
10.10%(2025.01,明显落后)——不推荐作为主通路。</li>
|
||
</ul>
|
||
<h4 id="openaigpt-4o-transcribe-等">OpenAI(GPT-4o transcribe 等)</h4>
|
||
<ul>
|
||
<li><strong>价格</strong>(<a href="https://platform.openai.com/docs/pricing">官方定价页</a>):<code>gpt-4o-transcribe</code>
|
||
<strong>$0.006/分钟</strong>(约 2.16
|
||
元/小时);<code>gpt-4o-mini-transcribe</code>
|
||
$0.003/分钟;<code>gpt-transcribe</code> $0.0045/分钟;实时转写
|
||
$0.017/分钟。注意:<code>whisper-1</code> 已不再出现在当前定价页。</li>
|
||
<li><strong>可用性</strong>:api.openai.com
|
||
在大陆不可直连,需中转;数据出境 +
|
||
《个人信息保护法》下的合规评估义务;无境内实体可签
|
||
DPA。<strong>结论:不适合作为面向大陆用户的主通路</strong>;可作为开发期对照基准。</li>
|
||
</ul>
|
||
<h4 id="groqwhisper-托管">Groq(Whisper 托管)</h4>
|
||
<ul>
|
||
<li><strong>价格</strong>(<a href="https://console.groq.com/docs/speech-to-text">官方文档</a>):<code>whisper-large-v3</code>
|
||
<strong>$0.111/小时</strong>(约 0.80
|
||
元/小时)、<code>whisper-large-v3-turbo</code> $0.04/小时(约 0.29
|
||
元/小时);单次最低计费 10 秒;文件上限 25MB(免费层)/100MB;官方自报
|
||
WER 10.3%(large-v3)/12%(turbo,测试集未注明,按英文基准理解)。</li>
|
||
<li><strong>可用性</strong>:不对中国大陆提供服务、需境外支付;同上的出境合规问题。单价最低但综合不可用。</li>
|
||
</ul>
|
||
<h4 id="deepgram">Deepgram</h4>
|
||
<ul>
|
||
<li><strong>价格</strong>(<a href="https://deepgram.com/pricing">官方定价页</a>):Nova-3 Monolingual
|
||
$0.0048/分钟(促销价,原价 $0.0077);Nova-3 Multilingual <span class="math inline">0.0058/<em>分</em><em>钟</em>;</span>200
|
||
免费额度。多语种版支持中文在内的 45+ 语种、含说话人分离。</li>
|
||
<li>折合约 1.7–4.0 元/小时;境外服务,可用性与合规同上。</li>
|
||
</ul>
|
||
<h4 id="assemblyai">AssemblyAI</h4>
|
||
<ul>
|
||
<li><strong>价格</strong>(<a href="https://www.assemblyai.com/pricing">官方定价页</a>):Universal-2
|
||
<strong>$0.15/小时</strong>(99 语种)、Universal-3.5 Pro $0.21/小时(18
|
||
语种)。折 1.1–1.5 元/小时;境外服务。</li>
|
||
</ul>
|
||
<h3 id="23-横向对比表录音文件转写中文普通话">2.3
|
||
横向对比表(录音文件转写,中文普通话)</h3>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>厂商</th>
|
||
<th>后付费单价</th>
|
||
<th>资源包低价</th>
|
||
<th>免费额度</th>
|
||
<th>第三方中文 CER(SpeechIO 2025.01)</th>
|
||
<th>单文件上限</th>
|
||
<th>时间戳/说话人</th>
|
||
<th>境内合规</th>
|
||
<th>情绪/韵律附加</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>阿里云 NLS</td>
|
||
<td>2.50 元/h</td>
|
||
<td>1.00 元/h(2 万 h 包)</td>
|
||
<td>3 个月试用</td>
|
||
<td><strong>3.40%</strong>(#3)</td>
|
||
<td>512MB/12h</td>
|
||
<td>词级时间戳;说话人分离(<a href="https://help.aliyun.com/zh/isi/support/faq-about-speech-recognition">FAQ</a>)</td>
|
||
<td>✅</td>
|
||
<td>—(百炼另有模型)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>火山引擎豆包</td>
|
||
<td><strong>0.80 元/h</strong>(大模型 2.0)</td>
|
||
<td>0.67 元/h</td>
|
||
<td>新应用试用额度</td>
|
||
<td>未收录</td>
|
||
<td>异步队列</td>
|
||
<td>视版本</td>
|
||
<td>✅</td>
|
||
<td>—</td>
|
||
</tr>
|
||
<tr>
|
||
<td>腾讯云</td>
|
||
<td>1.75 元/h;大模型 2.0 版 0.8 元/h</td>
|
||
<td>0.72 元/h</td>
|
||
<td>10 h/月</td>
|
||
<td>4.64%</td>
|
||
<td>极速版 100MB/2h</td>
|
||
<td>支持</td>
|
||
<td>✅</td>
|
||
<td><strong>情绪识别增值 0.85 元/h</strong>、角色分离</td>
|
||
</tr>
|
||
<tr>
|
||
<td>讯飞</td>
|
||
<td>约 2.0–2.48 元/h(套餐)</td>
|
||
<td>1.2 元/h(30 万 h 包)</td>
|
||
<td>企业 50 h/年</td>
|
||
<td>4.80%</td>
|
||
<td>500MB/5h</td>
|
||
<td>时间戳</td>
|
||
<td>✅</td>
|
||
<td>方言最强(202 种)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>百度</td>
|
||
<td>2.00 元/h</td>
|
||
<td>1.2 元/h(1000h 包)</td>
|
||
<td>10 万次短语音</td>
|
||
<td>10.10%</td>
|
||
<td>—</td>
|
||
<td>支持</td>
|
||
<td>✅</td>
|
||
<td>—</td>
|
||
</tr>
|
||
<tr>
|
||
<td>OpenAI gpt-4o-transcribe</td>
|
||
<td>≈2.16 元/h</td>
|
||
<td>—</td>
|
||
<td>—</td>
|
||
<td>英文强,中文无第三方基准</td>
|
||
<td>25MB</td>
|
||
<td>word 级</td>
|
||
<td>❌ 数据出境</td>
|
||
<td>❌</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Groq whisper-large-v3</td>
|
||
<td>≈0.80 元/h</td>
|
||
<td>—</td>
|
||
<td>有限免费层</td>
|
||
<td>自报 WER 10.3%(英文)</td>
|
||
<td>25/100MB</td>
|
||
<td>segment/word</td>
|
||
<td>❌</td>
|
||
<td>❌</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Deepgram Nova-3</td>
|
||
<td>≈1.7–4.0 元/h</td>
|
||
<td>$200 额度</td>
|
||
<td>同上</td>
|
||
<td>中文支持,无第三方基准</td>
|
||
<td>—</td>
|
||
<td>含说话人分离</td>
|
||
<td>❌</td>
|
||
<td>Audio Intelligence(情感/意图)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>AssemblyAI</td>
|
||
<td>≈1.1–1.5 元/h</td>
|
||
<td>—</td>
|
||
<td>—</td>
|
||
<td>中文含于 99 语种</td>
|
||
<td>—</td>
|
||
<td>含</td>
|
||
<td>❌</td>
|
||
<td>情感分析</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>读表结论</strong>:</p>
|
||
<ol type="1">
|
||
<li>境内四家(阿里/火山/腾讯/讯飞)在可用性、合规、单价三个维度全面优于境外四家;百度的识别率在第三方基准上掉队。</li>
|
||
<li>阿里云是"识别率 × 工程成熟度"的最稳选择;火山大模型版是"单价最低 ×
|
||
大厂背书"的高性价比选择;腾讯云附带唯一的云侧<strong>情绪识别</strong>增值,但韵律连续特征仍需旁路。</li>
|
||
<li>境外 API
|
||
只在一种情况下有意义:开发期做对照基准,或未来出海版本复用同一
|
||
<code>AsrProvider</code> 接口。</li>
|
||
</ol>
|
||
<h3 id="24-数据合规要点">2.4 数据合规要点</h3>
|
||
<ul>
|
||
<li>语音含声纹,声纹属于生物识别信息,《个人信息保护法》第二十八条将其列为<strong>敏感个人信息</strong>,处理需"特定的目的和充分的必要性,并采取严格保护措施"(<a href="https://www.cac.gov.cn/2021-08/20/c_1631050028355286.htm">官方全文,CAC
|
||
发布</a>)。ADR-0004
|
||
的"特征提取后即焚、不留声纹"正是对这一条款的架构级响应。</li>
|
||
<li>向境外 API
|
||
传输语音还触发第三章"个人信息跨境提供"的额外义务(安全评估/标准合同等),早期产品不值得为此付出合规成本。</li>
|
||
<li>境内云厂商(阿里/腾讯/字节/讯飞/百度)均提供数据处理协议与"不用于模型训练"的默认承诺,需要在开通服务时确认并留存协议文本(各厂商控制台可签,本调研未逐家抓取协议原文,列为待办)。</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="3-tauri-iosandroid-原生通路">3. Tauri iOS/Android 原生通路</h2>
|
||
<h3 id="31-iossfspeechrecognizer-能力与边界">3.1 iOS:SFSpeechRecognizer
|
||
能力与边界</h3>
|
||
<p>Apple 官方文档(<a href="https://developer.apple.com/documentation/speech/sfspeechrecognizer">SFSpeechRecognizer</a>,<a href="https://developer.apple.com/tutorials/data/documentation/speech/sfspeechrecognizer.json">DocC
|
||
数据</a>)明确:</p>
|
||
<ul>
|
||
<li><strong>"Plan for a one-minute limit on audio
|
||
duration"</strong>:框架会停止超过一分钟的识别任务——对本产品"几十秒到几分钟"的讲述场景是<strong>硬伤</strong>(可通过分段重启缓解,但体验与准确率都受损)。</li>
|
||
<li><strong>"speech recognition is a network-based
|
||
service"</strong>:按设备/按应用有每日识别限额,失败需引导用户稍后重试;部分语言必须联网。</li>
|
||
<li><code>supportsOnDeviceRecognition</code>(iOS 13+):仅部分 locale
|
||
支持完全离线;中文是否支持离线取决于系统版本与设备,不可作为承诺。</li>
|
||
<li>权限:需在 Info.plist 声明
|
||
<code>NSSpeechRecognitionUsageDescription</code> 与
|
||
<code>NSMicrophoneUsageDescription</code>,运行时弹窗授权。</li>
|
||
<li>文档还直接建议"<strong>Do not perform speech recognition on private
|
||
or sensitive information</strong>"——Apple
|
||
自己不建议把敏感语音送往其识别服务,这与本产品"个人经历讲述"的内容属性冲突。</li>
|
||
</ul>
|
||
<p><strong>Web 侧能不能直接用</strong>:不能。WebKit 工程师在官方 bug
|
||
跟踪中确认 SpeechRecognition API 在 SFSafariViewController 与主屏 Web
|
||
App(PWA)中不可用(<a href="https://bugs.webkit.org/show_bug.cgi?id=225298">WebKit Bug
|
||
225298</a>);Tauri iOS 使用 WKWebView,属同一未暴露范围。</p>
|
||
<p><strong>如果非要原生插件</strong>:Tauri 2 插件可包含 Swift
|
||
Package(<a href="https://v2.tauri.app/develop/plugins/">官方插件开发文档</a>),写一个
|
||
SFSpeechRecognizer 插件工作量约数百行 Swift,但 1
|
||
分钟限制与每日限额使其不适合做主通路。</p>
|
||
<h3 id="32-androidspeechrecognizer-能力与边界">3.2
|
||
Android:SpeechRecognizer 能力与边界</h3>
|
||
<p>AOSP 源码 <code>SpeechRecognizer.java</code> 的类注释(<a href="https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/speech/SpeechRecognizer.java">源码</a>)原文:</p>
|
||
<blockquote>
|
||
<p>"The implementation of this API is <strong>likely to stream audio to
|
||
remote servers</strong> to perform speech recognition. As such this API
|
||
is <strong>not intended to be used for continuous
|
||
recognition</strong>..."</p>
|
||
</blockquote>
|
||
<ul>
|
||
<li>即:默认实现(Google 的 RecognitionService)是云端识别;大陆发行版
|
||
ROM(无 GMS)往往没有可用的默认识别服务,行为不可控。</li>
|
||
<li><code>createOnDeviceSpeechRecognizer()</code>(API 33+)存在,但
|
||
<code>isOnDeviceRecognitionAvailable()</code>
|
||
取决于厂商配置,中文离线包是否可用因设备而异。</li>
|
||
<li>WebView 内 <code>getUserMedia</code> 需要宿主应用处理
|
||
<code>WebChromeClient.onPermissionRequest</code>
|
||
授权麦克风,否则默认拒绝(Android 官方 WebChromeClient 文档)。</li>
|
||
<li>Android 11+ 查询识别服务需在 manifest 加
|
||
<code><queries></code> 块(同上源码注释)。</li>
|
||
</ul>
|
||
<h3 id="33-tauri-2-插件机制与社区现状">3.3 Tauri 2
|
||
插件机制与社区现状</h3>
|
||
<ul>
|
||
<li>Tauri 2 官方插件机制:插件 = Cargo crate + 可选 NPM 包 + 可选
|
||
Android 库工程(Kotlin/Java)与 iOS Swift
|
||
Package;<code>npx @tauri-apps/cli plugin new --android --ios</code>
|
||
一键生成模板(<a href="https://v2.tauri.app/develop/plugins/">官方插件开发文档</a>)。</li>
|
||
<li>社区已有现成 STT 插件:<a href="https://github.com/brenogonzaga/tauri-plugin-stt">tauri-plugin-stt</a>(MIT)——桌面端用
|
||
whisper.cpp(whisper-rs,Metal/CUDA/Vulkan
|
||
可选),<strong>移动端直接委托 OS 引擎</strong>(iOS SFSpeechRecognizer
|
||
/ Android SpeechRecognizer)。它恰好印证了 3.1/3.2 的结论:移动端的 OS
|
||
引擎路线会继承 1
|
||
分钟限制与云端依赖。该插件代码可作为自写插件的模板,但不建议直接采用其移动端路径。</li>
|
||
<li>官方插件仓库(plugins-workspace)暂无 speech
|
||
插件;生态单薄,自写插件需自维护。</li>
|
||
</ul>
|
||
<h3 id="34-移动端录音的现实getusermedia--mediarecorder">3.4
|
||
移动端录音的现实:<code>getUserMedia</code> / MediaRecorder</h3>
|
||
<ul>
|
||
<li><strong>WKWebView 支持 getUserMedia 的起点是 iOS
|
||
14.3</strong>:WebKit 官方博客原文"navigator.mediaDevices.getUserMedia
|
||
can now be exposed to WKWebView applications... <strong>automatically
|
||
exposed if the embedding application is able to natively capture either
|
||
audio or video</strong>"(<a href="https://webkit.org/blog/11353/mediarecorder-api/">WebKit Blog:
|
||
MediaRecorder API</a>);此前是长期 bug(<a href="https://bugs.webkit.org/show_bug.cgi?id=208667">WebKit Bug
|
||
208667</a>)。WWDC21 亦确认"WKWebView supports getUserMedia from iOS
|
||
14.3"(<a href="https://wwdcnotes.com/documentation/wwdc21-10032-explore-wkwebview-additions/">WWDCNotes:
|
||
Explore WKWebView additions</a>)。</li>
|
||
<li>MediaRecorder 支持矩阵:macOS Safari 14.1+、iOS Safari
|
||
14.5+、Android Chrome、桌面 Chrome/Firefox 全绿,全局支持率 96.21%(<a href="https://caniuse.com/mediarecorder">caniuse
|
||
mediarecorder</a>)。</li>
|
||
<li><strong>坑清单</strong>(对 Tauri 落地):
|
||
<ol type="1">
|
||
<li>iOS 需 Info.plist 加
|
||
<code>NSMicrophoneUsageDescription</code>;Tauri 侧确认 WKWebView
|
||
配置允许媒体捕获(Tauri 默认配置通常已满足,需实测);</li>
|
||
<li><strong>Safari 系产出的录音是 <code>audio/mp4</code>(AAC),不是
|
||
webm/Opus</strong>;Android Chrome 产
|
||
<code>audio/webm;codecs=opus</code>——服务端必须用 FFmpeg 统一转码(16kHz
|
||
mono PCM)后再送 ASR;</li>
|
||
<li>Android WebView 偶发 <code>NotReadableError</code>(Fragment
|
||
化生态的已知问题),需重试与降级提示;</li>
|
||
<li>录音必须通过用户手势启动(iOS 平台要求)。</li>
|
||
</ol></li>
|
||
</ul>
|
||
<p><strong>本节结论</strong>:Tauri 手机端的正确通路是 <strong>Web 层
|
||
<code>getUserMedia</code> + MediaRecorder 录音 →
|
||
上传自有服务端</strong>,与网页端完全共用代码与服务端管线;原生 STT
|
||
插件只在"未来要做离线模式"时才值得投入。</p>
|
||
<hr />
|
||
<h2 id="4-自托管开源模型">4. 自托管开源模型</h2>
|
||
<h3 id="41-sensevoice阿里-funaudiollm重点推荐">4.1 SenseVoice(阿里
|
||
FunAudioLLM,重点推荐)</h3>
|
||
<ul>
|
||
<li><strong>能力</strong>:单模型输出 ASR + 语种识别(中/粤/英/日/韩)+
|
||
<strong>情感识别</strong>(HAPPY/SAD/ANGRY/NEUTRAL/FEARFUL/DISGUSTED/SURPRISED
|
||
七类)+
|
||
<strong>音频事件检测</strong>(BGM/掌声/笑声/哭声/咳嗽/喷嚏/呼吸等,其中"笑声/呼吸/哭泣"正是
|
||
ADR-0004 要的副语言信号);带逆文本归一化(ITN,标点数字规范化)(<a href="https://github.com/FunAudioLLM/SenseVoice">README</a>,<a href="https://arxiv.org/abs/2407.04051">论文
|
||
arXiv:2407.04051</a>)。</li>
|
||
<li><strong>速度与部署</strong>:非自回归端到端架构,同参数量下推理比
|
||
Whisper-Small 快 5 倍以上、比 Whisper-Large 快 15 倍以上(<a href="https://github.com/FunAudioLLM/SenseVoice">README 基准</a>);提供
|
||
FunASR Python 服务、FastAPI 容器、<strong>llama.cpp GGUF
|
||
单机二进制</strong>(内置 FSMN-VAD,无需 Python,<a href="https://www.funasr.com/llama-cpp.html">runtime 说明</a>,<a href="https://huggingface.co/FunAudioLLM/SenseVoiceSmall-GGUF">GGUF
|
||
权重</a>);官方明确"中文与粤语识别优于 Whisper"(同 README
|
||
基准图)。</li>
|
||
<li><strong>端侧</strong>:<a href="https://k2-fsa.github.io/sherpa/onnx/sense-voice/index.html">sherpa-onnx
|
||
官方支持 SenseVoice</a>,可跑 iOS/Android/Raspberry
|
||
Pi,十种语言绑定——给"未来端侧离线"留了路。</li>
|
||
<li><strong>许可</strong>:代码 MIT;权重采用 FunASR
|
||
模型开源许可,官方澄清<strong>允许商用</strong>(需遵守署名与模型命名要求)(<a href="https://github.com/QwenAudio/SenseVoice/issues/334#issuecomment-5083546605">许可说明</a>)。上线前请律师过一遍
|
||
MODEL_LICENSE 文本。</li>
|
||
<li><strong>局限</strong>:单次推理上限约 30 秒音频,长音频必须 VAD
|
||
切分(README 提供 FSMN-VAD 组合方案与无 VAD
|
||
的定长滑窗脚本);情感/事件标签的效度数据来自作者自测基准,缺第三方复现。</li>
|
||
</ul>
|
||
<h3 id="42-paraformer阿里">4.2 Paraformer(阿里)</h3>
|
||
<p>非自回归工业级中文 ASR(FunASR 生态默认中文模型),SenseVoice
|
||
的同门前辈;阿里云百炼把它作为 API 出售(0.288 元/小时,见
|
||
2.2),模型本身在 ModelScope 开源(<a href="https://www.modelscope.cn/models/damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch/summary">模型页</a>)。长音频需配
|
||
VAD。若自托管,优先考虑
|
||
SenseVoiceSmall(同生态、多情感事件输出、更快)。</p>
|
||
<h3 id="43-whisper-large-v3--faster-whisper--whispercpp">4.3 Whisper
|
||
large-v3 / faster-whisper / whisper.cpp</h3>
|
||
<ul>
|
||
<li><strong>中文长口语表现</strong>:Whisper
|
||
是通用多语模型,中文并非其最优语种;SpeechIO 中文榜未收录
|
||
Whisper(跑分成本高),阿里 SenseVoice 基准显示其中文识别优于
|
||
Whisper-Small/Large(<a href="https://github.com/FunAudioLLM/SenseVoice">SenseVoice
|
||
README</a>)。社区共识的额外问题:长静音/低质量音频下的<strong>幻觉</strong>(编造文本)风险,需要通过
|
||
VAD 与 no_speech 阈值压制。</li>
|
||
<li><strong>faster-whisper</strong>(CTranslate2):同精度下比官方
|
||
openai/whisper 快 4 倍;官方基准——large-v2 在 RTX 3070 Ti 上转写 13
|
||
分钟音频 fp16 1m03s(约 12 倍实时)、int8 batch=8 仅 16s;small 模型纯
|
||
CPU(i7-12700K)int8 batch=8 为 51s(约 15 倍实时)(<a href="https://github.com/SYSTRAN/faster-whisper">README 基准</a>)。GPU
|
||
仅需 cuBLAS/cuDNN,无需 FFmpeg(PyAV 内置)。</li>
|
||
<li><strong>whisper.cpp</strong>:纯 C/C++,内存占用 tiny 273MB / base
|
||
388MB / small 852MB / medium 2.1GB / large 3.9GB(<a href="https://github.com/ggml-org/whisper.cpp">README
|
||
内存表</a>);Apple Silicon 有 Metal/Core ML(encoder 走 ANE 比纯 CPU 快
|
||
3 倍以上);官方 iOS/Android/WASM 示例;内置 Silero-VAD 支持。</li>
|
||
<li><strong>定位</strong>:若自托管,Whisper
|
||
系适合"多语种混杂"场景;纯中文叙事场景,SenseVoiceSmall 是更优解。</li>
|
||
</ul>
|
||
<h3 id="44-sherpa-onnx-端侧部署">4.4 sherpa-onnx 端侧部署</h3>
|
||
<p><a href="https://github.com/k2-fsa/sherpa-onnx">k2-fsa/sherpa-onnx</a>:ONNX
|
||
Runtime 驱动的离线 ASR,支持 Zipformer/Paraformer/SenseVoice/Whisper
|
||
等模型,覆盖 iOS/Android/树莓派/桌面,WASM 版见 1.2。移动端"录音 +
|
||
端侧转写 + 只上传文本"的极端隐私模式可以用它实现,代价是 App
|
||
包体增加数百 MB(模型文件)——建议作为二期选项。</p>
|
||
<h3 id="45-自托管成本估算与-23-对照">4.5 自托管成本估算(与 2.3
|
||
对照)</h3>
|
||
<p>量级假设:300 DAU × 4 分钟/日 ≈ <strong>600
|
||
转写小时/月</strong>。</p>
|
||
<ul>
|
||
<li><strong>云端</strong>:火山豆包大模型 0.8 元/h → <strong>约 480
|
||
元/月</strong>;阿里云按量 2.5 元/h → 约 1500 元/月;阿里云 1000h 资源包
|
||
→ 约 720 元/月;讯飞套餐二 → 约 1200 元/月。</li>
|
||
<li><strong>自托管</strong>:SenseVoiceSmall 官方口径比 Whisper-Small 快
|
||
5 倍以上;即便保守按"Whisper-Small 级 CPU 吞吐 ~15 倍实时"(<a href="https://github.com/SYSTRAN/faster-whisper">faster-whisper CPU
|
||
基准</a>)打五折算,单核也能做到约 7 倍实时 → 600 小时音频约需 86
|
||
核·小时/月,<strong>一台 4 核 CPU
|
||
云主机(约百元/月量级)富富有余</strong>。GPU
|
||
都不需要。(此为推算,非官方基准;落地前用真实样本实测 RTF。)</li>
|
||
<li>结论:几百 DAU
|
||
阶段两者都便宜;云的隐性成本是接入与对账工作量,自托管的隐性成本是运维。推荐<strong>云为主、自托管为兜底</strong>,<code>AsrProvider</code>
|
||
接口切换成本很低。</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="5-韵律特征旁路">5. 韵律特征旁路</h2>
|
||
<p>需求回顾(ADR-0004):语速、停顿分布、音高变化范围、能量、填充词频率、情绪唤醒度、笑/叹息等副语言信号;存储为<strong>不可逆统计向量</strong>,不含声纹。</p>
|
||
<h3 id="51-端上提取web-audio-api--原生">5.1 端上提取(Web Audio API /
|
||
原生)</h3>
|
||
<ul>
|
||
<li><strong>能量/RMS/过零率</strong>:Web Audio
|
||
<code>AnalyserNode</code>(原生 API,<a href="https://webaudio.github.io/web-audio-api/">W3C Web Audio
|
||
规范</a>)+ <a href="https://github.com/meyda/meyda">meyda</a>(JS
|
||
音频特征库,支持 Web Audio 实时提取)。</li>
|
||
<li><strong>音高(F0)</strong>:<a href="https://github.com/marl/crepe">CREPE</a>(MIT
|
||
许可的深度学习音高模型,有 ONNX 导出与 TF.js
|
||
生态,第三方项目确认其许可与权重来源);纯算法可用
|
||
YIN/自相关自行实现。</li>
|
||
<li><strong>优点</strong>:原始音频<strong>不出端</strong>,"即焚"在最强意义上成立;零服务端算力。</li>
|
||
<li><strong>缺点</strong>:浏览器/WebView 间数值一致性需自行校准;移动端
|
||
WebView
|
||
后台节流;音高提取对录音质量敏感;与转写文本的时间对齐需要自己维护。适合做<strong>粗粒度能量/语速</strong>,音高等精细特征建议服务端做。</li>
|
||
</ul>
|
||
<h3 id="52-服务端提取">5.2 服务端提取</h3>
|
||
<ul>
|
||
<li><strong><a href="https://github.com/YannickJadoul/Parselmouth">parselmouth</a></strong>:Praat
|
||
的 C/C++ 算法原封不动暴露给 Python(<code>to_pitch()</code>
|
||
自相关法、<code>to_intensity()</code>
|
||
等),音高/强度/共振峰的学术标准实现。许可
|
||
GPLv3+——服务端内部使用不构成"分发",通常可接受,上线前法务确认。</li>
|
||
<li><strong>FFmpeg 滤镜</strong>:官方滤镜文档确认 <a href="https://ffmpeg.org/ffmpeg-filters.html#silencedetect"><code>silencedetect</code></a>(静音段检测→停顿分布)、<a href="https://ffmpeg.org/ffmpeg-filters.html#ebur128"><code>ebur128</code></a>(响度/能量,BS.1770)、<a href="https://ffmpeg.org/ffmpeg-filters.html#astats"><code>astats</code></a>(统计特征)——零额外依赖即可拿到能量与停顿;音高仍需
|
||
parselmouth/CREPE 类工具。</li>
|
||
<li><strong><a href="https://github.com/audeering/opensmile">openSMILE</a></strong>(GeMAPS/eGeMAPS
|
||
特征集,语音情感研究标准工具):<strong>注意许可陷阱</strong>——开源版"不允许用于任何类型的商业产品",商用需购买
|
||
audEERING 商业许可(<a href="https://github.com/audeering/opensmile">README
|
||
许可段</a>)。本产品应直接避开。</li>
|
||
<li><strong>ASR 附带的免费午餐</strong>:SenseVoiceSmall
|
||
的情感标签与事件标签(笑声/哭泣/呼吸/咳嗽)可直接映射 ADR-0004
|
||
的"情绪唤醒度、笑/叹息"字段;腾讯云情绪识别增值(0.85
|
||
元/h)是云侧替代(<a href="https://cloud.tencent.com/document/product/1093/35686">腾讯计费</a>)。二者都是离散标签,<strong>不能替代</strong>连续的音高/能量统计。</li>
|
||
</ul>
|
||
<h3 id="53-与即焚纪律的兼容设计">5.3 与"即焚"纪律的兼容设计</h3>
|
||
<ol type="1">
|
||
<li>服务端接收音频后全程<strong>内存处理</strong>:解码(FFmpeg 管道)→
|
||
分支 A 送 ASR、分支 B 送韵律提取 → 汇总(文本 + 统计向量)→
|
||
释放缓冲,任何环节不落盘(含临时文件用
|
||
<code>tmpfs</code>/内存管道)。</li>
|
||
<li>特征只存<strong>聚合统计量</strong>(均值/方差/分位数/时长比),不存音高轮廓原始序列——音高随时间的曲线具有个体可辨识性,聚合后即不可逆。</li>
|
||
<li>转写文本与特征的关联通过讲述事件 ID,音频本身无
|
||
ID、无日志留存。</li>
|
||
<li>拒绝任何"声纹/说话人身份"类输出:说话人分离(diarization)与声纹识别(speaker
|
||
verification)在本产品是明确禁区——注意阿里/腾讯的说话人分离参数<strong>不要开启</strong>(单用户讲述场景本来也不需要)。</li>
|
||
</ol>
|
||
<hr />
|
||
<h2 id="6-推荐架构">6. 推荐架构</h2>
|
||
<h3 id="61-总体一条管线两个端复用">6.1 总体:一条管线,两个端复用</h3>
|
||
<pre><code>[网页端 / Tauri iOS / Tauri Android]
|
||
│ getUserMedia + MediaRecorder(用户手势启动)
|
||
│ 录音 blob(webm/opus 或 mp4/aac,视平台)
|
||
▼
|
||
[自有服务端 Hono] POST /api/asr(沿用现有路由与 AsrProvider 接口)
|
||
│ ① FFmpeg 转码:16kHz mono PCM(全程内存管道)
|
||
├─②a ASR 分支:AsrProvider.transcribe()
|
||
│ 主:阿里云 NLS 录音文件识别 / 火山豆包大模型(可配置切换)
|
||
│ 备:自托管 SenseVoiceSmall(FunASR / llama.cpp)
|
||
├─②b 韵律分支:FFmpeg silencedetect + ebur128(停顿/能量)
|
||
│ + parselmouth(音高统计)[+ SenseVoice 情感/事件标签]
|
||
│ ③ 结果聚合 → { transcript, prosody_stats, emo_tags }
|
||
│ ④ 音频缓冲立即释放(即焚);结果按 ADR-0004 落库
|
||
▼
|
||
[可编辑文本框回填](沿用 VoiceInput 的"确认后才提交"UX)</code></pre>
|
||
<h3 id="62-网页端">6.2 网页端</h3>
|
||
<ul>
|
||
<li><strong>主通路</strong>:MediaRecorder 录音 → 上传(现有通路 2
|
||
代码基本不动,换真实 provider)。</li>
|
||
<li><strong>可选"零上传"模式</strong>:保留
|
||
<code>SpeechRecognition</code> 通路作为隐私偏好选项,UI
|
||
上明确标注"识别由浏览器/系统提供";桌面 Chrome(网络允许时)与 Safari
|
||
可用。主线不再依赖它。</li>
|
||
<li>保留纯文本兜底(现状已正确)。</li>
|
||
</ul>
|
||
<h3 id="63-tauri-手机端">6.3 Tauri 手机端</h3>
|
||
<ul>
|
||
<li>不引原生 STT 插件;iOS/Android 都走
|
||
<code>getUserMedia</code>+MediaRecorder 录音上传(WKWebView iOS 14.3+
|
||
已支持 getUserMedia,<a href="https://webkit.org/blog/11353/mediarecorder-api/">WebKit
|
||
Blog</a>)。</li>
|
||
<li>权限配置:iOS <code>NSMicrophoneUsageDescription</code>;Android
|
||
<code>RECORD_AUDIO</code> + WebView 的 <code>onPermissionRequest</code>
|
||
处理(Tauri 默认 WebView 配置需实测验证一次)。</li>
|
||
<li>服务端兼容 <code>audio/mp4</code>(Safari/WKWebView 产物)与
|
||
<code>audio/webm</code>(Android/Chrome 产物)双格式,统一转码。</li>
|
||
<li>二期可选:sherpa-onnx 端侧 SenseVoice 离线模式(包体换隐私)。</li>
|
||
</ul>
|
||
<h3 id="64-服务端接入要点">6.4 服务端接入要点</h3>
|
||
<ul>
|
||
<li><code>server/src/asr/provider.ts</code> 的 <code>AsrProvider</code>
|
||
接口无需改动,新增两个实现:<code>AliyunFileAsrProvider</code>、<code>VolcanoFileAsrProvider</code>,外加
|
||
<code>SenseVoiceProvider</code>(HTTP 调本地 FunASR 服务或 llama.cpp
|
||
server)。路由层加一个 provider 选择的环境变量即可。</li>
|
||
<li>阿里云为异步(提交+轮询),对产品"容忍 2–5
|
||
秒延迟"完全够用(转写通常秒级返回;闲时版保证 24h
|
||
内,不可用为主力);火山大模型版同为 submit/query。</li>
|
||
<li>韵律分支与 ASR 分支并行(Promise.all),超时与降级互不影响。</li>
|
||
<li>即焚实现:流式处理 + 不落盘 +
|
||
单元测试断言"处理后磁盘无音频文件"。</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="7-风险与开放问题">7. 风险与开放问题</h2>
|
||
<ol type="1">
|
||
<li><strong>厂商"用客户音频训练"条款</strong>:各家默认承诺不一(尤其免费额度阶段),开通时须逐家确认数据处理协议并留存;免费档通常允许改进模型,付费/企业档可关闭——需要商务确认(待办,未在本次调研逐家抓取协议原文)。</li>
|
||
<li><strong>榜单时效</strong>:SpeechIO 数据为
|
||
2025.01,火山缺席、各厂"大模型版"未覆盖;<strong>必须用自有讲述样本(情感化口语、随意语法)做一次
|
||
4 家盲测</strong>再最终定主 provider(建议样本 ≥30 分钟)。</li>
|
||
<li><strong>Web Speech 国内实测</strong>:Chrome 走 Google
|
||
服务的实际可达性与识别质量需在我们目标网络环境实测;Safari
|
||
桌面端"零上传"模式需验证 Siri 未开启时的失败提示文案。</li>
|
||
<li><strong>Tauri Android 麦克风授权链</strong>:WebView
|
||
<code>onPermissionRequest</code> 在 Tauri 2 的默认实现是否直通 Android
|
||
运行时权限,需要真机验证(华为/小米/OPPO 各一)。</li>
|
||
<li><strong>SenseVoice
|
||
情感标签效度</strong>:七类情感与"情绪唤醒度"的映射关系需要心理学顾问校准;笑/叹息事件可先从
|
||
AED 标签直接采用。</li>
|
||
<li><strong>方言/口音</strong>:默认"普通话 +
|
||
轻度口音"假设;重度方言用户(粤语等)在讯飞上体验最好,可作为后期
|
||
provider 策略维度(讯飞免费企业包 50h/年可作补充通道)。</li>
|
||
<li><strong>成本临界点</strong>:DAU 涨到数千时,自托管比重上升(云约
|
||
0.7–2.5 元/h vs 自托管接近电费);<code>AsrProvider</code>
|
||
抽象保证切换成本可控。</li>
|
||
<li><strong>openSMILE 许可</strong>:开源版禁商用,已排除;若未来需要
|
||
GeMAPS 标准特征集,要么买商业许可,要么用 parselmouth 复现核心
|
||
LLD。</li>
|
||
<li><strong>即焚的审计</strong>:建议加一条服务端日志规范——只记录"转写时长、耗时、特征维度数"等元数据,绝不记录音频哈希之外的可回放标识。</li>
|
||
<li><strong>iOS 录音中断</strong>:来电/锁屏导致的 MediaRecorder
|
||
停止需前端兜底(现状 onstop 已处理 blob 收尾,验证中断时 blob
|
||
完整性即可)。</li>
|
||
</ol>
|
||
<hr />
|
||
<h2 id="附录来源清单按章节">附录:来源清单(按章节)</h2>
|
||
<p><strong>浏览器侧</strong></p>
|
||
<ul>
|
||
<li>W3C Web Speech API 草案:<a href="https://w3c.github.io/speech-api/">https://w3c.github.io/speech-api/</a></li>
|
||
<li>caniuse SpeechRecognition 数据与注记:<a href="https://caniuse.com/speech-recognition">https://caniuse.com/speech-recognition</a></li>
|
||
<li>Chromium 语音识别网络引擎源码(Google 后端实证):<a href="https://github.com/chromium/chromium/blob/main/content/browser/speech/network_speech_recognition_engine_impl.cc">https://github.com/chromium/chromium/blob/main/content/browser/speech/network_speech_recognition_engine_impl.cc</a></li>
|
||
<li>WebKit Bug 225298(WKWebView/SFSafariViewController 不可用):<a href="https://bugs.webkit.org/show_bug.cgi?id=225298">https://bugs.webkit.org/show_bug.cgi?id=225298</a></li>
|
||
<li>whisper.cpp WASM 示例 README(性能/上限/体积):<a href="https://github.com/ggml-org/whisper.cpp/tree/master/examples/whisper.wasm">https://github.com/ggml-org/whisper.cpp/tree/master/examples/whisper.wasm</a></li>
|
||
<li>whisper.cpp WASM 在线 demo:<a href="https://ggml.ai/whisper.cpp/">https://ggml.ai/whisper.cpp/</a></li>
|
||
<li>sherpa-onnx WASM 文档与 demo 列表:<a href="https://k2-fsa.github.io/sherpa/onnx/wasm/index.html">https://k2-fsa.github.io/sherpa/onnx/wasm/index.html</a></li>
|
||
<li>ONNX Runtime Web 教程(WebGPU/WebNN):<a href="https://onnxruntime.ai/docs/tutorials/web/">https://onnxruntime.ai/docs/tutorials/web/</a></li>
|
||
<li>caniuse MediaRecorder:<a href="https://caniuse.com/mediarecorder">https://caniuse.com/mediarecorder</a></li>
|
||
<li>WebKit Blog: MediaRecorder API(WKWebView getUserMedia, iOS
|
||
14.3):<a href="https://webkit.org/blog/11353/mediarecorder-api/">https://webkit.org/blog/11353/mediarecorder-api/</a></li>
|
||
<li>WebKit Bug 208667(getUserMedia 在 WKWebView 的历史问题):<a href="https://bugs.webkit.org/show_bug.cgi?id=208667">https://bugs.webkit.org/show_bug.cgi?id=208667</a></li>
|
||
</ul>
|
||
<p><strong>云端 ASR</strong></p>
|
||
<ul>
|
||
<li>SpeechIO 中文 ASR 排行榜(2025.01 CER):<a href="https://github.com/SpeechColab/Leaderboard">https://github.com/SpeechColab/Leaderboard</a></li>
|
||
<li>阿里云 NLS 计费:<a href="https://help.aliyun.com/zh/isi/getting-started/billing-10">https://help.aliyun.com/zh/isi/getting-started/billing-10</a></li>
|
||
<li>阿里云录音文件识别 API(512MB/12h):<a href="https://www.alibabacloud.com/help/zh/isi/developer-reference/api-reference-2">https://www.alibabacloud.com/help/zh/isi/developer-reference/api-reference-2</a></li>
|
||
<li>阿里云免费试用说明:<a href="https://help.aliyun.com/zh/isi/getting-started/start-here">https://help.aliyun.com/zh/isi/getting-started/start-here</a></li>
|
||
<li>火山引擎豆包语音计费:<a href="https://www.volcengine.com/docs/6561/1359370">https://www.volcengine.com/docs/6561/1359370</a>
|
||
;<a href="https://www.volcengine.com/docs/DoubaoVoice/BillingOverview-15">https://www.volcengine.com/docs/DoubaoVoice/BillingOverview-15</a>
|
||
;接入必读:<a href="https://docs.volcengine.com/docs/DoubaoVoice/Accessmust-read?lang=zh">https://docs.volcengine.com/docs/DoubaoVoice/Accessmust-read?lang=zh</a></li>
|
||
<li>腾讯云 ASR 计费概述(含免费额度、情绪识别增值):<a href="https://cloud.tencent.com/document/product/1093/35686">https://cloud.tencent.com/document/product/1093/35686</a>
|
||
;极速版限制:<a href="https://cloud.tencent.com/document/product/1093/52097">https://cloud.tencent.com/document/product/1093/52097</a></li>
|
||
<li>讯飞语音转写产品页与价格:<a href="https://www.xfyun.cn/services/lfasr">https://www.xfyun.cn/services/lfasr</a>
|
||
;API 限制:<a href="https://www.xfyun.cn/doc/asr/lfasr/API.html">https://www.xfyun.cn/doc/asr/lfasr/API.html</a>
|
||
;会员试用价格:<a href="https://www.xfyun.cn/doc/member/trial.html">https://www.xfyun.cn/doc/member/trial.html</a></li>
|
||
<li>百度语音价格:<a href="https://ai.baidu.com/ai-doc/SPEECH/Tldjm0i4c">https://ai.baidu.com/ai-doc/SPEECH/Tldjm0i4c</a></li>
|
||
<li>OpenAI API 定价(transcription 系列):<a href="https://platform.openai.com/docs/pricing">https://platform.openai.com/docs/pricing</a></li>
|
||
<li>Groq Speech-to-Text(价格/限制/WER):<a href="https://console.groq.com/docs/speech-to-text">https://console.groq.com/docs/speech-to-text</a></li>
|
||
<li>Deepgram 定价:<a href="https://deepgram.com/pricing">https://deepgram.com/pricing</a></li>
|
||
<li>AssemblyAI 定价:<a href="https://www.assemblyai.com/pricing">https://www.assemblyai.com/pricing</a></li>
|
||
<li>《个人信息保护法》全文(CAC):<a href="https://www.cac.gov.cn/2021-08/20/c_1631050028355286.htm">https://www.cac.gov.cn/2021-08/20/c_1631050028355286.htm</a></li>
|
||
</ul>
|
||
<p><strong>Tauri 移动端</strong></p>
|
||
<ul>
|
||
<li>Apple SFSpeechRecognizer 文档(1 分钟限制/限额/离线属性):<a href="https://developer.apple.com/documentation/speech/sfspeechrecognizer">https://developer.apple.com/documentation/speech/sfspeechrecognizer</a></li>
|
||
<li>AOSP SpeechRecognizer 源码(远端服务器注释/on-device API):<a href="https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/speech/SpeechRecognizer.java">https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/speech/SpeechRecognizer.java</a></li>
|
||
<li>Tauri 2 插件开发文档:<a href="https://v2.tauri.app/develop/plugins/">https://v2.tauri.app/develop/plugins/</a></li>
|
||
<li>社区插件 tauri-plugin-stt:<a href="https://github.com/brenogonzaga/tauri-plugin-stt">https://github.com/brenogonzaga/tauri-plugin-stt</a></li>
|
||
<li>WWDCNotes: Explore WKWebView additions(iOS 14.3 getUserMedia):<a href="https://wwdcnotes.com/documentation/wwdc21-10032-explore-wkwebview-additions/">https://wwdcnotes.com/documentation/wwdc21-10032-explore-wkwebview-additions/</a></li>
|
||
</ul>
|
||
<p><strong>自托管开源模型</strong></p>
|
||
<ul>
|
||
<li>SenseVoice(能力/基准/许可/部署):<a href="https://github.com/FunAudioLLM/SenseVoice">https://github.com/FunAudioLLM/SenseVoice</a>
|
||
;论文:<a href="https://arxiv.org/abs/2407.04051">https://arxiv.org/abs/2407.04051</a>
|
||
;llama.cpp 运行时:<a href="https://www.funasr.com/llama-cpp.html">https://www.funasr.com/llama-cpp.html</a>
|
||
;GGUF:<a href="https://huggingface.co/FunAudioLLM/SenseVoiceSmall-GGUF">https://huggingface.co/FunAudioLLM/SenseVoiceSmall-GGUF</a>
|
||
;许可澄清:<a href="https://github.com/QwenAudio/SenseVoice/issues/334#issuecomment-5083546605">https://github.com/QwenAudio/SenseVoice/issues/334#issuecomment-5083546605</a></li>
|
||
<li>FunASR:<a href="https://github.com/modelscope/FunASR">https://github.com/modelscope/FunASR</a></li>
|
||
<li>sherpa-onnx SenseVoice 支持:<a href="https://k2-fsa.github.io/sherpa/onnx/sense-voice/index.html">https://k2-fsa.github.io/sherpa/onnx/sense-voice/index.html</a></li>
|
||
<li>Paraformer 模型页:<a href="https://www.modelscope.cn/models/damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch/summary">https://www.modelscope.cn/models/damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch/summary</a></li>
|
||
<li>whisper.cpp(内存表/平台/Core ML):<a href="https://github.com/ggml-org/whisper.cpp">https://github.com/ggml-org/whisper.cpp</a></li>
|
||
<li>faster-whisper(基准):<a href="https://github.com/SYSTRAN/faster-whisper">https://github.com/SYSTRAN/faster-whisper</a></li>
|
||
<li>OpenAI Whisper:<a href="https://github.com/openai/whisper">https://github.com/openai/whisper</a></li>
|
||
</ul>
|
||
<p><strong>韵律特征</strong></p>
|
||
<ul>
|
||
<li>meyda(JS 特征提取):<a href="https://github.com/meyda/meyda">https://github.com/meyda/meyda</a></li>
|
||
<li>CREPE(音高模型,MIT):<a href="https://github.com/marl/crepe">https://github.com/marl/crepe</a></li>
|
||
<li>parselmouth(Praat in Python):<a href="https://github.com/YannickJadoul/Parselmouth">https://github.com/YannickJadoul/Parselmouth</a></li>
|
||
<li>openSMILE(注意商用许可限制):<a href="https://github.com/audeering/opensmile">https://github.com/audeering/opensmile</a></li>
|
||
<li>FFmpeg 滤镜(silencedetect / ebur128 / astats):<a href="https://ffmpeg.org/ffmpeg-filters.html">https://ffmpeg.org/ffmpeg-filters.html</a></li>
|
||
</ul>
|
||
</body>
|
||
</html>
|