加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于Arduino的語音識別及應(yīng)用

2020/12/15
820
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
方塊圖(3)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

在我之前的項目中,我展示了如何使用Arduino開發(fā)板和BitVoicer服務(wù)器控制幾個LED 。在這個項目中,我將使事情變得更加復(fù)雜。我還將使用Arduino DUE數(shù)模轉(zhuǎn)換器(DAC)合成語音。如果您沒有Arduino DUE,則可以使用其他Arduino板,但是您將需要一個外部DAC和一些其他代碼來操作DAC(BVSSpeaker庫將無法幫助您)。

在下面的視頻中,您可以看到我還讓Arduino播放了一首歌曲,并使LED閃爍,就像它們是鋼琴鍵一樣。對不起,我的鋼琴技巧,但這是我能做到的最好的:)。LED實際上以與真實C,D和E鍵相同的順序和時序閃爍,因此,如果您周圍有鋼琴,則可以跟隨LED并播放同一首歌曲。這是一個不再存在的老零售商(Mappin)的叮當(dāng)聲。

將執(zhí)行以下過程將語音命令轉(zhuǎn)換為LED活動和合成語音:

1. Sparkfun Electret Breakout板將捕獲并放大音頻波;

2.放大后的信號將通過Arduino的模數(shù)轉(zhuǎn)換器ADC)進行數(shù)字化和緩沖;

3.音頻樣本將使用Arduino串行端口傳輸?shù)紹itVoicer服務(wù)器;

4. BitVoicer服務(wù)器將處理音頻流并識別其包含的語音;

5.識別的語音將映射到預(yù)定義的命令,這些命令將發(fā)送回Arduino。如果其中一個命令用于合成語音,則BitVoicer Server將準備音頻流并將其發(fā)送到Arduino;

6. Arduino將識別命令并執(zhí)行適當(dāng)?shù)牟僮?。如果接收到音頻流,它將被排隊到BVSSpeaker類中,并使用DUE DAC和DMA播放。

7. SparkFun單聲道音頻放大器會放大DAC信號,因此可以驅(qū)動8歐姆揚聲器。

第一步是將Arduino和面包板與組件連接,如下圖所示。我必須在揚聲器下方放置一個小的橡膠墊,因為它會振動很多,而沒有橡膠墊的話,音頻質(zhì)量會受到很大影響。

在這里,與我以前的項目相比,有一個小但重要的區(qū)別。大多數(shù)Arduino板均以5V運行,但DUE以3.3V運行。因為在3.3V下運行Sparkfun駐極體突破效果更好,所以如果您使用5V Arduino板,建議您在3.3V引腳和AREF引腳之間添加一個跳線。DUE已經(jīng)使用了3.3V模擬基準,因此您不需要AREF引腳的跳線。實際上,DUE上的AREF引腳通過電阻橋連接到微控制器。要使用AREF引腳,必須從PCB上拆下電阻器BR1。

 

 

  • FritzingProtoboard.png
    描述:原理圖
  • arduino_sketch.ino
    描述:代碼
  • 教程.rar
    描述:教程

相關(guān)推薦

電子產(chǎn)業(yè)圖譜