转:使用Python对音频进行频谱分析
#转自 http://blog.sina.com.cn/s/blog_40793e970102w3m2.html
import wave import pyaudio import numpy import pylab#打开WAV文档,文件路径根据需要做修改 wf = wave.open("test.wav", "rb") #创建PyAudio对象 p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) nframes = wf.getnframes() framerate = wf.getframerate() #读取完整的帧数据到str_data中,这是一个string类型的数据 str_data = wf.readframes(nframes) wf.close() #将波形数据转换为数组 # A new 1-D array initialized from raw binary or text data in a string. wave_data = numpy.fromstring(str_data, dtype=numpy.short) #将wave_data数组改为2列,行数自动匹配。在修改shape的属性时,需使得数组的总长度不变。 wave_data.shape = -1,2 #将数组转置 wave_data = wave_data.T #time 也是一个数组,与wave_data[0]或wave_data[1]配对形成系列点坐标 #time = numpy.arange(0,nframes)*(1.0/framerate) #绘制波形图 #pylab.plot(time, wave_data[0]) #pylab.subplot(212) #pylab.plot(time, wave_data[1], c="g") #pylab.xlabel("time (seconds)") #pylab.show() # # 采样点数,修改采样点数和起始位置进行不同位置和长度的音频波形分析 N=44100 start=0 #开始采样位置 df = framerate/(N-1) # 分辨率 freq = [df*n for n in range(0,N)] #N个元素 wave_data2=wave_data[0][start:start+N] c=numpy.fft.fft(wave_data2)*2/N #常规显示采样频率一半的频谱 d=int(len(c)/2) #仅显示频率在4000以下的频谱 while freq[d]>4000:d-=10 pylab.plot(freq[:d-1],abs(c[:d-1]),'r') pylab.show()
转:使用Python对音频进行频谱分析相关推荐
- 使用Python对音频进行频谱分析
原文链接:http://blog.sina.com.cn/s/blog_40793e970102w3m2.html 本篇尝试使用Python对音频文件进行频谱分析.在语音识别领域对音频文件进行频谱分析 ...
- python音频频谱_小白音频测试之Python对音频进行频谱分析
初衷 语音识别领域对音频文件进行频谱分析是一项基本的数据处理过程,同时也为后续的特征分析准备数据. 前驱知识 Python需要使用的相关库wave https://docs.python.org/3/ ...
- python音频实时频谱分析_基于python的音频设计及频谱分析
74 Internet Technology 互联网 + 技术 一.引言 WAV 是 Microsoft 开发的一种声音文件格式,虽然它支持多种压缩格式,但是它通常被用来保存未压缩的声音数据(PCM ...
- python播放音频及playsound模块解除占用的3种方法
python播放音频文件及playsound模块解除占用的3种方法 pip install playsound 播放mp3文件 from playsound import playsound impo ...
- ffmpeg m4a 转pcm_FFmpeg提取视频音频python将音频转文字
ffmpeg提取视频中的音频-pcm ffmpeg -y -i input.mp4 -vn -codec copy out.m4a ffmpeg -i out.m4a -f segment -segm ...
- python学习音频-详解python播放音频的三种方法
第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...
- python学习音频-机器学习利用Python进行音频数据增强
2019-09-24 机器学习利用Python进行音频数据增强 数据增强通常用于机器学习和深度学习,以便在训练产生大量数据后获得良好的性能. 在这篇文章中,我将展示如何用一些音频增强技术使用输入音频文 ...
- python怎么实现音乐快进,python将音频进行变速的操作方法
有的时候需要手里的音频文件变速听,或可能变慢或可能变快 这里使用的python进行操作,我的目标是将文件转成2倍速 首先需要安装插件 pip install ffmpeg 然后再执行: from ff ...
- python可以播放音乐吗_详解python播放音频的三种方法
第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...
最新文章
- 面向接口编程详解(一)——思想基础
- ssh tunnel 上网
- win2003 https 网站的图文配置教程
- 5.UiScrollable API 详细介绍
- PHPExcel+phalcon+yii批量导入
- 多元算力加持,华为云鲲鹏大数据服务公测上线
- oracle rda结果,Oracle诊断工具-RDA使用
- 趋势发布SecureCloud云安全技术架构
- 客户端触发PostBack回发的两种写法
- Linux环境中的帮助命令有,Linux下的帮助命令
- 文本数据抽取经验总结
- PHP中PDO方法fetch参数问题
- doc 问卷调查模板表_问卷调查表格式范本.doc
- hcia hdcp实验
- DDE实现动态数据交换
- spark统计pv和uv值
- PHP 26个英文字母递增
- SpringBoot整合MybatisPlus实战动态SQL,java分布式架构
- QT中的Singal\slot机制
- pytorch系列教程(四)-自定义损失函数
热门文章
- 自动驾驶|马斯克推特宣布特斯拉全自动驾驶选项下月再涨1000美元
- pH敏感聚乙二醇-聚甲基丙烯酸PEG-b-PDPA混合胶束-瑞禧
- js 获取上下文后面的路径_通过在数据后面显示上下文来可视化公众意见
- ringbuff | 通用FIFO环形缓冲区实现库
- Google SEO内链建设指南:实战攻略
- 去掉底部 Powered by PageAdmin CMS 方法
- 苹果承认新一代iPad wifi问题 正调查原因
- 线下支付场景的争夺成为巨头争战的主题
- Error: Your CLT does not support macOS 11.0. 1.00
- c语言怎么打开mp4格式错误,c语言怎么播放MP4?