社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Waston+Python,6行代码实现音频转文字,轻松做字幕~

Python爱好者社区 • 5 年前 • 467 次点击  

作者:莉莉安的向日葵     Python爱好者社区专栏作者
博客专栏:
https://ask.hellobi.com/blog/toughsummer


几行代码,抱上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

Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”开始学习Python课程

关注后在公众号内回复课程即可获取

小编的Python入门免费视频课程!!!

【最新免费微课】小编的Python快速上手matplotlib可视化库!!!

崔老师爬虫实战案例免费学习视频。

陈老师数据分析报告制作免费学习视频。

玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/PES9kF2INf
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/21142
 
467 次点击