日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python 讀取WAV音頻文件 畫頻譜的實(shí)例

瀏覽:10日期:2022-08-02 11:17:54

Python 讀取WAV文件

import waveimport structfrom scipy import *from pylab import * #讀取wav文件,我這兒讀了個(gè)自己用python寫的音階的wavfilename = ’1.wav’wavefile = wave.open(filename, ’r’) # open for writing #讀取wav文件的四種信息的函數(shù)。期中numframes表示一共讀取了幾個(gè)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) #建一個(gè)y的數(shù)列,用來保存后面讀的每個(gè)frame的amplitude。y = zeros(numframes) #for循環(huán),readframe(1)每次讀一個(gè)frame,取其前兩位,是左聲道的信息。右聲道就是后兩位啦。#unpack是struct里的一個(gè)函數(shù),用法詳見http://docs.python.org/library/struct.html。簡單說來就是把#packed的string轉(zhuǎn)換成原來的數(shù)據(jù),無論是什么樣的數(shù)據(jù)都返回一個(gè)tuple。這里返回的是長度為一的一個(gè)#tuple,所以我們?nèi)∷牡诹阄弧or 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,文件初讀取的值。然后本程序最關(guān)鍵的一步!specgram!實(shí)在太簡單了。。。Fs = frameratespecgram(y, NFFT=1024, Fs=Fs, noverlap=900)show()

補(bǔ)充知識(shí):matlab生成wav文件并用python驗(yàn)證

在進(jìn)行頻譜分析時(shí),發(fā)現(xiàn)MATLAB和python讀取wav文件的波形不一致,導(dǎo)致不能得出正確結(jié)果,為了驗(yàn)證MATLAB和python哪部分有問題,于是有了這篇博客。

1、需求分析

用MATLAB生成一個(gè)正弦波并保存為wav文件,然后用python讀取這個(gè)wav文件畫出波形,查看python讀取出來的波形和matlab生成的波形是否一致。

2、代碼實(shí)現(xiàn)

2.1 MATLAB生成wav文件

Df=5; %頻率間隔fs = 8000; %采樣頻率T = 1/fs; %采樣周期N=fs/Df; %序列點(diǎn)數(shù)time = (N-1)./fs; %第一個(gè)聲音片段的總時(shí)長t=0:T:(N-1)./fs;y = sin(2*pi*200*t); %生成第一個(gè)聲音片段,注意需要用db2mag()函數(shù)把dB轉(zhuǎn)換成magnitude。sound(y,fs) %可以播放聲音的函數(shù) sound()filename = (’sinwave.wav’); %給文件取名plot(t,y)audiowrite(filename,y,fs) %存儲(chǔ).wav音頻文件,在這里文件名為sinwave.wav

其中生成的正弦波波形如下圖所示:

Python 讀取WAV音頻文件 畫頻譜的實(shí)例

2.2 python讀取wav文件

import waveimport numpy as npimport pylab as plt#打開wav文件 ,open返回一個(gè)的是一個(gè)Wave_read類的實(shí)例,通過調(diào)用它的方法讀取WAV文件的格式和數(shù)據(jù)。f = wave.open(r'E:練習(xí)音頻信號(hào)處理spectrum.msinwave.wav','rb')#讀取格式信息#一次性返回所有的WAV文件的格式信息,它返回的是一個(gè)組元(tuple):聲道數(shù), 量化位數(shù)(byte單位), 采#樣頻率, 采樣點(diǎn)數(shù), 壓縮類型, 壓縮類型的描述。wave模塊只支持非壓縮的數(shù)據(jù),因此可以忽略最后兩個(gè)信息params = f.getparams()nchannels, sampwidth, framerate, nframes = params[:4]#讀取波形數(shù)據(jù)#讀取聲音數(shù)據(jù),傳遞一個(gè)參數(shù)指定需要讀取的長度(以取樣點(diǎn)為單位)str_data = f.readframes(nframes)f.close()#將波形數(shù)據(jù)轉(zhuǎn)換成數(shù)組#需要根據(jù)聲道數(shù)和量化單位,將讀取的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為一個(gè)可以計(jì)算的數(shù)組wave_data = np.fromstring(str_data,dtype=np.short)#通過取樣點(diǎn)數(shù)和取樣頻率計(jì)算出每個(gè)取樣的時(shí)間。time=np.arange(0,nframes)/framerateprint(params)print(wave_data.max())#找出正弦波的峰值#time 也是一個(gè)數(shù)組,與wave_data[0]或wave_data[1]配對(duì)形成系列點(diǎn)坐標(biāo)plt.plot(time,wave_data/32768)plt.show()

python讀取wav文件顯示出來的正弦波如下圖所示:

Python 讀取WAV音頻文件 畫頻譜的實(shí)例

python讀取wav文件的信息及求出波形峰值的結(jié)果如下圖所示:

Python 讀取WAV音頻文件 畫頻譜的實(shí)例

我們可以看出峰值為32767(該wav文件有16bit,且?guī)б粋€(gè)符號(hào)位。215=32768215=32768 ),我們進(jìn)行歸一化處理后的到波形如下圖所示:

Python 讀取WAV音頻文件 畫頻譜的實(shí)例

由上圖可以看出MATLAB生成的正弦波保存為wav文件后,python讀取該wav文件。兩種語言下正弦波相同。

