Python3分析处理声音数据的例子


Posted in Python onAugust 27, 2019

将音频文件拷贝到程序所在目录即可。

如下所示:

#!/usr/bin/env python
# encoding: utf-8
"""
@Company:华中科技大学电气学院聚变与等离子研究所
@version: V1.0
@author: Victor
@contact: 1650996069@qq.com or yexin@hust.edu.cn 2018--2020
@software: PyCharm
@file: VoiceDataProcessing.py
@time: 2018/9/8 13:08
@Desc:处理声音数据
"""
 
import wave
import pylab as pl
import numpy as np
 
print('1650996069@qq.com or yexin@hust.edu.cn')
 
print('working...')
 
print("read wav data....")
# 打开WAV文档,声音文件
f = wave.open(r"speak.wav", "rb")
fo = wave.open(r"jg.wav", "wb")
fi = wave.open(r"back.wav", "rb")
 
# 读取波形数据
# (nchannels, sampwidth, framerate, nframes, comptype, compname)
params = f.getparams()
nchannels, sampwidth, framerate, nframes = params[:4]
str_data = f.readframes(nframes)
 
fi_params = fi.getparams()
fi_nframes = fi_params[3]
fi_str_data = fi.readframes(fi_nframes)
 
# 将波形数据转换为数组,并更改
print("update wav data....")
wave_data = np.fromstring(str_data, dtype=np.short)
fi_wave_data = np.fromstring(fi_str_data, dtype=np.short)
 
# 复制并合并声音
new_wave_data = np.hstack((wave_data, wave_data, wave_data, wave_data, wave_data, wave_data, wave_data, wave_data))
temp_wavedata = fi_wave_data[:len(new_wave_data)]
new_wave_data = temp_wavedata * 0.5 + new_wave_data * 0.5
 
new_wave_data = np.array(new_wave_data)
new_wave_data = new_wave_data.astype(wave_data.dtype)
new_str_data = new_wave_data.tostring()
# 写波形数据参数
print("save new wav files....")
fo.setnchannels(nchannels)
fo.setframerate(framerate)
fo.setsampwidth(sampwidth)
fo.writeframes(new_str_data)
 
# 绘制波形
wave_data.shape = -1, 2
wave_data = wave_data.T
time = np.arange(0, nframes) * (1.0 / framerate)
pl.subplot(221)
pl.plot(time, wave_data[0])
pl.subplot(222)
pl.plot(time, wave_data[1], c="g")
pl.xlabel("time (seconds)")
pl.show()
 
# 绘制波形
new_wave_data.shape = -1, 2
new_wave_data = new_wave_data.T
new_time = np.arange(0, nframes * 8) * (1.0 / framerate)
pl.subplot(223)
pl.plot(new_time, new_wave_data[0])
pl.subplot(224)
pl.plot(new_time, new_wave_data[1], c="g")
pl.xlabel("time (seconds)")
pl.show()

以上这篇Python3分析处理声音数据的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python(Tornado)模拟登录小米抢手机
Nov 12 Python
Python标准库之sqlite3使用实例
Nov 25 Python
go和python变量赋值遇到的一个问题
Aug 31 Python
Python爬虫框架scrapy实现的文件下载功能示例
Aug 04 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
Python代理IP爬虫的新手使用教程
Sep 05 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
PyQt5实现画布小程序
May 30 Python
Keras—embedding嵌入层的用法详解
Jun 10 Python
python和c语言哪个更适合初学者
Jun 22 Python
Python判断远程服务器上Excel文件是否被人打开的方法
Jul 13 Python
Python快速优雅的批量修改Word文档样式
May 20 Python
python中struct模块之字节型数据的处理方法
Aug 27 #Python
Python的bit_length函数来二进制的位数方法
Aug 27 #Python
使用python将excel数据导入数据库过程详解
Aug 27 #Python
python读取指定字节长度的文本方法
Aug 27 #Python
Django中的cookie和session
Aug 27 #Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 #Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
Aug 27 #Python
You might like
Home Coffee Roasting
2021/03/03 咖啡文化
PHP与SQL注入攻击防范小技巧
2011/09/16 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
浅谈react 同构之样式直出
2017/11/07 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
react 应用多入口配置及实践总结
2018/10/17 Javascript
如何用RxJS实现Redux Form
2018/12/29 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
python检查指定文件是否存在的方法
2015/07/06 Python
Python导入oracle数据的方法
2015/07/10 Python
Python实现简易Web爬虫详解
2018/01/03 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
毕业生的自我评价
2013/12/30 职场文书
党风廉政建设责任书
2014/04/14 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
双拥工作宣传标语
2014/06/26 职场文书
个人授权委托书模板
2014/09/14 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
保洁员岗位职责
2015/02/04 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
幼儿园见习总结
2015/06/23 职场文书