色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于Arduino的文本語音轉換器和語音控制燈

454398 ? 來源:一板網(wǎng) ? 作者:風箏 ? 2020-12-25 17:07 ? 次閱讀

語音識別技術在自動化中非常有用,它不僅可以讓您免提控制設備,還可以提高系統(tǒng)的安全性。除了制造語音控制小工具外,語音識別還為患有各種殘疾的人們提供了重要幫助。

在之前的帖子中,我們制作了基于Arduino的文本到語音(TTS)轉換器和語音控制燈。現(xiàn)在,在本篇文章中,我們將使用Edge Impulse Studio通過三個命令,即“ LIGHT ON”、“ LIGHT OFF”和“ NOISE”,使用機器學習來訓練語音識別模型。 Edge Impulse是一個在線機器學習平臺,使開發(fā)人員能夠使用嵌入式機器學習來創(chuàng)建下一代智能設備解決方案。

所需的組件

● Arduino 33 BLE Sense開發(fā)板

● 發(fā)光二極管

● 跳線

● Edge Impulse Studio

● Arduino IDE

電路原理

下面給出了使用Arduino進行語音識別的電路連接圖。這里沒有可用的Arduino 33 BLE的Fritzing部件,所以我使用了Arduino Nano,兩者的引腳排列相同。

LED的正極引腳連接到Arduino 33 BLE Sense開發(fā)板的數(shù)字引腳5,負極引腳連接到Arduino的GND引腳。

創(chuàng)建用于Arduino語音識別的數(shù)據(jù)集

本文中,Edge Impulse Studio用于訓練我們的語音識別模型。在Edge Impulse Studio上訓練模型類似于在其他機器學習框架上訓練機器學習模型。對于訓練,機器學習模型的第一步是收集一個數(shù)據(jù)集,該數(shù)據(jù)集包含我們希望能夠識別的數(shù)據(jù)樣本。

由于我們的目標是使用語音命令控制LED,因此我們需要收集所有命令和噪聲的語音樣本,以便可以區(qū)分語音命令和其他噪聲。

我們將創(chuàng)建一個具有三個類別的數(shù)據(jù)集:“LED ON”,“LED ON”和“noise”。要創(chuàng)建數(shù)據(jù)集,請先創(chuàng)建一個Edge Impulse帳戶,驗證您的帳戶,然后啟動一個新項目。您可以使用手機、Arduino開發(fā)板來加載樣本,也可以將數(shù)據(jù)集導入到Edge Impulse帳戶中。將樣本加載到您的帳戶中最簡單的方法是使用手機。為此,將手機與Edge Impulse連接。

要連接手機,請單擊“Devices”,然后單擊“Connect a New Device”。

這樣會將您的手機與Edge Impulse Studio連接。


通過將手機與Edge Impulse Studio連接,您現(xiàn)在可以加載樣本。要加載樣本,請點擊“Data acquisition”。現(xiàn)在,在“Data acquisition”頁面上,輸入標簽名稱,選擇麥克風作為傳感器,然后輸入采樣長度。點擊“Start sampling”,您的設備將捕獲一個2秒的采樣。在不同條件下總共記錄10到12個語音樣本。

在上傳樣本后,現(xiàn)在設置更改標簽并收集“l(fā)ight off’”和“noise”的樣本。

這些樣本用于培訓模塊,在接下來的步驟中,我們將收集測試數(shù)據(jù)。測試數(shù)據(jù)至少應為訓練數(shù)據(jù)的30%,因此請收集4個“noise”樣本和4至5個“l(fā)ight on”和“l(fā)ight off”樣本。

訓練模型

準備好數(shù)據(jù)集后,現(xiàn)在我們可以為數(shù)據(jù)創(chuàng)建一個Impulse。為此,請轉到“Create impulse”頁面。將窗口大小1000 ms的默認設置更改為1200ms,將500 ms窗口增加到50ms。這意味著我們的數(shù)據(jù)將在每次58 ms的時間內一次處理1.2 s。

