在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>TinyML:使用合成數(shù)據(jù)的永遠(yuǎn)在線的音頻分類器

TinyML:使用合成數(shù)據(jù)的永遠(yuǎn)在線的音頻分類器

2023-07-13 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

TinyML是一項尖端技術(shù),它通過支持創(chuàng)建可在微控制器等小型設(shè)備上運行的超緊湊、低功耗機器學(xué)習(xí)模型,徹底改變了機器學(xué)習(xí)領(lǐng)域。

深度學(xué)習(xí)最流行的應(yīng)用之一是音頻分類,涉及對聲音進(jìn)行分類并預(yù)測其各自類別的任務(wù)。這類問題有很多實際應(yīng)用,例如通過對音樂片段進(jìn)行分類來識別音樂的流派,或者通過對簡短的話語進(jìn)行分類來根據(jù)他們的聲音識別各個說話者。借助生成式 AI 和文本轉(zhuǎn)語音技術(shù),我們現(xiàn)在可以使用合成數(shù)據(jù)來訓(xùn)練這些模型以識別特定模式,例如您的名字。通過使用合成數(shù)據(jù),我們可以創(chuàng)建高度真實和多樣化的數(shù)據(jù)集,這些數(shù)據(jù)集可用于以更高效和更具成本效益的方式訓(xùn)練機器學(xué)習(xí)模型。

該項目旨在演示如何開發(fā)可以區(qū)分未知背景噪音人名類別的音頻分類系統(tǒng)。為實現(xiàn)這一目標(biāo),我們將使用Edge Impulse平臺來訓(xùn)練我們的模型,然后將其部署到邊緣設(shè)備,例如 Arduino Nicla Voice。

用于音頻信號處理的機器學(xué)習(xí)管道

圖中所示的音頻處理管道是使用機器學(xué)習(xí)技術(shù)分析音頻數(shù)據(jù)的常用方法。通過使用快速傅立葉變換 (FFT) 從音頻數(shù)據(jù)中提取頻域特征,可以訓(xùn)練機器學(xué)習(xí)模型來執(zhí)行語音識別、音樂分類或音頻分割等任務(wù)。

poYBAGSBMoGAODSlAACNFA8xkaQ454.jpg
音頻處理管道
?

總體而言,此圖說明了使用機器學(xué)習(xí)處理音頻數(shù)據(jù)所涉及的基本步驟,包括數(shù)據(jù)預(yù)處理、特征提取、模型訓(xùn)練和模型推理。

讓我們開始吧!

數(shù)據(jù)集生成

要根據(jù)不同的類別對音頻進(jìn)行分類,您需要收集一些未知類、背景噪聲類和名稱類的樣本 WAV 文件。這將使系統(tǒng)能夠區(qū)分這三個類別。

機器學(xué)習(xí)模型的數(shù)據(jù)集生成流程圖,該模型使用Google TensorFlow Speech Command數(shù)據(jù)集、AudioLDM文本轉(zhuǎn)音頻生成工具和Piper文本轉(zhuǎn)語音技術(shù)生成未知、背景噪聲和人名類,可以概括如下:

pYYBAGSBMoSASBF4AABqAVSRSpc862.jpg
?
  • 下載Google TensorFlow Speech Command 數(shù)據(jù)集,其中包含大量音頻樣本,以及每個樣本的類標(biāo)簽,用于標(biāo)識聲音的類型。這些文件可以作為代表未知類的單獨類添加到數(shù)據(jù)集中
  • 利用ChatGPT背景噪音類別生成不同的文本提示。
  • 生成文本提示后,我們將它們發(fā)送到將文本轉(zhuǎn)換為音頻的模塊。AudioLDM文本轉(zhuǎn)音頻生成工具 cat 生成大量音頻文件。這些文件可以作為表示背景噪聲的單獨類添加到數(shù)據(jù)集中
  • 使用Piper文本轉(zhuǎn)語音技術(shù)生成包含人名的音頻文件。這些文件可以作為一個單獨的類添加到數(shù)據(jù)集中,代表人或您要分類的其他詞。

