@

准备工作

  1. 安装python3环境
  2. 申请一个可用的语音转换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]语音识别媒体中的音频到文本的更多相关文章

  1. [译]使用BeautifulSoup和Python从网页中提取文本

    如果您要花时间浏览网页,您可能遇到的一项任务就是从HTML中删除可见的文本内容. 如果您使用的是Python,我们可以使用BeautifulSoup来完成此任务. 设置提取 首先,我们需要获取一些HT ...

  2. 基于百度语音识别API的Python语音识别小程序

    一.功能概述 实现语音为文字,可以扩展到多种场景进行工作,这里只实现其基本的语言接收及转换功能. 在语言录入时,根据语言内容的多少与停顿时间,自动截取音频进行转换. 工作示例: 二.软件环境 操作系统 ...

  3. 如何利用Social Listening从社会化媒体中“提炼”有价值的信息?

    本文转自知乎 作者:苏格兰折耳喵 ----------------------------------------------------- 在本文中,笔者将会介绍大数据分析主要的处对象---社会化媒 ...

  4. MRCPv2在电信智能语音识别业务中的应用

    1. MRCPv2协议简介 媒体资源控制协议(Media Resource Control Protocol, MRCP)是一种基于TCP/IP的通讯协议,用于客户端向媒体资源服务器请求提供各种媒体资 ...

  5. Python 基础教程中的问题及解决方案(1)

    1. 在ubuntu中,调用终端时如: f = open('/home/theone/test_input.txt', 'r') 中的txt格式文本不能加后缀 正确的应为:  f = open('/h ...

  6. 与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成

    原文:与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成 [索引页][源码下载] 与众不同 win ...

  7. 用python在excel中读取与生成随机数写入excel中

    今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...

  8. [python] 使用Jieba工具中文分词及文本聚类概念

    声明:由于担心CSDN博客丢失,在博客园简单对其进行备份,以后两个地方都会写文章的~感谢CSDN和博客园提供的平台.        前面讲述了很多关于Python爬取本体Ontology.消息盒Inf ...

  9. [转]【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理 阅读目录

    [NLP]干货!Python NLTK结合stanford NLP工具包进行文本处理  原贴:   https://www.cnblogs.com/baiboy/p/nltk1.html 阅读目录 目 ...

  10. 在html中插入音频

    在html中插入音频 第一种:在页面代码中的<head></head>之间加入<bgsound src="音乐url" loop="-1&q ...

随机推荐

  1. linux smb

    /etc/samba/smb.conf [global]workgroup =WORKGROUPsecurity = usermap to guest =Bad Userpassdb backend ...

  2. 记一次ajax文件上传

    一个新需求提交页面. 在页面提交的时候,使用的是,先上传文件再上传表单 在这里需要返回表单存储的文件地址,需要上传.所以.在上传文件之后会返回存储的地址. 这里犯的一个错误: 往input 的type ...

  3. vc++生成随机数

    在VC++提供的函数为rand(),返回一个0至65535之间的随机数,若想产生0至MAX_NUM之间的随机数,可用rand()%MAX_NUM,即产生小于MAX_NUM的随机数 for (int i ...

  4. 【LeetCode - 1055】形成字符串的最短路径

    1.题目描述 代码: #include <iostream> #include <string> using namespace std; const int MAX_LETT ...

  5. 插件和依赖的区别以及Java web开发层次结构

    一:插件和依赖的区别 依赖:运行时和开发时都需要用到的包,比如项目中需要一个包,就要添加一个依赖(数据库驱动,连接池,mybatis...),这个依赖在项目运行时也需要,因此在项目打包时需要把这些依赖 ...

  6. Transformer_Detection-(DETR) 引入视觉领域的首创DETR (ECCV2020)

    End-to-End Object Detection with Transformers paper: https://link.zhihu.com/?target=https%3A//arxiv. ...

  7. File类----> FileFilter接口:实现方法

    1创建一个类 继承 FileFilter接口 在类中重写boolean accept方法 写出要实现的条件2在main方法中创建File对象 代表了D盘File file = new File(&qu ...

  8. 洛谷 P2330 [SCOI2005]繁忙的都市 题解

    START: 2021-08-05 15:30:20 题目链接: https://www.luogu.com.cn/problem/P2330 题目详情: 城市C是一个非常繁忙的大都市,城市中的道路十 ...

  9. Java的由来

    Java 发展史 1.1.起源 20 世纪 90 年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它 可以大幅度提升消费性电子产品的智能化程度. SUN 公司为了抢占市场先机, ...

  10. linux下opencv contrib安装

    opencv安装 1.1 安装依赖 sudo apt-get update sudo apt-get install build-essential sudo apt-get install cmak ...