目的:视频 --》音频 --》文本(语音识别)
-
moviepy库可将MP4文件转换为MP3文件
-
pydub库将MP3文件转换为flac文件,但是必须安装FFmpeg
实际上pydub库仅支持WAV格式文件的转换,FFmpeg可以支持多种格式音频转换
在官网下载FFmpeg压缩包,解压后将bin文件夹添加至系统环境变量,再安装pydub库即可正常使用
安装了FFmpeg后,pydub也支持MP4文件转MP3文件
以下代码是github上的例子:import os import glob from pydub import AudioSegment video_dir = '/home/johndoe/downloaded_videos/' # Path where the videos are located extension_list = ('*.mp4', '*.flv') os.chdir(video_dir) for extension in extension_list: for video in glob.glob(extension): mp3_filename = os.path.splitext(os.path.basename(video))[0] + '.mp3' AudioSegment.from_file(video).export(mp3_filename, format='mp3')
-
speech_recognition库可以进行语音识别,但不支持MP3文件,所以才要先将MP3文件转换为flac文件
SpeechRecognition支持语音文件类型:
WAV: 必须是 PCM/LPCM 格式
AIFF
AIFF-C
FLAC: 必须是初始 FLAC 格式;OGG-FLAC 格式不可用 -
SpeechRcognition的识别类(器)有7个
但只有recognition_sphinx()可与CMU Sphinx 引擎脱机工作, 其他六个都需要连接互联网(调用API)。另外SpeechRecognition 附带 Google Web Speech API 的默认 API 密钥,可直接使用它
-
我选用了recognition_sphinx,在安装时发现要安装wheel和swig,wheel可以直接pip安装,但是swig不行
官网下载swig压缩包,解压后添加环境变量即可正常安装sphinx。
cmd下可以正常安装,pycharm中依旧报错
-
SpeechRcognition和recognition_sphinx都安装好后,要在SpeechRcognition的安装文件夹下找到pocketsphinx-data文件夹,创建新文件夹“zh-CN”存放中文声学模型、语言模型和字典文件,这样才能进行中文识别。
pocketsphinx需要安装的中文语言、声学模型
下载地址:http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/
下载cmusphinx-zh-cn-5.2.tar.gz并解压,加入zh-CN文件夹,zh_cn.cd_cont_5000文件夹重命名为acoustic-model、zh_cn.lm.bin命名为language-model.lm.bin、zh_cn.dic中dic改为dict格式
但是感觉识别的准确度不太好
使用Google Web Speech API,会报错“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
”
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)