Install
openclaw skills install @thcjp/azure-transcription-tool-freeopenclaw skills install @thcjp/azure-transcription-tool-freeAzure语音转写免费版是一款面向个人用户的轻量级语音转文字工具,基于Azure AI Transcription SDK实现。支持批量转写存储在Blob中的音频文件,自动生成带时间戳的转写结果。几行Python代码即可完成音频到文字的转换,适合播客、会议录音、视频字幕等场景。
| 能力 | 说明 |
|---|---|
| 批量转写 | 将存储在Blob中的音频文件批量转写为文字 |
| 多语言支持 | 支持中文、英文等数十种语言识别 |
| 时间戳输出 | 生成带时间戳的转写结果,便于字幕制作 |
| 格式兼容 | 支持WAV、MP3等主流音频格式 |
| 简易API | Python SDK,几行代码完成转写 |
技术实现要点:核心能力基于input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置。 |
用input_params参数进行配置。
输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 按照skill规范执行核心功能执行操作,遵循单一意图原则。 输出: 返回核心功能执行的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作用config_options参数进行配置。
输入: 用户提供参数配置与调用所需的指令和必要参数。 处理: 按照skill规范执行参数配置与调用操作,遵循单一意图原则。 输出: 返回参数配置与调用的执行结果,包含操作状态和输出数据。
config_options参数,支持修改/重置/导入操作用output_format参数进行配置。
输入: 用户提供结果处理与输出所需的指令和必要参数。 处理: 按照skill规范执行结果处理与输出操作,遵循单一意图原则。 输出: 返回结果处理与输出的执行结果,包含操作状态和输出数据。
output_format参数,支持导出/保存/转换操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:Azure、进行批量语音转文、支持基础转写与时、适合个人用户处理、语音转写免费版、面向个人用户的轻、量级语音转文字工、批量语音转文字、支持存储在、自动语言识别、英文等多种语言、简单的等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。个人播客创作者将录制好的音频转写为文字稿,用于发布文章或生成字幕。
import os
from azure.ai.transcription import TranscriptionClient
# 初始化客户端
client = TranscriptionClient(
endpoint=os.environ["TRANSCRIPTION_ENDPOINT"],
credential=os.environ["TRANSCRIPTION_KEY"]
)
# 批量转写播客音频
job = client.begin_transcription(
name="podcast-episode-01",
locale="zh-CN",
content_urls=["https://<storage>.blob.core.windows.net/podcast/episode01.wav"]
)
result = job.result()
print(f"转写状态: {result.status}")
print(f"转写内容: {result.transcript}")
将会议录音转写为文字,便于后续整理会议纪要。
# 会议录音转写
meeting_job = client.begin_transcription(
name="team-meeting-20260118",
locale="zh-CN",
content_urls=["https://<storage>.blob.core.windows.net/meetings/meeting.wav"],
diarization_enabled=False # 免费版不启用说话人分离
)
result = meeting_job.result()
# 输出带时间戳的转写结果
for segment in result.segments:
print(f"[{segment.start_time} - {segment.end_time}] {segment.text}")
为视频生成中文字幕文件。
# 视频音频轨转写为字幕
subtitle_job = client.begin_transcription(
name="video-subtitle",
locale="zh-CN",
content_urls=["https://<storage>.blob.core.windows.net/videos/audio_track.wav"]
)
result = subtitle_job.result()
# 生成SRT字幕文件
def generate_srt(segments, output_path):
with open(output_path, 'w', encoding='utf-8') as f:
for i, seg in enumerate(segments, 1):
start = format_timestamp(seg.start_time)
end = format_timestamp(seg.end_time)
f.write(f"{i}\n{start} --> {end}\n{seg.text}\n\n")
def format_timestamp(seconds):
hours = int(seconds // 3600)
minutes = int((seconds % 3600) // 60)
secs = int(seconds % 60)
millis = int((seconds % 1) * 1000)
return f"{hours:02d}:{minutes:02d}:{secs:02d},{millis:03d}"
generate_srt(result.segments, "subtitle.srt")
print("字幕文件已生成: subtitle.srt")
以下场景Azure语音转写免费版不适合处理:
需要文本翻译、多语言转换、本地化处理时使用。不适用于非本工具能力范围的需求。
pip install azure-ai-transcription
export TRANSCRIPTION_ENDPOINT="https://<resource>.cognitiveservices.azure.com"
export TRANSCRIPTION_KEY="配置值"
import os
from azure.ai.transcription import TranscriptionClient
client = TranscriptionClient(
endpoint=os.environ["TRANSCRIPTION_ENDPOINT"],
credential=os.environ["TRANSCRIPTION_KEY"]
)
# 最简转写
job = client.begin_transcription(
name="my-audio",
locale="zh-CN",
content_urls=["https://<storage>/audio.wav"]
)
result = job.result()
print(result.transcript)
# .env 文件
TRANSCRIPTION_ENDPOINT=https://myresource.cognitiveservices.azure.com
TRANSCRIPTION_KEY=your_subscription_key_here
| 语言 | locale代码 |
|---|---|
| 中文(简体) | zh-CN |
| 中文(繁体) | zh-TW |
| 英语(美国) | en-US |
| 英语(英国) | en-GB |
| 日语 | ja-JP |
| 韩语 | ko-KR |
| 法语 | fr-FR |
| 德语 | de-DE |
| 格式 | 推荐采样率 | 说明 |
|---|---|---|
| WAV | 16kHz, 16-bit | 推荐格式,无损 |
| MP3 | 16kHz+ | 有损压缩,兼容性好 |
| FLAC | 16kHz+ | 无损压缩 |
确保音频质量良好,背景噪音少。指定正确的locale语言代码。对于专业领域内容,可考虑使用自定义语音模型。
免费版需要音频文件存储在可访问的Blob URL中。如需处理本地文件,需先上传至Blob存储。
转写时间取决于音频时长。通常处理速度约为音频时长的0.5-1倍。
免费版受Azure免费层级限制,每月有固定的转写时长额度。如需更大用量,建议升级至PRO版本。
转写结果的segments属性包含每段文字的开始时间和结束时间,可用于字幕生成。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| Python 3 | 运行时 | 必需 | python.org 下载安装 |
| azure-ai-transcription | Python SDK | 必需 | pip install azure-ai-transcription |
| Azure认知服务 | 云服务 | 必需 | Azure门户创建资源 |
TRANSCRIPTION_ENDPOINT:Azure认知服务端点URLTRANSCRIPTION_KEY:Azure认知服务订阅密钥| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |