matlab程式设计入门篇音讯读写、录制与播放audio内容摘要:

能較為強大的指令:  audioplayer  play  playblocking  播放單一聲音   循序播放兩種聲音  load % 載入音訊 p=audioplayer(y, Fs)。 % 產生播放物件 play(p)。 % 播放音訊 [y, fs]=audioread(„‟)。 % 讀入音訊 p=audioplayer(y, fs)。 % 產生播放物件 playblocking(p)。 % 播放音訊 load % 載入音訊 p=audioplayer(y, Fs)。 % 產生播放物件 playblocking(p)。 % 播放音訊 playblocking 的播放模式為「同步播放」。 MATLAB 程式設計入門篇:音訊讀寫、錄製與播放 Playback (2/2)  If you want to control the playback mode, you need to invoke other mands:  audioplayer  play  playblocking  Single playback   Sequential playback  load % Load audio p=audioplayer(y, Fs)。 % Player object play(p)。 % Playback [y, fs]=audioread(„‟)。 % Read audio p=audioplayer(y, fs)。 % Player object playblocking(p)。 % Playback load % Load audio p=audioplayer(y, Fs)。 % Player object playblocking(p)。 % Playback Playback mode of “ playblocking” is synchronous! MATLAB 程式設計入門篇:音訊讀寫、錄製與播放 改變音訊的震幅  我們在第一節提到過 , 聲音的音量是由聲波的震幅來決定 , 因此我們可藉由震幅的大小來改變音量 , 例如:  [y, fs]=audioread(39。 39。 )。 p=audioplayer(1*y, fs)。 playblocking(p)。 % 播放 1 倍震幅的音訊 p=audioplayer(3*y, fs)。 playblocking(p)。 % 播放 3 倍震幅的音訊 p=audioplayer(5*y, fs)。 playblocking(p)。 % 播放 5 倍震幅的音訊 聲音聽起來並沒有變成 3或 5倍大聲,為什麼。 MATLAB 程式設計入門篇:音訊讀寫、錄製與播放 Change of Audio Amplitude  Volume of audio signals is determine by their amplitude. Here are modify amplitude to change the volume:  [y, fs]=audioread(39。 39。 )。 p=audioplayer(1*y, fs)。 playblocking(p)。 % Original audio p=audioplayer(3*y, fs)。 playblocking(p)。 % Audio of 3x amplitude p=audioplayer(5*y, fs)。 playblocking(p)。 % Audio of 5x amplitude The playback doesn’t sound like 5 times louder, why? MATLAB 程式設計入門篇:音訊讀寫、錄製與播放 改變音訊播放的取樣率 (1/2)  如果在播放時 , 改變取樣頻率 , 就會改變整個音訊的時間長度 , 進而影響到音高。  在下例中 , 我們漸漸提高播放時的取樣頻率 ,聽到的聲音就會越來越快 、 越來越高 , 最後出現像唐老鴨的聲音。 為什麼。  [y, fs]=audioread(39。 39。 )。 p=audioplayer(y, fs)。 =*fs。 playblocking(p)。 % 播放 倍速度的音訊 =*fs。 playblocking(p)。 % 播放 倍速度的音訊 =*fs。 playblocking(p)。 % 播放 倍速度的音訊 =*fs。 playblocking(p)。 % 播放 倍速度的音訊 MATLAB 程式設計入門篇:音訊讀寫、錄製與播放 Change of Sample Rates (1/2)  Change of sample rate during playback  Change of duration  Change of the perceived pitch  Increase the sample rate during playback, and you‟ll hear Donald Duck (唐老鴨 ). Why?  [y, fs]=audioread(39。 39。 )。 p=audioplayer(y, fs)。 =*fs。 playblocking(p)。 % Duration ratio: 1 =*fs。 playblocking(p)。 % Duration ratio: 1/ =*fs。 playblocking(p)。 % Duration ratio: 1/ =*fs。 playblocking(p)。 % Duration ratio: 1/2 MATLAB 程式設計入門篇:音訊讀寫、錄製與播放 改變音訊播放的取樣率 (2/2)  反之 , 如果漸漸降低播放的頻率 , 聽到的聲音就會越來越慢 、 越來越低 , 最後出現像牛叫的聲音。  [y, fs]=audioread(39。 39。 )。 p=audioplayer(y, fs)。 =*fs。 playblocking(p)。 % 播放 倍速度的音訊 =*fs。 playblocking(p)。 % 播放 倍速度的音訊 =*fs。 playblocking(p)。 % 播放 倍速度的音訊 =*fs。 playblocking(p)。 % 播放 倍速度的音訊 MATLAB 程式設計入門篇:音訊讀寫、錄製與播放 Change of Sample Rates (2/2)  On the other hand, decrease the sample rate during playback, and you‟ll hear cow moo…  [y, fs]=audioread(39。 39。 )。 p=audioplayer(y, fs)。 =*fs。 playblocking(p)。 % Duration ratio: 1 =*fs。 playblocking(p)。 % Duration ratio: 1/ =*fs。 playblocking(p)。 % Duration ratio: 1/ =*fs。 playblocking(p)。 % Duration ratio: 1/ MATLAB 程式設計入門篇:音訊讀寫、錄製與播放 Observations  Observations  Larger sample rate for playback leads to…  Shorter duration and higher pitch  Smaller sample rate for playback leads to...  Longer duration and lower pitch  How to…  Generate higher pitch without duration change?  Pitch modification  Create longer duration without pitch change?  Duration modification  Demo Quiz! MATLAB 程式設計入門篇:音訊讀寫、錄製與播放 改變符號及改變時序  如果我們將聲波訊號上下顛倒 , 聽到的聲音基本上是一樣的 , 但是如果前後顛倒 , 聽到的聲音就如同錄音帶 「 倒放 」 的聲音 , 聽起來很像是某種外國語音 , 請試試下列範例:  範例 2011: [y, fs]=audioread(39。 39。 )。 p=audioplayer(y, f。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。