作者/維護者: Ignacio Heredia (CSIC)
項目:這項工作是 DEEP Hybrid-DataCloud 計畫的一部分,該計畫已根據撥款協議 No 777435 獲得歐盟 Horizon 2020 研究和創新計畫的資助。
這是一個即插即用工具,用於透過深度學習執行音訊分類。它允許用戶對音訊樣本進行分類,並針對自訂問題訓練自己的分類器。該分類器目前已針對 AudioSet 資料集中的 527 個高級類別進行了預訓練。
您可以在 DEEP Marketplace 中找到有關它的更多資訊。
目錄
要求
該專案已在 Ubuntu 18.04 和 Python 3.6.5 中進行了測試。進一步的套件要求在
requirements.txt
檔案中描述。
- 為了支援多種音訊格式,我們需要使用 FFMPEG 函式庫。要在 Linux 中安裝它,請運行:
apt-get install ffmpeg libavcodec-extra- 要求安裝 Tensorflow>=1.14.0(無論是在 gpu 或 cpu 模式下)。這沒有在
requirements.txt
中列出,因為它破壞了GPU支援。
若要開始使用此框架,請複製儲存庫並下載預設權重:
git clone https://github.com/deephdc/audio-classification-tf
cd audio-classification-tf
pip install -e .
curl -o ./models/default.tar.gz https://api.cloud.ifca.es:8080/swift/v1/audio-classification-tf/default.tar.gz
cd models && tar -zxvf default.tar.gz && rm default.tar.gz
現在運行 DEEPaaS:
deepaas-run --listen-ip 0.0.0.0
打開http://0.0.0.0:5000/ui 並尋找屬於audioclas
模組的方法。
我們也準備了一個現成的 Docker 容器來運行這個模組。運行它:
docker search deephdc
docker run -ti -p 5000:5000 -p 6006:6006 -p 8888:8888 deephdc/deep-oc-audio-classification-tf
現在打開http://0.0.0.0:5000/ui 並尋找屬於audioclas
模組的方法。
您可以使用自訂資料集訓練自己的音訊分類器。為此,你必須:
將圖像放入./data/audios
資料夾中。如果您的資料在其他地方,您可以透過在訓練參數中設定dataset_directory
參數來使用該位置。請使用標準音訊格式(例如.mp3
或.wav
)。
注意分類器適用於 10 秒的樣本。因此,如果音訊檔案長於/短於 10 秒,它將循環連接以使其持續 10 秒的倍數。因此,22 秒的音訊檔案將創建 3 個嵌入:
*-0.npy
、*-1.npy
和*-2.npy
。
首先,您需要將以下檔案新增至./data/dataset_files
目錄中:
強制性文件 | 可選文件 |
---|---|
classes.txt , train.txt | val.txt 、 test.txt 、 info.txt |
train.txt
、 val.txt
和test.txt
檔案將音訊名稱(或相對路徑)與標籤編號(必須從零開始)相關聯。 classes.txt
檔案將這些標籤編號轉換為標籤名稱。最後, info.txt
允許您提供有關每個類別的資訊(例如資料庫中的音訊檔案數量)。
如果您使用選項compute_embeddings=False
,則文件路徑應指向嵌入的.npy
路徑,而不是原始音訊文件,並且dataset_directory
參數應指向包含嵌入的資料夾。
您可以在./data/demo-dataset_files
找到這些文件的範例。
請造訪 http://0.0.0.0:5000/ui 並尋找TRAIN
POST 方法。按一下“嘗試”,更改您想要的任何訓練參數,然後按一下“執行”。培訓將啟動,您將能夠透過執行TRAIN
GET 方法來追蹤其狀態,該方法還將提供先前執行的所有培訓的歷史記錄。
如果該模組配置了某種訓練監控(如 Tensorboard),您將能夠在 http://0.0.0.0:6006 上關注它。
前往 http://0.0.0.0:5000/ui 並尋找PREDICT
POST 方法。按一下“嘗試”,變更所需的任何測試參數,然後按一下“執行”。您可以提供:
data
參數。或者
url
參數,其 URL 指向音訊檔案或包含音訊檔案的壓縮檔案(例如 zip、tar、...)。以下是此類 url 的範例,您可以將其用於測試目的。 該專案中的程式碼基於 IBM 的原始儲存庫,並實現了 Yu 等人的論文「弱監督音訊分類的多層注意力模型」。
相對於原始儲存庫的主要變化是:
如果您認為專案有用,請考慮引用 DEEP Hybrid DataCloud 專案:
加西亞、阿爾瓦羅·洛佩斯等人。用於機器學習工作負載和應用程式的基於雲端的框架。 IEEE 訪問 8 (2020):18681-18692。
以及以下任何參考文獻:
- Jort F. Gemmeke 等人,音訊集:音訊事件的本體論和人類標記資料集,IEEE ICASSP,2017 年。
- Qiuqiang Kong 等人,使用注意模型進行音頻集分類:機率視角。 arXiv 預印本 arXiv:1711.00927 (2017)。
- Changsong Yu 等人,弱監督音頻分類的多層次注意力模型。 arXiv 預印本 arXiv:1803.02353 (2018)。
- S. Hershey 等人,大規模音訊分類的 CNN 架構,arXiv 預印本 arXiv:1609.09430,2016。