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实现dnspod自动更新dns解析的方法
Feb 14 Python
在Docker上开始部署Python应用的教程
Apr 17 Python
Python基于二分查找实现求整数平方根的方法
May 12 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
python中将正则过滤的内容输出写入到文件中的实例
Oct 21 Python
Python爬虫实现验证码登录代码实例
May 10 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
Python2与Python3关于字符串编码处理的差别总结
Sep 07 Python
python 实现简易的记事本
Nov 30 Python
Python 打印自己设计的字体的实例讲解
Jan 04 Python
基于PyInstaller各参数的含义说明
Mar 04 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
认识并使用PHP超级全局变量
2010/01/26 PHP
『jQuery』.html(),.text()和.val()的概述及使用
2013/04/22 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
javascript实现获取浏览器版本、浏览器类型
2015/12/02 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
webpack写jquery插件的环境配置
2017/12/21 jQuery
vue cli升级webapck4总结
2018/04/04 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
wxPython事件驱动实例详解
2014/09/28 Python
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
Python如何判断数独是否合法
2016/09/08 Python
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
python中return不返回值的问题解析
2020/07/22 Python
Python同时处理多个异常的方法
2020/07/28 Python
html5图片上传预览示例分享
2014/04/14 HTML / CSS
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
super关键字的用法
2012/04/10 面试题
关于毕业的广播稿
2014/01/10 职场文书
列车长先进事迹材料
2014/01/25 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
解除施工合同协议书
2014/10/17 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
欠款起诉书范文
2015/05/19 职场文书
工资证明范本
2015/06/12 职场文书
导游词之海南天涯海角
2019/12/05 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS