#转自 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对音频进行频谱分析相关推荐

  1. 使用Python对音频进行频谱分析

    原文链接:http://blog.sina.com.cn/s/blog_40793e970102w3m2.html 本篇尝试使用Python对音频文件进行频谱分析.在语音识别领域对音频文件进行频谱分析 ...

  2. python音频频谱_小白音频测试之Python对音频进行频谱分析

    初衷 语音识别领域对音频文件进行频谱分析是一项基本的数据处理过程,同时也为后续的特征分析准备数据. 前驱知识 Python需要使用的相关库wave https://docs.python.org/3/ ...

  3. python音频实时频谱分析_基于python的音频设计及频谱分析

    74 Internet Technology 互联网 + 技术 一.引言 WAV 是 Microsoft 开发的一种声音文件格式,虽然它支持多种压缩格式,但是它通常被用来保存未压缩的声音数据(PCM ...

  4. python播放音频及playsound模块解除占用的3种方法

    python播放音频文件及playsound模块解除占用的3种方法 pip install playsound 播放mp3文件 from playsound import playsound impo ...

  5. ffmpeg m4a 转pcm_FFmpeg提取视频音频python将音频转文字

    ffmpeg提取视频中的音频-pcm ffmpeg -y -i input.mp4 -vn -codec copy out.m4a ffmpeg -i out.m4a -f segment -segm ...

  6. python学习音频-详解python播放音频的三种方法

    第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...

  7. python学习音频-机器学习利用Python进行音频数据增强

    2019-09-24 机器学习利用Python进行音频数据增强 数据增强通常用于机器学习和深度学习,以便在训练产生大量数据后获得良好的性能. 在这篇文章中,我将展示如何用一些音频增强技术使用输入音频文 ...

  8. python怎么实现音乐快进,python将音频进行变速的操作方法

    有的时候需要手里的音频文件变速听,或可能变慢或可能变快 这里使用的python进行操作,我的目标是将文件转成2倍速 首先需要安装插件 pip install ffmpeg 然后再执行: from ff ...

  9. python可以播放音乐吗_详解python播放音频的三种方法

    第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...

最新文章

  1. 面向接口编程详解(一)——思想基础
  2. ssh tunnel 上网
  3. win2003 https 网站的图文配置教程
  4. 5.UiScrollable API 详细介绍
  5. PHPExcel+phalcon+yii批量导入
  6. 多元算力加持,华为云鲲鹏大数据服务公测上线
  7. oracle rda结果,Oracle诊断工具-RDA使用
  8. 趋势发布SecureCloud云安全技术架构
  9. 客户端触发PostBack回发的两种写法
  10. Linux环境中的帮助命令有,Linux下的帮助命令
  11. 文本数据抽取经验总结
  12. PHP中PDO方法fetch参数问题
  13. doc 问卷调查模板表_问卷调查表格式范本.doc
  14. hcia hdcp实验
  15. DDE实现动态数据交换
  16. spark统计pv和uv值
  17. PHP 26个英文字母递增
  18. SpringBoot整合MybatisPlus实战动态SQL,java分布式架构
  19. QT中的Singal\slot机制
  20. pytorch系列教程(四)-自定义损失函数

热门文章

  1. 自动驾驶|马斯克推特宣布特斯拉全自动驾驶选项下月再涨1000美元
  2. pH敏感聚乙二醇-聚甲基丙烯酸PEG-b-PDPA混合胶束-瑞禧
  3. js 获取上下文后面的路径_通过在数据后面显示上下文来可视化公众意见
  4. ringbuff | 通用FIFO环形缓冲区实现库
  5. Google SEO内链建设指南:实战攻略
  6. 去掉底部 Powered by PageAdmin CMS 方法
  7. 苹果承认新一代iPad wifi问题 正调查原因
  8. 线下支付场景的争夺成为巨头争战的主题
  9. Error: Your CLT does not support macOS 11.0. 1.00
  10. c语言怎么打开mp4格式错误,c语言怎么播放MP4?