日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

变声原理:卷积和传递函数

發布時間:2023/12/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 变声原理:卷积和传递函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

idea

關于系統

我們將一個空曠的房間類比于一個系統,如果我們在房間內放置一個聲源,聲音信號經過墻壁,天花板,地面,放置的種種物品的反射,最終會被我們人耳或者聲音采集設備收集。這個系統顯然對聲音具有一定的處理作用,并且這些放置物品以及房間本身結構以及材料的獨特性,決定了代表其特征的傳遞函數。

關于傳遞函數

在自動控制原理中我們獲悉,一個系統的傳遞函數可以通過實驗的方法獲得,一個系統的沖激響應即為其傳遞函數。

Y(s) = G(s)·L[δ(t)]

完美的沖激信號我們無法輕易獲得,事實上我們可以用一個尖銳的聲音信號代替之。在這里,我將收集拍手聲經過房間這個系統作用之后的信號,以此求出房間這個系統的傳遞函數。

關于卷積

時域信號的卷積等于頻域的相乘,這一點與傳遞函數的理解是一致的,即有:

Y[s] = G(s)·X(s)

值得一提的是,本次實驗中我采用了手機進行聲音信號的采集,手機采集到的聲音信息是雙通道的,我們在進行卷積之前,需要對聲音信號預先進行聲道合并和格式處理。

思路

用拍手聲模擬沖激響應之后,我們需要在另一相對安靜的環境下采集另一段音頻信號,同樣地在卷積運算之前需要對信號進行預處理。而后即可通過matlab進行編程實現卷積運算了。

代碼展示

讀取兩段音頻

clear; clc % 讀取兩段音頻 IR = audioread('Gs.wav'); voice = audioread('warm_song.wav'); mix = conv(voice,IR); % 作圖觀察沖激信號 plot(IR); audiowrite('conv_song.wav',mix,48000);

圖像如下:

可見在信號發生之初還是比較“銳利”的。

卷積之前的聲音

在命令行直接輸入即可

sound(voice,48000)

卷積之后的聲音

在命令行直接輸入即可

sound(mix,48000)

完整聲音文件及調試見:
鏈接:https://pan.baidu.com/s/10zaN58aUof37uqg5ERSfZQ
提取碼:g6j1

總結

以上是生活随笔為你收集整理的变声原理:卷积和传递函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。