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