國立台灣大學工學院工程科學及海洋工程學研究所 碩士論文
Department of Engineering
Institute of Engineering Science and Ocean Engineering
National Taiwan University Master Thesis
以結合不同分類法與類神經網路為基礎在 吉他和弦即時辨識器之比較
Guitar chord real-time recognition system based on different classifiers and Neural Network
王智弘 Chih-Hung Wang
指導教授:陳國在 博士 Advisor:Kuo-Tsai Chen,Ph.D
中華民國一百年六月
June.2011
I
致謝
時光飛逝,轉眼間兩年的研究生涯就要告一段落。首先能夠完成研究所的學 業,最先感謝的是我的父母和姊姊,感謝你們無私的奉獻,讓我能在無後顧之憂 下完成學業,在此獻上最誠摯的感謝。接著要感謝的是指導教授陳國在教授,感 念老師引領我進入聲學的領域,並在這兩年來對我諄諄教誨,使我深受感激之 心。
同時,要感激口試委員柯文俊教授對於本篇論文給予正面的肯定與力量,讓 我心中踏實不少,以及感謝口試委員張淑華學姊和周俊宏學長對於本論文給予許 多的建議和指導,讓我更明白論文敘述的完整性,在此致上萬分感激。
感謝學長阿周每個禮拜不吝嗇的指導,您的引領使我能步入研究的軌道;感 謝學姊淑華的關心,與您聊天能夠沒有距離且充滿親切感;感謝學長信忻對我的 研究指導,並給予我許多做人處事的態度,讓我能在碩二時更從容的面對未知的 困難;感謝學長康寶,你的活潑帶給實驗室無限的回憶和歡樂,一起唱歌的日子 在我心中永遠難忘;感謝一路走來的好夥伴小江,縱使你少了很多條筋,卻永遠 可以看出你那執著於特定事情上的光芒;感謝學弟骨頭,因為有你的幫忙和快速 的學習力,讓我能安心將實驗室業務交給你;感謝學弟阿哲,因為有你的精實和 對對對,讓我可以督促我自己也要更加認真向上。感謝朋友澤翰,沒有你不會有 這篇論文,感謝你無私和耐心的指導,讓我能從你身上看到許多必須學習的研究 態度,在這邊獻上無限感謝。
最後,感謝一路走來陪伴我,關心我的每一個人,也希望,音響實驗室在未 來能夠平順地走下去,甚至越來越好,在實驗室這邊的每一切,都會變成過程中 的美好記憶,也希望大家都能身體健康,未來前程似錦。
II
摘要
音樂是人們生活中不可或缺的文化元素,隨著科技進步,樂音辨識伴隨著不 少實用的價值,諸如:卡拉 ok 音準評分機、電子調音器、自動翻譜機…等都是 樂音辨識的應用。
本研究著重在樂音辨識中的和弦辨識一環,本論文採用木吉他和弦,以類神 經演算法為核心,並搭配其餘兩種演算法,與個人電腦結合,讓使用者可以透過 使用者介面,搭配視訊麥克風,即可進行吉他和弦即時辨識。論文首先建立好吉 他和弦的資料庫,接著分析三種不同辨識分類法的辨識程度,並做比較與討論。
實驗分成兩種架構進行,第一種架構利用建立好的 25000 筆吉他和弦資料庫,
共 96 種不同和弦,比對三種辨識分類法的辨識程度。實驗結果發現,類神經演 算法在吉他和弦資料庫的平均辨識度可達 99.26%,為三種分類器中辨識度最高 者;貝氏分類法平均辨識度則可達 94.59%,Knn 分類法平均辨識度為 75.46%。
第二種架構為分別測試吉他和弦即時進行下所辨識的程度,採用四種不同的 和弦進行,並使用四種不同音色的樂器(兩種真實木吉他,兩種虛擬音源)進行辨 識度比較。實驗結果發現,類神經演算法在四種樂器的平均辨識度可達 80.58%,
為三種分類器中辨識度最高者;貝氏分類法平均辨識度則可達 68.86%,Knn 分 類法平均辨識度為 54.01%。
關鍵字:類神經網路、貝氏分類法、Knn 分類法、吉他和弦、和弦辨識
III
Abstract
In the culture for human life, music is necessary and elementary. Following the progress in science and technology, musical recognition, such as karaoke
pitch-scoring machine, automatic tuning machine of music and electronic tuner, etc., did present a lot of practical values.
In this study, it is to concentrate on the chord recognition, which is a part of the music-recognition technology. Thus, this study tries to use acoustic guitar chords to make in-real-time recognition by users when using user interface to match with microphone through the combination of three different recognition-classification algorithms with personal computer. Accordingly, this study at first sets up the
database for the guitar chord, and further analyses the recognition percentage for three different recognition-classification algorithms as used and then makes comparison and discussion.
Regarding to the experiment, two prototypes are used to perform. Between them, the first prototype uses the database of the guitar set up beforehand, which overall have ninety six items, to perform recognition percentage by using the above three different recognition -classification algorithms. The results as obtained for experiment find the averaged recognition percentages by 99.26, 94.59 and 75.46 of the
guitar-chord database by using, respectively, neural network-, Naïve- Bayes classification- and Knn-algorithms are reached.
As regards to the second prototype, it, respectively, makes in real time recognition percentage of guitar chord in progress by using four different chords created,
respectively, by four musical instruments of different acoustic characteristics, which include two actual acoustic guitars and two virtual sound sources, and then compare the results as obtained for recognition percentages. From the result as obtained from the experiment, it can find the associated averaged recognition percentages by 80.58, 68.86 and 54.01 to the four musical instruments by, respectively, using neural
network-, Naïve-Bayes classification- and Knn-algorithms are reached.
Keyword:Neural Networks ,Naïve Bayes Classifier, K-th nearest neighbor
classifier,guitar chord,chord recognitionIV
目 錄
致謝‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧I 摘要‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ II Abstract‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ III
目錄‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧IV 圖目錄‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ VI
表目錄‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧XI
第一章 緒論‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧1 1.1 前言 ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 1 1.2 文獻回顧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 1 1.3 研究動機‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 4 1.4 論文章節概要‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 5 第 二 章 聲 音 訊 號 處 理‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧7
2.1 聲音訊號的特性‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 7 2.2 基本聲音訊號特徵‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 9 2.3 高通濾波器‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 11 2.4 離散傅立葉轉換(DFT)與快速傅立葉轉換(FFT) ‧‧‧‧‧‧‧‧‧‧‧ 12 2.5 漢明窗(Hamming Window) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 15 第三章 和弦特徵參數擷取 ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 19 3.1 簡介‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧19 3.2 音樂與和弦‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 20
3.3 和弦特徵值擷取‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 26
V
第四章 分類與辨識‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 35 4.1 資料分類法簡介‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧35 4.2 K-th nearest neighbor classifier‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 36 4.3 Naïve Bayes Classifier‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 39 4.4 Neural Network‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧41 第五章 實驗設備與架構‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧57 5.1 實驗設備‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧57 5.2 實驗系統‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧59 5.3 實驗架構‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 59 5.4 實驗測試流程‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧61 第六章 實驗結果討論 ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧65
6.1 訓練/預測 資料筆數統整‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 65 6.2 實驗結果與討論‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧67 第七章 結論與未來展望‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧134 7.1 辨識率數據總結討論‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧134 7.2 結論‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧136 7.3 未來展望‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 137 參考文獻 ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧138
VI
圖 目 錄
圖 1.1 傳統和弦偵測步驟‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 1 圖 1.2 Fukishima 提出的 PCP 演算法架構‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧3 圖 2.1 單一音框‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 8 圖 2.2 聲音音量‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 10 圖 2.3 高通濾波器‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 11 圖 2.4 高通濾波器之信號濾波前後比較‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 12 圖 2.5 漢明窗‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧16 圖 2.6 原始時域訊號與漢明窗訊號的時域差異‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧17 圖 2.7 原始頻域訊號與漢明窗訊號的頻域差異‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧17 圖 3.1 民謠吉他外部構造‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧19 圖 3.2 十二音律‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧20 圖 3.3 Am 和弦頻譜分析‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧24 圖 3.4 E 和弦頻譜分析‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧25 圖 3.5 和弦命名方式‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧25 圖 3.6 音高軸與頻率軸之刻度距離差‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧27 圖 3.7 weighting functions‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧28 圖 3.8 Am#和弦(組成音 A#+C#+F)之三種權重函數運算的 PCP‧‧‧‧‧‧‧29 圖 3.9 A7#和弦(組成音 A#+D+F+G#)之三種權重函數運算的 PCP‧‧‧‧‧‧ 30 圖 3.10 Harmonic Product Spectrum(HPS) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧31 圖 3.11 C 和弦 PCP 擷取使用 HPS 之前後差異‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧32 圖 3.12 Cmaj7 和弦 PCP 擷取使用 HPS 之前後差異‧‧‧‧‧‧‧‧‧‧‧‧‧‧33 圖 4.1 k=5 最近鄰居示意圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧36 圖 4.2 Knn 學習與辨識流程圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧38 圖 4.3 Naïve Bayes Classifier 學習與辨識流程圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧41
VII
圖 4.4 生物神經元構造‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧43 圖 4.5 生物神經元網路傳遞流程‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧44 圖 4.6 神經元模型‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧45 圖 4.7 類神經網路常用的激發函數‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧46 圖 4.8 類神經前饋式網路架構‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧47 圖 4.9 類神經學習流程‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧48 圖 4.10 倒傳遞類神經網路架構圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧49 圖 4.11 類神經訓練網路的流程圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧56 圖 5.1 視訊麥克風‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧57 圖 5.2 實驗用吉他(GT1) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧58 圖 5.3 實驗用吉他(GT2) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧58 圖 5.4 GT1 和 GT2 的 Auto-Spectrum‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧58 圖 5.5 實驗架構一‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧60 圖 5.6 實驗架構二‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧61 圖 6.1 和弦類別個別資料筆數‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧66 圖 6.2 和弦類別個別資料筆數佔有率‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧66 圖 6.3 K 值對整體辨識率的影響‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧68 圖 6.4 樸真貝氏分類器回想/預測之辨識率比較 ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧70 圖 6.5 回想過程中辨識率最高與最低的學習回合次數‧‧‧‧‧‧‧‧‧‧‧‧‧75 圖 6.6 預測過程中辨識率最高與最低的學習回合次數‧‧‧‧‧‧‧‧‧‧‧‧‧79 圖 6.7 不同神經元組合之回想\預測總辨識率之比較‧‧‧‧‧‧‧‧‧‧‧‧‧80 圖 6.8 不同組合之神經元的平均學習回合次數‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧82 圖 6.9 最多學習回合次數與最少學習回合次數的收斂情形‧‧‧‧‧‧‧‧‧‧83 圖 6.10 三種分類器對大三和弦和小三和弦之誤判情形比較‧‧‧‧‧‧‧‧‧‧90 圖 6.11 三種分類器對增三和弦和減三和弦之誤判情形比較‧‧‧‧‧‧‧‧‧‧91
VIII
圖 6.12 三種分類器對大七和弦和小七和弦之誤判情形比較‧‧‧‧‧‧‧‧‧‧92 圖 6.13 三種分類器對屬七和弦和減七和弦之誤判情形比較‧‧‧‧‧‧‧‧‧‧93 圖 6.14 和弦進行‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧94 圖 6.15 和弦進行即時辨識率討論示意圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧95 圖 6.16.1 和弦進行Ⅰ-GT1(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧96 圖 6.16.2 和弦進行Ⅰ-GT1(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 97 圖 6.16.3 和弦進行Ⅰ-GT1(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧97 圖 6.17.1 和弦進行Ⅰ-GT2(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 98 圖 6.17.2 和弦進行Ⅰ-GT2(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 99 圖 6.17.3 和弦進行Ⅰ-GT2(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧99 圖 6.18.1 和弦進行Ⅰ-Nylon Guitar(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧100 圖 6.18.2 和弦進行Ⅰ-Nylon Guitar(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧100 圖 6.18.3 和弦進行Ⅰ-Nylon Guitar(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧101 圖 6.19.1 和弦進行Ⅰ-Classical Piano(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧102 圖 6.19.2 和弦進行Ⅰ-Classical Piano(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧102 圖 6.19.3 和弦進行Ⅰ-Classical Piano(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧103 圖 6.20.1 和弦進行Ⅱ-GT1(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧104 圖 6.20.2 和弦進行Ⅱ-GT1(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧105 圖 6.20.3 和弦進行Ⅱ-GT1(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧105 圖 6.21.1 和弦進行Ⅱ-GT2(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧106 圖 6.21.2 和弦進行Ⅱ-GT2(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧107 圖 6.21.3 和弦進行Ⅱ-GT2(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧107 圖 6.22.1 和弦進行Ⅱ-Nylon Guitar(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧108 圖 6.22.2 和弦進行Ⅱ-Nylon Guitar(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧109 圖 6.22.3 和弦進行Ⅱ-Nylon Guitar(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧109
IX
圖 6.23.1 和弦進行Ⅱ-Classical Piano(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧110 圖 6.23.2 和弦進行Ⅱ-Classical Piano(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧111 圖 6.23.3 和弦進行Ⅱ-Classical Piano(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧111 圖 6.24.1 和弦進行Ⅲ-GT1(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧113 圖 6.24.2 和弦進行Ⅲ-GT1(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧114 圖 6.24.3 和弦進行Ⅲ-GT1(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧114 圖 6.25.1 和弦進行Ⅲ-GT2(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧115 圖 6.25.2 和弦進行Ⅲ-GT2(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧115 圖 6.25.3 和弦進行Ⅲ-GT2(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧116 圖 6.26.1 和弦進行Ⅲ-Nylon Guitar(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧117 圖 6.26.2 和弦進行Ⅲ-Nylon Guitar(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧117 圖 6.26.3 和弦進行Ⅲ-Nylon Guitar(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧118 圖 6.27.1 和弦進行Ⅲ-Classical Piano(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧119 圖 6.27.2 和弦進行Ⅲ-Classical Piano(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧119 圖 6.27.3 和弦進行Ⅲ-Classical Piano(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧120 圖 6.28.1 和弦進行Ⅳ-GT1(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧121 圖 6.28.2 和弦進行Ⅳ-GT1(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧122 圖 6.28.3 和弦進行Ⅳ-GT1(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧122 圖 6.29.1 和弦進行Ⅳ-GT2(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧123 圖 6.29.2 和弦進行Ⅳ-GT2(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧123 圖 6.29.3 和弦進行Ⅳ-GT2(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧124 圖 6.30.1 和弦進行Ⅳ-Nylon Guitar(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧125 圖 6.30.2 和弦進行Ⅳ-Nylon Guitar(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧125 圖 6.30.3 和弦進行Ⅳ-Nylon Guitar(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧126 圖 6.31.1 和弦進行Ⅳ-Classical Piano(NN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧127
X
圖 6.31.2 和弦進行Ⅳ-Classical Piano(NB) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧127 圖 6.31.3 和弦進行Ⅳ-Classical Piano(KNN) ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧128 圖 6.32 使用者介面-選單‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧131 圖 6.33 使用者介面-選擇分類器‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧131 圖 6.34 使用者介面-啟動和弦辨識‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧132 圖 6.35 使用者介面-和弦辨識中‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧132
XI
表 目 錄
表 3.1 樂音頻率與音高對照表‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧21 表 3.2 和弦組成音‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧22 表 4.1 三種分類器的演算類型和學習模式‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧36 表 4.2 類神經網路常用的激發函數‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧45 表 6.1 資料筆數與型態‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧65 表 6.2 K 值對整體辨識率的影響‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧67 表 6.3 Knn 分類器各類和弦辨識率‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧69 表 6.4 樸真貝氏分類器各類和弦辨識率‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧70 表 6.5 不同排列組合的神經元對回想過程中總辨識率的影響‧‧‧‧‧‧‧‧‧73 表 6.6 回想過程中各類和弦的辨識率‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧73 表 6.7 不同排列組合的神經元對預測過程中總辨識率的影響‧‧‧‧‧‧‧‧‧76 表 6.8 預測過程中各類和弦的辨識率‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧77 表 6.9 不同排列組合的神經元之神經網路對學習回合次數的影響‧‧‧‧‧‧‧81 表 6.10 Knn 分類器在預測過程中的誤判情形‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧84 表 6.11 Naïve Bayes 分類器在回想過程中的誤判情形‧‧‧‧‧‧‧‧‧‧‧‧‧85 表 6.12 Naïve Bayes 分類器在預測過程中的誤判情形‧‧‧‧‧‧‧‧‧‧‧‧‧86 表 6.13 Neural Network 在回想過程中的誤判情形‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧87 表 6.14 Neural Network 在預測過程中的誤判情形‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧88 表 6.15 和弦進行Ⅰ-GT1‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧96 表 6.16 和弦進行Ⅰ-GT2‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧98 表 6.17 和弦進行Ⅰ-MIDI Nylon Guitar‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧100 表 6.18 和弦進行Ⅰ-MIDI Classical Piano‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧102 表 6.19 和弦進行Ⅱ-GT1‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧104 表 6.20 和弦進行Ⅱ-GT2‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧106
XII
表 6.21 和弦進行Ⅱ-MIDI Nylon guitar‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧108 表 6.22 和弦進行Ⅱ-MIDI Classical Piano‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧110 表 6.23 和弦進行Ⅲ-GT1‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧113 表 6.24 和弦進行Ⅲ-GT2‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧115 表 6.25 和弦進行Ⅲ-MIDI Nylon guitar‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧117 表 6.26 和弦進行Ⅲ-MIDI Classical Piano‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧119 表 6.27 和弦進行Ⅳ-GT1‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧121 表 6.28 和弦進行Ⅳ-GT2‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧123 表 6.29 和弦進行Ⅳ-MIDI Nylon Guitar‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧125 表 6.30 和弦進行Ⅳ-MIDI Classical Piano‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧127 表 7.1 實驗數據總結‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧134 表 7.2 三和弦與七和弦辨識率比較‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧135 表 7.3 三種分類器之抗雜訊能力比較‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧136
1
第一章 緒論
1.1 前言
音樂,廣義而言可以指任何一種藝術的、讓人愉悅的或其他隨意方式排列起 來的聲音,並包含了不同音階的節奏、旋律和伴奏之結合。
吉他是我們市面上最常見到的樂器之一,它屬於撥弦樂器,透過撥動琴弦,
琴聲可藉由共鳴箱(木吉他)而放大。吉他的演奏方式非常廣泛,從古典吉他獨自 一人詮釋經典演奏曲到電吉他扮演搖滾樂團的配奏,都可以看見吉他的身影。然 而,一般人對吉他的印象,最常扮演的角色就是做簡易的伴奏,只要透過簡單的 幾個和弦搭配而成的和弦進行作為歌曲的伴奏,就可以邊彈邊唱。
和弦不同於單一樂音,它是由三個或三個以上的樂音所組合而成,也就是因 為不同的樂音組合在一起,使得和弦在樂理上有和聲的效果,能被拿來做伴奏以 配襯旋律。
最常見的吉他有六條弦,若根據吉他標準條弦法(standard tuning),音程可由 最低音 E2-82.4Hz 到最高音 F6-1396.9Hz(每把吉他能發出的最高頻率不盡相等,
與吉他設計的琴格數有關,此數據僅供參考),透過按壓指法,可以彈奏出和弦。
吉他的和弦彈法很多元,在此僅討論初學者學習的刷弦,也就是右手利用吉他彈 片由最低音弦(第六弦)刷到最高音弦(第一弦),讓每條弦音一起混和而產生和弦 的聲音。
1.2 文獻回顧
早期的和弦偵測(chord detection)研究,方法大致是將真實音樂訊號轉換到頻 域上來識別和弦的組成音。根據和弦係由三個以上不同的樂音組成,可藉由其相 關頻譜圖找出所有可能基頻出現的位置。
圖 1.1 所示為其傳統之和弦偵測步驟的演算法[1]:
2
圖 1.1 傳統和弦偵測步驟
為了改善頻譜應用於樂音頻譜上之解析度問題,J.C.Brown 首先於 1990 年提 出 Constant-Q(CQ) spectral transform[2],其係利用改變擷取音框大小而不改變頻 率與頻率之間的音程比例,致使頻譜的解析度能在低頻時較高,高頻時較低,成 功解決了 DFT 頻率解析度僅能固定的問題,並使得 CQ spectrum 能更滿足樂音 頻譜的需求。到了 2001 年,Nawab 利用 Constant-Q spectra 辨識和弦[3],在實 驗中藉著頻率產生兩個到四個音不等的訊號,並且配合和弦泛音的特性比對出和 弦峰值出現的位置,成功抓出了樂音訊號的基頻。
Borching 在同年也提出新的和弦辨識技術[4],冀望達到接近人腦與耳蝸 的聽覺反應。他利用 wavelet transform(小波轉換),且使用自製 SOM(self organized map)透過類神經學習來分類識別和弦,以 48 種不同和弦共計 480 個聲 音樣本進行訓練,實驗結果以貝多芬第五號交響曲當作實驗樣本(貝多芬第五號 交響曲乃由和弦 C,F,G 三個大三和弦所組成的和弦進行),辨識率可達百分之 百,並有良好的抗噪能力。
Y.Fukayama 也提出使用波包(Wavelet Packet)和延伸性 Kalman 濾波器 (Extended Kalman Filter)來偵測單音和弦的演算法[5],他使用和弦的完五度樂音
3
進行測試,並測試三種大三和弦(A,A#,B)和三種小三和弦(Am,Am#,Bm) 實驗結果顯示,即使存在噪音的干擾下,和弦和單音的偵測也能有不錯的表現。
由於傳統和弦辨識乃偵測和弦各別組成音基頻,因為和弦由多音所組成,故 存在多且複雜之樂音諧波,容易在擷取組成音的基頻時,因重疊的樂音諧波而造 成誤判。所以後來的和弦辨識乃貼近音樂十二平均律的概念,將真實音樂訊號轉 換到頻域後,對應到 12 個樂音做分類,並觀察其每個樂音的強度(Chroma Vector)。
PCP(Pitch Class Profile)理論在 1999 年由 Fujishima 提出[6],其概念是將音 樂訊號經由 DFT 的轉換後,擷取十二個樂音之能量大小,同時建構出二進位和 弦樣板 (Chord Type Templates,CTT) 做為比對資料的標準,透過最近鄰居分類 法(Nearest Neighbor Method)來配對 PCP 與 CTT,進行和弦分類。相關之演算法 架構如下圖 1.2 所示:
圖 1.2 Fukishima 提出的 PCP 演算法架構
PCP 的提出使得和弦辨識有了新的方向,在 2003 年,Shed 和 Ellis 以 PCP 的理論作為基礎[7],提出一套和弦分類與辨識的統計學習法,並改良出 Weighted
4
Averaging of Rotated PCP Vectors 作為和弦特徵值,利用 Expectation Maximization 演算法(EM)計算出平均值,變異量的向量來訓練隱藏馬可夫模型(HMMs),並以 披頭四的二十首歌做為測試。另外,Gomez 認為泛音特性有助於分析和弦,在 2004 年也以 PCP 為基礎發展出 Harmonic Pitch Class Profile(HPCP)[8, 9],並在試 驗 525 首古典音樂作品中成功辨識出百分之六十的調性。
1.3 研究動機
研究動機,係源自於吉他初學者在學習彈奏吉他和弦時,往往只知道指法 如何按,卻不曉得自己按的和弦其種類和名稱為何,如此,容易造成初學者在學 習吉他和弦時,常常只是死背指法位置,而容易遇到樂理上的瓶頸。
為了方便各種樂器能調整音準,市售的電子調音器能幫助樂器彈奏者,準確 地將每條弦調到標準的頻率。因此,實驗的動機是希望能建構出一台吉他和弦辨 識器,能夠在彈奏者刷下吉他和弦的時候,辨識出該和弦的名稱與其組成音,幫 助彈奏者學習樂理與記憶和弦。
樂器演奏家在長期彈奏下,耳朵對樂音的反應會變得比平常人敏銳,專業演 奏家甚至不需依賴調音器就能靠著耳朵訓練出來的音感來判斷樂音的音準。耳朵 就像是一台天然的頻譜分析儀,聲音訊號經耳朵內聽覺神經分析之後傳達給大腦 做反覆的訓練和學習,久而久之就能培養出優越的絕對音感。據此角度出發,希 望透過機器學習來取代大腦,並驗證其相似的效果。因此以類神經的生物學習精 神為主體,並搭配分析其餘兩種分類器來做比較和測試。
目前市售的電子調音器價格昂貴,且僅能夠用來判定單一頻率的準確度。本 研究僅需透過個人電腦以及普通的收音用視訊麥克風搭配程式,即可在自製的使 用者介面上進行吉他和弦辨識。
5
1.4 論文章節概要
本論文共分成七個章節,即 第一章:緒論
第二章:聲音訊號處理 第三章:和弦特徵參數擷取 第四章:分類與辨識
第五章:實驗設備與架構 第六章:實驗結果與討論 第七章:結論與未來展望 參考文獻
6
7
第二章 聲音訊號處理
2.1 聲音訊號的特性
在我們日常生活中,聲音無所不在,豐沛充盈了我們的聽覺感受。所謂的 聲音訊號(Audio Signals),簡稱「音訊」,泛指由人耳所聽到各種聲音之信息。一 般來說,發音體(聲源)會產生振動,此震動會對空氣粒子產生壓縮與伸張而形成 聲波,聲波會以一定的速度往外散播出去,就是我們所聽到的聲音。
聲音若以訊號的規律性來分類,可以分為準週期音與非準週期音。準週期 音的波形具有規律性,可以看出週期的重複性,人耳亦可以判斷出其存在高穩定 音,例如單音弦樂器。非準週期音的波形則不具規律性,所以無法看出明顯的週 期變化,相對的,人耳也無法感覺出其具高穩定音。例如打雷聲、敲鑼打鼓聲…
等。
當我們在分析聲音的時候,由於音訊在短時間內是相對的穩定,可視短時間 內的波形為有規律性週期變化,所以我們會先將所需要分析的聲音訊號切成音框 (Frame)來做短時距(Short-term)的分析,藉此觀察聲音訊號的變化與特徵。單一 音框如圖 2.1 所示:
8
圖 2.1 單一音框
我們可以從圖 2.1 單一音框裡面,觀察到三個主要聲音訊號的特徵:
1. 音量(Volume):代表聲音的強度,也就是訊號的振幅。又稱為能量 (Energy),或是強度(Intensity)。
2. 音高(Pitch) :代表聲音的高低,在物理學上稱為頻率。可由基本頻率 (Fundamental Frequency)來類比。也是基本週期
(Fundamental Period)的倒數。
3. 音色(Timbre):代表聲音的內容,可由每一個波形在一個基本週期的變化 來類比。
音量:振幅大小
頻率:單一週期之倒數
音色:訊號波形之不同
9
2.2 基本聲音訊號特徵
2.2.1 音量(Volume)音量代表了聲音的強度,也稱為聲音的能量。在音訊處理上,可以計算單一 音框內訊號振幅的大小來得知音量。
根據客觀音量和人耳主觀音量的感受不同,計算方式可以分為下列兩種[10]:
1. 求取音訊振幅能量的總和:
| |
(2.1) 於式 2.1 中,符號表示如下:
:表示單一音框中的第
i
個取樣點n
:表示單一音框的點數此種計算方法透過整數加法的運算,程序上簡單且快速,適用於低階平台處理,
如微處理機(MCU)。計算結果如圖 2.2(b)所示
2. 求取分貝值:
10
(2.2) 於式 2.2 中,符號表示如下:
:表示單一音框中的第
i
個取樣點n
:表示單一音框的點數此種方法所得到的數值以分貝(decibels)為單位,是一個相對強度的值,優點是比
10
較符合人耳對於大小聲音的感覺。計算結果如圖 2.2(c)所示:
圖 2.2 聲音音量
2.2.2 音高(Pitch)
音高代表這頻率的高低,所謂的頻率,指的是基本頻率(Fundamental
Frequency),亦即基本週期(Fundamental Period)的倒數。透過觀察圖 2.1 單一音 框可以發現,只要聲音穩定,就可以看出音訊波形之基本週期的存在。由單一週 期的倒數則可以得到此音訊的基本頻率。
2.2.3 音色(Timbre)
音色泛指音訊的內容,直覺來看,音色的不同,代表基本週期的波形不同,
因此我們可以使用基本週期的波形來代表音色,可以透過將每一個音框進行頻譜 分析,並得到此時域音框的頻譜圖,來知道每個頻率的訊號強度。
(a)
(b)
(c)
11
2.3 高通濾波器
濾波器目的在於濾除不需要的頻率,依濾波的範圍,濾波器的種類可分為低 通,高通和帶通濾波器。
本論文使用高通濾波器,是一種容許高頻信號通過,但大幅減弱頻率低於截 止頻率信號通過的濾波器。利用高通濾波器將低於吉他最低音域的雜訊頻率濾除,
以得到更佳的樂音訊號品質。
圖 2.3 和圖 2.4 分別為高通濾波器和訊號經高通濾波器之前後的比較:
圖 2.3 高通濾波器
12
圖 2.4 高通濾波器之信號濾波前後比較
由圖 2.3 高通濾波器之圖示可發現,其截止頻率約是 90Hz;圖 2.4(a)為尚未通 過濾波器前的吉他弦音之訊號,由圖 2.4(b)觀察訊號通過濾波後的差別,可發現 高通濾波器濾掉了小於截止頻率的大部分訊號。
2.4 離散傅立葉轉換(DFT)與快速傅立葉轉換(FFT)
在訊號處理中,透過傅立葉轉換,可以將時域訊號轉變為具有頻率分量和振 幅分量的頻譜圖。但最初的傅立葉轉換僅只能使用於連續時間的訊號上,無法用 於離散時域者。為了在科學計算和數位訊號處理等領域中,使用計算機進行傅立 葉轉換,必須先將函數 定義在離散點而非連續域內,始可於電腦中進行處理,
且必須滿足有限性或週期性的條件。我們稱為離散傅立葉轉換(Discrete Fourier Transform)。
(a) (b)
13
離散傅立葉轉換是傅立葉轉換在時域和頻域上都成離散的形式,對於聲音訊 號 N 點序列 其離散傅立葉轉換(DFT)為
∑ 0,1 ⋯ 1
(2.3) 於式 2.3 中,符號表示如下:
e
:自然對數的底數i
:虛數單位N 點 DFT 的頻譜解析度是2 ⁄ ,透過補零可以觀察到更多的頻點。在滿足 取樣定理的條件下,提高頻譜解析度可以透過增加時域採樣長度來實現。
快速傅立葉轉換(Fast Fourier Transform,FFT),是離散傅立葉轉換的快速算 法,由於速度很快,適合應用於計算大整數乘法,求解偏微分方程等。按照 DFT 的定義,計算一個長為 N 之序列的 DFT 所需要的計算複雜度,是階次Ο , 至於快速傅立葉轉換的好處,在於可以計算出與直接計算相同的結果,但只需要 階次Ο 的計算複雜度。由於 DFT 的逆轉換可以由 DFT 表示,所以 DFT 逆轉換的計算同樣可以由 FFT 完成。
Cooley-Tukey 演算法是最常見的 FFT 算法[11],其使用的概念是計算機科 學中的分治法,分治法簡單來說就是將一個複雜的問題分成兩個或更多的相同或 類似的子問題,再把子問題分成更小的子問題直到最後子問題可以簡單的直接求 解,而原問題的解即是所有子問題求得解的合成。透過分治法的概念,將訊號長 度為 的 DFT 分解成長度分別為 和 的兩個較短序列之 DFT,以及與
14
Ο 個旋轉因子的複數乘法。
Cooley-Tukey 演算法最著名的應用,是將長度 N 之訊號序列的 DFT 分割為 兩個長為 ⁄ 的子序列之 DFT,因此其應用僅適用於序列長度為2 的 DFT 計算。2 實際上,Cooley-Tukey 演算法也可以用於序列長度 N 為任意因數分解形式的 DFT。
儘管 Cooley-Tukey 演算法的基本想法是採用遞歸的方法進行計算,大多數傳統 的算法實現都將顯示的遞歸算法改寫為非遞歸的形式。另外,因為 Cooley-Tukey 算法是將 DFT 分解為較小長度的多個 DFT,因此也可以同任一種其他的 DFT 演 算法聯合使用。
我們用 N 次單位根 來表示 其 具有三種性質,分別為:
1. 週期性:具有週期 N 2. 對稱性:
3.
為了簡單起見,我們下面設待轉換序列長度 2 。根據上面單位根的對稱
性,求級數 ∑ 時,可以將求和區間分為兩部分:
(2.4) 於式 2.4 中, 和 是兩個分別關於序列 奇數號和偶數號序 列 ⁄ 點轉換。由此式只能計算出 的前2 ⁄ 個點;至於後面2 ⁄ 個點,注意2
15
和 都是週期為 ⁄ 的函數,由單位根的對稱性,於是有以下轉換2 公式:
(2.5)
(2.6)
這樣,一個 N 點轉換就分解成了兩個 ⁄ 點轉換。照這樣可繼續分解下去。這就2 是 Cooley-Tukey 算法的基本原理。根據主定理不難分析出此時算法的時間複雜 度為Ο
2.5 漢明窗(Hamming Window)
對於擷取一段音訊的離散時間訊號 X ,若單一音框的訊號兩端不連續,
在聽覺上會產生額外的響聲,從頻域上看,聲音訊號的頻譜會被破壞。為了增加 音框裡訊號左右兩端的連續性以降低頻譜的失真,我們常將分析的音框加上漢明 窗來作分析。這樣的處理方式稱為加視窗(windowing)[12, 13]。漢明窗的特性 為兩邊緩慢減小,在邊界上沒有明顯的不連續。
假設單一音框的訊號為X ,n 0, ⋯ N 1,則加上漢明窗之後的訊號為
(2.7) 由式 2.7 中, 的形式如下:
n, α 1 2 ⁄ 1 0 1
(2.8) 由式 2.8 中,不同的 值會產生不同的漢明窗,如圖 2.5 所示:
16
圖 2.5 漢明窗
由圖 2.5 可以觀察不同α值對漢明窗兩旁大小的影響,α值越高則窗形的 兩旁坡度會越陡,一般使用的漢明窗為α=0.46。
漢明窗藉著降低擷取訊號兩邊的不連續,可有效降低頻譜的溢散。比較圖 2.6(a)之原始吉他訊號與圖 2.7 加漢明窗後的時域圖和頻域圖,可發現圖 2.6(b) 加漢明窗後的時域訊號兩端趨近平緩且連續;由圖 2.7(b)可發現,圖 2.6(b)所對 應到的頻域能明顯突出基頻與諧波,並降低了頻譜的溢散。
音框點數
17
圖 2.6 原始時域訊號與漢明窗訊號的時域差異
圖 2.7 原始頻域訊號與漢明窗訊號的頻域差異
(a) (a)
(b)
(b)
18
由圖 2.6(b)可發現,加漢明窗後的時域訊號,其訊號的兩端趨近平緩且連續;
由圖 2.7(b)可發現,加漢明窗的訊號所對應到的頻域能明顯突出基頻與諧波,並 有效降低頻譜的溢散。
19
第三章 和弦特徵參數擷取
3.1 簡介
和弦(chord)在音樂樂理,係指三個音或三個音以上組合而成的聲音,就如同 說話的抑揚頓挫令聽者有不同的感受,和弦在音樂裡也扮演著相類似的角色。不 同的和弦的組成與和弦的進行,會影響音樂的曲風與曲型的結構。
3.2 音樂與和弦
3.2.1 木吉他構造簡介吉他的類型,包含古典吉他,電吉他,民謠吉他等較常見的三種類別,但構 造和基本彈奏方式皆大同小異,在此不多贅述,僅簡介民謠吉他的基本構造。
圖 3.1 民謠吉他外部構造
由圖 3.1 中,六條弦由左(第六弦)到右(第一弦)分別是最粗到最細弦,此六 條弦被固定在上弦枕和下弦枕上,藉由撥動琴弦可以經由響孔(共鳴箱)的共鳴而 產生樂音。
20
3.2.2 十二平均律
根據樂理與心理的分析,當樂音具2 1.059倍的頻率變化時,人耳始可分 辨出其音高(pitch)或音程(interval)的差別,此差異在樂理上稱為半音(semitone)。
依照十二平均律,可將八音度帶(octave band)分成 12 個樂音,如圖 3.2 所示:
圖 3.2 十二音律 由上圖 3.2 可知:
1.英文字母代表樂音的音名。
2.一個全音等於兩個半音,其中 E 到 F 的音程和 B 到 C 的音程為半音。
3.「#」代表升記號,即該音名上升半音。
音高(pitch),在物理上代表聲音訊號基本頻率的高低,亦是基本週期的倒數。
由基本頻率轉換到半音的公式為:
69 12 /440
(3.1)
21
下表 3.1 為樂音頻率與音高的對照表,僅列出吉他音程範圍的頻率。
note Octave2 Octave3 Octave4 Octave5 Octave6 A
55 (33)110.0 (45)
220(57)440(69)
880(81)A#
58.3 (34) 116.5(46) 233.1(58) 466.2(70) 932.3(82)B
61.7 (35) 123.5(47)246.9(59)
493.9(71) 987.8(83)C
65.4 (36) 130.8(48) 261.6(60) 523.3(72) 1046.5(84)C#
69.3(37) 138.6(49) 277.2(61) 554.4(73) 1108.7(85)D
73.4(38)146.8(50)
293.7(62) 587.3(74) 1174.7(86)D#
77.8(39) 155.6(51) 311.1(63) 622.3(75) 1244.6(87)E 82.4(40)
164.8(52)329.6(64)
659.3(76) 1318.5(88)F
87.3(41) 174.6(53) 349.2(65) 698.5(77) 1396.9(89)F#
92.5(42) 185.0(54) 370.0(66) 740.0(78) 1480.0(90)G
98.0(43)195.9(55)
392.0(67) 784.0(79) 1568.0(91)G#
103.8(44) 207.7(56) 415.3(68) 830.6(80) 1661.2(92) 表 3.1 樂音頻率與音高對照表 (單位:頻率(Hz), 括號內為 pitch)由表 3.1 可知:
1.依據吉他標準條弦法,粗體藍字頻率由小而大分別對應到吉他的第六弦(最粗) 到第一弦(最細)。
2.綠色粗體 A440 是樂理上的標準音高,也是吉他及其他樂器的頻率校準標準。
3.2.3 和弦的組成
和弦根據組成音的數目,又可分為三和弦和七和弦兩類。三和弦由三個樂音 所組成,七和弦則由四個樂音所組成。在本論文裡總共探討八種類型的和弦,分
22
別為三和弦類型中的大三和弦、小三和弦、增三和弦、減三和弦以及七和弦類型 中的大七和弦、小七和弦、屬七和弦和減七和弦。
表 3.2 為和弦組成音,定義了和弦的組成音與簡寫命名方式:
表 3.2 和弦組成音
和弦名稱 和弦簡寫 組成音
大三和弦 (major)
省略 根音(1st)+大三度(2nd)+完五度(3rd)
小三和弦 (minor)
m
根音(1st)+小三度(2nd)+完五度(3rd)增三和弦 (augmented)
aug
根音(1st)+大三度(2nd)+增五度(3rd)減三和弦 (diminished)
dim
根音(1st)+小三度(2nd)+減五度(3rd)大七和弦 (major7)
maj7
根音(1st)+大三度(2nd)+完五度(3rd)+大七度(4th)小七和弦 (minor7)
m7
根音(1st)+小三度(2nd)+完五度(3rd)+小七度(4th)屬七和弦 (dominant7)
7
根音(1st)+大三度(2nd)+完五度(3rd)+小七度(4th)減七和弦
( diminish 7)
dim7
根音(1st)+小三度(2nd)+減五度(3rd)+小六度(4th)23
樂理定義:
由表 3.2 和弦組成音,定義:
根音:在和弦的組成音中,將最低的音定義為根音(root note),根音決定了此和 弦的旋律特性和低音部分。
小三度:音程差為 3 個半音。
大三度:音程差為 4 個半音。
減五度:音程差為 6 個半音。
完五度:音程差為 7 個半音。
增五度:音程差為 8 個半音。
小六度:音程差為 9 個半音。
小七度:音程差為 10 個半音。
大七度:音程差為 11 個半音。
24
3.2.4 頻譜上的和弦組成
和弦在樂理上是由三個或三個以上的樂音所組成,在物理上是由三個或三 個以上的單一頻率所加成而得,其和弦的頻譜受單一頻率諧波的相互加成產生合 成波。以下列舉兩種不同和弦,並觀察其和弦組成單音的頻譜,與加成後的和弦 頻譜。
Am 和弦 (組成音為 A+C+E),其和弦的頻譜如圖 3.3 所示:
圖 3.3 Am 和弦頻譜分析
25
E 和弦 (組成音為 E+G#+B),其和弦的頻譜如圖 3.4 所示:
圖 3.4 E 和弦頻譜分析
3.2.5 和弦的屬性及命名
和弦屬性及命名常用簡寫表示,其寫法如下圖 3.5 所示:
圖 3.5 和弦命名方式
26
由圖 3.5 所示,命名方式分為三個部分:
1. 第一部分:表示和弦根音的音名,以英文字母標示。
2. 第二部分:以和弦結構的縮寫作為命名,大三和弦命名時並不會加上標記,
小三和弦則會加註「m」。7 代表七和弦,也代表了和弦第四個 構成音的相關資訊,大七和弦可表示為「maj7」, 小七和弦可 表示為「m7」,屬七和弦可表示為「7」。
3. 第三部分:代表升記號,可表示含有升記號的樂音。
3.3 和弦特徵值擷取
3.3.1 Pitch Class ProfilePCP 的取得,係首先將經過 FFT 轉換過後的頻域軸(Frequency bin)轉成音高 軸(Pitch bin),所以我們可以得到音高軸的刻度為:
69 12 ∙ ⁄ ∙ ⁄
(3.2) 由式 3.2 中,我們訂定 440 ,A440 代表 440Hz 的聲音音調,在西 方樂理上,此音為標準音高,亦是樂器的頻率校準標準。
由於大部分的情況,頻率軸所對應到的音高軸無法與完全吻合所需量測的音 程,Giordano Cabral 在 2005 年提出了音高軸距離計算對 PCP 擷取的影響,所以 在 PCP 擷取上必須考慮所需計算的音符音高與音高軸刻度的距離差。如下圖 3.6 所示:
27
圖 3.6 音高軸與頻率軸之刻度距離差
由圖 3.6,若令距離差為 0~1 之間,則距離差可表示為
2 12 440
2
12 440 2
(3.3)
於式 3.3 中,符號表示如下:
:Pitch Bin 接近或相同於所求音高的刻度
:所求音高
由式 3.3 中可以知道,距離的範圍從 0~1,若欲量測的音高恰好座落於音高 軸上的刻度,則距離差為 0;若欲量測的音高恰好座落於音高軸上兩刻度的中間,
則距離差為 1。
頻率
單位
( 分貝 )
28
Giordano Cabral 在實驗中採用了六種距離差的權重函數來研討其結果[14],
下圖 3.7 列舉之三種權重函數,分別是圖 3.7(a)的 uniform 函數,圖 3.7(b)的 linear 函數和圖 3.7(c)的 quadratic 函數。
圖 3.7 weighting functions
接著實際以和弦擷取 PCP 值,並加入距離權重函數運算來觀看差異,圖 3.8 與圖 3.9 分別使用兩種不同和弦來擷取 PCP,並加入距離權重函數運算。可以發 現三種距離權重函數所算出的 PCP 值之強度略有不同,以 linear 的 PCP 強度表 現居於平均,而 uniform 函數和 quadratic 函數的 PCP 強度表現略有不同,但差 距不甚明顯。本實驗採用 uniform 函數擷取 PCP 值以減少運算的複雜度。
(a) (b) (c)
29
圖 3.8 Am#和弦(組成音 A#+C#+F)之三種權重函數運算的 PCP
由圖 3.9 觀察發現,使用 uniform 函數所算出的 PCP 值,擷取最多強度的 音是 Am#和弦的組成音 A#;而其餘兩個 Am#和弦組成音 C#和 F,相對於使用 linear 函數和使用 quadratic 函數,uniform 函數擷取到比較少的強度。
30
圖 3.9 A7#和弦(組成音 A#+D+F+G#)之三種權重函數運算的 PCP
由圖 3.9 觀察發現,使用 uniform 函數所算出的 PCP 值,擷取最多強度的音 是 A7#和弦的組成音 A#和 G#;而其餘兩個 A7#和弦組成音 D 和 F,相對於使用 linear 函數和使用 quadratic 函數,uniform 函數擷取到比較少的強度
3.3.2 Harmonic Product Spectrum
Kyogu 在 2006 年,提出了 Enhanced Pitch Class Profile(EPCP)[15],透過 Harmonic Product Spectrum(HPS)計算所對應的半音分類,可以避免泛音特性相近 的和弦同時出現所造成的問題。
HPS 利用將頻譜訊號進行向下取樣而產生壓縮後的頻譜,將各個壓縮的頻譜 相乘,便可以得到 Harmonic Product Spectrum。由於每一個壓縮後的訊號都會在
31
基頻附近產生一個高點,所以相乘之後便會凸顯出基頻的位置。HPS 可表示數學 式如下:
| 2 |
(3.4) 於式 3.4 中,符號表示如下:
:表示 Harmonic Product Spectrum
:表示 FFT Spectrum
HPS 的運作機制如下圖 3.10 所示:
圖 3.10 Harmonic Product Spectrum(HPS)
32
圖 3.11 與圖 3.12,分別為 C 和弦(組成音 C+E+G) 及 Cmaj7 和弦(組成音 C+E+G+B),在擷取 PCP 時使用 HPS 前後的差異:
圖 3.11 C 和弦 PCP 擷取使用 HPS 之前後差異
(a) (b)
33
圖 3.12 Cmaj7 和弦 PCP 擷取使用 HPS 之前後差異
由圖 3.11(b)和圖 3.12 可發現,HPS 能將訊號的基頻明顯提高,並降低其 他雜訊,這使我們能夠擷取到更乾淨的 PCP 值。
(a) (b)
34
35
第四章 分類與辨識
4.1 資料分類法簡介
資料分類法[16, 17]是將已經給定的資料集合,依照資料的特性做適當的分 析與歸類,並希望能透過機器學習所得的分類規則為依據,以提供未來做預測分 類的重要依據。
分類的演算法眾多紛陳,根據機器學習模式,可以將學習過程分為監督式學 習(Supervised Learning)和非監督式學習(Unsupervised Learning)。監督式學習是從 問題領域中取得訓練範例(有輸入變數值,也有輸出變數),並從中學習輸入變數 與輸出變數的內在對應規則,一旦經過機器學習過後的數學模型,可以應用於未 知的資料中,此時僅只有輸入變數,即可以推論出輸出變數值。
根據不同的問題類型與資料特徵型態,我們可以選擇適合的分類法,評估分 類方法的優劣標準可大略分為以下四點:
1.預測的正確度:辨識率的優劣
2.速度和延展性:建造模型的時間和使用模型的時間 3.健強性(robust):處理雜值和缺值的能力
4.延展性:有效率處理大型資料庫
本論文使用三種分類法來進行和弦分類辨識,分別是類神經網路(Neural Network),樸真貝氏分類法(Naïve Bayes)與第 K 個最近鄰居分類法(Knn),這三 種分類法在訓練的過程皆屬於監督式學習,亦即在機器訓練時期會預先給定資料 的分群,經過學習之後出來的模型可以用來預測未知的資料。
36
表 4.1 為三種分類器的演算機制與學習模式:
Classfiler Algorithm Learning mode
Knn
Instance-based method SupervisedNaïve Bayes
Probability SupervisedNeural Network
Weighting changing Supervised 表 4.1 三種分類器的演算類型和學習模式4.2 K-th nearest neighbor classifier 第 K 個最近鄰居分類法
4.2.1 K-th nearest neighbor classifier 簡介K-th nearest neighbor classifier (第 K 個最接近的鄰居分類法,簡稱 Knn)涵蓋 了「物以類聚」的觀念,也就是將同一類的物件歸納聚集在一起,在數學上可以 看成是距離最接近的點,其特徵最相似。因此,一個未知的資料可以透過數學空 間,計算出與訓練資料庫中最相近的距離,來將此筆未知資料作歸類。K 值的意 思表示前 K 個離訓練資料點最近的資料,運算完之後由多數決來判定資料的分 群。透過 K 值的改變,可以應用於不同的特徵值問題。K 值的大小沒有一定的 規則可循,可藉由試誤法來選擇 K 值的大小。圖 4.1 為採用 K=5 的最近鄰居演 算法示意圖:
圖 4.1 K=5 最近鄰居示意圖
37
Knn 分類法,係利用空間距離來算出彼此之間的相似度差異,以決定分群的 標準,是一種直覺式的分類法,需要事先準備學習的資料檔以供訓練作為分群的 準則,在機器學習上屬於監督式學習。
4.2.2 K-th nearest neighbor classifier 理論
利用 Knn 分類法,首先必須收集一組包含類別資訊的訓練資料,在本論文 之實驗中,準備了 12500 筆的資訊作為訓練,並事先將他們利用 96 種和弦做分 類。資訊的部分維度為 12 維的 PCP 特徵向量。我們將訓練的資料為表示如下:
, , , , , , ⋯ , 12500
(4.1) 於式 4.1 中,符號表示如下:
, :代表第 i 筆資料 ( 是特徵向量, 是類別資訊)
則對於一筆新的測試資料X,若根據 1st nearest neighbor(k=1)分類法,則最有可 能的類別為
_
(4.2) 由式 4.2 中,我們使用歐幾里德距離(Euclidean distance)作為我們的距離函數,
可表示為:
| |
(4.3)
38
4.2.3 K-th nearest neighbor classifier 的分類運作
Knn 藉由直覺式的距離判斷,將未知資料分群,優點是計算簡單,缺點是抗 雜訊能力差。當預測資料檔裡含有許多雜訊時,Knn 的效果很容易受到雜訊的影 響而產生嚴重的誤判。此外,Knn 分類法不適用於資料維度很高的時候,因為會 複雜化距離的運算,而導致花費較多的運算時間。
下圖 4.2,是 Knn 分類法的學習與辨識流程:
圖 4.2 Knn 學習與辨識流程圖 以距離最近者作為待分
類項目所屬的類別
資料庫樣本
待分類項目對資料庫裡 每筆資料做距離運算
根據所設定的 K 值找出 距離最近的 K 個資料
訓練階段 測試階段
39
4.3 Naïve Bayes classifier 樸真貝氏分類器
4.3.1 樸真貝氏分類器簡介貝氏分類法是一種利用機率分佈為基礎的分類法,因此也可以稱為是機率的 學習法(probabilistic learning),其演算法基本的核心基礎,是對於給出的待分類 未知項,求解在此項出現的條件下各個類別出現的機率,判定哪個機率最大,就 認定此待分類項屬於哪個類別。由於貝氏分類法是根據統計學中的貝氏定理 (Bayes’ theorem)下衍生而來,所以對每個事件(或特徵屬性)的發生機率都要是獨 立時,此貝氏模型才最能代表這群資料筆的狀態,所以又稱為樸真貝氏分類法 (Naïve Bayes classifier)。
4.3.2 樸真貝氏分類法理論
樸真貝氏分類法屬於監督式機器學習,分為兩個階段。在最初之訓練階段時,
將已知分群的資料庫由電腦學習而產生此問題的機率模型。第二階段利用建立好 的貝氏機率模型,對未知的資料進行預測和分類。
樸真貝氏分類法的概念源自於貝氏定理,貝氏定理是一種機率論的結果,通 常在事件 B 已經發生的前提下,事件 A 發生的機率與事件 A 已經發生的前提下,
事件 B 發生的機率是不一樣的,然而,透過貝氏定理,可以將兩者的關係連結 在一起。以上的因果關係,通常可以表示為:
| ∩
(4.4)
| :表示事件 B 已經發生的前提下,事件 A 發生的機率 故由貝氏定理可知
| |
(4.5)
40
樸真貝氏分類法的學習階段分成訓練階段和預測階段 階段一:訓練階段
首先由資料庫建立訓練樣本集,其必須包含訓練的資料與已知的分類項集合,並 統計得到各類別之各個特徵屬性的條件機率估計。即
P |
,
P | ⋯ P | ; P |,
P | ⋯ P | ⋯ P |,
P | ⋯ P | ;其中
, ⋯ 表示此已知資料筆的特徵屬性集合,m 代表此特徵屬性的維度。
, ⋯ 表示分類項之類別集合,n 代表類別集合的個數。
若各個特徵屬性是條件獨立的,則根據貝氏定理可知
| |
(4.6)
其中 | | | ⋯ | ∏
階段二:預測階段
假設X , ⋯ 為一個等待分類的項目,其中每個 為X的特徵屬性(共 m 個特徵屬性)
此時預先設定好的類別集合C , ⋯ n 代表類別的個數 分別計算出 X 在所有類別出現的機率,即 P | ,P | …P | 其中機率最大者則將 X 歸納到此類別中。
圖 4.3 所示,是貝氏分類法的學習與辨識流程:
41
圖 4.3 Naïve Bayes Classifier 學習與辨識流程圖
4.4 Neural Network 類神經網路
4.4.1 類神經網路簡介類神經網路,或稱人造神經網路(Artificial Neural Network,簡稱 ANN),是 用來模仿生物神經網路(Biological Neural Network)所發展出來的數學模型。人類 的大腦約由將近10 個神經細胞所組成,每個神經細胞又含有10 個突觸
(Synapses)來與其他細胞相互連結成一個極複雜的神經網路。當人類感官受到外 界刺激,神經細胞接受訊息之後會將訊息傳遞到大腦來讓大腦下達命令給相關受 器(如四肢)做出反應。
訓練階段
對每個特徵屬性計算所 劃分的條件機率 對每個類別計算
資料庫樣本
待分類項目X 對每個類別 計算 |
以 | 為最大者
作為X 所屬的類別
測試階段
42
為了在語音和影像辨識上獲致與人腦相似的功能,至 1940 年起,科學家便 開始著手從事此方面的研究,並仿造出最簡單的人工神經元(Artificial Neurons) 來模擬人的腦神經細胞。類神經網路模擬生物神經網路的連結,採用人工神經元 和節點(Nodes)所組成,藉由人工神經元從外界環境獲取資訊,並以簡單的矩陣 運算程序來輸出其結果或其他人工神經元。類神經網路的主要目的為模擬生物神 經元間之運算訊息的能力,它最大的特點是能夠達到如生物神經系統所具備大量 平行計算及分散儲存與處理的工作能力,這樣的設計很適合被用來處理各種需要 大量資料運算的運用上,如語音辨識。
綜合言之,類神經網路可以歸納下列幾項特點:
1. 非線性(Nonlinearity):類神經網路內人工神經元之間的運算在處理非線性 的系統上有很高的處理能力及優質的效能,能夠解決其他非線性演算法處理 上的費時與計算上的繁雜,很適合用於語音辨識系統或非線性控制上。
2. 學習能力性(Learning Ability):透過使用者輸入不同的學習樣本來訓練類神 經網路,並修改神經元的權重數值直到期望誤差函數(performance index)達到 使用者所設定的收斂值。
3. 容錯性(Fault Tolerance):訓練過後類神經網路模型具有高容忍度,即使將來 用來模擬的輸入訊號含有雜訊干擾時,仍不會影響其運作的精確度。除此之 外,即使類神經網路內部部分神經網路失效也能照常運作。此特點很適合用 來做音樂辨識以適應一般錄製音訊時所產生的雜訊干擾。
4. 關聯式記憶能力(Associative Memory):類神經網路在訓練的過程中,會記憶 曾經訓練過的輸入函數和其所對應的目標函數。訓練過後的類神經網路模型
43
具有關聯式記憶,即便所輸入資料僅相似於訓練時的輸入函數,類神經網路 仍能透過聯想和連結判斷相似的目標函數,這類似於人的耳朵聽到了小提琴 彈奏一首歌曲,若改用鋼琴彈奏同樣一首歌,雖然彈奏的樂器不同,但是人 卻能夠透過旋律的相似度,去聯想出這首歌的名稱。
5. 積體電路硬體實現(VLSI Implementation):類神經網路的結構高度的連接性 (interconnection),很容易將簡單且具規則性的類神經網路移植到積體電路 上。
4.4.2 類神經網路理論 一.生物神經元
如圖 4.4 所示,生物神經元的結構主要分成下面幾個部分[18]:
圖 4.4 生物神經元構造
細胞核(Nucleus)是神經細胞的中心體,主要功能是將樹狀突(Dendrite)所收 集到的信號作加總並進行一次非線性轉換,然後透過軸突(Axin,或稱神經軸) 將信號傳送到其他的神經細胞中。
44
神經樹狀突如同樹枝結構,可以接受突觸(Synapse)所傳入神經細胞體的信 號,或傳送信號至另一神經元的突觸,突觸的主要功用則為記憶儲存先前所累積 下來的記憶。
在人類大腦中,突觸代表了神經元之間的連結強度,當神經系統受到刺激,
訊號透過軸突傳輸至突觸,突觸會不斷地改變本身的連結強度,來推測神經細胞 的輸出以適應外在環境的變化,一直到達穩定狀態為止。簡單的神經網路傳遞流 程如圖 4.5 所示:
圖 4.5 生物神經元網路傳遞流程 二.人工神經元
人工神經元是經由仿效生物神經元而建立,其模型如圖 4.6 所示,它被當作 是類神經網路內的基本處理單元(Processing-element),每個神經元皆包含了多數 的輸入 x 及一個輸出 y,而每個神經元所輸出的值會散發出去,成為其他神經元 的輸入,其輸入與輸出之間的關係為[19]:
∙
(4.7) 於式 4.4 中,符號表示如下:
f
:表示神經元所使用的激發函數(Activation function):表示神經元之間的連接權重值(Weighting) b:表示神經元的偏權值(Bias)
45
n:表示輸入神經元之數目
圖 4.6 為神經元的模型:
圖 4.6 神經元模型
於圖 4.6 中,輸入 等值於生物神經元中的神經樹,權重值W 則相當於生物模型 中的突觸。神經元的激發函數 f,則涵蓋了線性和非線性兩種。常用的激發函數,
如表 4.2 所列,其函數型態則如圖 4.7 所示:
表 4.2 為類神經網路常用的激發函數:
函數
f(x)
範圍Purelin
f x k ∙ xLogsig
f 11 0 1
Tansig
f 11 1 1
表 4.2 類神經網路常用的激發函數
46
圖 4.7 類神經網路常用的激發函數
4.4.3 類神經網路的基本架構
如大腦內神經元的鍵結,類神經網路亦由基本處理元件的神經元相互連結形 成龐大的網路架構。其架構可以分為前饋式網路(Feed-forward Net)及回饋式網路 (Recurrent Net),圖 4.8 為前饋式網路的架構。
47
圖 4.8 類神經前饋式網路架構
由圖 4.8 所示,前饋式網路包含了三大部分,分別是輸入層,隱藏層以及輸 出層。同一層內的神經元不做互相連結傳遞,且信號傳遞由輸入層到隱藏層均為 單一方向進行。隱藏層的層數可隨問題的複雜度增加,但相同的,隱藏層的層數 越多也會越增加運算的複雜度,隱藏層的層數給定,無一定數學法則,僅只能透 過試誤法,找出最佳的層數。當信號進入類神經網路之後,輸入層可做線性轉換,
隱藏層則主要使用非線性轉換函數來表現輸入間之交互的影響,輸出層則負責將 信號輸出,同樣也可以做線性或非線性的轉換。
4.4.4 類神經網路的運作
類神經網路的運作過程可以分為學習過程(Learning)和回想過程(Recalling) 兩部份。學習的過程是學習類組的輸入,以調整網路連結的權重值和神經元的偏 權值。依照問題類型可以將學習過程分為監督式學習(Supervised Learning)和非監 督式學習(Unsupervised Learning)。本論文,採用監督式學習。
監督式學習是從問題領域中取得訓練範例(有輸入變數值,也有輸出變數),
並從中學習輸入變數與輸出變數的內在對應規則,一旦經過學習過後的類神經網 路,可以應用於新的案例,此時僅只有輸入變數即可以推論出輸出變數值。
例如老師在黑板上寫上英文字母 ABCD,並且向學童說明此字母為英文字母
48
ABCD,學童透過認字來學習每個字母的特徵,當下次老師在黑板上寫上 ABCD 時,雖然新寫的字母筆跡與之前寫的原字母筆跡不完全相同,但學童仍能夠認出 是哪個字母,此乃因為學童已將各別字母的特徵普遍化。
監督式學習最重要的兩大元素就是輸入所需要學習的問題與所對應學習問 題的輸出答案(也稱為學習目標),藉由誤差來調整神經元之間連結的權重值,使 的類神經網路輸出可以逐漸接近目標值。有關類神經之學習流程,如圖 4.9 所示 [20]:
圖 4.9 類神經學習流程
本論文所使用的誤差倒傳遞演算法(Error Back-propagation Algorithm),係採用監 督式學習演算法則,並透過網路目標輸出與推論輸出之間的誤差,由類神經網路 的輸出層往輸入層倒傳遞回推,以誤差值作為修正網路權重值和偏權值的參考依 據。學習過程結束之後,則進入回想過程接受測試資料,以產生最佳的推論輸出 值。