現(xiàn)在,在“Create impulse”頁面上,單擊“Add a processing block”。在下一個窗口中,選擇Audio(MFCC)塊。之后,點擊“Add a learning block”,然后選擇Neural Network (Keras) 模塊。然后點擊“Save Impulse”。

在下一步中,轉到MFCC頁面,然后單擊“Generate Features”。它將為我們所有的音頻窗口生成MFCC塊。

之后,轉到“ NN Classifier”頁面,然后單擊“Neural Network settings”右上角的三個點,然后選擇“Switch to Keras (expert) mode”。

將原始代碼替換為以下代碼,并將“最Minimum confidence rating”更改為“ 0.70”。然后點擊“Start training”按鈕。它將開始訓練您的模型。

import tensorflow as tf

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import Dense, InputLayer, Dropout, Flatten, Reshape, BatchNormalization, Conv2D, MaxPooling2D, AveragePooling2D

from tensorflow.keras.optimizers import Adam

from tensorflow.keras.constraints import MaxNorm

# model architecture

model = Sequential()

model.add(InputLayer(input_shape=(X_train.shape[1], ), name='x_input'))

model.add(Reshape((int(X_train.shape[1] / 13), 13, 1), input_shape=(X_train.shape[1], )))

model.add(Conv2D(10, kernel_size=5, activation='relu', padding='same', kernel_constraint=MaxNorm(3)))

model.add(AveragePooling2D(pool_size=2, padding='same'))

model.add(Conv2D(5, kernel_size=5, activation='relu', padding='same', kernel_constraint=MaxNorm(3)))

model.add(AveragePooling2D(pool_size=2, padding='same'))

model.add(Flatten())

model.add(Dense(classes, activation='softmax', name='y_pred', kernel_constraint=MaxNorm(3)))

# this controls the learning rate

opt = Adam(lr=0.005, beta_1=0.9, beta_2=0.999)

# train the neural network

model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])

model.fit(X_train, Y_train, batch_size=32, epochs=9, validation_data=(X_test, Y_test), verbose=2)

訓練模型后,它將顯示訓練效果。本文中,精度為81.1%,損耗為0.45,這不是理想的,但我們可以繼續(xù)進行。您可以通過創(chuàng)建龐大的數(shù)據(jù)集來提高模型的性能。

現(xiàn)在,當我們的語音識別模型準備就緒時,我們將把該模型部署為Arduino庫。在將模型下載為庫之前,您可以轉到“Live Classification”頁面來測試性能。Live Classification功能使您既可以使用數(shù)據(jù)集附帶的現(xiàn)有測試數(shù)據(jù),也可以通過流式傳輸手機中的音頻數(shù)據(jù)來測試模型。

要使用手機測試數(shù)據(jù),請在手機上選擇“Switch to Classification Mode”。

現(xiàn)在要將模型下載為Arduino庫,請轉到“Deployment”頁面,然后選擇“ Arduino庫”。現(xiàn)在向下滾動并點擊“Build”。這將為您的項目制作一個Arduino庫。

現(xiàn)在,在您的Arduino IDE中添加該庫。請打開Arduino IDE,然后單擊Sketch> Include Library> Add.ZIP library。然后,轉到File > Examples > Your project name - Edge Impulse > nano_ble33_sense_microphone加載示例。

用于Arduino語音識別的代碼

我們在void loop()函數(shù)中進行一些更改,在該處打印命令的概率。在原始代碼中,它將所有標簽及其值一起打印。

for (size_t ix = 0; ix < EI_CLASSIFIER_LABEL_COUNT; ix++) {

ei_printf(" %s: %.5f\n", result.classification[ix].label, result.classification[ix].value);

}

為了控制LED,我們必須將所有命令概率保存在三個不同的變量中,以便我們可以在它們上放置條件語句。因此,根據(jù)新代碼,如果“l(fā)ight on”命令的概率大于0.50,則它將打開LED;如果“l(fā)ight off’”命令的概率大于0.50,則它將關閉LED。

