【機器學習PAI實踐十二】機器學習實現男女聲音識別分類(含語音特徵提取資料和程式碼)
背景
隨著人工智慧的演算法發展,對於非結構化資料的處理能力越來越受到重視,這裡面的關鍵一環就是語音資料的處理。目前,許多關於語音識別的應用案例已經影響著我們的生活,例如一些智慧音響中利用語音傳送指令,一些搜尋工具利用語音輸出文字代替鍵盤錄入。
本文我們將針對語音識別中最簡單的案例“男女聲音”識別,結合本地的R工具以及機器學習PAI,為大家進行介紹。通過本案例,可以將任何使用者的語音資料標記出性別,並且保持高準確率。我們把整個實驗流程切分為兩部分,第一部分是聲音訊號的特徵提取,通過R的訊號處理工具實現;第二部分通過機器學習PAI實現男女聲音分類模型的訓練,本實驗需要事先積累男女聲音的錄音資料,本文已經提供處理好的3000條語音資料,文章末尾提供下載。
聲音訊號特徵提取
語音資料與影象資料以及文字資料不同,如果經常使用K歌軟體或者是語音合成軟體,不難理解語音資料通常成訊號狀分佈。
為了有效的通過演算法處理這種波形資料,需要首先通過訊號處理工具對語音訊號進行處理。本文我們選用的是R語言的warbleR包,warbleR包含大量的頻譜處理工具,可以通過其中的頻譜處理函式提取出關於聲音的以下特徵資訊,因為男生和女生在聲音訊率、振幅的方面一定有很大區別,所以要通過提取以下特徵幫助我們進行分類:
接下來會講解如何提取這些聲音訊號的特徵:
1.安裝R
首先安裝R語言包,warbleR需要R的版本是3.2以上,這裡強烈建議大家使用3.3.3版本(博主在使用3.4的時候遇到錯誤)。具體R的安裝方式網上有很多介紹,這裡就不詳細介紹了。
2.安裝warbleR
安裝完R之後,進入R命令列,需要通過以下命令安裝warbleR:
install.packages("warbleR")
library(warbleR)
這裡需要注意的是映象最好使用美國的預設映象服務,需要翻*,不然很有可能會安裝不成功,因為國內的映象會缺少某些依賴包。
3.特徵提取
首先把需要處理的錄音資料(必須是wav格式)按照男聲、女聲分裝在male和female兩個資料夾中,然後執行筆者提供的R指令碼程式碼(文末提供了下載連結)。需要將程式碼中以下兩個檔案路徑改為自己建立的male以及female檔案路徑即可:
執行這個R指令碼,就會將wav格式的聲音檔案轉化為結構化資料,資料會儲存為一個CSV檔案。檔案部分截圖:
PAI訓練男女聲音分類模型
1.匯入資料
將通過R處理後的資料匯入PAI平臺,也可以直接將文末提供的處理好的資料匯入。具體方法可以看:https://help.aliyun.com/video_detail/54945.html
資料匯入後,可以看到有20個特徵以及1列label列,
2.建立分類模型
通過拖拉PAI平臺的元件搭建實驗,實驗流程圖:
- voice_classify:為資料讀入源
- 拆分:將資料集拆分為訓練集以及預測集
- 線性支援向量機:通過SVM演算法訓練生成模型
- 預測元件:通過模型對預測集預測
- 混淆矩陣:用來評估
這是一個比較簡單的二分類場景,具體也可以參看之前的一些文章:https://yq.aliyun.com/articles/54260
3.評估
最終“混淆矩陣”元件會顯示如下圖的分類評估:
通過混淆矩陣,可以看到男女聲音的分類還是非常精準的。
總結
本文通過使用R指令碼以及機器學習PAI實現了男女聲音分類的案例,最終的準確率達到百分之九十八左右。在實際使用過程中,使用者需要執行以下幾步:
(1)首先積累需要分類的聲音檔案,資料越多越好,儲存為wav格式。
(2)然後通過R指令碼對打標好的聲音檔案進行特徵提取。
(3)將處理後的資料上傳PAI,建立分類模型即可。
PAI地址:https://data.aliyun.com/product/learn
企業服務諮詢:https://survey.aliyun.com/survey/AMgL8_Pm5
資料下載(程式碼及資料來自warbleR社群開源提供):https://github.com/jimenbian/PAI_voice_classify
與作者討論可以關注我的微信公眾號“凡人機器學習”:
相關文章
- 機器學習-特徵提取機器學習特徵
- 【機器學習】--xgboost初始之程式碼實現分類機器學習
- 語音的關鍵聲學特徵(語音情感特徵提取)特徵
- 網易雲音樂機器學習平臺實踐機器學習
- 如何使用華為機器學習服務和Kotlin實現語音合成機器學習Kotlin
- 機器學習-無監督學習(人臉識別,使用NMF進行特徵提取)機器學習特徵
- 機器學習(一):5分鐘理解機器學習並上手實踐機器學習
- 華為機器學習服務語音識別功能,讓應用繪“聲”繪色機器學習
- 《機器學習Python實現_10_02_整合學習_boosting_adaboost分類器實現》機器學習Python
- 機器學習PAI全新功效——實時新聞熱點OnlineLearning實踐機器學習AI
- 《機器學習Python實現_10_06_整合學習_boosting_gbdt分類實現》機器學習Python
- 機器學習實戰-SVM模型實現人臉識別機器學習模型
- Scikit-Learn機器學習實踐——垃圾簡訊識別機器學習
- 機器學習(三):理解邏輯迴歸及二分類、多分類程式碼實踐機器學習邏輯迴歸
- ML-機器學習實踐機器學習
- 機器學習PAI快速入門機器學習AI
- LSTM機器學習生成音樂機器學習
- 機器學習 | 特徵工程機器學習特徵工程
- 機器學習——特徵工程機器學習特徵工程
- 機器學習特徵工程機器學習特徵工程
- 《機器學習:演算法原理和程式設計實踐》2:中文文字分類機器學習演算法程式設計文字分類
- 技術實操丨SoundNet遷移學習之由聲音分類到語音情感識別遷移學習
- 機器學習PAI快速入門與業務實戰機器學習AI
- 【機器學習】支援向量機分類機器學習
- 機器學習實戰原始碼和資料集下載機器學習原始碼
- 機器學習之支援向量機原理和sklearn實踐機器學習
- 30分鐘實現小程式語音識別
- 機器學習(四):通俗理解支援向量機SVM及程式碼實踐機器學習
- 《Python機器學習實踐》簡介Python機器學習
- 利用機器學習進行惡意程式碼分類機器學習
- 模式識別與機器學習——概率分佈模式機器學習概率分佈
- 機器學習之特徵工程機器學習特徵工程
- 機器學習--分類變數編碼方法機器學習變數
- 基於Sklearn機器學習程式碼實戰機器學習
- 如何實現實時機器學習? - huyenchip機器學習
- HMS Core機器學習服務實現同聲傳譯,支援中英文互譯和多種音色語音播報機器學習
- 機器學習的靜態特徵和動態特徵機器學習特徵
- 美團機器學習實踐第二章-特徵工程總結機器學習特徵工程
- 評書:《美團機器學習實踐》機器學習