電子發(fā)燒友App

硬聲App

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

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

3天內不再提示
創(chuàng)作
電子發(fā)燒友網>電子資料下載>電子資料>Mycroft Mark 1開源語音平臺的有趣項目

Mycroft Mark 1開源語音平臺的有趣項目

2022-12-14 | zip | 0.22 MB | 次下載 | 免費

資料介紹

描述

哈哈哈!圣誕節(jié)快樂!

又到了一年中的那個時候,雪,蛋酒,紅鼻子馴鹿,曲棍球。. .和降臨日歷。降臨節(jié)日歷幫助我們倒計時直到圣誕節(jié)。我們的降臨日歷,有一個轉折,或者更確切地說是一個聲音!這是 Mycroft Mark 1 開源語音平臺上一個非常簡單有趣的項目。

邁克羅夫特馬克 1

語音現(xiàn)在很熱門,有很多選擇可以嘗試。Mycroft 是一個完全開源的平臺,您可以進行試驗。有幾個選項,例如 PiCroft,您可以在自己的 Raspberry Pi 上免費安裝。還有 Mark 1,這是一款設計精美的設備,可從Mycroft.ai 獲得

幾個月前我開始使用 PiCroft 平臺,感謝Mycroft.ai的慷慨解囊,我現(xiàn)在有了 Mark 1!

?

這是一項開源工作,并通過其在線論壇得到了一個充滿活力且反應迅速的團隊和社區(qū)的支持。有很多技能可以使用和學習。Python是使用的語言。

在這項技能中,我使用了一個名為 Padatious 的相對較新的功能,它允許您以自然語言格式編寫語音命令!Mycroft 每天都在變得更聰明!

與 Mycroft Mark 1 互動

Mark 1 的核心是一個 Raspberry pi 板。這是我將 PiCamera 添加到 Pi 的圖片:

?
pYYBAGOYPnCAZQuUAAIAh4shXq0701.jpg
Mycroft Mark 1 的核心是 Raspberry Pi。
?

Mark 1 的背面提供了對所有端口和引腳(PiCamera 端口除外)的訪問,您可以連接鍵盤、鼠標、顯示器與 Mark 進行交互,就像與任何其他 RPi 一樣。但是,以“無頭”方式與 Mark 1 中的 RPi 交互同樣容易。只需在桌面上打開一個終端并使用名為ssh 的命令行程序與 Mark 交互。 我在較舊的 iMac 上執(zhí)行此操作,請參閱下面的屏幕截圖。Mycroft 論壇帖子SSH 登錄憑據中對如何執(zhí)行此操作進行了很好的描述。

?
pYYBAGOYPnOABcdVAAGJ0Tg77ng54.jpeg
Mark 1 可以訪問除 PiCamera 之外的所有 RPi 端口。
?

當您習慣于指向和單擊、窗口等時,熟悉命令行可能會有些挑戰(zhàn)。我來自 Commodore 64 一代,因此享受這種類型的交互!有很多工具可以學習和使用。對于編碼,我使用了 nano。這是一個簡單易用的文本編輯器,隨 RPi 一起安裝。需要了解的許多命令行實用程序包括:cd、reboot、ls、chown、chmod、rm、cp、mv、pwd。幾乎所有這些都需要您使用sudo 調用。所以要小心,尤其是rm-R ?。?!

當您對這些工具感到滿意時,您會喜歡這種編程方式。這很像使用多功能瑞士軍刀!

編寫自己的技能

Mycroft 技能創(chuàng)建已完整記錄:如何添加新技能。Mycroft 文檔最近進行了更新,并采用了更具可讀性和用戶友好的格式,因此我鼓勵您去那里深入研究它,MYCROFT.AI DOCUMENTATION。謝謝凱西!

在 github 上的MycroftAI / mycroft-skills上有許多示例技能可供學習。我學習并大量借鑒了唱歌技巧

我還在Hackster.io上發(fā)布了 Mycroft 項目,這些項目應該可以幫助您了解很多有關在 Mycroft 平臺上創(chuàng)建技能的知識:

在下面的描述中,我將僅涉及此技能的亮點,并鼓勵大量使用上述資源來學習如何編寫自己的技能。

技能

Mycroft 技能位于/opt/mycroft/skills/文件夾中。當您 cd 進入此文件夾并ls 時,您會看到如下內容:

?
pYYBAGOYPnaABrnVAAKIEsJsCS0906.png
這顯示了 /opt/mycroft/skills 文件夾的內容。
?

在每個技能文件夾中,都有一些子文件夾和文件構成了技能的主體。Mycroft 技能是用 python 編寫的,技能的主要功能在__init__.py文件中。任何可以在 Mark 1 的 RPi 上運行的 python 庫都可以用來編寫技能。如果您可以用 Python 編寫它,那么您的技能就可以做到!

?
pYYBAGOYPnmABvlKAAHWLLgVdNQ648.png
在 ssh 的終端窗口中看到的 hello-world 和 days-unitl-christmas 技能的目錄/文件夾結構。
?