使用 Text to speech 技術(shù)生成高質(zhì)量的語音數(shù)據(jù) - Piper

文本轉(zhuǎn)語音 (TTS) 是一種尖端的語音合成技術(shù),可以將書面文本發(fā)聲成具有人聲的可聽語音。TTS 的一個示例是Michael Hansen開發(fā)的Piper它可用于從文本輸入生成語音數(shù)據(jù)。

從 Github 存儲庫下載 Piper TTS 的預(yù)編譯二進(jìn)制包。您可以使用 wget 命令通過在終端中運行以下命令來下載程序包:

wget https://github.com/rhasspy/piper/releases/download/v0.0.2/piper_amd64.tar.gz

這將下載適用于 AMD64 架構(gòu)的 Piper TTS 二進(jìn)制包。如果您在 Raspberry Pi 或 Nvidia Jetson 等設(shè)備上使用不同的架構(gòu),例如 ARM64,您應(yīng)該從piper的 github 存儲庫下載適當(dāng)?shù)陌姹尽?/font> 提取 tar.gz 文件。

下載英文語言模型,在終端中運行以下命令:

wget https://github.com/rhasspy/piper/releases/download/v0.0.2/voice-en-us-ryan-high.tar.gz

提取您下載的語言模型的 tar.gz 文件。您可以使用以下命令進(jìn)行提取:

tar -zxvf voice-en-us-ryan-high.tar.gz

使用以下代碼片段通過 Piper TTS 生成 WAV 音頻文件。將model_path變量替換為您下載的語言模型的路徑,并將text變量替換為您要轉(zhuǎn)換為語音的文本。該代碼將在輸出目錄中生成 904 個音頻文件,每個文件都有不同的揚聲器。

import subprocess
text = "Your name"
model_path = "./en-us-libritts-high.onnx"
for i in range(0, 904):
    output_file = f'./output/{i}.wav'
    cmd = f'echo "{text}" | ./piper/piper --model {model_path} --output_file                {output_file} --speaker {i}'
    subprocess.run(cmd, shell=True, check=True)

此外,您還可以使用為您準(zhǔn)備的 Google Colab 筆記本。該筆記本包含使用Piper TTS生成音頻文件的所有必要步驟和代碼

poYBAGSBMoiARx4BAAS6mnW2EQI908.png
谷歌 Colab 筆記本
?

您可以通過提供給您的鏈接訪問筆記本

默認(rèn)運行時使用 CPU,但您可以將運行時更改為 GPU

poYBAGSBMo2AfLVVAARt5E1l_M4985.png
?

為了在筆記本上使用 GPU,請選擇運行時 > 更改運行時類型菜單,然后將硬件加速器下拉菜單設(shè)置為 GPU

pYYBAGSBMpKAMJz9AAOXNA1w6NY250.png
?

Piper TTS 無需 GPU 即可運行,而AudioLDM文本到音頻生成工具需要 GPU 激活。以下是通過AudioLDM生成音頻的步驟

使用 AudioLDM 生成高質(zhì)量的合成音頻數(shù)據(jù)集

要從文本生成音頻文件,下一步涉及使用名為AudioLDM的文本到音頻生成工具。該工具利用潛在擴(kuò)散模型從文本生成高質(zhì)量音頻。要使用 AudioLDM,您需要一臺配備強大 GPU 的獨立計算機。

要使用文本提示生成音頻文件,您有兩種選擇:您可以在自己的計算機上使用 GPU 安裝 audioldm,或者使用我為您準(zhǔn)備的Google Colab 。

首先,您需要通過運行以下命令使用 pip 安裝 PyTorch

pip3 install torch==2.0.0

接下來,您可以通過運行命令來安裝 audioldm 包

pip3 install audioldm

安裝必要的包后,您可以使用 GitHub 部分中提供的代碼片段從文本提示生成音頻文件。為此,只需運行命令

python3 generate.py

這將啟動生成過程,您應(yīng)該會看到類似于以下內(nèi)容的輸出:

genereated: A hammer is hitting a wooden surface
genereated: A noise of nature
genereated: The sound of waves crashing on the shore
genereated: A thunderstorm in the distance
genereated: Traffic noise on a busy street
genereated: The hum of an air conditioning unit
genereated: Birds chirping in the morning
genereated: The sound of a train passing by

一旦收集了 wav 音頻樣本,就可以將它們輸入神經(jīng)網(wǎng)絡(luò)以啟動訓(xùn)練過程。

就這樣。現(xiàn)在我們可以簡單地將這些 wav 文件上傳到Edge Impulse Studio以訓(xùn)練我們的模型。

使用 Edge Impulse 平臺進(jìn)行模型訓(xùn)練

對于模型訓(xùn)練、測試和部署,可以使用Edge Impulse Studio平臺。它是一個幾乎不提供代碼解決方案的 TinyML 框架,您無需具備良好的機器學(xué)習(xí)專業(yè)知識即可構(gòu)建您的 TinyML 模型。

首先,創(chuàng)建一個帳戶并登錄然后創(chuàng)建一個新項目。將樣本加載到 Edge Impulse 中的最簡單方法是使用上傳數(shù)據(jù)選項。

選擇數(shù)據(jù)采集選項卡并選擇上傳數(shù)據(jù)選項,將出現(xiàn)以下窗口。

pYYBAGSBMpaAGFpQAADZ2luL6w8448.png
?

確保在標(biāo)簽選項下,您在輸入標(biāo)簽選項下提到了標(biāo)簽名稱上傳您的 wav 文件。

對上傳其他班級的音頻樣本重復(fù)相同的過程。您應(yīng)該確保每個音頻樣本都被正確標(biāo)記并分組到各自的類別中,以避免在訓(xùn)練期間出現(xiàn)任何混淆。

poYBAGSBMpqAO8VzAAL-u-_NJYM486.png
?

我總共收集了 1 小時 19 秒的數(shù)據(jù),這些數(shù)據(jù)可以分為三個不同的類別。

  • 未知類
  • 背景噪音等級
  • Shakhizat班(我的名字)

一旦你設(shè)置了所有的類并且對你的數(shù)據(jù)集感到滿意,就可以訓(xùn)練模型了。在左側(cè)導(dǎo)航菜單中導(dǎo)航至 Impulse Design。

poYBAGSBMpyAJNlHAAHaSHGsaLI029.png
?

選擇Add a processing block并添加Audio(Syntiant) ,因為它非常適合基于Syntiant NDP120 Neural Decision Processor 的人聲應(yīng)用。它會嘗試將音頻轉(zhuǎn)換成某種基于時間和頻率特征的特征,這將有助于我們進(jìn)行分類。然后選擇添加學(xué)習(xí)塊并添加分類。

最后,點擊Save Impulse

然后導(dǎo)航到Syntiant 在此步驟中,您將從輸入數(shù)據(jù)生成特征。特征是分類算法用來對音頻進(jìn)行分類的獨特屬性。

pYYBAGSBMqGAVmawAAHcGJy5MW0591.png
?

將特征提取器設(shè)置為log-bin(NDP120/200) ,然后單擊保存參數(shù)

poYBAGSBMqSAC6KEAAFpmosd1_o660.png
?

接下來,單擊生成特征并使用特征資源管理器檢查生成的特征。每個數(shù)據(jù)樣本將根據(jù)其標(biāo)簽在圖中著色。

使用完功能瀏覽器后,單擊左側(cè)導(dǎo)航菜單中的分類器項。

pYYBAGSBMqeAYyhgAABou4cU57U379.png
?

對于此項目,訓(xùn)練周期數(shù)設(shè)置為200 ,學(xué)習(xí)率設(shè)置為0.0005

該模型具有以下結(jié)構(gòu):

pYYBAGSBMqqAbPQQAAES0NRwzkE197.png
?

接下來,單擊Start training以訓(xùn)練機器學(xué)習(xí)模型,這可能需要一些時間才能完成,具體取決于數(shù)據(jù)集的大小。

