• 沒有找到結果。

程式語言開發平台:Microsoft Visual Studio 2010

多媒體函式庫:FMOD Interactive Audio Middleware, Microsoft DirectX SDK, Sanford Multimedia MIDI Toolkit

展示平台:相容於IBM PC之個人電腦 分。本研究採用Microsoft公司之整合性開發平台Visual Studio中的Visual C#程式 語言撰寫,麥克風音訊輸入、音高偵測、節拍偵測的部分,採用FMOD Interactive Audio Middleware, Microsoft DirectX SDK, Sanford Mutimedia MIDI Toolkit多媒 體函式庫來實現。 Middleware, Microsoft DirectX SDK, Sanford Mutimedia MIDI Toolkit多媒體函式 庫以電腦程式實現,裝置之設計如圖3-2:

圖圖

圖 3-2 互動裝置設計圖

(一) 輸入端

本研究採用麥克風作為互動裝置之輸入端硬體設備,利用麥克風擷取觀眾之 聲音輸入,並將輸入之類比聲音經過取樣轉換為數位聲音訊號,本小節將討論麥 克風的選用與類比音訊轉換為數位音訊的取樣方法。

1. 麥克風的選用

麥克風依照使用原理及收音端硬體構造的不同,可分為動圈式、電容式、駐 極體電容式、微機電式、鋁帶式、碳精式等(Tung, n. d.)。其中以動圈式之價格便 宜,聲音柔潤適合收錄人聲的優點,因此本研究採用動圈式麥克風作為輸入端硬 體。

對於本裝置之安裝環境特性來說,麥克風的指向性也是一項必須列入考慮的 因素。麥克風的指向性係指麥克風對於來自不同方向的聲音之收音靈敏度,而麥 克風依據指向性來分類,可分為全指向性、心型指向性、超心型指向性、槍型指 向性、雙指向性(江亦帆,2006)。

圖 圖圖

圖 3-3 麥克風指向性示意圖

如圖3-3所示,圓心點為麥克風主要收音部位,下方為麥克風手持部位,實 線圈起之部分為各種指向性不同之麥克風所能接收到聲音訊號的方向範圍,以本 研究之互動裝置環境設置為考量,由於音樂表演現場為開放式環境,除了揚聲器 所播放的音樂外,還可能會有四面八方傳來的環境音雜訊。因此為了避免麥克風 收錄到除了觀眾對互動裝置之聲音輸入以外的音樂聲或環境雜音,本研究採用心 型指向之麥克風,其收音方向朝向音樂表演現場的觀眾,藉以減少環境雜音對互 動裝置輸入端的干擾。

表 3-1

本裝置採用之麥克風規格 本裝置採用之麥克風規格本裝置採用之麥克風規格 本裝置採用之麥克風規格

麥克風規格

廠牌 Kinyo

型號 AY-0128

主構造型式 動圈式

指向特性 心型

頻率響應 50~14KHz

感度 -53 ± 3db

接頭 USB 1.1

額定電壓 DC 5V

2. 音訊輸入格式

一般麥克風收音所採用之聲音訊號編碼為PCM格式(Pulse Code Modulation 脈衝編碼調製)。PCM是一種數位取樣方法,可將類比訊號轉換成離散的數位訊 號,運用PCM方法,波形聲音訊號可以按固定的周期頻率取樣,其頻率通常為 全指向性 心型指向性 超心型指向性 槍型指向性 雙指向

每秒鐘數萬次,對於每個樣本都測量其波形的振幅,振幅通常以位元深度為單位,

