《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > Chirp聲音文件格式修改

Chirp聲音文件格式修改

2020-03-30
來源:與非網
關鍵詞: 單片機 Chirp

  提問

  老師,這個波形為什么抓取出來是這個樣子?應該是連續的 sin 吧?這個是從你發的網盤鏈接里面下載的 我用播放器畫出的波形。

  聲音信號繪制波形

forward (2).jpg

  聲音聽起來是下面“失真的 Chirp”聲音:

  我自己使用單片機, 發出的聲音不太一樣,但是波形就是您之前推文里的那個,就像下面的波形圖所顯示的那樣。

  剛才是我自己單片機生成的波形 老師發的 chirp.wav,用 Matplot 沒問題。但是從喇叭里面發出來,就會很奇怪,而且播放器上面的波形也不對。

2.jpg

  自己使用單片機產生的波形

  問題回復

  問題分析

  在生成最終的聲音 .wav 文件的時候,使用的是 16bit 整型數。在 python 程序中為:

  wavefile.setparams((1, 2, 10000, wavelen, 'NONE', 'Tsinghua'))

  函數中的參數定義分別是:(nchannels, sampwidth, framerate, nframes, comptype, compname),

  生成 wave 波形數據使用公式如下,這將產生帶有符號的 16 位整形數字:

  Chip 波形前面 300 個數據點繪制的波形如下:

3.jpg

  有符合 16 位整型數波形

  在寫入 wave 文件之前,需要將生成的數據轉換成無符號整形數字,使用二進制補碼方式進行轉換:

  sd = int(sin(angle * 2 * pi) * 0x3fff)

  if sd < 0: sd = 0x10000+sd

  這樣 wave 文件的波形就變成如下圖所示了:

4.jpg

  修改成有符合整型數的波形

  而在之前沒有按照二進制補碼方式轉換,而是直接采用 16 位無符號整形數來表示音頻數據,轉換的程序代碼如下:

  sd = int(sin(angle * 2 * pi) * 0x3fff) + 0x7fff

  這樣繪制出來的波形如下。雖然它的波形完整,但與 .wav 文件所使用的有符號 16 位整型數據不符合,所以播放出來的聲音出現較大的失真。

5.jpg

  無符號 16 整型數波形

  產生聲音文件的 PYTHON 程序

  正確 WAVE 文件格式的 Chirp 聲音文件下載地址:

  鏈接:

  https://pan.baidu.com/s/19qLZbABSISm8q2gA2V6Afw

  提取碼:  wrk2


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩av无码成人精品国产| 5g影院天天爽爽| 欧美日韩一区二区三区免费不卡| 又紧又大又爽精品一区二区| 高清中文字幕免费观在线| 女人让男人桶app免费大全| 亚洲av无码成人精品国产| 波多野结衣系列电影在线观看| 动漫卡通精品3d一区二区| 色综合综合色综合色综合| 国产情侣一区二区三区| av无码免费永久在线观看| 强开小婷嫩苞又嫩又紧视频 | 日本边添边摸边做边爱边| 亚洲人成未满十八禁网站| 欧美色欧美亚洲高清在线观看| 国产一区二区三区手机在线观看| 99久久国产热无码精品免费 | 亚洲成人在线免费观看| 精品综合久久久久久98| 国产三级毛片视频| 18女人腿打开无遮挡网站| 成人午夜福利视频镇东影视| 久久久国产精品亚洲一区| 日韩成年人视频| 亚洲欧美日韩成人网| 精品长泽梓在线播放视频| 国产一区风间由美在线观看| 2021国产精品久久| 国模无码一区二区三区不卡| 中文字幕免费在线视频| 日本天堂在线视频| 亚洲精品无码久久久久秋霞| 美女裸免费观看网站| 国产欧美精品一区二区三区四区 | a级毛片高清免费视频在线播放| 日本在线视频一区二区| 久久精品无码一区二区三区| 欧美金发大战黑人video| 亚洲视屏在线观看| 翁虹三级伦理电影大全在线观看|