for (size_t ix = 2; ix < EI_CLASSIFIER_LABEL_COUNT; ix++) {

noise = result.classification[ix].value;

Serial.println("Noise: ");

Serial.println(noise);

}

for (size_t ix = 0; ix < EI_CLASSIFIER_LABEL_COUNT; ix--) {

lightoff = result.classification[ix].value;

Serial.println("Light Off: ");

Serial.print(lightoff);

}

lighton = 1- (noise +lightoff);

Serial.println("Light ON: ");

Serial.print(lighton);

if (lighton > 0.50){

digitalWrite(led, HIGH);

}

if (lightoff > 0.50){

digitalWrite(led, LOW);

}

進行更改后,將代碼上傳到Arduino。以115200波特率打開串口監(jiān)視器。

以上就是您可以使用Arduino構建語音識別并發(fā)出命令以操作設備的方式。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23256

    瀏覽量

    660615
  • 機器學習
    +關注

    關注

    66

    文章

    8408

    瀏覽量

    132574
  • 語音控制
    +關注

    關注

    5

    文章

    482

    瀏覽量

    28248
  • Arduino
    +關注

    關注

    188

    文章

    6469

    瀏覽量

    186967
收藏 人收藏

    評論

    相關推薦

    如何使用Arduino和藍牙的語音控制LED

    使用語音命令控制 LED 似乎是一項艱巨的任務,但它很容易,您可以快速構建它。我們只需要一個Arduino UNO與HC-06藍牙模塊串行通信,智能手機就可以向藍牙模塊HC-06發(fā)送語音
    的頭像 發(fā)表于 11-15 16:43 ?5725次閱讀
    如何使用<b class='flag-5'>Arduino</b>和藍牙的<b class='flag-5'>語音</b><b class='flag-5'>控制</b>LED

    語音控制模塊怎么和定時相連,最后通過arduino板子控制步進電機驅動。

    首先,要通過語音模塊控制定時器定時,定時時間到了之后給arduino一個信號,arduino控制
    發(fā)表于 06-13 13:40

    語音合成芯片與語音芯片對比

    )的轉換。其特性是:支持任意中文文本的合成,對常見的數(shù)值、電話號碼、時間日期、度量衡符號等格式的文本具有文本智能分析處理功能;只需要上位機通過串行通信對其發(fā)送一段
    發(fā)表于 03-08 17:26

    語音合成芯片與語音芯片對比

    )的轉換。其特性是:支持任意中文文本的合成,對常見的數(shù)值、電話號碼、時間日期、度量衡符號等格式的文本具有文本智能分析處理功能;只需要上位機通過串行通信對其發(fā)送一段
    發(fā)表于 03-11 15:39

    如何在Python中將語音轉換文本

      語音識別是計算機軟件識別口語中的單詞和短語,并將其轉換為可讀文本的能力。那么如何在Python中將語音轉換
    發(fā)表于 07-29 18:12

    基于Arduino UNO控制板的語音播放設計

    案例主控板如不做特殊說明的話,均默認是Arduino UNO控制板。本次實驗以UNO發(fā)送串口協(xié)議控制語音播放播放歌曲,
    發(fā)表于 07-30 08:06

    arduino如何控制JQ***P語音模塊

    首先要感謝stm32通過 一線串口通信控制JQ***P語音模塊的作者我就是根據(jù)這位博主的代碼改寫的,但是碰到了意想不到的問題。其實代碼是寫對了,語音模塊是單獨供電,這個供電的地要和arduin
    發(fā)表于 01-07 08:09

    利用語音識別模塊與arduino UNO測試一個簡單的語音控制亮滅的程序

    文章目錄簡述器件代碼部分測試結果總結簡述這里利用語音識別模塊與arduino UNO 測試一個簡單的語音控制亮滅的程序。希望能給我一樣的
    發(fā)表于 02-15 07:03

    基于語音識別做一款能識別語音的App

    最近做了一款語音識別的App,想著利用手機控制arduino實現(xiàn)RGB的調節(jié),開發(fā)思路:基于訊飛語音識別做一款能識別我們語音的App,識別出
    發(fā)表于 03-01 07:05

    使用RTS0072B的語音轉換器電路圖

    語音轉換器電路電子項目是使用該RTS0072B設計的。 RTS0072B語音轉換器電路必須由直流電源電路供電,該電路將提供 3 到 5 伏之間的固定輸出電壓 。 RTS0072B單芯
    發(fā)表于 09-11 16:03

    Arduino語音控制智能家居

    電子發(fā)燒友網(wǎng)站提供《Arduino語音控制智能家居.zip》資料免費下載
    發(fā)表于 11-07 15:18 ?4次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>語音</b><b class='flag-5'>控制</b>智能家居

    使用BoltIot的語音控制LED

    電子發(fā)燒友網(wǎng)站提供《使用BoltIot的語音控制LED.zip》資料免費下載
    發(fā)表于 12-19 11:35 ?0次下載
    使用BoltIot的<b class='flag-5'>語音</b><b class='flag-5'>控制</b>LED<b class='flag-5'>燈</b>

    Arduino帶藍牙和語音的家庭控制

    電子發(fā)燒友網(wǎng)站提供《Arduino帶藍牙和語音的家庭控制.zip》資料免費下載
    發(fā)表于 12-22 16:28 ?0次下載
    <b class='flag-5'>Arduino</b>帶藍牙和<b class='flag-5'>語音</b>的家庭<b class='flag-5'>控制</b>

    語音識別芯片在氛圍控制器上的應用

    普通的氛圍控制器主要是通過遙控控制氛圍開關,沒有辦法實現(xiàn)語音聲控,而使用智能
    的頭像 發(fā)表于 04-25 17:10 ?1078次閱讀
    <b class='flag-5'>語音</b>識別芯片在氛圍<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>上的應用

    智能語音落地:離線語音控制技術的優(yōu)勢與應用

    離線語音控制技術還使得智能語音落地的亮度可以自由調節(jié)。根據(jù)不同的場景和需求,用戶可以通過語音指令對
    的頭像 發(fā)表于 07-13 15:55 ?1039次閱讀
    智能<b class='flag-5'>語音</b>落地<b class='flag-5'>燈</b>:離線<b class='flag-5'>語音</b><b class='flag-5'>控制</b>技術的優(yōu)勢與應用
    主站蜘蛛池模板: 国产午夜福利片| 极品美女久久久久久久久久久| 国产精品无码视频一区二区| 九九精彩视频在线观看视频| 欧美日韩中文国产一区发布| 先锋资源久久| 99热这里只有精品6| 国产欧美无码亚洲| 免费视频精品38| 亚洲不卡视频在线观看| 99久久就热视频精品草| 国产亚洲精品久久久久苍井松| 内射无码AV-区二区在线观看| 小xav导航| xxx军人3p大gay| 激情床戏揉胸吃胸视频| 日本女人水多| 在线播放免费人成毛片视频| 国产h视频免费观看| 伦理电影2499伦理片| 亚洲 欧美 日韩 精品 自拍| chinese东北夫妻video| 九九热国产视频| 无码爽死成人777在线观看网站| 9420高清免费观看在线大全| 韩国g奶空姐| 色欲国产麻豆精品AV免费| 最新精品学生国产自在现拍| 国产免费午夜高清| 日本午夜精品理论片A级APP发布| 在线免费观看毛片网站| 国内精品视频一区二区在线观看 | 妻子+免费观看完整| 亚洲香蕉网久久综合影院| 国产高清免费观看| 琪琪色原网站ying| 中文字幕久久久| 九九热精品在线| 亚洲精品国产高清嫩草影院| 国产成人精品免费视频下载| 欧美大片免费|