python调用阿里云paraformer语音转文字识别成完整文字代码
代码语言:python
所属分类:其他
代码描述:python调用阿里云paraformer语音转文字识别成完整文字代码
代码标签: python 调用 阿里云 paraformer 语音 转 文字 识别 完整 文字 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
import os
import time
import requests
import json
api_key = "阿里百炼的apikey"
def submit_asr_task(file_urls, language_hints=None, vocabulary_id=None):
"""
提交语音识别任务
:param file_urls: 待转写的音频文件 URL 列表
:param language_hints: 语言提示列表,默认为 None
:param vocabulary_id: 自定义词汇表 ID,默认为 None
:return: 返回一个元组 (is_error, task_id)
- is_error: 是否出错(True/False)
- task_id: 如果成功,返回任务 ID;如果失败,返回 None
"""
url = "https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
"X-DashScope-Async": "enable"
}
payload = {
"model": "paraformer-v2", # 使用 Paraformer 模型
"input": {
"file_urls": file_urls
},
"parameters": {
"channel_id": [0], # 默认使用第一个声道
"language_hints": language_hints if language_hints else ["zh", "en"], # 默认支持中英文
"vocabulary_id": vocabulary_id # 可选的自定义词汇表
}
}
try:
response = requests.post(url, headers=headers, data=json.dumps(payload))
response.raise_for_status() # 如果响应状态码不是 200,抛出异常
except requests.exceptions.RequestException as e:
print(f"请求失败: {str(e)}")
return True, str(e)
result = response.json()
task_id = result.get("output", {}).get("task_id")
if task_id:
return False, task_id # 成功,返回任务 ID
else:
return True, None # 失败,返回 None
def parse_transcription_result(transcription_url):
"""
解析语音识别结果的 JSON 数据并提取完整文字
:param transcription_url: 包含转写结果的 JSON 文件 URL
:return: 提取的完整文字内容
"""
try:
response = requests.get(transcription_url)
response.raise_for_status.........完整代码请登录后点击上方下载按钮下载查看
网友评论0