最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

用Python驗證人耳能分辨的拍頻上限

2020-03-11 10:07 作者:Wildwizard  | 我要投稿

理力之前有一道作業(yè)題是關(guān)于人耳能否辨別出火車多普勒效應(yīng)產(chǎn)生的兩列波的拍,兩列波的頻率分別是1030Hz和971Hz。?

![mark](https://image.wildwizard.cn/blog/20200311/tmmzFY7SXOQX.jpg?imageslim)??

有些同學(xué)沒能區(qū)分拍頻和人耳能聽到的聲音頻率下限20Hz的區(qū)別,在群里發(fā)表了疑惑。雖然這個問題很快就解決了,但另一個問題產(chǎn)生了——人耳能不能分辨7Hz以上的拍?

為了驗證,首先要制作一個可以產(chǎn)生并合成任意頻率的發(fā)生器。這個很自然地就想用程序控制揚(yáng)聲器,但是我只有Python的環(huán)境……


> 老師:可調(diào)頻的發(fā)生器+電磁振蕩喇叭

這個真沒有,除非拆了收音機(jī)。

> 自己繞個線圈就是咯

也沒有,還得拆收音機(jī)。


我還是用python做音頻輸出吧。參考了python實現(xiàn)簡單的聲音文件讀寫(https://blog.csdn.net/m17551052704/article/details/96122117),花了幾分鐘把這個東西做出來了。

運(yùn)行后輸入a、b兩個波的頻率,程序會將a、b頻率的兩個簡諧波合成并保存在"a b.wav"內(nèi)。

代碼

合成波最快的方式應(yīng)該是快速傅里葉,但是我懶得寫。就這樣硬算,20s的音頻10秒就能處理完。況且我因為筆記本燒了,現(xiàn)在用的臺式機(jī)CPU是開學(xué)前80塊錢從二手店買的AthlonIIX4 640,3G主頻超到3.75G。一般人用的電腦肯定比我強(qiáng)十倍,懶得寫FFT。

兩個頻率也不宜設(shè)置的太高或者太低,例如我的鐵三角WS-660BT就放不出來低于100Hz的聲音,或者是我在低頻區(qū)聽力受損了(嚇?biāo)牢伊耍€以為是耳機(jī)壞了,原來只是我聾了)。

當(dāng)兩列波頻率差很小時,可以明顯聽到強(qiáng)弱變化,就是所謂的拍:

當(dāng)兩列波頻率相差較大的時候,拍就很難分辨了,如題圖:

拍2

那么能分辨的最高拍頻是多少?我做了測驗,個人認(rèn)為30Hz的拍頻還是可以分辨的,甚至題中的59Hz也勉強(qiáng)可以分辨。這個數(shù)值遠(yuǎn)大于7Hz,我認(rèn)為主要原因有兩點:

1. 程序合成的是簡諧波,自然界的聲音都帶有音色,波形很復(fù)雜,并不是簡諧波。這一點可以通過改變波形驗證。

2. 采用的揚(yáng)聲器對聲音輸出做了修改。大部分耳機(jī)/音響都會對特征曲線調(diào)整以更符合人的聽覺感官,不排除在這個過程中聲音有所改變。

首發(fā)于個人博客Wildwizard.cn。

用Python驗證人耳能分辨的拍頻上限的評論 (共 條)

分享到微博請遵守國家法律
舒兰市| 隆昌县| 新建县| 堆龙德庆县| 鲁山县| 罗源县| 云霄县| 乐平市| 稻城县| 汤阴县| 三亚市| 营口市| 怀安县| 偏关县| 襄垣县| 稷山县| 甘南县| 东光县| 通道| 扶风县| 宁城县| 长武县| 锡林郭勒盟| 泗洪县| 呼图壁县| 西乌珠穆沁旗| 如皋市| 湛江市| 吉安市| 星座| 全南县| 汉寿县| 临泉县| 土默特左旗| 奎屯市| 黄平县| 志丹县| 七台河市| 汶川县| 绥棱县| 白银市|