自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

科學(xué)音頻處理(二):如何使用 Octave 對(duì)音頻文件進(jìn)行基本數(shù)學(xué)信號(hào)處理

系統(tǒng) Linux 系統(tǒng)運(yùn)維
在前一篇的指導(dǎo)教程中,我們看到了讀、寫以及重放音頻文件的簡(jiǎn)單步驟,我們甚至看到如何從一個(gè)周期函數(shù)比如余弦函數(shù)合成一個(gè)音頻文件。在這篇指導(dǎo)教程中,我們將會(huì)看到如何對(duì)信號(hào)進(jìn)行疊加和倍乘(調(diào)整),并應(yīng)用一些基本的數(shù)學(xué)函數(shù)看看它們對(duì)原始信號(hào)的影響。

[[174884]]

前一篇的指導(dǎo)教程中,我們看到了讀、寫以及重放音頻文件的簡(jiǎn)單步驟,我們甚至看到如何從一個(gè)周期函數(shù)比如余弦函數(shù)合成一個(gè)音頻文件。在這篇指導(dǎo)教程中,我們將會(huì)看到如何對(duì)信號(hào)進(jìn)行疊加和倍乘(調(diào)整),并應(yīng)用一些基本的數(shù)學(xué)函數(shù)看看它們對(duì)原始信號(hào)的影響。

信號(hào)疊加

兩個(gè)信號(hào) S1(t)和 S2(t)相加形成一個(gè)新的信號(hào) R(t),這個(gè)信號(hào)在任何瞬間的值等于構(gòu)成它的兩個(gè)信號(hào)在那個(gè)時(shí)刻的值之和。就像下面這樣:

  1. R(t) = S1(t) + S2(t) 

我們將用 Octave 重新產(chǎn)生兩個(gè)信號(hào)的和并通過(guò)圖表看達(dá)到的效果。首先,我們生成兩個(gè)不同頻率的信號(hào),看一看它們的疊加信號(hào)是什么樣的。

***步:產(chǎn)生兩個(gè)不同頻率的信號(hào)(oog 文件)

  1. >> sig1='cos440.ogg';                  %creating the audio file @440 Hz 
  2. >> sig2='cos880.ogg';                  %creating the audio file @880 Hz 
  3. >> fs=44100;                           %generating the parameters values (Period, sampling frequency and angular frequency) 
  4. >> t=0:1/fs:0.02; 
  5. >> w1=2*pi*440*t; 
  6. >> w2=2*pi*880*t; 
  7. >> audiowrite(sig1,cos(w1),fs);        %writing the function cos(w) on the files created 
  8. >> audiowrite(sig2,cos(w2),fs); 

然后我們繪制出兩個(gè)信號(hào)的圖像。

信號(hào) 1 的圖像(440 赫茲)

  1. >> [y1, fs] = audioread(sig1); 
  2. >> plot(y1) 

 

 

 信號(hào) 1 的圖像

信號(hào) 2 的圖像(880 赫茲)

  1. >> [y2, fs] = audioread(sig2); 
  2. >> plot(y2) 

 

 信號(hào) 2 的圖像

第二步:把兩個(gè)信號(hào)疊加

現(xiàn)在我們展示一下前面步驟中產(chǎn)生的兩個(gè)信號(hào)的和。

  1. >> sumres=y1+y2; 
  2. >> plot(sumres) 

疊加信號(hào)的圖像

 和信號(hào)的圖像

Octaver 中的效果

在 Octaver 中,這個(gè)效果產(chǎn)生的聲音是獨(dú)特的,因?yàn)樗梢苑抡嬉魳?lè)家彈奏的低八度或者高八度音符(取決于內(nèi)部程序設(shè)計(jì)),仿真音符和原始音符成對(duì),也就是兩個(gè)音符發(fā)出相同的聲音。

第三步:把兩個(gè)真實(shí)的信號(hào)相加(比如兩首音樂(lè)歌曲)

為了實(shí)現(xiàn)這個(gè)目的,我們使用格列高利圣詠(Gregorian Chants)中的兩首歌曲(聲音采樣)。

圣母頌曲(Avemaria Track)

首先,我們看一下圣母頌曲并繪出它的圖像:

  1. >> [y1,fs]=audioread('avemaria_.ogg'); 
  2. >> plot(y1) 

 

 圣母歌曲

贊美詩(shī)曲(Hymnus Track)

現(xiàn)在我們看一下贊美詩(shī)曲并繪出它的圖像。

  1. >> [y2,fs]=audioread('hymnus.ogg'); 
  2. >> plot(y2) 

 

 

 贊美詩(shī)曲

圣母頌曲 + 贊美詩(shī)曲

  1. >> y='avehymnus.ogg'
  2. >> audiowrite(y, y1+y2, fs); 
  3. >> [y, fs]=audioread('avehymnus.ogg'); 
  4. >> plot(y) 

 

 

 圣母歌曲 + 贊美詩(shī)曲

結(jié)果,從音頻的角度來(lái)看,兩個(gè)聲音信號(hào)混合在了一起。

兩個(gè)信號(hào)的乘積