上面的屏幕截圖顯示了 hello-world 技能的文件夾結構。這是一個很好的起始模板,可以用來模擬你的技能。該文件夾下面的文件夾是圣誕節(jié)前的技能。由于 mp3 文件和正在開發(fā)的這項技能,它有點混亂。我無法讓 mp3 文件運行,除非它們位于文件夾中。是的,對于那些在 linux 中的人來說,文件所有者是不同的,但是即使文件所有權和權限都更改為 Mycroft,我仍然無法播放 mp3,除非它們位于此處!

每個技能都由意圖組成。Intent 對應于您希望 Mycroft 響應語音命令執(zhí)行的代碼。這些語音命令位于您的詞匯文件中。詞匯文件名為days.until.christmas.intent ,其內容只是文本:

how many days until christmas
how many days to christmas
when is santa coming
how long unitl christmas
is it christmas yet

意圖處理程序,或響應這些語音命令而執(zhí)行的代碼,連接到 vocab 文件,如下所示:

       
def initialize(self):
    self.load_data_files(dirname(__file__))
    self.register_intent_file('days.until.christmas.intent',self.handle_christm    as)

對于這項技能,我使用了 mycroft 平臺的一個新功能,稱為Padatious:

Padatious 是一個機器學習、基于神經網絡意圖解析器它是Adapt 意圖解析器的替代方案。與使用小組獨特單詞的 Adapt 不同,Padatious 是對整個句子進行訓練的。

我正在運行 Mycroft 0.9.10 版,它 Padatious 會自動供您使用。

Padatious 極大地簡化了為您的意圖創(chuàng)建詞匯文件并且效果很好。使用 Padatious,您可以像說話一樣簡單地輸入短語,Mycroft 會做出適當的回應。Adapt 效果很好,但需要做很多工作才能確保它正常工作,而 Padatious 讓您可以簡單地考慮一個人如何用自然語言提出請求。

我遇到的唯一問題是當我在文件中出現(xiàn)“圣誕節(jié)是什么時候”這句話時。說,“嘿,Mycroft,圣誕節(jié)是什么時候?” 它會回答圣誕節(jié)是什么的字典定義。所以我只是刪除了這個短語。

Python中的日期和時間

日期和時間計算是代碼中非常常見的需求,有時讓這些計算正常工作可能具有挑戰(zhàn)性。幸運的是,Python 有一個名為datetime的庫,它使這些計算變得容易!就像我上面提到的,如果它是python的一部分,你的技能可以做到!在使用datetime進行計算時,要記住的重要一點是過去的日期是“負數”,而未來的日期是“正數”。所以,如果今天是圣誕節(jié)前的某個天數,當我們進行計算比較時,結果將是肯定的。技能代碼如下:

       
def handle_christmas(self,message):
    today = datetime.date.today()
    christmasDay = datetime.date(today.year, 12, 25)
    # in datetime arthmetic, if a day is in the past, it is 'negative' or less 
    # than today, or less than a day in the future
    # check to see if christmas is past :( if so, correct to next year :(
    if christmasDay < today:
        christmasDay = christmasDay.replace(year=today.year+1)
    daysUntilChristmas = abs(christmasDay - today)

在此之后,我們只需讓 Mycroft 說出距離圣誕節(jié)還有多少天:

       
self.speak("there are " + str(daysUntilChristmas.days) + " days until christmas")

你能看出這里的問題嗎?如果離圣誕節(jié)只有一天,Mycroft 仍然會說“天”。另外,Mycroft 應該在圣誕節(jié)做一些特別的事情或者說一些特別的事情,對吧。. .? 好吧,離圣誕節(jié)只有這么多天了。. .!

為了寫這個技巧,我大量借鑒了 Mycroft 的歌唱技巧。您可以而且應該讓您的 Mycroft Mark 1 為您唱首歌!然而,在這項技能中,我將歌曲列表讀入 python 列表而不是地圖。就我而言,我從zedge下載了免版稅鈴聲。這些鈴聲質量很好,擁有所有流行的最愛,并且長度剛好適合這項技能。

Python 列表的使用使我能夠利用隨機庫中一個名為selection的簡潔 Python 函數。我們將列表傳遞給選擇函數,它會從列表中返回一個隨機元素!它使代碼干凈整潔:

       
class DaysUntilChristmasSkill(MycroftSkill):
    def __init__(self):
    ...
        self.songs = [ join(dirname(__file__), "polar_express.mp3"),
                       join(dirname(__file__), "let_it_snow.mp3"),
                       join(dirname(__file__), "holly_jolly_christma.mp3"),
                       join(dirname(__file__), "frosty_the_snowman.mp3"),
                       join(dirname(__file__), "mr_grinch.mp3"),
                       join(dirname(__file__), "sugar_plum.mp3"),
                       join(dirname(__file__), "carol_of_bells.mp3")]
     ...
     def handle_christmas(self,message):        
     ...    
        self.process = play_mp3(choice(self.songs))

樣品

它是如何工作的?

2017 年圣誕快樂!

希望你喜歡這個簡單而有趣的技能。有一百萬種不同的方法可以改進和擴展這項技能。如果你這樣做了,請將其發(fā)布到 Hackster.io!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費