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

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

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

3天內(nèi)不再提示

如何使用樹莓派和Python制作語音控制的冰箱

454398 ? 來源:工程師吳畏 ? 2019-07-31 09:24 ? 次閱讀

安裝Python庫(kù)和配置音頻

在我們運(yùn)行Python程序之前,我們需要安裝兩個(gè)庫(kù):語音識(shí)別和PyAudio。要安裝這兩個(gè)庫(kù),需要在終端窗口中運(yùn)行以下兩個(gè)命令:

$ sudo pip install SpeechRecognition

$ sudo pip install PyAudio

如果您在安裝PyAudio時(shí)遇到問題,可以使用以下系列安裝它說明:

$ sudo apt-get install git

$ sudo git clone http://people.csail.mit.edu/hubert/git/pyaudio.git

$ sudo apt-get install libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev

$ sudo apt-get install python-dev

$ cd pyaudio

$ sudo python setup.py install

一旦安裝了這兩個(gè)庫(kù),您就需要禁用Raspberry Pi上的板載音頻驅(qū)動(dòng)程序,因?yàn)樗赡軙?huì)干擾PyAudio。為此,首先打開一個(gè)新終端并運(yùn)行以下命令:

$ cd /etc/modprobe.d

$ sudo nano alsa-blacklist.conf

Nano是終端的簡(jiǎn)單文本編輯器,加載時(shí)只需要輸入一行:

blacklist snd_bcm2835

按Ctrl + X退出nano并使用文件名alsa-blacklist.conf保存文件。這個(gè)簡(jiǎn)單的文件禁用了Raspberry Pi的Broadcom音頻系統(tǒng),因此Pi上唯一可用的音頻系統(tǒng)是USB聲卡。

語音控制冰箱列表如何工作

Python腳本首先導(dǎo)入語音識(shí)別模塊,該模塊用于將口語單詞轉(zhuǎn)換為字符串。導(dǎo)入模塊后,我們創(chuàng)建一個(gè)對(duì)象r,它是一個(gè)語音識(shí)別器對(duì)象,用于記錄麥克風(fēng)的音頻,然后請(qǐng)求轉(zhuǎn)換。在定義了語音識(shí)別對(duì)象之后,我們還定義了變量,包括項(xiàng)目列表,命令,當(dāng)前項(xiàng)目以及包含已解析命令的數(shù)組。

import speech_recognition as sr

r = sr.Recognizer()

items = dict()

command = “”

item = “”

初始配置完成后,下一個(gè)要執(zhí)行的代碼塊就是主循環(huán)。循環(huán)中的第一個(gè)任務(wù)是通過打印單詞“Speak”通知用戶發(fā)言,然后創(chuàng)建一個(gè)名為“audio”的音頻對(duì)象,它保存我們的麥克風(fēng)流。

while(1):

with sr.Microphone() as source:

print(“Speak:”)

audio = r.listen(source)

當(dāng)麥克風(fēng)檢測(cè)到聲音并完成錄制時(shí)(當(dāng)聲級(jí)低于閾值時(shí)錄制停止),它會(huì)將錄制的音頻傳遞給識(shí)別器對(duì)象。執(zhí)行此操作后,r將使用Google服務(wù)嘗試將音頻轉(zhuǎn)換為句子,然后將其傳遞給名為speechString的變量。所有這些代碼都在try/except塊中完成,以防音頻被理解或服務(wù)不可用。收到的字符串也被解析為prasedCommands,其中分隔符是空格。因此,如果說“添加培根”這個(gè)詞,結(jié)果將是parsedCommands [0]將是“add”而parsedCommands [1]將是“bacon”。

try:

speechString =r.recognize_google(audio)

parsedCommands = speechString.split(“ ”)

except sr.UnknownValueError:

print(“Could not understand audio”)

except sr.RequestError as e:

print(“Could not request results; {0}”.format(e))

if(len(parsedCommands) 》 0):

command = parsedCommands[0]

if(len(parsedCommands) 》 1):

item = parsedCommands[1]

現(xiàn)在我們擁有我們解析的命令和項(xiàng)目,我們可以將它們添加到我們的項(xiàng)目列表中。但是,為了保持清潔,我們會(huì)執(zhí)行以下幾項(xiàng)檢查:

如果該項(xiàng)目已存在且已添加,則增加項(xiàng)目值

如果該項(xiàng)目不存在且添加了該項(xiàng)目,則將該項(xiàng)目添加到列表中

如果該項(xiàng)目已存在且已刪除,則如果總計(jì)大于1則減去1

/li》

如果該項(xiàng)目已存在,則說明已刪除,并且只剩下項(xiàng)目,刪除項(xiàng)目

如果該項(xiàng)目不存在,忽略命令

if(command == “add”):

if item in items:

items[item] = str(int(items[item]) + 1)

else:

items[item] = str(1)

print(item + “ added”)

if(command == “remove”):

if item in items:

if(int(items[item]) 》 1):

items[item] = str(int(items[item]) - 1)

else:

try:

items.pop(item, None)

except:

pass

print(item + “ removed”)