對(duì)于求兩個(gè)信號(hào)的乘積,我們可以使用類似求和的方法。我們使用之前生成的相同文件。

  1. R(t) = S1(t) * S2(t)  
  1. >> sig1='cos440.ogg';                  %creating the audio file @440 Hz 
  2. >> sig2='cos880.ogg';                  %creating the audio file @880 Hz 
  3. >> product='prod.ogg';                 %creating the audio file for product 
  4. >> fs=44100;                           %generating the parameters values (Period, sampling frequency and angular frequency) 
  5. >> t=0:1/fs:0.02; 
  6. >> w1=2*pi*440*t; 
  7. >> w2=2*pi*880*t; 
  8. >> audiowrite(sig1, cos(w1), fs);      %writing the function cos(w) on the files created 
  9. >> audiowrite(sig2, cos(w2), fs);>> [y1,fs]=audioread(sig1);>> [y2,fs]=audioread(sig2); 
  10. >> audiowrite(product, y1.*y2, fs);    %performing the product 
  11. >> [yprod,fs]=audioread(product); 
  12. >> plot(yprod);                        %plotting the product 

注意:我們必須使用操作符 ‘.*’,因?yàn)樵趨?shù)文件中,這個(gè)乘積是值與值相乘。更多信息,請(qǐng)參考 Octave 矩陣操作產(chǎn)品手冊(cè)。

乘積生成信號(hào)的圖像

 乘積信號(hào)的圖像

兩個(gè)基本頻率相差很大的信號(hào)相乘后的圖表效果(調(diào)制原理)

***步:

生成兩個(gè)頻率為 220 赫茲的聲音信號(hào)。

  1. >> fs=44100; 
  2. >> t=0:1/fs:0.03; 
  3. >> w=2*pi*220*t; 
  4. >> y1=cos(w); 
  5. >> plot(y1); 

 

 

 載波

第二步:

生成一個(gè) 22000 赫茲的高頻調(diào)制信號(hào)。

  1. >> y2=cos(100*w); 
  2. >> plot(y2); 

 

 

 調(diào)制中

第三步:

把兩個(gè)信號(hào)相乘并繪出圖像。

  1. >> plot(y1.*y2); 

 

 

 調(diào)制后的信號(hào)

一個(gè)信號(hào)和一個(gè)標(biāo)量相乘

一個(gè)函數(shù)和一個(gè)標(biāo)量相乘的效果等于更改它的值域,在某些情況下,更改的是相標(biāo)志。給定一個(gè)標(biāo)量 K ,一個(gè)函數(shù) F(t) 和這個(gè)標(biāo)量相乘定義為:

  1. R(t) = K*F(t) 
  1. >> [y,fs]=audioread('cos440.ogg');        %creating the work files 
  2. >> res1='coslow.ogg';                 
  3. >> res2='coshigh.ogg';>> res3='cosinverted.ogg'
  4. >> K1=0.2;                                %values of the scalars 
  5. >> K2=0.5;>> K3=-1; 
  6. >> audiowrite(res1, K1*y, fs);            %product function-scalar 
  7. >> audiowrite(res2, K2*y, fs); 
  8. >> audiowrite(res3, K3*y, fs); 

原始信號(hào)的圖像

  1. >> plot(y) 

信號(hào)振幅減為原始信號(hào)振幅的 0.2 倍后的圖像

  1. >> plot(res1) 

 低余弦

信號(hào)振幅減為原始振幅的 0.5 倍后的圖像

  1. >> plot(res2) 

 高余弦

倒相后的信號(hào)圖像

  1. >> plot(res3) 

 倒相余弦

結(jié)論

基本數(shù)學(xué)運(yùn)算比如代數(shù)和、乘,以及函數(shù)與常量相乘是更多高級(jí)運(yùn)算比如譜分析、振幅調(diào)制,角調(diào)制等的支柱和基礎(chǔ)。在下一個(gè)教程中,我們來(lái)看一看如何進(jìn)行這樣的運(yùn)算以及它們對(duì)聲音文件產(chǎn)生的效果。

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2016-09-12 14:42:24

LinuxOctave音頻文件

2016-10-31 20:21:05

LinuxOctave音頻文件

2022-08-12 08:38:52

FFmpegLinux命令

2022-11-13 19:43:37

Linux

2023-01-05 16:51:04

機(jī)器學(xué)習(xí)人工智能

2019-09-10 10:44:29

物聯(lián)網(wǎng)工業(yè)物聯(lián)網(wǎng)智慧農(nóng)業(yè)

2018-12-17 11:00:11

LinuxSoundConver音頻文件格式

2020-05-15 08:06:37

JavaScriptobject URL對(duì)象

2022-04-12 11:07:11

Hi3861鴻蒙操作系統(tǒng)

2024-04-23 08:24:05

音頻Android播放

2018-06-06 15:49:06

FPGA音頻處理器

2023-11-28 14:22:54

Python音頻

2011-08-01 14:42:47

iPhone 應(yīng)用程序 聲音

2009-10-21 10:15:29

VB.NET復(fù)制

2010-03-05 09:40:08

Python遞歸

2021-09-06 08:08:17

youtube-dl下載音頻

2009-06-10 21:51:42

JavaScript XMLFirefox

2023-12-13 09:22:40

python庫(kù)

2010-03-01 14:02:26

Python批處理語(yǔ)言

2021-03-10 18:26:49

Tensorflow語(yǔ)音識(shí)別音頻處理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)