伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

電子發燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>開源硬件邊緣語音識別

開源硬件邊緣語音識別

2022-11-14 | zip | 2.23 MB | 次下載 | 2積分

資料介紹

描述

介紹

在這個項目中,我圍繞一個訓練識別單詞left right updown的模型構建了一個應用程序它所做的只是捕獲和處理音頻,將其輸入 TensorFlow Lite 模型,然后在 OLED 顯示器上顯示輸出。我將介紹如何使用 i.MXR1010 評估套件在邊緣設置和進行機器學習

設置開發環境

任何機器學習和嵌入式電子項目都需要許多硬件和軟件才能使用。我正在使用 MacOS 進行開發。由于 Nvidia GPU 不支持 MacOS,所以我使用 Linux 桌面進行訓練和模型生成。

安裝 MCUExpresso IDE

pYYBAGNxItyATBR7AALZttDAMmc167.png
?

下載 SDK 后,我們需要將下載的包拖放到 MCUExpresso IDE Installed SDKs區域,如下所示(紅色框)。

poYBAGNxIt6AQqU3AABiG-SFqk0202.jpg
?

我們可以從 Quickstart Panel > New Project 創建一個新項目,它會顯示一個向導,我們可以在其中選擇 IMXRT1010 作為開發板。我們可以使用此向導配置所需的驅動程序/組件,如下所示。添加/刪除驅動程序和其他組件可以在此期間完成。發展。由于我們將使用 TensorFlow C++ 庫,所以我選擇了C++ Project

pYYBAGNxIuGALxF_AAJdZJzFir4573.png
?

微控制器安裝 TensorFlow Lite

用于微控制器的 TensorFlow Lite 能夠生成包含所有必要源文件的獨立項目。我的 MCUXpresso IDE 工作區位于 ~/Documents/MCUXpressoIDE_11.1.0/workspace/。您可能需要根據您的目錄結構更改路徑。我們還需要制作3.82 或更高版本。MacOS Catalina 上捆綁的make版本為 3.81。我們可以使用安裝所需的版本

brew install make

并且可以使用gmake命令運行它。

cd ~

git clone https://github.com/tensorflow/tensorflow.git

cd tensorflow

gmake -f tensorflow/lite/micro/tools/make/Makefile generate_projects