這個(gè)簡(jiǎn)單腳本中的最后一個(gè)命令是“display”,它將變量項(xiàng)的內(nèi)容打印到顯示中。

if(command == “display”):

print(items)

完整代碼

import speech_recognition as sr

r = sr.Recognizer()

items = dict()

command = “”

item = “”

while(1):

with sr.Microphone() as source:

print(“Speak:”)

audio = r.listen(source)

try:

speechString =r.recognize_google(audio)

parsedCommands = speechString.split(“ ”)

except sr.UnknownValueError:

print(“Could not understand audio”)

except sr.RequestError as e:

print(“Could not request results; {0}”.format(e))

if(len(parsedCommands) 》 0):

command = parsedCommands[0]

if(len(parsedCommands) 》 1):

item = parsedCommands[1]

if(command == “add”):

if item in items:

items[item] = str(int(items[item]) + 1)

else:

items[item] = str(1)

print(item + “ added”)

if(command == “remove”):

if item in items:

if(int(items[item]) 》 1):

items[item] = str(int(items[item]) - 1)

else:

try:

items.pop(item, None)

except:

pass

print(item + “ removed”)

if(command == “display”):

print(items)

command = “”

item = “”

days = “”

parsedCommands.clear()

此項(xiàng)目以Raspberry Pi為中心,除麥克風(fēng)和顯示器外不需要任何電路或硬件。雖然可以使用普通的顯示器或電視顯示器,但它對(duì)于安裝來說并不是很實(shí)用,因此在這個(gè)項(xiàng)目中,我得到了一個(gè)小型的3.5英寸Raspberry Pi顯示器,分辨率為480x320。雖然這對(duì)于正常使用而言太小,但它非常適合命令行工作,如果通過網(wǎng)絡(luò)編程和使用此Pi(使用SSH),則可以從任何具有Internet連接的PC上運(yùn)行Python程序。

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

    關(guān)注

    56

    文章

    4792

    瀏覽量

    84628
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1706

    瀏覽量

    105609
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    樹莓傳感器使用方法 樹莓 Raspberry Pi 4優(yōu)缺點(diǎn)

    樹莓傳感器使用方法 樹莓(Raspberry Pi)是一款由英國(guó)樹莓基金會(huì)開發(fā)的小型單板計(jì)
    的頭像 發(fā)表于 12-06 10:35 ?344次閱讀

    使用樹莓實(shí)現(xiàn)遠(yuǎn)程控制的技巧

    樹莓是一款功能強(qiáng)大的微型計(jì)算機(jī),其體積小巧、價(jià)格低廉,非常適合用于各種DIY項(xiàng)目。其中,遠(yuǎn)程控制樹莓應(yīng)用中非常受歡迎的一個(gè)領(lǐng)域。通過遠(yuǎn)
    的頭像 發(fā)表于 11-11 11:37 ?435次閱讀

    樹莓開發(fā)的最佳編程語言選擇

    應(yīng)用。 1. Python 優(yōu)勢(shì): 易學(xué)易用: Python以其簡(jiǎn)潔的語法和強(qiáng)大的功能而聞名,非常適合初學(xué)者。 廣泛的庫(kù)支持: Python擁有大量的庫(kù),如GPIO Zero、PiGPIO等,這些庫(kù)使得
    的頭像 發(fā)表于 11-11 11:34 ?442次閱讀

    ARM開發(fā)板與樹莓的比較

    ARM開發(fā)板和樹莓都是基于ARM架構(gòu)的單板計(jì)算機(jī),它們?cè)诮逃⒐I(yè)控制、物聯(lián)網(wǎng)等領(lǐng)域有著廣泛的應(yīng)用。 硬件配置 ARM開發(fā)板和樹莓的硬件
    的頭像 發(fā)表于 11-05 11:11 ?405次閱讀

    樹莓gpio有什么用,樹莓gpio接口及編程方法

    /Output,通用輸入/輸出)是樹莓提供的一組可編程的引腳,是樹莓與外部世界進(jìn)行交互的重要橋梁。通過GPIO,用戶可以控制外部電路,讀
    的頭像 發(fā)表于 10-22 18:09 ?775次閱讀

    什么是樹莓樹莓是什么架構(gòu)的

    什么是樹莓 樹莓(Raspberry Pi,簡(jiǎn)寫為RPi,別名為RasPi/RPI)是由英國(guó)“Raspberry Pi 慈善基金會(huì)”開發(fā)的一款為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì)的微型電腦。
    的頭像 發(fā)表于 10-22 17:33 ?785次閱讀

    樹莓網(wǎng)關(guān):物聯(lián)網(wǎng)應(yīng)用的新標(biāo)桿

    的特點(diǎn)是體積小巧(大約信用卡大小),但功能齊全,足以支持多種計(jì)算任務(wù)。 樹莓經(jīng)常被用作物聯(lián)網(wǎng)網(wǎng)關(guān),收集設(shè)備數(shù)據(jù),然后將數(shù)據(jù)上傳云平臺(tái),并還可以用來接收來自云端的控制指令,控制其他連接
    的頭像 發(fā)表于 10-09 16:44 ?291次閱讀
    類<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>網(wǎng)關(guān):物聯(lián)網(wǎng)應(yīng)用的新標(biāo)桿

    樹莓和51單片機(jī)哪個(gè)有優(yōu)勢(shì)

    是一款由英國(guó)樹莓基金會(huì)開發(fā)的信用卡大小的單板計(jì)算機(jī)。自2012年推出以來,樹莓已經(jīng)發(fā)展出多個(gè)版本,包括A、B、2、3、4等型號(hào)。樹莓
    的頭像 發(fā)表于 09-02 09:04 ?791次閱讀

    樹莓和單片機(jī)的優(yōu)缺點(diǎn)是什么

    )接口,樹莓可以連接各種傳感器、執(zhí)行器和其他外圍設(shè)備。 易于編程 :樹莓支持多種編程語言,如Python、C++、Java等,使得
    的頭像 發(fā)表于 08-30 18:21 ?1618次閱讀

    樹莓的功能用途是什么

    、科研、工業(yè)控制、物聯(lián)網(wǎng)、多媒體播放、家庭自動(dòng)化等領(lǐng)域。 樹莓(Raspberry Pi)是一種小型、低成本的單板計(jì)算機(jī),由英國(guó)的Raspberry Pi基金會(huì)開發(fā),其功能和用途非常廣泛。以下是
    的頭像 發(fā)表于 08-30 18:01 ?2553次閱讀

    樹莓是x86還是arm

    樹莓(Raspberry Pi)是一款由英國(guó)樹莓基金會(huì)(Raspberry Pi Foundation)開發(fā)的微型計(jì)算機(jī)。它基于ARM架構(gòu),而非x86架構(gòu)。 一、
    的頭像 發(fā)表于 08-30 15:42 ?969次閱讀

    樹莓裝ubuntu和raspbian哪個(gè)更好

    樹莓(Raspberry Pi)是一款由英國(guó)樹莓基金會(huì)開發(fā)的單板計(jì)算機(jī),廣泛應(yīng)用于教育、科研、物聯(lián)網(wǎng)等領(lǐng)域。樹莓
    的頭像 發(fā)表于 08-30 15:41 ?1276次閱讀

    樹莓5,Raspberry Pi 5 評(píng)測(cè)

    )連接器,可用于之前發(fā)布的Raspberry Pi Pico Debug kit調(diào)試,或用于與其他微控制器建立UART連接。 眼尖的同學(xué)會(huì)注意到 Pi 5 的USB和以太網(wǎng)接口位置發(fā)生了交換。樹莓5似乎
    發(fā)表于 06-19 14:51

    樹莓主板如何連接電腦

    連接樹莓派到電腦是一個(gè)非常有用的功能,它可以讓我們?cè)陔娔X上進(jìn)行樹莓的操作和管理。本文將詳細(xì)介紹如何連接樹莓主板到電腦。我會(huì)從準(zhǔn)備工作開始
    的頭像 發(fā)表于 01-07 15:40 ?1941次閱讀

    基于樹莓的環(huán)境監(jiān)測(cè)系統(tǒng)

    樹莓(Raspberry Pi)是一種小型而功能強(qiáng)大的計(jì)算機(jī),其性能和功能足以支持許多應(yīng)用領(lǐng)域。在環(huán)境監(jiān)測(cè)系統(tǒng)中,樹莓也被廣泛應(yīng)用。本文將詳細(xì)介紹基于
    的頭像 發(fā)表于 01-04 15:15 ?2534次閱讀
    主站蜘蛛池模板: 免费夜色污私人影院网站| 成人毛片手机版免费看| 美娇妻的性奴史1一4| 永久adc视频年龄确认| 久久机热视频免费| 永久免费的污视频网站| 久久亚洲精品AV成人无| 专干老肥熟女视频网站300部| 老师你狠狂| 91黄色大片| 欧美内射深插日本少妇| WWW国产精品内射熟女| 日本妈妈xxxx| 老师给美女同学开嫩苞| 美女被免费喷白浆视频| 99RE8国产这里只有精品| 欧美另类极品videosbest| 扒开老师大腿猛进AAA片| 丝袜美女自摸| 国内自拍 在线 亚洲 欧美| 一二三四电影完整版免费观看 | 亚洲 欧美 中文 日韩 另类| 好大太快了快插穿子宫了| 一品道门在线视频| 名女躁b久久天天躁| 成人精品视频| 午夜片无码区在线观看| 娇妻让壮男弄的流白浆| 中文字幕亚洲欧美日韩2019| 欧美成人免费一区二区三区不卡 | 99久久免费国产精品特黄| 青青草国产偷拍在线av| 国产精品AV视频一二三区| 亚洲黄视频在线观看| 久久香蕉国产免费天天| MM131亚洲精品久久安然| 受喷汁红肿抽搐磨NP双性| 黄色a三级免费看| 97成人碰碰在线人妻少妇| 日本一卡二卡三卡四卡无卡免费播放 | 九九热在线观看|