语音转文字(ASR),基于火山引擎 BigModel ASR,提供极速版(≤2h/100MB,同步快速返回)和标准版(≤5h,异步识别)两种模式。支持飞书语音消息、本地音频文件及音频 URL,适用于 .ogg/.mp3/.wav 附件。
Voice to Text Skill是一项面向实际任务的技能,主要用于基于火山引擎 BigModel ASR 将语音转为文字;准确率和多语言能力远优于本地 whisper,且速度更快;
先跑 inspect_audio.py;再按时长、大小、URL/本地路径选择 asr_flash.py (极速版)。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
基于火山引擎 BigModel ASR 将语音转为文字。准确率和多语言能力远优于本地 whisper,且速度更快。
message_type: audio),需要自动识别语音内容inspect_audio.pyasr_flash.py(极速版)或 asr_standard.py(标准版)ensure_ffmpeg.py --execute当你收到语音消息或音频文件附件时:
whisper 命令或 openai-whisper skillpython3 /scripts/inspect_audio.py "" python3 /scripts/ensure_ffmpeg.py --execute ,只有失败后才向用户求助cd 到本技能目录:skills/byted-voice-to-text。| 条件 | 脚本 |
|---|---|
| 时长 ≤ 2h 且 大小 ≤ 100MB | asr_flash.py --file " (极速版,同步快速返回) |
| 2h < 时长 ≤ 5h | asr_standard.py --file " (标准版,异步 submit+poll) |
| 时长 > 5h | 不支持,先切片后逐片走极速版 |
| 无法获取时长 且 大小 ≤ 100MB | asr_flash.py --file " (极速版兜底) |
| 无法获取时长 且 大小 > 100MB | asr_standard.py --file " (标准版兜底) |
asr_standard.py --url "" 命中 URL、大文件、切片取舍时,再读 routing_strategy.md。
鉴权采用新版控制台方案,详见:快速入门(新版控制台)。
| 环境变量 | 用途 | 必需 |
|---|---|---|
MODEL_SPEECH_API_KEY |
API Key(新版控制台方案) | 是 |
MODEL_SPEECH_APP_ID |
App ID(旧版鉴权时配合使用) | 否 |
MODEL_SPEECH_ASR_API_BASE |
极速版端点(有默认值) | 否 |
MODEL_SPEECH_ASR_RESOURCE_ID |
极速版资源 ID(默认 volc.bigasr.auc_turbo) |
否 |
MODEL_SPEECH_ASR_STANDARD_SUBMIT_URL |
标准版提交端点(有默认值) | 否 |
MODEL_SPEECH_ASR_STANDARD_QUERY_URL |
标准版查询端点(有默认值) | 否 |
MODEL_SPEECH_ASR_STANDARD_RESOURCE_ID |
标准版资源 ID(默认 volc.bigasr.auc) |
否 |
FEISHU_TENANT_TOKEN |
飞书 tenant_access_token(仅 --file-key 模式) |
否 |
| 脚本 | 用途 | 对应模式 |
|---|---|---|
scripts/inspect_audio.py |
音频元信息探测(时长、采样率、声道等) | 预检 |
scripts/ensure_ffmpeg.py |
自动检测并安装 ffmpeg/ffprobe | 预检 |
scripts/asr_flash.py |
极速版识别(≤2h/100MB,同步) | Express/Flash |
scripts/asr_standard.py |
标准版识别(≤5h,异步 submit+poll) | Standard |
# 预检:探测音频元信息 python3/scripts/inspect_audio.py " " # 缺 ffmpeg 时自动安装 python3 /scripts/ensure_ffmpeg.py --execute # 极速版(短音频,≤2h/100MB) python3 /scripts/asr_flash.py --file " " # 标准版(长音频或 URL) python3 /scripts/asr_standard.py --url " " python3 /scripts/asr_standard.py --file " " # 标准版:仅提交不轮询 python3 /scripts/asr_standard.py --url " " --no-poll # 标准版:查询已有任务 python3 /scripts/asr_standard.py --query-task-id --query-logid
| 参数 | 必填 | 说明 |
|---|---|---|
--file |
三选一 | 本地音频文件路径 |
--url |
三选一 | 音频文件的 URL 地址 |
--file-key |
三选一 | 飞书语音消息的 file_key |
--feishu-token |
否 | 飞书 tenant_access_token |
--appid |
否 | App ID |
--token |
否 | API Key |
--language |
否 | 语言代码 |
| 参数 | 必填 | 说明 |
|---|---|---|
--url |
二选一 | 音频文件的 URL 地址 |
--file |
二选一 | 本地音频文件路径 |
--appid |
否 | App ID |
--token |
否 | API Key |
--language |
否 | 语言代码 |
--no-poll |
否 | 仅提交任务,不轮询结果 |
--poll-interval |
否 | 轮询间隔秒数(默认 3) |
--poll-max-time |
否 | 最大轮询时间秒数(默认 10800) |
--query-task-id |
否 | 查询已有任务 ID |
--query-logid |
否 | 查询时传入的 X-Tt-Logid |
收到 audio 消息 → 音频文件已下载到 /root/.openclaw/media/inbound/ → 执行 asr_flash.py --file → 返回文字 → 当作用户消息处理
常用命令:
# 飞书语音文件(最常用,文件已被飞书插件自动下载) python scripts/asr_flash.py --file "/root/.openclaw/media/inbound/xxxxx.ogg"
PermissionError: MODEL_SPEECH_API_KEY ... → 提示用户配置 API KeyASR 请求失败 → 检查 API 凭据及账号音频时长超过 5 小时 → 提示用户切分文件音频文件不存在/为空 → 检查文件路径相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章