免費只做網(wǎng)站2024百度下載
知識點:什么是掌控板?
掌控板是一塊普及STEAM創(chuàng)客教育、人工智能教育、機器人編程教育的開源智能硬件。它集成ESP-32高性能雙核芯片,支持WiFi和藍(lán)牙雙模通信,可作為物聯(lián)網(wǎng)節(jié)點,實現(xiàn)物聯(lián)網(wǎng)應(yīng)用。同時掌控板上集成了OLED顯示屏、RGB燈、加速度計、麥克風(fēng)、光線傳感器、蜂鳴器、按鍵開關(guān)、觸摸開關(guān)、金手指外部拓展接口,支持圖形化及MicroPython代碼編程,可實現(xiàn)智能機器人、創(chuàng)客智造作品等智能控制類應(yīng)用。
7、語音識別
說 ==語音合成(文字轉(zhuǎn)為語音)
聽 ==語音識別(語音轉(zhuǎn)為文字)
語音識別是一門交叉學(xué)科。近二十年來,語音識別技術(shù)取得顯著進(jìn)步,開始從實驗室走向市場。人們預(yù)計,未來10年內(nèi),語音識別技術(shù)將進(jìn)入工業(yè)、家電、通信、汽車電子、醫(yī)療、家庭服務(wù)、消費電子產(chǎn)品等各個領(lǐng)域。 語音識別聽寫機在一些領(lǐng)域的應(yīng)用被美國新聞界評為1997年計算機發(fā)展十件大事之一。很多專家都認(rèn)為語音識別技術(shù)是2000年至2010年間信息技術(shù)領(lǐng)域十大重要的科技發(fā)展技術(shù)之一。 語音識別技術(shù)所涉及的領(lǐng)域包括:信號處理、模式識別、概率論和信息論、發(fā)聲機理和聽覺機理、人工智能等等。
與機器進(jìn)行語音交流,讓機器明白你說什么,這是人們長期以來夢寐以求的事情。中國物聯(lián)網(wǎng)校企聯(lián)盟形象得把語音識別比做為“機器的聽覺系統(tǒng)”。語音識別技術(shù)就是讓機器通過識別和理解過程把語音信號轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令的高技術(shù)?!≌Z音識別技術(shù)主要包括特征提取技術(shù)、模式匹配準(zhǔn)則及模型訓(xùn)練技術(shù)三個方面。語音識別技術(shù)車聯(lián)網(wǎng)也得到了充分的引用,例如在翼卡車聯(lián)網(wǎng)中,只需按一鍵通客服人員口述即可設(shè)置目的地直接導(dǎo)航,安全、便捷。
語音識別發(fā)展史
1952年貝爾研究所Davis等人研究成功了世界上第一個能識別10個英文數(shù)字發(fā)音的實驗系統(tǒng)。1960年英國的Denes等人研究成功了第一個計算機語音識別系統(tǒng)。大規(guī)模的語音識別研究是在進(jìn)入了70年代以后,在小詞匯量、孤立詞的識別方面取得了實質(zhì)性的進(jìn)展。進(jìn)入80年代以后,研究的重點逐漸轉(zhuǎn)向大詞匯量、非特定人連續(xù)語音識別。在研究思路上也發(fā)生了重大變化,即由傳統(tǒng)的基于標(biāo)準(zhǔn)模板匹配的技術(shù)思路開始轉(zhuǎn)向基于統(tǒng)計模型 (HMM)的技術(shù)思路。此外,再次提出了將神經(jīng)網(wǎng)絡(luò)技術(shù)引入語音識別問題的技術(shù)思路。進(jìn)入90年代以后,在語音識別的系統(tǒng)框架方面并沒有什么重大突破。但是,在語音識別技術(shù)的應(yīng)用及產(chǎn)品化方面出現(xiàn)了很大的進(jìn)展。DARPA(Defense Advanced Research Projects Agency)是在70年代由美國國防部遠(yuǎn)景研究計劃局資助的一項10年計劃,其旨在支持語言理解系統(tǒng)的研究開發(fā)工作。到了80年代,美國國防部遠(yuǎn)景研究計劃局又資助了一項為期10年的DARPA戰(zhàn)略計劃,其中包括噪聲下的語音識別和會話(口語)識別系統(tǒng),識別任務(wù)設(shè)定為“(1000單詞)連續(xù)語音數(shù)據(jù)庫管理”。到了90年代,這一DARPA計劃仍在持續(xù)進(jìn)行中。其研究重點已轉(zhuǎn)向識別裝置中的自然語言處理部分,識別任務(wù)設(shè)定為“航空旅行信息檢索”。日本也在1981年的第五代計算機計劃中提出了有關(guān)語音識別輸入-輸出自然語言的宏偉目標(biāo),雖然沒能實現(xiàn)預(yù)期目標(biāo),但是有關(guān)語音識別技術(shù)的研究有了大幅度的加強和進(jìn)展。1987年起,日本又?jǐn)M出新的國家項目—高級人機口語接口和自動電話翻譯系統(tǒng)。
語音識別在中國的發(fā)展
中國的語音識別研究起始于1958年,由中國科學(xué)院聲學(xué)所利用電子管電路識別10個元音。直至1973年才由中國科學(xué)院聲學(xué)所開始計算機語音識別。由于當(dāng)時條件的限制,中國的語音識別研究工作一直處于緩慢發(fā)展的階段。進(jìn)入80年代以后,隨著計算機應(yīng)用技術(shù)在中國逐漸普及和應(yīng)用以及數(shù)字信號技術(shù)的進(jìn)一步發(fā)展,國內(nèi)許多單位具備了研究語音技術(shù)的基本條件。與此同時,國際上語音識別技術(shù)在經(jīng)過了多年的沉寂之后重又成為研究的熱點,發(fā)展迅速。就在這種形式下,國內(nèi)許多單位紛紛投入到這項研究工作中去。1986年3月中國高科技發(fā)展計劃(863計劃)啟動,語音識別作為智能計算機系統(tǒng)研究的一個重要組成部分而被專門列為研究課題。在863計劃的支持下,中國開始了有組織的語音識別技術(shù)的研究,并決定了每隔兩年召開一次語音識別的專題會議。從此中國的語音識別技術(shù)進(jìn)入了一個前所未有的發(fā)展階段。
8、識別二秒語音指令(現(xiàn)錄現(xiàn)識別)
#MicroPython動手做(25)——語音合成與語音識別
#識別二秒語音指令(現(xiàn)錄現(xiàn)識別)from mpython import *
import network
import time
import audio
import urequests
import json
import machine
import ubinasciimy_wifi = wifi()my_wifi.connectWiFi("zh", "zy1567")def on_button_a_down(_):time.sleep_ms(10)if button_a.value() == 1: returnrgb[0] = (int(102), int(0), int(0))rgb.write()time.sleep_ms(1)oled.fill(0)oled.DispChar("按下A鍵開始識別", 0, 0, 1)oled.DispChar(get_asr_result(2), 0, 16, 1)oled.show()rgb[0] = (0, 0, 0)rgb.write()time.sleep_ms(1)def get_asr_result(_time):audio.recorder_init()audio.record("temp.wav", int(_time))audio.recorder_deinit()_response = urequests.post("http://119.23.66.134:8085/file_upload",files={"file":("temp.wav", "audio/wav")},params={"appid":"1", "mediatype":"2", "deviceid":ubinascii.hexlify(machine.unique_id()).decode().upper()})rsp_json = _response.json()_response.close()if "text" in rsp_json:return rsp_json["text"]elif "Code" in rsp_json:return "Code:%s" % rsp_json["Code"]else:return rsp_jsonbutton_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)oled.fill(0)
oled.DispChar("按下A鍵開始識別", 0, 0, 1)
oled.show()
mPython X 圖形編程
#MicroPython動手做(25)——語音合成與語音識別
#識別二秒語音指令(現(xiàn)錄現(xiàn)識別)
https://v.youku.com/v_show/id_XNDY4MjY3NTgwOA==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle
9、帶提示音提示燈的簡單語音識別系統(tǒng)
(紅燈后識別二秒鐘)
#MicroPython動手做(25)——語音合成與語音識別
#帶提示音提示燈的簡單語音識別系統(tǒng)(紅燈后識別二秒鐘)from mpython import *
import network
import time
import music
import audio
import urequests
import json
import machine
import ubinasciimy_wifi = wifi()my_wifi.connectWiFi("zh", "zy1567")def on_button_a_down(_):time.sleep_ms(10)if button_a.value() == 1: returnmusic.play('D5:1')rgb.fill((int(102), int(0), int(0)))rgb.write()time.sleep_ms(1)oled.fill(0)oled.DispChar("--語音識別結(jié)果--", 18, 13, 1)oled.DispChar(get_asr_result(2), 28, 33, 1)oled.show()time.sleep(2)oled.fill(0)oled.DispChar(" 按下A鍵開始語音識別", 0, 16, 1)oled.show()rgb.fill((int(0), int(102), int(0)))rgb.write()time.sleep_ms(1)music.play('G5:1')def get_asr_result(_time):audio.recorder_init()audio.record("temp.wav", int(_time))audio.recorder_deinit()_response = urequests.post("http://119.23.66.134:8085/file_upload",files={"file":("temp.wav", "audio/wav")},params={"appid":"1", "mediatype":"2", "deviceid":ubinascii.hexlify(machine.unique_id()).decode().upper()})rsp_json = _response.json()_response.close()if "text" in rsp_json:return rsp_json["text"]elif "Code" in rsp_json:return "Code:%s" % rsp_json["Code"]else:return rsp_jsonbutton_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)rgb.fill((int(0), int(102), int(0)))
rgb.write()
time.sleep_ms(1)
oled.fill(0)
oled.DispChar(" 按下A鍵開始語音識別", 0, 16, 1)
oled.show()
music.play('G5:1')
mPython X 圖形編程
帶提示音提示燈的簡單語音識別系統(tǒng)—實驗視頻
(紅燈后識別二秒鐘)
https://v.youku.com/v_show/id_XNDY4MzE1MjEyNA==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle
10、語音控制開燈與關(guān)燈
——簡單在線模式,反應(yīng)有點慢,語音識別“開燈”,任意語音關(guān)燈。這個方案打開燈有點難,需要準(zhǔn)確發(fā)音“開燈”二個字,反之關(guān)燈很容易,說什么都可以關(guān)燈,便于節(jié)約用電。
#MicroPython動手做(25)——語音合成與語音識別
#語音控制開燈與關(guān)燈(簡單在線模式,反應(yīng)有點慢)from mpython import *
import network
import music
import time
import audio
import urequests
import json
import machine
import ubinasciimy_wifi = wifi()my_wifi.connectWiFi("zh", "zy1567")def on_button_a_down(_):time.sleep_ms(10)if button_a.value() == 1: returnrgb[1] = (int(102), int(0), int(0))rgb.write()time.sleep_ms(1)if get_asr_result(2) == "開燈":rgb.fill((int(51), int(102), int(255)))rgb.write()time.sleep_ms(1)music.play('D5:1')oled.fill(0)oled.blit(image_picture.load('face/Objects/Light on.pbm', 0), 32, 0)oled.show()else:rgb.fill( (0, 0, 0) )rgb.write()time.sleep_ms(1)music.play('B5:1')oled.fill(0)oled.blit(image_picture.load('face/Objects/Light off.pbm', 0), 32, 0)oled.show()def get_asr_result(_time):audio.recorder_init()audio.record("temp.wav", int(_time))audio.recorder_deinit()_response = urequests.post("http://119.23.66.134:8085/file_upload",files={"file":("temp.wav", "audio/wav")},params={"appid":"1", "mediatype":"2", "deviceid":ubinascii.hexlify(machine.unique_id()).decode().upper()})rsp_json = _response.json()_response.close()if "text" in rsp_json:return rsp_json["text"]elif "Code" in rsp_json:return "Code:%s" % rsp_json["Code"]else:return rsp_jsonimage_picture = Image()button_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)oled.fill(0)
oled.DispChar(" 按下A鍵開始語音控制", 0, 16, 1)
oled.show()
music.play('G5:1')
rgb[1] = (int(0), int(51), int(0))
rgb.write()
time.sleep_ms(1)
mPython X 圖形編程
#MicroPython動手做(25)——語音合成與語音識別
#語音控制開燈與關(guān)燈(簡單在線模式,反應(yīng)有點慢)-視頻
https://v.youku.com/v_show/id_XNDY4MzM5OTY1Ng==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle
今天再次測試語音合成,不知為何一直報錯,出錯信息為:
刷入成功
Connection WiFi…
WiFi(zhz,-64dBm) Connection Successful, Config:(‘192.168.31.25’, ‘255.255.255.0’, '192.168
.31.34’, ‘192.168.31.34’)
(2020, 6, 15, 8, 28, 32, 0, 167)
Processing, please wait…
Traceback (most recent call last):
File “main.py”, line 24, in
File “xunfei.py”, line 208, in tts
File “uwebsockets/client.py”, line 62, in connect
Assertion Error: b’HTTP/1.1 403 Forbidden’
MicroPython v2.0.1-18-gbe8fbdd-dirty on 2020-04-24; mpython with ESP32
Type “help()” for more information.