您的位置:首页 > 编程语言 > Python开发

二、Python开发语音识别

2020-02-03 04:53 916 查看

二、Python开发语音识别
(一)复数

complex(2, 3)
# (2+3j)
# 傅里叶变换中会用到复数
# 复数内置的访问器
z = 2 + 3j
z.real
# 2.0
z.imag
# 3.0
z.conjugate()
# 2 - 3j
# 内置函数abs()和pow()支持复数
abs(3 + 4j)
# 5.0
pow(3 + 4j, 2)
# (-7 + 24j)
# 标准模块cmath具有处理复数的更多功能
import cmath
cmath.sin(2 + 3j)

(二)包->模块->函数
import语句可导入一个.py文件中定义的函数。
模块(Module):该.py文件。
包:模块的命名空间。
(三)函数
(1)python脚本执行方式:自上而下。
(2)__ name__属性(Python文件/脚本(模块)内部属性):
直接运行模块a时:__ name__ == “__ main__”;
导入模块a到模块b,运行b时:a的__name__ == “a”(模块本身的名字)。
(四)读写文件

# 读json格式的文件
import json
data = json.load(open('my_file.json', 'r'))

(五)命令行参数

import argparse
parser = argparse.ArgumentParser(description='format acronyms from a._b._c. to a b c')
parser.add_argument('-i', '--input', help='Input ctm file', required=True)
parser.add_argument('-o', '--output', help='Output ctm file', required=True)
args = parser.parse_args()

fin = open(args.input, "r")
fout = opne(args.output, "w")

(六)数据库

# 使用sqlite3模块在内存中创建一个SQLite数据库
import sqlite3
conn = sqlite3.connect(':memory:') # 连接数据库
print("成功打开数据库")
c = conn.cursor()
c.execute('''CREATE TABLE results(exp text, dataset text, lm text, lm_w int, wer float, ser float'''))
# 从前面创建的results表中获取并显示记录
c.execute("SELECT * FROM results ORDER BY exp, dataset, lm, lm_w")
d = c.fetchall()
t = Table(data=d, colnames=['exp', 'set', 'lm', 'LMW', 'WER', 'SER'])
print('%s\n=================================' % str(t))

(七)日志记录

import logging
......
# 后面用到自行百度

(八)异常处理

import errno
......
try:
......
except OSError as e:
......
# 后面用到自行百度

(九)语音活动检测

  1. 语音活动检测/语音检测(Voice Activity Detection, VAD):检测是否存在人类语音的一种语音处理技术。
  2. 声学特征提取
  • 声音是模拟信号,声音的时域波形只代表声压随时间变化的关系,不能很好地代表声音的特征,因此,必须将声音波形转换为声学特征向量
  • 声音特征提取方法:
    梅尔频率倒谱系数(MFCC);
    线性预测倒谱系数(LPCC);
    多分辨率耳蜗图(Multi-Resolution CochleaGram, MRCG)
  1. 基于MRCG的分类器:
    自适应上下文关注模型(ACAM);
    增强的深度神经网络(bDNN);
    深度神经网络(DNN);
    长短期记忆递归神经网络(LSTM-RNN).
    (十)使用numpy
    使用numpy可以加载.npy格式的数据,然后使用matplotlib显示图像
import numpy as np
c = np.load("F:/book/examples.npy")
import matplotlib.pyplot as plt
plt.imshow(c[0], cmap=plt.cm.gray)
plt.show()
  • 点赞
  • 收藏
  • 分享
  • 文章举报
梁小娘子 发布了36 篇原创文章 · 获赞 0 · 访问量 556 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: