[Python]语音识别媒体中的音频到文本
@
准备工作
- 安装python3环境
- 申请一个可用的语音转换API,此篇以Microsoft Azure Speech为例
在Microsoft Azure 市场中搜索speech关键字找到语音服务。并创建好服务实例

在资源中找到创建的服务并查看

在此处点击显示密钥,我们要记住key值和location值,作为语音识别库的请求参数

视频转音频
安装视频库moviepy
pip install moviepy
编写代码,将视频文件test.mp4中的音频提取到test2.wav
import moviepy.editor
videoClip = moviepy.editor.VideoFileClip(r"{}".format("test.mp4"))
videoClip.audio.write_audiofile(r"{}".format("test2.wav"))
识别音频到文本
安装语音识别库SpeechRecognition
pip install SpeechRecognition
编写代码,将视频文件test3.wav中的音频识别,并转换成文本写入test.txt
import speech_recognition
audio2 = speech_recognition.AudioFile("{}".format("test3.wav"))
recognizer = speech_recognition.Recognizer()
with audio2 as source:
audioData = recognizer.record(source)
result = recognizer.recognize_azure(audioData,key="<your api key>",language="zh-CN",location="eastus")
with open('test.txt', 'w') as file:
if result.__len__()>0:
file.write(result[0])
完整代码如下
import speech_recognition
import moviepy.editor
videoClip = moviepy.editor.VideoFileClip(r"{}".format("test.mp4"))
videoClip.audio.write_audiofile(r"{}".format("test2.wav"))
audio2 = speech_recognition.AudioFile("{}".format("test2.wav"))
recognizer = speech_recognition.Recognizer()
with audio2 as source:
audioData = recognizer.record(source)
result = recognizer.recognize_azure(audioData,key="<your api key>",language="zh-CN",location="eastus")
with open('test.txt', 'w') as file:
if result.__len__()>0:
file.write(result[0])
音频直接转换文本
Azure提供了快捷转换语音到文本的工具 https://speech.microsoft.com/portal
点击实时语音转文本

这里需要注意的是,需要上传的音频格式为16kHz 或 8kHz、16 位和单声道 PCM

上传完成后将自动转换成文本

安装音频转换库pydub
pip install pydub
编写代码,将test.aac文件以16kHz 采样率和单声道 PCM 编码方式,保存至test1.wav
注意,如果使用ffmpeg编码的格式,需要下载ffmpeg相关库到脚本所在目录
http://www.ffmpeg.org/download.html#build-windows
from pydub import AudioSegment
audio1 = AudioSegment.from_file("test.aac", "aac")
# -ac 1 -ar 16000
audio1.export("test1.wav", format="wav",parameters=["-ac", "1", "-ar", "16000"])
[Python]语音识别媒体中的音频到文本的更多相关文章
- [译]使用BeautifulSoup和Python从网页中提取文本
如果您要花时间浏览网页,您可能遇到的一项任务就是从HTML中删除可见的文本内容. 如果您使用的是Python,我们可以使用BeautifulSoup来完成此任务. 设置提取 首先,我们需要获取一些HT ...
- 基于百度语音识别API的Python语音识别小程序
一.功能概述 实现语音为文字,可以扩展到多种场景进行工作,这里只实现其基本的语言接收及转换功能. 在语言录入时,根据语言内容的多少与停顿时间,自动截取音频进行转换. 工作示例: 二.软件环境 操作系统 ...
- 如何利用Social Listening从社会化媒体中“提炼”有价值的信息?
本文转自知乎 作者:苏格兰折耳喵 ----------------------------------------------------- 在本文中,笔者将会介绍大数据分析主要的处对象---社会化媒 ...
- MRCPv2在电信智能语音识别业务中的应用
1. MRCPv2协议简介 媒体资源控制协议(Media Resource Control Protocol, MRCP)是一种基于TCP/IP的通讯协议,用于客户端向媒体资源服务器请求提供各种媒体资 ...
- Python 基础教程中的问题及解决方案(1)
1. 在ubuntu中,调用终端时如: f = open('/home/theone/test_input.txt', 'r') 中的txt格式文本不能加后缀 正确的应为: f = open('/h ...
- 与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成
原文:与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成 [索引页][源码下载] 与众不同 win ...
- 用python在excel中读取与生成随机数写入excel中
今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...
- [python] 使用Jieba工具中文分词及文本聚类概念
声明:由于担心CSDN博客丢失,在博客园简单对其进行备份,以后两个地方都会写文章的~感谢CSDN和博客园提供的平台. 前面讲述了很多关于Python爬取本体Ontology.消息盒Inf ...
- [转]【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理 阅读目录
[NLP]干货!Python NLTK结合stanford NLP工具包进行文本处理 原贴: https://www.cnblogs.com/baiboy/p/nltk1.html 阅读目录 目 ...
- 在html中插入音频
在html中插入音频 第一种:在页面代码中的<head></head>之间加入<bgsound src="音乐url" loop="-1&q ...
随机推荐
- pyqt5 弹窗大全--修复版
1 from PyQt5.QtWidgets import * 2 from PyQt5.QtCore import Qt, pyqtSignal, QTimer 3 4 5 class MyWind ...
- Get Keys In Binary Tree Layer By Layer
Get the list of list of keys in a given binary tree layer by layer. Each layer is represented by a l ...
- jquery.min.js:2 Uncaught SyntaxError: Unexpected identifier
错误描述:样式没加载出错,还没发起action请求,action有断点,后端无报错. 错误原因:找了好久,知道是url请求路径错误,搞了几次不对.重新对比url发现是路径拼接错误.注意单引号和双引号. ...
- server2008R2 安装.net framework 4.7 4.8 时间戳签名和/或证书无法验证或格式错误
安装补丁 KB4474419 和KB4490628 实测有效 补丁下载: https://www.catalog.update.microsoft.com/Search.aspx?q=4474419 ...
- webpack1.x 之配置的坑
一.静态资源目录改变(默认在dist下面) 默认: webpack配置 output: { path: path.join(__dirname, './dist'), filename: 'build ...
- 基础框架SSM导学
SSM Spring SpringMVC Maven高级 SpringBoot MybatisPlus spring官网:http://spring.io
- Jenkins在windows环境下的3种部署方式
本文主要介绍Jenkins在windows环境下的3种部署方式: (1)官网下载jenkins.msi文件直接安装.jenkins官网地址:https:/jenkins.io/zh/ (2)jenki ...
- uniapp+uView单选框多选框使用与模糊搜索
<template> <!-- 类别筛选组件 --> <view class="timeInput">{{filterArea}} <u- ...
- 在vscode中用tsc编译ts文件的时候报错,tsc : 无法加载文件,因为在此系统上禁止运行脚本;SecurityError
1. TypeScript安装成功,在C盘的Administrator目录下,运行 tsc -v 也可看到TypeScript的版本. 2. 但在vscode中的时候运行tsc 编译ts文件的时候报 ...
- 2003031120—廖威—Python数据分析第七周作业—MySQL的安装以及使用
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/pexy/20sj 这个作业要求链接 https://edu.cnblogs.com/campus/ ...