衡阳市住房和城乡建设局官方网站,芗城网站建设,域名查询ip地址,专业的网站制作团队前言
在人工智能的浪潮中#xff0c;语音识别技术正逐渐成为我们日常生活中不可或缺的一部分。随着 OpenAI 的 Whisper 模型的推出#xff0c;语音转文本的过程变得前所未有的简单和高效。无论是从 YouTube 视频中提取信息#xff0c;还是将播客内容转化为文本#xff0c;…前言
在人工智能的浪潮中语音识别技术正逐渐成为我们日常生活中不可或缺的一部分。随着 OpenAI 的 Whisper 模型的推出语音转文本的过程变得前所未有的简单和高效。无论是从 YouTube 视频中提取信息还是将播客内容转化为文本Whisper 都能帮助我们轻松实现这一目标。今天我们将深入探讨 Whisper 的强大功能并提供详细的使用教程让你能够快速上手这一技术。 文章目录 前言一、Whisper 简介Whisper 的优势 二、Whisper 可用的模型和语言语言支持 三、开源 Whisper 本地转录3.1、安装 pytube 库3.2、下载音频 MP4 文件3.3、安装 Whisper 库 四、在线 Whisper API 转录4.1、Whisper API 接口调用4.2、使用 Prompt 参数优化4.3、其它参数介绍4.4、转录过程翻译功能4.5、分割音频处理大文件 五、获取OpenAI-api的方法六、总结 一、Whisper 简介
Whisper 是 OpenAI 开发的一款先进的语音识别系统经过 680,000 小时的多语言和多任务监督数据训练具备了强大的鲁棒性。它不仅支持多种语言的转录还能将这些语言翻译成英语。与其他 AI 模型不同Whisper 是一个开源模型开发者可以自由使用和修改。
Whisper 的优势
开源免费开发者可以自由使用和修改代码。多语言支持包括中文、英文等多种语言。高准确率在多种场景下表现优于市面上许多音频转文字工具。
二、Whisper 可用的模型和语言
Whisper 提供了五种不同尺寸的模型适用于不同的应用场景。以下是可用型号及其大致的内存需求和相对速度
tiny适合快速测试内存占用小。base适合一般应用速度和准确性平衡。small适合对准确性有一定要求的应用。medium适合需要较高准确率的场景。large适合对准确性要求极高的应用但需要较大的显存。
语言支持
Whisper 支持多种语言的转录具体性能因语言而异。通过使用 Fleurs 数据集Whisper 在不同语言上的表现可以通过单词错误率WER进行评估数字越小性能越好。
三、开源 Whisper 本地转录
3.1、安装 pytube 库
在开始使用 Whisper 进行转录之前我们需要安装 pytube 库以便从 YouTube 下载音频。
pip install --upgrade pytube3.2、下载音频 MP4 文件
以“100 秒学习 Python”视频为例视频地址为https://www.youtube.com/watch?vx7X9w_GIm1s。
import pytubevideo https://www.youtube.com/watch?vx7X9w_GIm1s
data pytube.YouTube(video)
audio data.streams.get_audio_only()
audio.download()3.3、安装 Whisper 库
接下来我们需要安装 Whisper 库
pip install githttps://github.com/openai/whisper.git -q加载模型并转录音频文件
import whispermodel whisper.load_model(base)
text model.transcribe(Python in 100 Seconds.mp4)
print(text[text])四、在线 Whisper API 转录
4.1、Whisper API 接口调用
OpenAI 提供的 Whisper API 使用非常简单只需调用 transcribe 函数即可将音频文件转录成文字
import openai, osos.environ[OPENAI_API_KEY] your-openai-api-key
openai.api_key os.getenv(OPENAI_API_KEY)audio_file open(./data/generative_ai_topics_clip.mp3, rb)
transcript openai.Audio.transcribe(whisper-1, audio_file)
print(transcript[text])4.2、使用 Prompt 参数优化
通过在转录过程中加入 Prompt 参数可以提高转录的准确性
audio_file open(./data/generative_ai_topics_clip.mp3, rb)
transcript openai.Audio.transcribe(whisper-1, audio_file, prompt这是一段中文播客内容。)
print(transcript[text])4.3、其它参数介绍
除了模型名称、音频文件和 Prompttranscribe 接口还支持以下参数
response_format返回文件格式JSON、TEXT、SRT、VTT。temperature调整采样概率分布0-1 之间。language指定音频语言。
4.4、转录过程翻译功能
Whisper API 还提供了“translation”接口可以在转录的同时将语音翻译成英文
audio_file open(./data/generative_ai_topics_clip.mp3, rb)
translated_prompt This is a podcast discussing ChatGPT and PaLM model.
transcript openai.Audio.translate(whisper-1, audio_file, prompttranslated_prompt)
print(transcript[text])4.5、分割音频处理大文件
对于超过 25MB 的音频文件可以使用 PyDub 库进行分割
from pydub import AudioSegmentpodcast AudioSegment.from_mp3(./data/generative_ai_topics_long.mp3)
ten_minutes 15 * 60 * 1000
total_length len(podcast)start 0
index 0
while start total_length:end start ten_minutesif end total_length:chunk podcast[start:end]else:chunk podcast[start:]with open(f./data/generative_ai_topics_{index}.mp3, wb) as f:chunk.export(f, formatmp3)start endindex 1然后逐个转录音频文件
prompt 这是一段Onboard播客里面会聊到ChatGPT以及PALM这个大语言模型。
for i in range(index):clip f./data/generative_ai_topics_{i}.mp3audio_file open(clip, rb)transcript openai.Audio.transcribe(whisper-1, audio_file, promptprompt)if not os.path.exists(./data/transcripts):os.makedirs(./data/transcripts)with open(f./data/transcripts/generative_ai_topics_{i}.txt, w) as f:f.write(transcript[text])sentences transcript[text].split(。)prompt sentences[-1]五、获取OpenAI-api的方法
【OpenAI】第一节OpenAI API获取OpenAI API KEY的两种方式开发者必看全方面教程
六、总结
OpenAI 的 Whisper 模型为语音识别提供了一个强大而灵活的解决方案。无论是通过 API 还是使用开源模型用户只需简单几行代码即可实现音频转录。通过传入 Prompt 参数用户可以显著提高转录的准确性减少错误和遗漏。
虽然 OpenAI 的 API 接口对单个转录文件的大小有限制但我们可以通过 Python 包如 PyDub 将音频文件切分成多个小片段来解决这一问题。转录后的结果可以与 ChatGPT 和其他工具结合使用实现文本总结和信息提取。
这种技术组合不仅提高了我们处理音频内容的效率还为我们创造了更多从海量信息中获取有价值内容的机会。AI 为我们带来了无限的可能性期待未来更多创新应用的出现。