在 Google I/O 大會上我們分享了一套教程,幫大家在音頻方面使用機器學習。在這篇文章中,您可找到一些相關資源,幫助開發與自定義應用的音頻分類模型,以及激發靈感的真實案例。
音頻機器學習
“聲音”和“音頻“兩詞有時候會被混用,但是兩者有一點本質上的區別,即聲音是你聽見的內容,而音頻則是聲音的電子表現形式。這就是為什么我們討論機器學習的時候使用“音頻”一詞的原由。
音頻機器學習可用于:
理解語音
識別樂器
對事件分類(例如:識別鳥的種類)
檢測音高
生成音樂
本文我們將重點關注”音頻事件分類“,這是一種常見需求,在現實生活中的應用非常多。例如 NOAA 創建了座頭鯨聲波探測器,再如倫敦動物學會使用音頻識別來保護野生動物。
座頭鯨聲波探測器
https://www.blog.google/technology/ai/pattern-radio-whale-songs/
您現在就可以前往 TensorFlow Hub 體驗多種音頻事件分類模型(YAMNet、鯨魚探測)。
TensorFlow Hub
https://hub.tensorflow.google.cn
YAMNet
https://hub.tensorflow.google.cn/google/yamnet/1
鯨魚探測
https://hub.tensorflow.google.cn/google/humpback_whale/1
音頻識別也完全能夠在設備端運行。例如,Android 擁有一項聲音通知功能,此功能可在您身邊出現重要聲音時推送通知。這項功能還可以檢測設備正在播放哪種音樂,甚至還可以通過一個基于機器學習的音頻錄制器來記錄設備上的對話。
聲音通知
https://blog.google/products/android/new-sound-notifications-on-android/
正在播放哪種音樂
https://blog.google/products/pixel/on-device-ai-with-pixel4/
音頻錄制器
https://ai.googleblog.com/2019/12/the-on-device-machine-learning-behind.html
如何在自己的應用中使用這些模型?
如何根據自己的音頻用例自定義這些模型?
部署設備端機器學習模型
想象一下,如果您已經擁有一個音頻分類模型(例如從 TF-Hub 獲取的預訓練模型),您會怎樣在移動應用上使用該模型?為了幫助您將音頻分類集成到應用中,我們創建了 TensorFlow Lite Task Library。音頻分類器組件現已發布,您只需幾行代碼即可將音頻分類模型添加到您的應用之中:
音頻分類器
https://tensorflow.google.cn/lite/inference_with_metadata/task_library/audio_classifier
// Initialization
val classifier = AudioClassifier.createFromFile(this, modelPath)
// Start recording
val record = classifier.createAudioRecord()
record.startRecording()
// Load latest audio samples
val tensor = classifier.createInputTensorAudio()
tensor.load(record);
// Run inference
val output = classifier.classify(tensor)
該庫負責將音頻分類模型加載到內存,以使用適當的模型規格(采樣率、比特率)和分類方法創建音頻錄制器,并獲取模型推理結果。您可以點擊此處查看完整示例并獲取靈感。
此處
https://github.com/tensorflow/examples/tree/master/lite/examples/sound_classification/android
自定義模型
如果您需要識別的音頻事件未包含在預訓練模型提供的集合中,應該怎么辦?或者您需要細化事件類別,又該如何?在以上情況下,您可以使用一項名為遷移學習的技術對模型進行微調。
遷移學習
https://developers.google.com/machine-learning/glossary#transfer-learning
這一流程十分常規,您無需成為機器學習方面的專家也能做到。在此過程中,您可以使用 Model Maker 來助您一臂之力。
Model Maker
https://tensorflow.google.cn/lite/guide/model_maker
spec = audio_classifier.YamNetSpec()
data = audio_classifier.DataLoader.from_folder(spec, DATA_DIR)
train_data, validation_data = data.split(0.8)
model = audio_classifier.create(train_data, spec, validation_data)
model.export(models_path)
您可以點擊此處查看完整代碼。輸出模型可使用 Task Library 直接加載。另外,Model Maker 不僅能夠自定義音頻模型,還可以自定義圖像、文本以及推薦系統的模型。
此處
https://tensorflow.google.cn/lite/tutorials/model_maker_audio_classification
總結
音頻機器學習是一個令人興奮的領域,具備許多可能性,同時支持不少新功能。借助 TensorFlow Lite Task Library 等工具,在設備端使用機器學習 變得越來越簡單便捷。有了 Model Maker,無需領域專業知識也可進行自定義。
您可以在我們有關設備端機器學習的新網站中了解詳情(點擊此處可前往音頻路徑)。您將找到教程、代碼 等相關資源,這些資源不僅包括如何處理音頻相關的任務,還包括圖像(分類、目標檢測)以及文本(分類、實體提取、問答)等。
設備端機器學習
https://developers.google.com/learn/topics/on-device-ml
此處
https://developers.google.com/learn/pathways/on-device-ml-5
您還可以在社交網絡帖子中添加 #TensorFlow 標簽,與我們分享您在項目中創建的內容,或者將其提交參加 TensorFlow Community Spotlight 計劃。如果有任何疑問,歡迎在 discuss.tensorflow.google.cn 上提問。
discuss.tensorflow.google.cn
https://discuss.tensorflow.google.cn/
責任編輯:haq
-
音頻
+關注
關注
29文章
3012瀏覽量
82978 -
機器學習
+關注
關注
66文章
8487瀏覽量
133994
原文標題:如何輕松部署設備端音頻機器學習?
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何添加自定義單板
如何快速創建用戶自定義Board和App工程

think-cell:自定義think-cell(四)

智能語音識別照明解決方案,平臺自定義,中英切換

think-cell;自定義think-cell(一)

如何創建TestStand自定義步驟

開發用于將四個ADC通道連接到MCU/MPU的自定義多通道SPI

評論