對於人耳的分辨能力來說,通常設定為16位元音質就足夠。取樣頻率決定聲音可 被數位化和儲存的最大頻率。以過低的取樣頻率對聲音取樣時,合成的波形比最 初的波形頻率更低,會造成所謂的訊號失真。Audio CD (CDDA)中使用的取樣頻 率是每秒44,100個樣本,或者稱為44,100 Hz。該取樣頻率為人耳所能分辨聲音的 極限。在Claude Shannon著名的取樣定理(又稱夏農取樣定理、奈奎斯特取樣定理) 中,指出如果信號是有限制的,並且取樣頻率比訊號頻寬高一倍,那麼原來的連 續信號就能從取樣的樣本中完全重建出來(Mitra, 2001),由於一般認為人耳所能 聽到最高頻率的聲音約為20kHz,因此44.1kHz的取樣頻率依照取樣定理的定義,

能夠完整重建原始信號,為避免訊號失真導致裝置處理端音高偵測結果產生誤差,

本裝置輸入端採用CDDA規格作為音訊取樣之規格依據。

表 3-2

音訊輸入格式 音訊輸入格式 音訊輸入格式 音訊輸入格式

CD 音質 聲音擷取格式 PCM

取樣頻率 44100 Hz 位元深度 16 bit

聲道 Stereo

資料量 (bits/sec) 1411200

(二) 處理端

在音樂表演現場,觀眾通常透過歡呼、吶喊、尖叫,或鼓掌來表達對表演者 演出之音樂的情緒反應,一般來說,這類表達情緒的聲音會比平時說話時的音調 高出許多,因此觀眾的情緒聲音高低通常可以代表對音樂喜好程度的高低。而觀 眾也會透過跟著音樂節拍的鼓掌,加強自己對於音樂的參與感,通常觀眾會跟著 表演者或是音樂的節拍鼓掌,來加強此類感受。在音樂表演中,音樂的內容主要 由表演者來掌控,欲將使用者對音樂的感受也加入表演,而成為音樂內容的一部

分,但又必須避免影響到表演者以及演出內容的完整性,因此,本研究利用觀眾 的情緒聲響來對音訊效果器進行控制,將觀眾鼓掌聲的速度對應於音樂節奏的調 整,達到加強觀眾與表演者互動的效果,以下將對前述兩項因素在互動裝置上的 實現進行說明:

1. 即時音高偵測

音高是聲音訊號裡面一項很重要的特徵,音高代表聲音頻率的高低。就人類 生理構造而言,由於聲帶的粗細寬度不同,男性及女性所能發出之聲音的音高範 圍也不同(桂冠學術編輯室(譯),1999),一般來說:

男性發聲的音高範圍約在62~523 Hz 女性發聲的音高範圍約在110~1000 Hz

因此一般稱人類聲帶所能發出之音高範圍約莫是50~1000 Hz之間。

聲音訊號之音高可經由音高偵測的方法求出,音高偵測是利用電腦估算音訊 資料中的音高,音高偵測的方法廣泛運用在音訊處理上,如語音辨識、聲調辨識、

語音合成的韻律分析、旋律辨識、音樂資訊檢索等。一般來說,音高偵測依據訊 號處理的方法可分為時域與頻域兩類實作法(Jang, n. d.)。

(1) 時域方法

自相關函數 (ACF: Auto Correlation Function)

平均振幅差函數 (AMDF: Average Magnitude Difference Function) 簡化反向濾波 (SIFT: Simple Inverse Filter Tracking)

基於時域的音高偵測方式主要是直接分析聲音訊號的波形來得到頻率,此類 方法運算速度快,在單一頻率的音高辨識上,準確率高,但若用來辨識兩個頻率 以上所組成的複音,則辨識的準確率會下降。

(2) 頻域方法

調和產品頻譜法(HPS: Harmonic Product Spectrum Method) 倒頻譜法 (Cepstrum Method)

基於頻域的音高偵測方法,會先利用快速傅立葉轉換的方式,將聲音訊號的

波形資料轉換為頻域資料,接著再藉由分析頻域資料來得到聲音的頻率,在辨識 複音的準確率上較時域方法高,但是運算所需時間較時域方法高出許多。

