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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

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

454398 ? 來源:工程師吳畏 ? 2019-07-31 09:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

安裝Python庫和配置音頻

在我們運行Python程序之前,我們需要安裝兩個庫:語音識別和PyAudio。要安裝這兩個庫,需要在終端窗口中運行以下兩個命令:

$ sudo pip install SpeechRecognition

$ sudo pip install PyAudio

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

$ 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

一旦安裝了這兩個庫,您就需要禁用Raspberry Pi上的板載音頻驅動程序,因為它可能會干擾PyAudio。為此,首先打開一個新終端并運行以下命令:

$ cd /etc/modprobe.d

$ sudo nano alsa-blacklist.conf

Nano是終端的簡單文本編輯器,加載時只需要輸入一行:

blacklist snd_bcm2835

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

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

Python腳本首先導入語音識別模塊,該模塊用于將口語單詞轉換為字符串。導入模塊后,我們創建一個對象r,它是一個語音識別器對象,用于記錄麥克風的音頻,然后請求轉換。在定義了語音識別對象之后,我們還定義了變量,包括項目列表,命令,當前項目以及包含已解析命令的數組。

import speech_recognition as sr

r = sr.Recognizer()

items = dict()

command = “”

item = “”

初始配置完成后,下一個要執行的代碼塊就是主循環。循環中的第一個任務是通過打印單詞“Speak”通知用戶發言,然后創建一個名為“audio”的音頻對象,它保存我們的麥克風流。

while(1):

with sr.Microphone() as source:

print(“Speak:”)

audio = r.listen(source)

當麥克風檢測到聲音并完成錄制時(當聲級低于閾值時錄制停止),它會將錄制的音頻傳遞給識別器對象。執行此操作后,r將使用Google服務嘗試將音頻轉換為句子,然后將其傳遞給名為speechString的變量。所有這些代碼都在try/except塊中完成,以防音頻被理解或服務不可用。收到的字符串也被解析為prasedCommands,其中分隔符是空格。因此,如果說“添加培根”這個詞,結果將是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]

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

如果該項目已存在且已添加,則增加項目值

如果該項目不存在且添加了該項目,則將該項目添加到列表中

如果該項目已存在且已刪除,則如果總計大于1則減去1

/li》

如果該項目已存在,則說明已刪除,并且只剩下項目,刪除項目

如果該項目不存在,忽略命令

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”)

