自托管语音转文字:Google / AWS / Azure 云语音 API 的免费开源替代

Google Cloud Speech-to-Text、AWS Transcribe、Azure Speech 这些云语音 API 很好用——全托管、自动扩容、免运维。但当用量上去、或对数据合规有要求时,它们的短板也很明显:按分钟计费(规模化后很贵)、音频要上传到厂商云(隐私/合规/数据驻留问题)、有速率限制、离不开网络、难以定制

FunASR(通义实验室开源)是一个成熟的自托管替代:开源免费(MIT,可商用)、跑在你自己的机器上(可完全离线)、不按分钟计费、数据不出内网,中文与亚洲语种尤其强,并提供 OpenAI 兼容接口,迁移成本极低。下面是真实可跑的上手代码。

4 行代码,本地转写(实测输出)

pip install funasr

from funasr import AutoModel
from funasr.utils.postprocess_utils import rich_transcription_postprocess

model = AutoModel(model="iic/SenseVoiceSmall", disable_update=True)  # 没 GPU 自动用 CPU
res = model.generate(input="audio.wav", language="auto", use_itn=True)

print(rich_transcription_postprocess(res[0]["text"]))
# 欢迎大家来体验达摩院推出的语音识别模型。

模型首次运行自动下载,之后全程在本地推理——没有 API key、没有按分钟账单、音频不上传任何云

已经在用云 API?换 base_url 即可迁移

FunASR 自带 OpenAI 兼容的转写服务,如果你的应用已经在调云厂商 SDK,通常只需把 base_url 指向自己的服务:

# 起一个本地服务(OpenAI 兼容 /v1/audio/transcriptions)
funasr-server --model sensevoice --device cuda

# 客户端:OpenAI SDK 直接连本地,改一行 base_url
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="not-needed")
text = client.audio.transcriptions.create(model="sensevoice", file=open("audio.wav","rb")).text

FunASR vs 云语音 API

FunASR(自托管)云 STT(Google/AWS/Azure)
计费开源免费,只有固定机器成本按分钟计费,随用量线性增长
数据留在你自己服务器(可离线)音频上传到厂商云
部署自己跑(pip / Docker)全托管,零运维
语种50+,中文/亚洲语种很强多语种(各厂不同)
说话人分离✅ 内置(cam++)✅(额外计费/配置)
情感 / 音频事件✅(SenseVoice)多数 ❌
定制 / 微调✅ 完整模型权限有限
离线 / 内网隔离
许可证开源,可商用闭源

需要说句公道话:如果你要的是零运维、按需弹性、不想管机器,托管云 API 仍然是省心之选。FunASR 的取舍是——你用一台自己的机器,换来可控成本、数据私有、可离线、可定制

什么时候自托管更划算

云 STT 一般按音频分钟计费(各厂/各档大致 每音频小时 $0.6 ~ $1.5)。也就是说处理 1000 小时/月大约 $600 ~ $1500/月,且随用量线性上涨;而一台自托管 FunASR 实例是固定的机器成本,与转写量基本无关。当你满足以下任一条,自托管通常更优:

想进一步看:与 OpenAI Whisper API 的对比见 自托管 Whisper API 替代;与 Deepgram/AssemblyAI 的对比见 Deepgram/AssemblyAI 替代;中文准确率见 FunASR vs Whisper benchmark;不确定选哪个模型看 模型选型指南

FunASR 全家桶都是开源的(MIT)——工业级 ASR / VAD / 标点 / 说话人 / 情感事件 / LLM-ASR,自托管、可商用。觉得有用就点个 Star 支持一下 👇

⭐ Star FunASR

也欢迎 Star:SenseVoice · Fun-ASR · FunClip

相关文章