大模型开发秘籍:语音识别 API 隐藏的巨大潜力

大模型向量数据库云通信

语音识别大模型,是人工智能领域的一项重要技术,它能够将人类的语音转换为文本。近年来,随着深度学习技术的不断发展,语音识别大模型取得了显著的进展,并在各个领域得到了广泛应用。

picture.image

开源的语音识别大模型

Whisper

介绍:OpenAI 开发的通用语音识别模型,功能强大,支持多种语言识别和翻译。

特点:

  • 多语言支持
  • 多种模型大小可选择
  • 开源免费,方便研究和定制
  
项目地址:https://github.com/openai/whisper

MooER

介绍:摩尔线程开发的音频理解大模型,是业界首个基于国产全功能 GPU 进行训练和推理的大型开源语音模型。

特点:

  • 支持中英文语音识别和中译英语音翻译
  • 基于国产 GPU 训练和推理
  • 开源推理代码和模型
  
项目地址:https://github.com/MooreThreads/MooER

Mini-Omni

介绍:清华大学和智谱 AI 提出 Mini-Omni,是首个开源的端到端实时语音多模态模型,支持语音输入、流式语音输出的多模态交互能力。

特点:

  • 文本-语音同时生成
  • 支持语音输入、流式语音输出
  • 开源免费
  
项目地址:https://github.com/gpt-omni/mini-omni

SenseVoice

SenseVoice多语言音频理解模型,支持语音识别、语种识别、语音情感识别、声学事件检测、逆文本正则化等能力,采用工业级数十万小时的标注音频进行模型训练,保证了模型的通用识别效果。模型可以被应用于中文、粤语、英语、日语、韩语音频识别,并输出带有情感和事件的富文本转写结果。

FunASR

FunASR希望在语音识别的学术研究和工业应用之间架起一座桥梁。通过发布工业级语音识别模型的训练和微调,研究人员和开发人员可以更方便地进行语音识别模型的研究和生产,并推动语音识别生态的发展。让语音识别更有趣!项目地址:https://github.com/modelscope/FunASR

picture.image

OpenAI的Whisper模型

OpenAI 提供了两个基于开源的 Whisper large-v2 模型的语音到文本API服务:

  • 转录(transcriptions):将音频转录为音频所使用的任何语言。

  • 翻译(translations):将音频翻译并转录为英语

目前文件上传限制为 25 MB,支持以下输入文件类型:mp3、mp4、mpeg、mpga、m4a、wav 和 webm。

  1. 语音转录 Transcription API

输入音频文件,返回转录对象(JSON)

请求参数说明

  • file(文件):需要转录的音频文件对象(不是文件名),支持以下格式:flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav 或 webm。

  • model('whisper-1'):使用的模型 ID。目前仅可使用由我们的开源 Whisper V2 模型驱动的 whisper-1。

  • language(语言,可选):输入音频的语言。提供 ISO-639-1 格式的输入语言可以提高准确性和响应速度。

  • prompt(提示,可选):可选文本,用于指导模型的风格或继续前一个音频片段。提示应与音频语言相匹配。

  • response_format(响应格式,可选):转录输出的格式,默认为 json。可选的格式有:json、text、srt、verbose_json 或 vtt。

  • temperature(温度,可选):采样温度,范围从 0 到 1。更高的值,如 0.8,将使输出更随机,而更低的值,如 0.2,将使输出更集中和确定。如果设置为 0,模型将使用对数概率自动提高温度,直到达到某些阈值。

  • timestamp_granularities[](时间戳粒度,可选):为此转录填充的时间戳粒度,默认为 segment。响应格式必须设置为 verbose_json 才能使用时间戳粒度。支持以下一个或两个选项:word 或 segment。注意:segment 时间戳不增加额外延迟,但生成 word 时间戳会增加额外延迟。

返回值说明

转录对象(Transcription Object)或详细转录对象(Verbose Transcription Object)。

使用 Whisper 实现中文转录代码演示

将语音文件转成文字,输入语音 输出文字。

  
from openai import OpenAI  
client = OpenAI()  
audio_file= open("./audio/liyunlong.mp3", "rb")  
transcription = client.audio.transcriptions.create(  
  model="whisper-1",   
  file=audio_file  
)  
print(transcription.text)

返回文本:

  
二营长,你他娘的意大利炮呢?给我拉来!

picture.image

  1. 语音翻译 API

输入音频文件,返回翻译文本。

请求参数说明

  • file(文件):需要翻译的音频文件对象(不是文件名),支持以下格式:flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav 或 webm。

  • model('whisper-1'):使用的模型 ID。目前只有由我们的开源 Whisper V2 模型驱动的 whisper-1 可用。

  • prompt(提示,可选):可选文本,用于指导模型的风格或继续前一个音频片段。提示应为英文。

  • response_format(响应格式,可选):转录输出的格式,默认为 json。可选的格式包括:json、text、srt、verbose_json 或 vtt。

  • temperature(温度,可选):采样温度,范围从 0 到 1。较高的值,如 0.8,将使输出更随机,而较低的值,如 0.2,将使输出更集中和确定。如果设置为 0,模型将使用对数概率自动增加温度,直到达到特定阈值。

返回值说明

translated_text: 翻译后的文本。

使用 Whisper 实现中文识别+翻译

给一个中文语音.mp3,翻译成英文文本。

  
audio_file= open("./audio/liyunlong.mp3", "rb")  
translation = client.audio.translations.create(  
    model="whisper-1",   
    file=audio_file,  
    prompt="Translate into English",  
)  
print(translation.text)

返回英文:

  
Second Battalion Commander, where is your Italian gun? Bring it to me.

大模型之语音识别的API就学完了,功能很强大吧!接口调用很简单吧!

结合上一篇《文字转自然语音大模型 TTS 接口 API,你确定真的懂?》,你有没有发现 与今天讲的Whisper好像是逆方向的。

Whisper: 语音--->文字和翻译

TTS: 文字--->语音

是不是发现结合这两者,就可以做一些很有趣的应用?比如将中文的语音转成英文版本的语音,形成 【语音-->文字/翻译--->语音】模式。接下来我们就用代码来演示下这个过程:

Whisper --> TTS 的代码演示

  
# 输入:这是个郭德纲的相声,中文语音mp3  
gdg_audio_file = open("./audio/gdg.mp3", "rb")  
  
# 输出英文版的郭德纲相声语音.mp3  
gdg_speech_file = "./audio/gdg_en.mp3"  
  
# whispr 将郭德纲的中文相声语音转成英文文字  
translation = client.audio.translations.create(  
  model="whisper-1",   
  file=gdg_audio_file,  
  prompt="Translate into English"  
)  
print(translation.text)  
  
# 将翻译后的英文文字转成语音  
with client.audio.speech.with_streaming_response.create(  
    model="tts-1",  
    voice="onyx",  
    input=translation.text  
) as response:  
    response.stream_to_file(gdg_speech_file) 
0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
边缘计算在视频直播场景的应用与实践
视频直播作为当前视频行业的核心场景之一,对于高清化、实时性、交互性要求较高,需要强大算力保障用户流畅观看与互动体验。本次分享主要从视频直播场景需求切入,介绍基于边缘计算的视频直播场景方案及其架构、应用与实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论