美文网首页
Python:音频转文字 -- 短语音识别(1)

Python:音频转文字 -- 短语音识别(1)

作者: Queenie的学习笔记 | 来源:发表于2020-04-24 13:39 被阅读0次

百度网盘里存了很多课程,里面有相当一部分的文件是音频,整个听完要很久的时间,所以萌生了把网课、音频文件转成文字的想法,毕竟看文字比听音频快,另外就是文本比音视频所占的存储空间较小,提炼出来文字可以当知识点存储,也不至于听完音频删了可惜,不删又白白占用空间。

目前参考的是《[使用百度云API进行语音转文字(基于python的wav文件转换)》(https://www.cnblogs.com/nightcatcher/p/11195068.html),最终成功了,但是缺点是只能支持60s以内的wav文件,也就是说音频时间超过60s,会转存失败;音频格式不是wav,也无法成功

登录百度AI http://ai.baidu.com/,控制台->语音技术,创建应用

图片.png 图片.png

代码部分

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from aip import AipSpeech
import csv

#从百度AI开放平台创建应用处获取
APP_ID = 'xxxxx'  
API_KEY = 'xxxxx'
SECRET_KEY = 'xxxxx'
 
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)


#创建并写入csv文件

f = open('C:/Users/Queenie/Desktop/录音.csv', 'w')  
writer = csv.writer(f)      # 参见csv文件读写(函数reader、writer;类DictReader、DictWriter)

# 读取文件
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read() 


# 识别本地文件
def get_text():
    #这里我的音频文件 advice_58.wav 和代码文件在同一路径下,如果路径不同,需要添加音频文件所在的路径
    result = client.asr(get_file_content('advice_58.wav'), 'wav', 16000, {'dev_pid': 1537,})     
    text = result['result'][0]
    writer.writerow([text])
 

if __name__ == '__main__':
    print("开始读取")
    get_text()
    print("读取完毕")

相关文章

网友评论

      本文标题:Python:音频转文字 -- 短语音识别(1)

      本文链接:https://www.haomeiwen.com/subject/vlvxwhtx.html