資料介紹
描述
哈哈哈!圣誕節(jié)快樂!
又到了一年中的那個時候,雪,蛋酒,紅鼻子馴鹿,曲棍球。. .和降臨日歷。降臨節(jié)日歷幫助我們倒計時直到圣誕節(jié)。我們的降臨日歷,有一個轉(zhuǎn)折,或者更確切地說是一個聲音!這是 Mycroft Mark 1 開源語音平臺上一個非常簡單有趣的項目。
邁克羅夫特馬克 1
語音現(xiàn)在很熱門,有很多選擇可以嘗試。Mycroft 是一個完全開源的平臺,您可以進(jìn)行試驗。有幾個選項,例如 PiCroft,您可以在自己的 Raspberry Pi 上免費安裝。還有 Mark 1,這是一款設(shè)計精美的設(shè)備,可從Mycroft.ai 獲得
幾個月前我開始使用 PiCroft 平臺,感謝Mycroft.ai的慷慨解囊,我現(xiàn)在有了 Mark 1!
這是一項開源工作,并通過其在線論壇得到了一個充滿活力且反應(yīng)迅速的團隊和社區(qū)的支持。有很多技能可以使用和學(xué)習(xí)。Python是使用的語言。
在這項技能中,我使用了一個名為 Padatious 的相對較新的功能,它允許您以自然語言格式編寫語音命令!Mycroft 每天都在變得更聰明!
與 Mycroft Mark 1 互動
Mark 1 的核心是一個 Raspberry pi 板。這是我將 PiCamera 添加到 Pi 的圖片:
Mark 1 的背面提供了對所有端口和引腳(PiCamera 端口除外)的訪問,您可以連接鍵盤、鼠標(biāo)、顯示器與 Mark 進(jìn)行交互,就像與任何其他 RPi 一樣。但是,以“無頭”方式與 Mark 1 中的 RPi 交互同樣容易。只需在桌面上打開一個終端并使用名為ssh 的命令行程序與 Mark 交互。 我在較舊的 iMac 上執(zhí)行此操作,請參閱下面的屏幕截圖。Mycroft 論壇帖子SSH 登錄憑據(jù)中對如何執(zhí)行此操作進(jìn)行了很好的描述。
當(dāng)您習(xí)慣于指向和單擊、窗口等時,熟悉命令行可能會有些挑戰(zhàn)。我來自 Commodore 64 一代,因此享受這種類型的交互!有很多工具可以學(xué)習(xí)和使用。對于編碼,我使用了 nano。這是一個簡單易用的文本編輯器,隨 RPi 一起安裝。需要了解的許多命令行實用程序包括:cd、reboot、ls、chown、chmod、rm、cp、mv、pwd。幾乎所有這些都需要您使用sudo 調(diào)用。所以要小心,尤其是rm和-R !??!
當(dāng)您對這些工具感到滿意時,您會喜歡這種編程方式。這很像使用多功能瑞士軍刀!
編寫自己的技能
Mycroft 技能創(chuàng)建已完整記錄:如何添加新技能。Mycroft 文檔最近進(jìn)行了更新,并采用了更具可讀性和用戶友好的格式,因此我鼓勵您去那里深入研究它,MYCROFT.AI DOCUMENTATION。謝謝凱西!
在 github 上的MycroftAI / mycroft-skills上有許多示例技能可供學(xué)習(xí)。我學(xué)習(xí)并大量借鑒了唱歌技巧。
我還在Hackster.io上發(fā)布了 Mycroft 項目,這些項目應(yīng)該可以幫助您了解很多有關(guān)在 Mycroft 平臺上創(chuàng)建技能的知識:
在下面的描述中,我將僅涉及此技能的亮點,并鼓勵大量使用上述資源來學(xué)習(xí)如何編寫自己的技能。
技能
Mycroft 技能位于/opt/mycroft/skills/文件夾中。當(dāng)您 cd 進(jìn)入此文件夾并ls 時,您會看到如下內(nèi)容:
在每個技能文件夾中,都有一些子文件夾和文件構(gòu)成了技能的主體。Mycroft 技能是用 python 編寫的,技能的主要功能在__init__.py文件中。任何可以在 Mark 1 的 RPi 上運行的 python 庫都可以用來編寫技能。如果您可以用 Python 編寫它,那么您的技能就可以做到!
上面的屏幕截圖顯示了 hello-world 技能的文件夾結(jié)構(gòu)。這是一個很好的起始模板,可以用來模擬你的技能。該文件夾下面的文件夾是圣誕節(jié)前的技能。由于 mp3 文件和正在開發(fā)的這項技能,它有點混亂。我無法讓 mp3 文件運行,除非它們位于文件夾中。是的,對于那些在 linux 中的人來說,文件所有者是不同的,但是即使文件所有權(quán)和權(quán)限都更改為 Mycroft,我仍然無法播放 mp3,除非它們位于此處!
每個技能都由意圖組成。Intent 對應(yīng)于您希望 Mycroft 響應(yīng)語音命令執(zhí)行的代碼。這些語音命令位于您的詞匯文件中。詞匯文件名為days.until.christmas.intent ,其內(nèi)容只是文本:
how many days until christmas
how many days to christmas
when is santa coming
how long unitl christmas
is it christmas yet
意圖處理程序,或響應(yīng)這些語音命令而執(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 是一個機器學(xué)習(xí)、基于神經(jīng)網(wǎng)絡(luò)的意圖解析器。它是Adapt 意圖解析器的替代方案。與使用小組獨特單詞的 Adapt 不同,Padatious 是對整個句子進(jìn)行訓(xùn)練的。
我正在運行 Mycroft 0.9.10 版,它 Padatious 會自動供您使用。
Padatious 極大地簡化了為您的意圖創(chuàng)建詞匯文件并且效果很好。使用 Padatious,您可以像說話一樣簡單地輸入短語,Mycroft 會做出適當(dāng)?shù)幕貞?yīng)。Adapt 效果很好,但需要做很多工作才能確保它正常工作,而 Padatious 讓您可以簡單地考慮一個人如何用自然語言提出請求。
我遇到的唯一問題是當(dāng)我在文件中出現(xiàn)“圣誕節(jié)是什么時候”這句話時。說,“嘿,Mycroft,圣誕節(jié)是什么時候?” 它會回答圣誕節(jié)是什么的字典定義。所以我只是刪除了這個短語。
Python中的日期和時間
日期和時間計算是代碼中非常常見的需求,有時讓這些計算正常工作可能具有挑戰(zhàn)性。幸運的是,Python 有一個名為datetime的庫,它使這些計算變得容易!就像我上面提到的,如果它是python的一部分,你的技能可以做到!在使用datetime進(jìn)行計算時,要記住的重要一點是過去的日期是“負(fù)數(shù)”,而未來的日期是“正數(shù)”。所以,如果今天是圣誕節(jié)前的某個天數(shù),當(dāng)我們進(jìn)行計算比較時,結(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 應(yīng)該在圣誕節(jié)做一些特別的事情或者說一些特別的事情,對吧。. .? 好吧,離圣誕節(jié)只有這么多天了。. .!
為了寫這個技巧,我大量借鑒了 Mycroft 的歌唱技巧。您可以而且應(yīng)該讓您的 Mycroft Mark 1 為您唱首歌!然而,在這項技能中,我將歌曲列表讀入 python 列表而不是地圖。就我而言,我從zedge下載了免版稅鈴聲。這些鈴聲質(zhì)量很好,擁有所有流行的最愛,并且長度剛好適合這項技能。
Python 列表的使用使我能夠利用隨機庫中一個名為selection的簡潔 Python 函數(shù)。我們將列表傳遞給選擇函數(shù),它會從列表中返回一個隨機元素!它使代碼干凈整潔:
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 年圣誕快樂!
希望你喜歡這個簡單而有趣的技能。有一百萬種不同的方法可以改進(jìn)和擴展這項技能。如果你這樣做了,請將其發(fā)布到 Hackster.io!
- 邊緣計算開源項目概述
- 玩手機游戲既有趣又健康的開源項目
- 自動割草機v1開源項目
- NRF52832觸摸開關(guān)1ch開源項目
- 1J24B音頻實驗板開源項目
- 5合1 Arduino機器人開源項目
- 有趣且可擴展的極客手持設(shè)備開源分享
- EasyFlash 1CR墨盒(寬sram)開源項目
- EasyFlash 1CR墨盒(窄sram)開源項目
- 開源項目
- 開源項目,畢業(yè)設(shè)計
- 基于性能影響因素分析的語音識別平臺體系結(jié)構(gòu) 20次下載
- 收藏!姿態(tài)估計開源項目匯總資料下載
- USB音頻設(shè)計的幾個有趣故障案例資料下載
- Java最著名的開源項目 0次下載
- 關(guān)于FPGA的開源項目介紹 1161次閱讀
- PCB設(shè)計中MARK點的作用和擺放 4739次閱讀
- 優(yōu)秀的IC/FPGA開源項目:偽紅外圖像處理 1949次閱讀
- 怎么上手 PR 流程?如何開始參與開源項目? 1470次閱讀
- PCB電路板MARK點和過孔位置的設(shè)計要求 1.8w次閱讀
- 源創(chuàng)通信 Asterisk E1 語音卡介紹 3079次閱讀
- MARK點的具有哪些特征及設(shè)計規(guī)范 1.1w次閱讀
- Mozilla基金會發(fā)起的Common Voice項目,發(fā)布新版語音識別數(shù)據(jù)集 3586次閱讀
- 全年開源項目的盤點和總結(jié) 3231次閱讀
- MARK點作用及類別,MARK點設(shè)計規(guī)范 2.2w次閱讀
- 基于Altium Designer的OSHw開源項目 3609次閱讀
- 2018 年 2 月份 GitHub 上最熱門的開源項目 4554次閱讀
- 展示Python機器學(xué)習(xí)開源項目以及在分析過程中發(fā)現(xiàn)的非常有趣的見解和趨勢 4080次閱讀
- Python機器學(xué)習(xí)開源項目分析過程中的見解和趨勢 703次閱讀
- 11個機器學(xué)習(xí)開源項目 2767次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多