字幕组爸爸看这里!6行代码音频转文字,轻松做字幕~
上周犯懒了,没有更新,今天更个福利:
几行代码,抱上IBM爸爸大腿,实现音频快速转文字~用到了IBM Waston的Speech to text(目前还是个demo)
碎碎念的废话~
前几天工作中遇到需要把音频转为文字稿的任务,顺便学了个新词语:扒词。
扒词:根据视频信息获得文字信息,即根据录音或者台词,然后转字幕。
拿音频找导演联系扒词,结果导演居然说视频扒词可以,音频就算了吧,算了吧……!
我可是有30个音频,每个虽然才2-5分钟,但转成文字每个也有近千字吧,总和就是30000字!难道纯手打吗!踹翻导演啊!
科技这么发达,难道找不到音频转文字的软件吗!我于是搜了一下:
……天下没有免费的午餐。
感谢万能的知乎!让我找到了IBM 爸爸的Speech to text!
Speech to text官网在这里:
https://speech-to-text-demo.ng.bluemix.net/
以及感谢一份15年的教程:
https://blog.csdn.net/tang20120235/article/details/49762421
准备好你的音频,以及Python,开始吧!!(推荐Anaconda,关于Anaconda安装、Python包的安装,可以看文末我的两篇小笔记~)
第一步
点击首页紫色的那个「Star for free in IBM Cloud」按钮,注册IBM Cloud并登陆(注册不了的亲,记得科♂学上网)。
第二步
添加服务(因为我已经加了服务,没法给大家截图了,自己找找吧),添加后是这样的:
点击现有服务,找到已有的服务。
点击服务名称查看详情。
看到页面下方显示服务凭证,且username和password都是加密符号表示。点击右侧的「显示」,打开眼睛,把username和password记下来(复制到记事本里啦不要翻小本本了!)
好了,官网任务完成,可以关掉了。
第三步
Python安装SpeechRecognition包。
包的官网:
https://pypi.org/project/SpeechRecognition/
运行-cmd,打开命令提示符。输入pip install SpeechRecognition,耐心等待一会儿(我家里网速比较捉急,花了10分钟……网速好的话几秒钟吧,吐血),安装完成即可。
出现下面这行字说明装好了。
第四步
打开Jupyter Notebook开始写代码啦!
import speech_recognition as sr #加载包
r = sr.Recognizer() with sr.WavFile("E://1.mp3") as source: #请把引号内改成你自己的音频文件路径
audio = r.record(source)
运行这一步发现报错了。
原来要wav格式。推荐一个好用的神器:格式工厂。音频视频文件转格式我都用它,方便小巧。
转格式后把引号里的内容改成1.wav就可以运行了。
接着定义账号密码,把引号里的XXX改成你自己的。
IBM_USERNAME = 'XXXXXXXX'
IBM_PASSWORD= 'XXXXXXXX'
以及调用IBM的Speech to text。
text = r.recognize_ibm(audio, username = IBM_USERNAME, password = IBM_PASSWORD, language = 'zh-CN')
我2分多钟的音频大概运行了半分钟左右吧。这个text,就是你音频转过来的文字了。让我们来试试:
print(text)
嗯……虽然准确率没有100%,但也已经比较可观了!!
它支持多种语言,只需要把language变量改成以下这些就可以实现不同语言的转换:
▶ ar-AR 阿根廷语
▶ en-UK 英式英语
▶ en-US 美式英语
▶ es-ES 西班牙语
▶ fr-FR 法语
▶ ja-JP 日语
▶ pt-BR 巴西葡萄牙语
▶ zh-CN 中文
每个免费账户每个月可使用100分钟,30天不活跃服务将删除。
6行代码轻松音频转文字,你学会了嘛?
文末小链接:
Anaconda安装:https://ask.hellobi.com/blog/toughsummer/10834
安装第三方包:https://ask.hellobi.com/blog/toughsummer/10740