以上這篇Python 讀取WAV音頻文件 畫頻譜的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91成人网在线观看| 亚洲啊v在线| 激情欧美一区二区三区| 亚洲欧美日韩视频二区| 亚洲综合二区| www.九色在线| 国产高清久久| 欧美一级网址| a天堂资源在线| 欧美一级鲁丝片| 一区二区三区四区在线观看国产日韩 | 亚洲女同av| 久久高清免费| 少妇高潮一区二区三区99| 日韩中文字幕区一区有砖一区| 国产一区二区三区不卡视频网站| а√天堂8资源在线| 亚洲欧美网站在线观看| 精品视频久久| 99精品视频在线观看免费播放| 免费看久久久| 精品一区二区三区免费看| 亚洲国产欧美日本视频| 国产精品女主播一区二区三区| 精品久久久网| 婷婷亚洲成人| 新版的欧美在线视频| 91精品国产乱码久久久久久久 | 中文久久精品| 国产日韩一区二区三区在线播放 | 亚洲一区二区三区中文字幕在线观看 | 免播放器亚洲一区| 精品深夜福利视频| 99热精品在线观看| 鲁大师精品99久久久| 久久中文亚洲字幕| 欧美极品一区二区三区| 欧美一区二区三区久久精品| 中文精品电影| 免费中文字幕日韩欧美| 九一精品国产| 国内一区二区三区| 国产欧美日韩免费观看| 国产99精品| 中文不卡在线| 在线观看精品| 丰满少妇一区| 麻豆国产一区| 午夜av不卡| 国产在线不卡| 综合色一区二区| 日本麻豆一区二区三区视频| 婷婷综合国产| 国产一区丝袜| 欧美一级鲁丝片| 欧美另类中文字幕| 精品中文字幕一区二区三区 | 久久国产人妖系列| 水野朝阳av一区二区三区| 特黄毛片在线观看| 你懂的国产精品永久在线| 日韩综合小视频| 美国三级日本三级久久99| 日本午夜大片a在线观看| 日本亚洲欧美天堂免费| 日韩一区二区久久| 青草久久视频| 夜夜嗨网站十八久久| 精品伊人久久久| 青青久久av| 日本精品在线中文字幕| 成人亚洲一区| 亚洲综合二区| 午夜一级久久| 亚洲视频二区| 亚洲v在线看| 精品视频一区二区三区在线观看 | 午夜久久av| 麻豆精品蜜桃视频网站| 日韩在线看片| 亚洲一区二区免费看| 国产精品va| 亚洲激情社区| 国产探花一区| xxxxx性欧美特大| 日韩免费精品| 99亚洲视频| 天堂8中文在线最新版在线| 天海翼亚洲一区二区三区| 国产精品日韩精品在线播放 | 日韩网站中文字幕| 国产精品呻吟| 在线人成日本视频| 国产精品丝袜在线播放| 亚洲欧美在线专区| 亚洲欧洲一区| 天堂日韩电影| 国产传媒在线| 国产精品亚洲人成在99www| 美女精品在线| 亚洲高清久久| 在线精品小视频| 欧美日韩免费看片| 国产成人77亚洲精品www| 日韩一二三区在线观看| 99久久亚洲精品蜜臀| 国产欧美另类| 亚洲精品九九| 日本在线不卡视频| 视频一区视频二区中文| 午夜一级久久| 国产精品网址| 亚洲青青久久| 五月天久久久| 免费在线观看一区| 日本欧美一区二区| 国产精品18| 午夜精品久久久久久久久久蜜桃| 国产精品一区二区美女视频免费看| 亚洲激情另类| 中文一区一区三区免费在线观| 妖精视频成人观看www| 日韩精品91亚洲二区在线观看| 久久狠狠久久| 国内自拍视频一区二区三区| 久久国产影院| 夜夜精品视频| 日本午夜精品| 日韩欧美三级| 99精品视频在线| 亚洲一区免费| 久久国产乱子精品免费女| 国产精品激情| 91亚洲一区| 日本一区二区高清不卡| 午夜久久免费观看| 蜜臀久久久久久久| 亚洲精品麻豆| 精品视频国产| 91精品99| 国产一卡不卡| 捆绑调教美女网站视频一区 | 伊人久久国产| 伊人国产精品| 麻豆免费精品视频| 2023国产精品久久久精品双| 亚久久调教视频| 国产一区二区三区视频在线| 久久国产影院| 欧美永久精品| 巨乳诱惑日韩免费av| а√天堂8资源在线| 欧美中文字幕| 99久久久久国产精品| 国产日韩欧美三区| 日韩中文字幕av电影| 国产乱码精品一区二区三区四区 | 国产精品视频首页| 9国产精品视频| 97精品国产| 国产精品呻吟| 国产伊人久久| 欧美中文一区| 国产精品日韩| 激情视频一区二区三区| 激情不卡一区二区三区视频在线| 中文字幕成人| 视频在线在亚洲| 在线人成日本视频| 欧美激情视频一区二区三区免费| 日日夜夜免费精品| 婷婷激情一区| 黄色网一区二区| 久久精品国内一区二区三区| 一区在线观看| 视频一区中文| 精品亚洲美女网站| 欧美一级全黄| 国产精品nxnn| 激情久久99| 国产欧美日韩在线观看视频| 日韩欧美中文在线观看| 蜜臀国产一区二区三区在线播放| 亚洲成人三区| 国产韩日影视精品| 中文在线不卡| 久久午夜视频| 99精品小视频| 婷婷国产精品| 成人羞羞在线观看网站| 都市激情国产精品| 精品久久久久中文字幕小说| 日韩欧美2区| 91成人小视频| 国产精成人品2018| 美女久久久久久| 快播电影网址老女人久久| 亚洲深夜福利| 日韩**一区毛片| 成人精品久久|