Python 读取wav音频文件,并用specgram画频谱

import wave

import struct

from scipy import *

from pylab import *

#读取wav文件,我这儿读了个自己用python写的音阶的wav

filename = '1.wav'

wavefile = wave.open(filename, 'r') # open for writing

#读取wav文件的四种信息的函数。期中numframes表示一共读取了几个frames,在后面要用到滴。

nchannels = wavefile.getnchannels()

sample_width = wavefile.getsampwidth()

framerate = wavefile.getframerate()

numframes = wavefile.getnframes()

print("channel",nchannels)

print("sample_width",sample_width)

print("framerate",framerate)

print("numframes",numframes)

#建一个y的数列,用来保存后面读的每个frame的amplitude。

y = zeros(numframes)

#for循环,readframe(1)每次读一个frame,取其前两位,是左声道的信息。右声道就是后两位啦。

#unpack是struct里的一个函数,用法详见http://docs.python.org/library/struct.html。简单说来就是把

#packed的string转换成原来的数据,无论是什么样的数据都返回一个tuple。这里返回的是长度为一的一个

#tuple,所以我们取它的第零位。

for i in range(numframes):

val = wavefile.readframes(1)

left = val[0:2]

#right = val[2:4]

v = struct.unpack('h', left )[0]

y[i] = v

#framerate就是44100,文件初读取的值。然后本程序最关键的一步!specgram!实在太简单了。。。

Fs = framerate

specgram(y, NFFT=1024, Fs=Fs, noverlap=900)

show()

python绘制音频频谱_Python 读取wav画频谱相关推荐

  1. python音频频谱_Python 读取WAV音频文件 画频谱的实例

    Python 读取WAV文件 import wave import struct from scipy import * from pylab import * #读取wav文件,我这儿读了个自己用p ...

  2. python音频频谱_Python读取WAV音频文件 画频谱的方法

    Python 读取WAV文件 import wave import struct from scipy import * from pylab import * #读取wav文件,我这儿读了个自己用p ...

  3. python读取音频文件_python 读取wav 音频文件的两种方式

    JavaScript算法(冒泡排序.选择排序与插入排序) 冒泡排序.选择排序与插入排序复杂度都是二次方级别的,放在一起说吧. 介绍一些学习这三个排序方法的比较好的资料.冒泡排序看介绍的冒泡排序,选择排 ...

  4. python绘制蚊香形_python之turtle画蚊香

    原理:利用turtle绘制圆形,并使圆半径逐步增加 代码如下: import turtle turtle.pensize(30) for i in range(30): turtle.circle(i ...

  5. python绘制饼图双层_Python通过matplotlib画双层饼图及环形图简单示例

    (1) 饼图(pie),即在一个圆圈内分成几块,显示不同数据系列的占比大小,这也是我们在日常数据的图形展示中最常用的图形之一. 在python中常用matplotlib的pie来绘制,基本命令如下所示 ...

  6. python绘制表格界面_python 读取 excel 生成 html 页面

    前言 有天老板找我到办公室跟我说要做一个商城,商城卖出去东西就有佣金可以拿.我听着就头大.老板打开电脑给我看了网站:你看一下这个网站,照着它的流程就可以拥有一个商城了.我靠过去一看,大概了解一下:原来 ...

  7. python绘制爱心气球_python中用turtle画爱心表白-Go语言中文社区

    python中用turtle画爱心表白 运行后的效果图: 下面的代码是在python3.7写的,代码有点长,但却语法简单易懂 代码如下: import turtle str = input('请输入表 ...

  8. python绘制柱状图代码_python绘制双柱形图代码实例

    图表是比干巴巴的表格更直观的表达,简洁.有力.工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连接数.活跃用户数.点击某个按钮的人数,并且通过邮件或者网页展示出来.当我们想关注比数值本身 ...

  9. 用python绘制叠加等边三角形_python 叠加等边三角形的绘制的实现

    题目:使用turtle库绘制叠加等边三角形. 要分享: 屏幕应该是个叠加三角,一岗是一个分角.不是樽前爱惜身,佯狂难免假成真.曾因酒醉鞭名马,生怕情多累美人. 如何使用python turtle 画一 ...

最新文章

  1. osm2pgsql windows “illegal option -W” error
  2. 怎么给vue定义全局方法
  3. 2019年12月份最热门 Github 开源项目整理
  4. fcc认证_介绍fCC 100:我们对2019年杰出贡献者的年度总结
  5. [2-sat]HDOJ3062 Party
  6. javapanel根据内部组件_java gui中怎么用jpanel实现组件的绝对定位
  7. zemax设计35mm镜头_1650万像素的手机镜头设计
  8. Specified key was too long; max key length is 767 bytes解决方案
  9. Doris之故障恢复(重点)
  10. 掌上百度2011java_掌上百度2011通用版 掌上百度 Java空间版
  11. 办公自动化——Python操作Excel案例
  12. Android Performance之开机优化(1)-开机启动优化工具
  13. 计算机镜像功能是什么,屏幕镜像是什么?它和投屏有什么关系?
  14. 深度学习——安装Nvidia 驱动(亲测有效)
  15. C++ Primer Plus习题及答案-第五章
  16. 运用阿里云地图实现经纬度转换为省市县
  17. 识别 Cisco交换机型号
  18. 智付科技集团2018全球合作伙伴大会成功举办 5大战略布局首度公开
  19. javascript字符串方法indexOf、lastIndexOf 方法的使用
  20. Mockman-Mock服务工具的安装与使用以及mock的一些扩展

热门文章

  1. 如何打造工业物联网帝国?
  2. Java 8 终于支持 Docker !
  3. 漫画:如何给女朋友解释为什么200M宽带,打王者荣耀还是会有460的延迟?
  4. 可视化编程真的有那么糟糕?
  5. 1.08 亿条投注信息遭泄露,Elasticsearch 是祸因?!
  6. android布局时长分析,Android性能优化:布局优化 详细解析(含、、讲解 )
  7. 第 7 章 MybatisPlus 插件
  8. SET化消息中间件架构实现
  9. oracle仲裁机制,仲裁逻辑设计要点
  10. php和xml区别,html与xhtml和xml有什么区别