调用阿里云Paraformer-v2模型与OpenAI Whisper的对比及实现

学习笔记作者:admin日期:2025-05-24点击:34

摘要:介绍了如何通过阿里云SDK调用Paraformer-v2模型进行语音转文本,以及使用OpenAI Whisper模型作为替代方案的实现方法。

调用阿里云Paraformer-v2模型与OpenAI Whisper的对比及实现

      本文档介绍了如何通过阿里云SDK调用Paraformer-v2模型进行语音转文本,以及使用OpenAI Whisper模型作为替代方案的实现方法。

阿里云Paraformer-v2模型调用

from alibabacloud_bailian20230601.client import Client as BailianClient
from alibabacloud_tea_openapi.models import Config
from alibabacloud_bailian20230601.models import RunInstanceRequest

# 初始化阿里百炼客户端
def init_bailian_client():
    config = Config(
        access_key_id="your-access-key-id",  # 替换为你的 AccessKey ID
        access_key_secret="your-access-key-secret",  # 替换为你的 AccessKey Secret
        region_id="cn-hangzhou"  # 根据实际情况选择区域
    )
    return BailianClient(config)

# 调用 paraformer-v2 模型进行语音转文本
def getTextFromVoice(filePath, llm="paraformer-v2"):
    client = init_bailian_client()
    try:
        # 读取音频文件
        with open(filePath, "rb") as file:
            audio_data = file.read()

        # 构造请求参数
        request = RunInstanceRequest(
            model=llm,
            input={"audio": audio_data}
        )

        # 发送请求并获取响应
        response = client.run_instance(request)
        # 提取返回的文本结果
        return response.body.get("output", {}).get("text", "")
    except Exception as e:
        print(f"Error in getTextFromVoice: {e}")
        return None

# 示例调用
if __name__ == "__main__":
    # 测试 paraformer-v2 模型
    filePath = "path_to_your_audio_file.wav"  # 替换为你的音频文件路径
    result = getTextFromVoice(filePath)
    print("Transcribed Text:", result)

OpenAI Whisper模型调用

import openai

# 设置 OpenAI API 密钥
openai.api_key = "your-openai-api-key"  # 替换为你的 OpenAI API Key

# 使用 OpenAI 的 Whisper 模型进行语音转文本
def getTextFromVoice(filePath):
    try:
        # 打开音频文件
        with open(filePath, "rb") as file:
            audio_data = file.read()

        # 调用 OpenAI 的 Whisper 模型
        response = openai.Audio.transcribe(
            model="whisper-1",  # 使用 Whisper 模型
            file=audio_data
        )

        # 返回转录的文本
        return response["text"]
    except Exception as e:
        print(f"Error in getTextFromVoice: {e}")
        return None

# 示例调用
if __name__ == "__main__":
    filePath = "path_to_your_audio_file.mp3"  # 替换为你的音频文件路径
    result = getTextFromVoice(filePath)
    print("Transcribed Text:", result)

对比与选择

特性 OpenAI Whisper 阿里云 Paraformer
提供商 OpenAI 阿里云
语言支持 多语言支持 主要针对中文优化
准确率 高,适合通用场景 针对中文语音识别优化,效果更佳
调用方式 OpenAI API 阿里云 API 或 SDK
费用 按分钟计费 按调用次数或时长计费

上一篇      下一篇