本研究利用FMOD音訊函式庫對輸入端所捕捉到之數位聲音訊號進行音高 偵測,利用函式庫中的getSpectrum函式,對麥克風錄音所得到之音訊檔案進行分 析,可以得到該聲音訊號之頻譜分布,該函式之宣告如下:

FMOD_RESULT System::getSpectrum(

float * spectrumarray, int numvalues, int channeloffset,

FMOD_DSP_FFT_WINDOW windowtype );

FOMD音訊函式庫內的getSpetrum函式,為一項基於頻域方式來對聲音訊號 進行音高偵測的方法,使用快速傅立葉轉換(Fast Fourier Transform,FFT)來分析 聲音訊號,將PCM格式的時域訊號轉換為頻域訊號,並找出頻譜分布中強度最 高的頻率,該頻率即為所求之音高,該函式的第一個引數spectrumarray為浮點數 型別之矩陣,用來存放快速傅立葉轉換後之頻域資訊,第二引數為第一引數 spectrumarray之尺寸,第三引數channeloffset為欲分析之音軌,以雙聲道立體聲來 說,參數值0為左聲道、1為右聲道;最後一個參數windowtype為快速傅立葉轉換 前,預先將聲音訊號平滑化的功能,該方法為數位訊號處理上之視窗法(Mitra, 2001)。快速傅立葉轉換在將時域訊號轉換為頻域訊號時,會先對訊號進行取樣 處理,通常會將時域訊號截取為一段一段的序列,然後將每段序列看成是一個固 定的訊號,這個步驟稱之為框化,而這樣一段一段的序列稱之為時間窗口(time window),由於截取出來的時間窗口很有可能不是訊號週期的整數倍,如此會導 致時間窗口的接點處有不連續的情況發生,因而造成頻譜洩漏效應,導致測量結 果出現誤差。應用預先平滑化方法先對聲音訊號乘上一個視窗函數,可以讓時間

窗口接點處更加平滑且較具連續性,如此可以避免在使用快速傅立葉轉換時可能 會產生的頻譜洩漏效應,可降低音高誤判的機率。FOMD音訊函式庫提供六種預 先平滑化方式如圖3-4,一般採用Hamming來對音訊作快速傅立葉轉換的前置處 理。

圖圖

圖 3-4 音訊預先平滑化選項

快速傅立葉轉換是以離散傅立葉轉換為基礎,可有效降低離散傅立葉轉換演 算法的時間複雜度,在需要轉換的資料量越大時,快速傅立葉轉換的優點將更為 顯著,因此使用FMOD函式庫之getSpectrum函式,可即時測得輸入音訊之頻率(Hz) 高低。取得觀眾輸入之音高數值後,系統將根據所偵測得到的頻率數值,轉換為 對應到輸出端音訊效果器之參數。由於一般人類聲帶所能發出之音頻範圍為 50~1000 Hz,因此低於50 Hz或高於1000 Hz之聲音頻率在本研究中可被認為是雜 訊,因此在訊號轉換時,系統將自動排除該範圍之音訊。

2. 即時掌聲速度偵測

欲偵測掌聲的速度,可利用音訊處理中節拍偵測的方法,一般對於波形聲音 訊號作節拍偵測的方法,大致上可分為兩個步驟。通常第一步會先破壞聲音訊號 本身的資訊(decimation),藉以讓聲音訊號簡單化。使用的方法有雙聲道壓縮成

單聲道的降混(downmixing)、或降低取樣頻率(downsampling)等;接著第二步會 使用一連串的濾波器或演算法,例如低通濾波器、傅立葉轉換等等,並依照不同 的目的選擇合適的方法。本研究之目的,在於即時偵測出掌聲的速度,因此如何 以簡易且快速的方法算出觀眾掌聲的速度並取得速度值,為首要目標。

圖3-5為鼓掌聲之波形訊號示意圖,橫軸為時間,縱軸為振幅。對於鼓掌的

圖3-5為鼓掌聲之波形訊號示意圖,橫軸為時間,縱軸為振幅。對於鼓掌的

相關文件