基于openai做的语音识别
基于openai做的语音识别
zphj1987背景
开会通过录屏的方式把会议的视频和语音录下来了,会后想对会议内容进行一个提取,或者是通过录音的方式记录了一段对话,需要对对话过程做个提取
钉钉会议提供了会议记录的一些功能,但是也有可能忘了开启,或者是其它场景下的录音
需求
就是对语音进行文字的转换的操作,这个在国内的一些云厂商都提供了这个,但是费用和开通过程都有点贵,最近正好使用了openai,通过这个处理的费用还好,本篇就是记录这个处理过程的
实现
mp4提取mp3
1 | ffmpeg -i video.mp4 -f mp3 -vn myoutput.mp3 |
这一步就是通过使用ffmpeg对视频内的音频进行提取的操作
对mp3进行分段
1 | ffmpeg -i myoutput.mp3 -f segment -segment_time 600 -c copy newoutput%3d.mp3 |
这一步是把语音文件拆分成多个文件,因为做语音转换的时候,单个文件过大的话,需要特殊处理,单个文件官方是推荐25MB以下
对文件进行处理
安装python的gpt
1 | yum install python3.9 -y |
处理的脚本
1 |
|
执行
1 | python3.9 translate.py jixiao000.mp3 > jixiao000.txt |
更多控制的方法
1 | transcript = openai.Audio.transcribe("whisper-1", audio_file,prompt="简体中文",response_format="text") |
这个地方通过可变参数的方式接受请求的
/usr/local/lib/python3.9/site-packages/openai/api_resources/audio.py
1 | def transcribe( |
上面可以控制返回的是json还是text的,也可以其它格式,以及告诉openai,我们需要的是简体中文的,这个地方不指定的话,有时候会返回的繁体字
curl方式
1 | curl --request POST --url https://api.openai.com/v1/audio/transcriptions --header 'Authorization: Bearer sk-xxxxxxxxxxxx' --header 'Content-Type: multipart/form-data' -- |
通过上面的命令行可以直接返回文本
后续
python方式的已经弄清楚控制参数,通过curl方式的目前语法也都清楚,比如希望返回的都是简体中文,这个需要给一个prompt过去,命令行的可以给
评论
匿名评论隐私政策