游乐游手机版
首页/AI热点日报/热点详情

火山引擎语音识别怎么用:语音转文字操作教程

类型:热点整理2026-08-21
通过直接调用火山引擎 ASR 语音识别服务,通常可在 5 分钟内获得结构化文本结果;前提是先开通服务并获取 Access Key 与 Resource ID。平台既支持异步提交音频(可传 URL 或本地文件)后轮询识别结果,也支持通过 WebSocket 实现实时流式语音识别。如果你想在项目中快速接

通过直接调用火山引擎 ASR 语音识别服务,通常可在 5 分钟内获得结构化文本结果;前提是先开通服务并获取 Access Key 与 Resource ID。平台既支持异步提交音频(可传 URL 或本地文件)后轮询识别结果,也支持通过 WebSocket 实现实时流式语音识别。

火山引擎语音识别怎么用 火山引擎语音转文字教程

如果你想在项目中快速接入高准确率的语音转文字能力,直接调用火山引擎 ASR 服务通常是最高效的方案——无需自行训练模型,也不用搭建 GPU 集群,只要提交音频链接或通过流式方式上传音频,通常 5 分钟内就能获取结构化的语音转文字结果。

开通服务与获取凭证

登录火山引擎控制台,进入「智能语音」服务页面,点击「立即开通」即可启用语音识别(ASR)服务。企业实名认证为必选项;个人开发者虽然可以跳过资质审核,但单日 API 调用次数会受到一定限制。

开通完成后,进入「Access Key 管理」页面,创建一对 【X-Api-Access-Key】 和 【X-Api-App-Key】。这两个密钥会用于后续所有 API 请求签名,务必妥善保管,不要将其硬编码到前端页面或客户端代码中。

接着在「语音识别」→「应用管理」中创建新应用,可根据业务需求选择「录音文件识别标准版」或「大模型录音文件识别」。创建成功后,记录系统分配的 【X-Api-Resource-Id】,例如 volc.bigasr.auc。不同语音识别服务对应的 Resource ID 并不相同,若填写错误,接口通常会返回 403 拒绝访问。

提交音频任务(异步方式)

方法一:使用 Python 提交 MP3 远程音频链接

你需要准备一个可在公网直接访问的音频 URL,例如 OSS、七牛云或 GitHub Raw 链接都可以使用。但需要注意,音频格式必须为 mp3/wa v/flac,且时长不能超过 6 小时。调用 submit 接口时,请求头中的 X-Api-Request-Id 为必填项,建议使用 uuid4 生成唯一请求 ID,这样在重试请求时,才不容易被系统识别为重复任务。

方法二:本地文件直传(适合小体积音频文件)

可通过构造 multipart/form-data 请求,将音频文件作为 file 字段直接上传。这里要特别注意,audio.format 参数必须与实际音频格式严格一致,例如 wa v 不能误写成 wa ve,否则接口会返回错误码 40000003。

轮询识别状态并获取结果

第一步:使用上一步返回的 task_id 调用 status 状态查询接口

请求地址:https://openspeech.bytedance.com/api/v3/auc/bigmodel/status

建议每 2 秒轮询一次,直到响应头中的 X-Api-Status-Code 变为 20000000,同时响应体 body 内的 status 字段显示为 success。

第二步:状态准备完成后,立即调用 result 接口获取最终语音转写文本

请求地址:https://openspeech.bytedance.com/api/v3/auc/bigmodel/result

接口响应体为标准 JSON,核心识别内容位于 result.text 字段中;如果开启了 show_utterances,还会额外返回带时间戳的分句片段数组,适合用于字幕生成、语音内容定位或重点语句高亮展示。

流式语音识别(实时场景)

这一方式适用于会议系统、语音助手、实时字幕等对低延迟有要求的场景,需要先建立 WebSocket 连接。

连接地址:wss://ai-gateway.vei.volces.com/v1/realtime?model=bigmodel

建立连接后,必须第一时间发送 transcription_session.update 事件,否则服务端不会处理后续传入的音频帧。另外,该事件中的 session.sample_rate 必须设置为 16000,否则语音识别准确率会明显下降。

音频数据需要以 base64 编码后的 PCM 16-bit 小端格式分块推送,每个分块建议控制在 200ms 左右(即 3200 字节)。过短会增加传输和建连开销,过长则会提升首字返回延迟,影响实时语音转文字体验。

服务端会通过 conversation.item.input_audio_transcription.result 持续推送中间识别结果,而一轮识别是否结束,则由 conversation.item.input_audio_transcription.completed 事件进行标识。当该标识表明当前轮次结束时,text 字段中的内容就是最终确认的文本,此时即可放心写入数据库,或触发后续业务处理逻辑。

来源:https://www.php.cn/faq/3018167.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。