訓(xùn)練完成后,Edge Impulse Studio 將顯示模型的性能、混淆矩陣、特征資源管理器和設(shè)備上的性能細(xì)節(jié)。

poYBAGSBMqyAZPYDAAF9pqQzh9s091.png
?

對我來說,準(zhǔn)確率為 96.2%,損失為 0.12。訓(xùn)練集的準(zhǔn)確性非常好。

您可能會看到以下日志消息:

| | Total MACs: 284736                                                                                   | | Total Cycles: 24762 (time=0.0011515066964285713s @ 21.504 MHz)                                       | | Total Parameter Count: 948                                                                           | | Total Parameter Memory: 1.4375 KB out of 640.0 KB on the NDP120_B0 device.                           | | Estimated Model Energy/Inference at 0.9V: 5.56237 (uJ)

信息很重要,因為它表明模型的內(nèi)存效率以及它是否可以部署在 Arduino Nicla Voice 等資源有限的設(shè)備上。

一旦您對模型的性能感到滿意,就可以將它部署到您的 Arduino Nicla Voice 中了。為此,單擊 Edge Impulse Studio 中的 Deployment 菜單項,然后單擊 Arduino Nicla Voice 按鈕。

pYYBAGSBMrCAOUkVAAITRVG3D4Q981.png
?

選擇模型后,單擊構(gòu)建

?

打開 Arduino IDE 串行監(jiān)視器。將波特率設(shè)置為 115200。如果一切正常,您應(yīng)該會看到以下內(nèi)容:

?

如您所見,我們的模型表現(xiàn)非常好。盡管有一些錯誤分類,但我覺得它的結(jié)果非常棒。該系統(tǒng)能夠?qū)⒚總€說出的詞分類為“未知”類別。此外,它還能將口語單詞“我的名字”正確識別為已知單詞,并將其分配到適當(dāng)?shù)念悇e。另一方面,系統(tǒng)將背景中的噪音識別為噪音類別并相應(yīng)地分配。

總之,該項目演示了如何使用 Edge Impulse 平臺構(gòu)建音頻分類系統(tǒng)并將其部署在 Arduino Nicla Voice 等邊緣設(shè)備上。通過使用包含未知聲音、背景噪聲和人名的多樣化數(shù)據(jù)集來訓(xùn)練模型,我們可以創(chuàng)建一個強大的系統(tǒng),可以實時準(zhǔn)確地對音頻樣本進(jìn)行分類。

我已經(jīng)讓公眾可以訪問一個項目。有關(guān)此項目的更多詳細(xì)信息,請訪問 Edge Impulse。并且可以通過此鏈接訪問它

感謝您的閱讀!如果您有興趣了解有關(guān)音頻識別中機器學(xué)習(xí)的更多信息,我強烈建議您查看下面這篇文章中提到的參考資料

參考


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 天天爱天天操 | 欧美在线激情 | 欧美精品一区二区三区在线播放 | 国产精品香蕉在线一区 | 特黄aaaaaa久久片 | h视频网站在线 | 男女视频在线看 | 免费在线黄视频 | 欧美一区二区三区在线观看免费 | 特黄特色大片免费视频大全 | 日韩精品一区二区三区免费视频 | 丁香综合| 黄网站色 | 免费jyzzjyzz在线播放大全 | 黄色午夜剧场 | 美女扒开尿口给男人桶视频免费 | 成人精品福利 | h视频免费看 | 18黄无遮挡免费视频 | aa1在线天堂| 91夫妻视频 | 5151四虎永久在线精品免费 | 四虎黄色网址 | 亚洲爱爱图 | 成熟女性毛茸茸xx免费视频 | 天堂网. www在线资源 | 亚洲资源在线视频 | 欧美成人自拍视频 | 精品无码中出一区二区 | 黄网站色在线视频免费观看 | 成人a大片高清在线观看 | 色色激情网 | 色噜噜狠狠网站 | 哺乳期xxxx视频 | 黄视频网站观看 | 福利社91 | 天天干天天操天天玩 | 片黄免费 | 夜夜艹天天干 | 亚洲一区二区三区麻豆 | 99热网址|