這個簡單腳本中的最后一個命令是“display”,它將變量項的內容打印到顯示中。

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()

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

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

    關注

    56

    文章

    4828

    瀏覽量

    87010
  • 樹莓派
    +關注

    關注

    121

    文章

    2024

    瀏覽量

    107575
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C++ 與 Python樹莓派上哪種語言更優?

    Python樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯網項目中同樣廣受歡迎且功能強大。那么,在樹莓項目中選擇哪種語言更合適呢?
    的頭像 發表于 07-24 15:32 ?120次閱讀
    C++ 與 <b class='flag-5'>Python</b>:<b class='flag-5'>樹莓</b>派上哪種語言更優?

    樹莓5上開啟YOLO姿態估計識別之旅!

    AIHat+上|如何編寫自定義Python代碼YOLO姿態估計在樹莓AIHat+上|編寫自定義Python代碼今天是第二部分:樹莓
    的頭像 發表于 07-18 15:31 ?245次閱讀
    在<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>5上開啟YOLO姿態估計識別之旅!

    樹莓5上使用YOLO進行物體和動物識別-入門指南

    AIHat+上|如何編寫自定義Python代碼YOLO姿態估計在樹莓AIHat+上|編寫自定義Python代碼今天是第一部分:在樹莓
    的頭像 發表于 07-17 17:16 ?242次閱讀
    在<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>5上使用YOLO進行物體和動物識別-入門指南

    樹莓分類器:用樹莓識別不同型號的樹莓

    在本教程系列的第一部分中,您將學習如何使用樹莓AI攝像頭來檢測不同的樹莓型號。本系列由DavidPlowman創建,他是樹莓
    的頭像 發表于 06-13 16:39 ?457次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>分類器:用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>識別不同型號的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>!

    使用 Betaflight 和樹莓實現 FPV 無人機自主飛行!

    開始利用Betaflight飛行控制器、簡單的10個Python文件和樹莓,為你的FPV戰斗無人機構建自己的自動駕駛儀。FPV無人機搭載樹莓
    的頭像 發表于 06-07 08:32 ?740次閱讀
    使用 Betaflight 和<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>實現 FPV 無人機自主飛行!

    樹莓“揪出”家里的耗電怪獸!

    在本應用中,我們將使用樹莓設置一個CE電流監測器,并通過網頁界面顯示電路的電流讀數。本項目使用的組件硬件組件樹莓2ModelBx112通道20安培電流監測
    的頭像 發表于 06-04 15:33 ?740次閱讀
    用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“揪出”家里的耗電怪獸!

    樹莓4 打造專屬流媒體控制臺!

    樹莓體驗DIY智能科技!如今市面上有各種各樣的流媒體控制臺,但購買現成的哪有自己從零開始制作的有趣呢?至少,這似乎是樹莓
    的頭像 發表于 05-11 08:33 ?210次閱讀
    用 <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4 打造專屬流媒體<b class='flag-5'>控制</b>臺!

    deepin 23+樹莓讓小車動起來

    deepin 23 +樹莓還有啥新玩法? ? ? 前言 繼我們之前發布的樹莓運行 deepin 23 系統教程后,此次我們將深入探索如何借助樹莓
    的頭像 發表于 02-12 09:12 ?786次閱讀
    deepin 23+<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>讓小車動起來

    使用樹莓實現遠程控制的技巧

    樹莓是一款功能強大的微型計算機,其體積小巧、價格低廉,非常適合用于各種DIY項目。其中,遠程控制樹莓應用中非常受歡迎的一個領域。通過遠
    的頭像 發表于 11-11 11:37 ?1434次閱讀

    樹莓開發的最佳編程語言選擇

    應用。 1. Python 優勢: 易學易用: Python以其簡潔的語法和強大的功能而聞名,非常適合初學者。 廣泛的庫支持: Python擁有大量的庫,如GPIO Zero、PiGPIO等,這些庫使得
    的頭像 發表于 11-11 11:34 ?2078次閱讀

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

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

    什么是樹莓樹莓是什么架構的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發的一款為學習計算機編程教育而設計的微型電腦。
    的頭像 發表于 10-22 17:33 ?5932次閱讀

    樹莓網關:物聯網應用的新標桿

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

    樹莓和單片機的優缺點是什么

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

    樹莓的功能用途是什么

    、科研、工業控制、物聯網、多媒體播放、家庭自動化等領域。 樹莓(Raspberry Pi)是一種小型、低成本的單板計算機,由英國的Raspberry Pi基金會開發,其功能和用途非常廣泛。以下是
    的頭像 發表于 08-30 18:01 ?4694次閱讀
    主站蜘蛛池模板: 国产精品高清在线观看93 | 国产精品视频第一区二区三区 | 国产高清视频在线播放www色 | 杨幂视频1分11未删减在线观看 | 阿片在线播放 | 九九热这里只有精品2 | 久久青青热 | 超碰在线视频97 | 97国产蝌蚪视频在线观看 | 久久精品国产亚洲AV妓女不卡 | 久久精品免费电影 | 91福利国产在线观看网站 | 国产精品午夜福利在线观看 | 一级做a爰片久久毛片苍井优 | 亚洲欧洲免费三级网站 | 日本理伦片午夜理伦片 | 在线观看国产日韩 | 麻豆成人久久精品二区三区网站 | 99热精品在线视频观看 | 一道本av免费不卡播放 | 国产综合在线视频 | 波多野结衣 熟女 | 久久不射网| 恋夜直播午夜秀场最新 | 国产亚洲精品久久久久久一区二区 | 亚洲高清视频一区 | 国产高潮久久精品AV无码 | 久久国产精品免费A片蜜芽 久久国产精品萌白酱免费 久久国产精品麻豆AV影视 | 又黄又爽又无遮挡在线观看免费 | 亚洲精品无码AV中文字幕蜜桃 | 精品久久久久久久久免费影院 | 多男同时插一个女人8p | 十8禁用B站在线看漫画 | 欧美另类jizzhd | 国产在线视频在线观看 | 99欧美精品 | 久久精品热播在线看 | 国产女人乱人伦精品一区二区 | 日本久久精品免视看国产成人 | 免费一级毛片在线观看 | 花蝴蝶免费观看影视 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品