cp -r tensorflow/lite/micro/tools/make/gen/osx_x86_64/prj/micro_speech/make/* ~/Documents/MCUXpressoIDE_11.1.0/workspace/IMXRT1010_Speech_Recognition/source

復制后,我們將擁有 TensorFlow C++ 庫以及其他一些用于音頻處理的第三方庫。我們需要使用Quickstart Panel > Edit Project Settings > C/C++ build > Settings > MCU C++ Compiler > Includes為不屬于 SDK 的庫(在下面的屏幕截圖中突出顯示)設置包含路徑。

poYBAGNxIuWAcV25AANNE6xedKE420.png
?

應用程序將捕獲的音頻數據保存在運行時創建的緩沖區中,因此我們需要將默認堆大小(僅 2KB)調整為 14 KB。此外,一些緩沖區數據需要是不可緩存的。我們可以利用 i.MXRT1010 的FlexRAM功能。堆棧/堆大小和不可緩存數據可以使用Quickstart Panel > Edit Project Settings > C/C++ build > Settings > MCU C++ Linker > Managed Linker Script進行配置

poYBAGNxIuiACz0OAAK7qVqwE_Y206.png
?

i.MXRT1010 具有有限的 128 KB 內存,分為 32 KB 庫。由于內存溢出,編譯失敗。

section `.heap' will not fit in region `SRAM_DTC'
arm-none-eabi/bin/ld: region `SRAM_DTC' overflowed by 15920 bytes

Memory region  Used Size Region Size %age Used
BOARD_FLASH:   215432 B  16 MB       1.28%
SRAM_DTC:      48688 B   32 KB       148.58%
SRAM_ITC:      0 GB      32 KB       0.00%
SRAM_OC:       0 GB      32 KB       0.00%
NCACHE_REGION: 4748 B    32 KB       14.49%

多虧了FlexRAM ,我們可以使用下面的代碼配置變量聲明以選擇內存庫。__DATA(RAM3)用于告訴編譯器將大約 16 KB 的變量g_audio_capture_buffer保存到 FlexRAM 的 OCRAM 部分 (SRAM_OC) 中。

__DATA(RAM3) int16_t g_audio_capture_buffer[kAudioCaptureBufferSize];

編譯后,我們可以在下面看到內存分配的編譯器輸出。

Memory region  Used Size Region Size %age Used
BOARD_FLASH:   231432 B   16 MB      1.38%
SRAM_DTC:      32688 B    32 KB      99.76%
SRAM_ITC:      0 GB       32 KB      0.00%
SRAM_OC:       16000 B    32 KB      48.83%
NCACHE_REGION: 4748 B     32 KB      14.49%

訓練數據集和模型生成

我們使用的模型是使用 TensorFlow Simple Audio Recognition 腳本訓練的,這是一個示例腳本,旨在演示如何使用 TensorFlow 構建和訓練音頻識別模型。該模型在帶有 eGPU(Nvidia 1080 Ti)的 Linux 桌面上進行了訓練,其中包含“上”、“下”、“左”、“右”四個詞。數據集中的其他詞被用作“未知”。將創建的模型轉換為 TensorFlow Lite 模型,并將轉換后的模型轉換為 C 數組文件,以便與推理代碼一起部署。TensorFlow Lite Micro SDK 用于在設備上運行推理。卷積神經網絡用于模型創建。

設備端推理

使用帶有增強型直接內存訪問 (eDMA) 控制器的同步音頻接口 (SAI) 捕獲音頻。該過程首先為給定的時間片生成快速傅立葉變換 (FFT),在本例中為 30 ms 的捕獲音頻數據。TensorFlow Lite 模型不接收原始音頻樣本數據。相反,它適用于頻譜圖,頻譜圖是由頻率信息切片組成的二維數組,每個切片取自不同的時間窗口。我們可以將頻譜圖視為輸入模型進行推理的圖像數據。OLED 顯示器通過 I2C 連接到 i.MXRT1010 EVK。The預測的單詞顯示在 OLED 顯示屏上。

構建和調試

可以分別使用 MCUExpresso IDE Quickstart Panel > BuildQuickstart Panel > Debug來構建和調試項目使用菜單ConfigTools > PinsUART 引腳配置為在調試期間重定向打印。

pYYBAGNxIuyAJFTsAAPBJupBAE0277.png
?

在 MacOS 上可以使用以下命令查看調試打印:

screen /dev/cu.usbmodem14202 115200

板載 LED 也配置為在推理時閃爍。

演示視頻

現場演示如下。它并不完美,但有效。

?

改進范圍

如果使用 8 位量化模型,可以提高推理率。目前,TensorFlow Lite Micro SDK 中缺少一些操作,這些操作不允許將 Conv 2D 轉換為量化版本。目前,由于音頻數據中的口音或噪音,有時會漏掉一些單詞。如果使用遷移學習使用更多自己的語音數據進行訓練,則可以提高模型的準確性。此外,板載麥克風數據有一些噪音,可以使用某些設置進行修復,或者可以使用外部數字麥克風以獲得更好的性能。

此應用程序的 MCUExpresso 項目可以在代碼部分提到的 Github 存儲庫中找到。


音頻 MacOS 語音識別
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

評論

查看更多

下載排行

本周

  1. 1變頻器維修資料大全
  2. 1.28 MB   |  1次下載  |  4 積分
  3. 2怎么為半導體測試儀選擇精密放大器
  4. 0.65 MB   |  次下載  |  免費
  5. 3IP5416 集成 500mA 充電 200mA 放電的 TWS 充電盒 SOC中文資料
  6. 5.62 MB   |  次下載  |  免費
  7. 4HD-1二合一恒電位儀的工作原理
  8. 0.01 MB   |  次下載  |  1 積分
  9. 5rk3562ddr4設計資料圖
  10. 0.74 MB   |  次下載  |  2 積分
  11. 6SQ33239 CPC8 ZVS 反激同步整流技術手冊
  12. 1.62 MB   |  次下載  |  免費
  13. 7SQ38343節能離線交流/直流轉換器集成 800V MOSFET技術手冊
  14. 1.37 MB   |  次下載  |  免費
  15. 8LT3580 升壓/反相DC/DC 帶2A開關的轉換器技術手冊
  16. 0.46 MB   |  次下載  |  免費

本月

  1. 1EMC PCB設計總結
  2. 0.33 MB   |  10次下載  |  免費
  3. 2耗盡型MOS FET產品目錄選型表
  4. 0.14 MB   |  4次下載  |  免費
  5. 3PD取電芯片 ECP5702規格書
  6. 0.88 MB   |  4次下載  |  免費
  7. 4氮化鎵GaN FET/GaN HEMT 功率驅動電路選型表
  8. 0.10 MB   |  2次下載  |  免費
  9. 5TI系列-米爾TI AM62L核心板開發板-高能效低功耗嵌入式平臺
  10. 1.51 MB  |  1次下載  |  免費
  11. 6PC5012氮化鎵 PIIP 單片集成電路數據手冊
  12. 1.66 MB   |  1次下載  |  免費
  13. 7PD取電芯片,可取5/9/12/15/20V電壓ECP5702數據手冊
  14. 0.88 MB   |  1次下載  |  免費
  15. 8飛騰S5000C-64雙路服務器系列應用宣傳冊--一乘科技
  16. 945.81 KB  |  1次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191464次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81606次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73832次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分