<em id="hanht"></em>

    <dd id="hanht"></dd>

    <em id="hanht"><acronym id="hanht"></acronym></em>
    
    <button id="hanht"></button>
    <rp id="hanht"><object id="hanht"><blockquote id="hanht"></blockquote></object></rp><em id="hanht"></em>

    首頁 > 學院 > 系統知識 > 正文

    使用 Ansible 在樹莓派上布局 Mycroft AI 語音助手

    2022-07-09 12:57:37
    字體:
    來源:轉載
    供稿:網友
    使用本文中的這些 Ansible 劇本可以幫你獲得更優的 Mycroft AI 體驗。
     
    Mycroft AI 是一款虛擬助手應用程序,可以響應語音請求并完成相應的任務,比如在互聯網上搜索你需要的某些信息,或者下載你喜歡的博客等等。這是一款優秀的開源軟件,不同于那些收集個人數據業務的公司的同款軟件,Mycroft AI 注重于保護隱私以及提供平臺靈活性。
     
    Mycroft AI 使用 python 開發,可以安裝于不同的硬件平臺上。家喻戶曉的樹莓派便是一個非常熱門的運行語音助手的硬件方案(不過不是唯一的方案)。方便的是,Mycroft 為樹莓派提供了 Picroft 鏡像,雖然目前 Picroft 還有一些限制,比如不支持 64 位系統,不過不能阻止它成為一種優秀的解決方案。
     
    樹莓派在 Mycroft 社區中非常受歡迎,因為其性價比高,在教育行業中有著巨大的優勢,并且由于 Mycroft 提供的便捷功能以及樹莓派本身易于訪問的輸入/輸出(GPIO)引腳等,為樹莓派提供了有趣的擴展可能(比如,提供 喚醒詞 LED GPIO 能力)。
     
    樹莓派 4B 具有足夠的 CPU 算力以及內存來平穩運行 Mycroft。我使用的是 8G 內存的樹莓派4B,運行 Raspberry Pi OS Bullseye 64-bit 系統,你可以從 RaspberryPi.org 網站下載該系統鏡像文件。
     
    自動化這件事
    構建你自己的 Mycroft AI 系統,必須要注意一些細節問題。根據我(一年以來)的初步經驗,以下羅列了一些重要的技術細節點:
     
    音頻輸出(揚聲器配置)
    音頻輸入(麥克風配置)
    麥克風質量(以購買的實際硬件為準)
    喚醒詞響應(比如打招呼 “嘿,Mycroft”)
    響應延遲(比如提問 “天氣怎么樣”)
    這些并不是 Mycroft AI 的問題(LCTT 譯注:難道軟件平臺就沒有處理延時問題?),它們只能是你在選擇硬件和配置操作時必須牢記關心的事情。樹莓派本身能夠運行 Mycroft AI,但有一些配置需要額外的注意下:
     
    CPU 調度器
    SD 卡性能
    PulseAudio 配置
    網絡延遲
    我做了大量的研究和實踐來解決上面列出這些令人頭疼的注意點,最終我實現了我的“終極”目標 —— 最流暢的體驗!
     
    更新 Raspberry Pi OS 至最新版本
    添加 Debian backports 倉庫
    使用 next 分支更新固件,該分支支持 5.15 版本內核以及邊緣固件
    使用測試版本更新 EEPROM,該版本支持邊緣功能
    設置 initial_turbo 用來加速啟動過程
    將樹莓派超頻至 2GHz
    在 RAMDisck 上掛載 /tmp
    優化 / 分區掛載選項,提升 SD 卡讀/寫性能
    管理 I2C、SPI、UART 接口
    設置 CPU 控制器至避免在空間內核函數之間發生上下文切換的模式,以便提升性能
    安裝和配置 PulseAduio(非系統范圍)
    新固件或者 EEPROM 安裝后重啟樹莓派
    Ansible mycroft 角色
    Ansible mycroft role 基于腳本 dev_setup.sh 從 Github 倉庫獲取并安裝和配置 Mycroft AI,該腳本是 Mycroft 核心團隊提供。
     
    個人配置需求
    下面列舉了一些個人配置的需求:
     
    能上網的樹莓派 4B 板子(或者更新的板子)
    Raspberry Pi OS 64-bit
    Ansible 2.9(或者更新版本)
    可正常工作的 SSH
    推薦使用 Etcher 來燒錄 Raspberry Pi OS 鏡像至 SD 卡,你也可以使用你選擇的鏡像燒錄工具。
     
    我將樹莓派超頻來提升性能,不過這可能對你的硬件是一種潛在危險。在使用我的 Ansible 劇本配置之前,請先仔細閱讀。你需要為你的每個配置選擇負責。你將決定使用哪個固件、哪個 EEPROM。超頻的話需要記得提供相應的冷卻系統。
     
    執行 Ansible 劇本
    第一步,使用命令從 Github 獲取 Ansible 劇本:
     
    $ git clone https://github.com/smartgic/ansible-playbooks-mycroft.git
    源碼中,requirements.yml 文件中提供了該劇本的依賴角色列表,必須從 Ansible Galaxy 中檢索這些依賴。
     
    $ cd ansible-playbooks-mycroft
    $ ansible-galaxy install -r requirements.yml
    Starting galaxy role install process
    - downloading role 'mycroft', owned by smartgic
    - downloading role from https://github.com/smartgic/ansible-role-mycroft/archive/main.tar.gz
    - extracting smartgic.mycroft to /home/goldyfruit/.ansible/roles/smartgic.mycroft
    - smartgic.mycroft (main) was installed successfully
    - downloading role 'prepi', owned by smartgic
    - downloading role from https://github.com/smartgic/ansible-role-prepi/archive/main.tar.gz
    - extracting smartgic.prepi to /home/goldyfruit/.ansible/roles/smartgic.prepi
    - smartgic.prepi (main) was installed successfully
    第二步,編輯倉庫中的 Ansible 清單,設置需要管理的主機。
     
    [rpi]
    rpi4b01 ansible_host=192.168.1.97 ansible_user=pi
    [rpi] 代表組,無需更改。該組有一個主機 rpi4b01,其 IP 地址為 192.168.1.97, 并創建 pi 作為 Linux(Raspberry Pi OS)上的默認用戶。
     
    現在比較棘手的部分到了:你希望每個選項怎么配置?這取決于你自己,下面是我的首選配置,供你參考:
     
      vars:
        # PREPI
        prepi_pi_user: pi
        prepi_hostname: mylovelypi
        prepi_firmware_update: yes
        prepi_overclock: yes
        prepi_force_turbo: yes
        prepi_cpu_freq: 2000
        prepi_pulseaudio_daemon: yes
     
        # MYCROFT
        mycroft_branch: dev
        mycroft_user: "{{ prepi_pi_user }}"
        mycroft_skills_update_interval: 2.0
        mycroft_recording_timeout_with_silence: 3.0
        mycroft_enclosure_name: picroft
        mycroft_extra_skills:
          - https://github.com/smartgic/mycroft-finished-booting-skill.git
     
    Congratulations message (Gaëtan Trellu, CC BY-SA 4.0)
     
    Ansible 讓定制 Mycroft 變得更容易
    這些 Ansible 劇本是我開始使用 Mycroft AI 后學到的經驗教訓。它們幫助我在任何一個地方都能構建、重構、定制、拷貝我的安裝,并保持一致,這讓我很省心!
     
    讀完此文,你有何意見、問題或疑慮?歡迎在 Twitter上 @goldyfruit上和我交流,或者訪問 Mycroft 頻道 搜尋答案。

    (編輯:錯新網)

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    一级特黄大片欧美久久久久_一本一道久久综合狠狠老_JLZZ日本人年轻护士_欧美男男作爱VIDEOS可播放
      <em id="hanht"></em>

      <dd id="hanht"></dd>

      <em id="hanht"><acronym id="hanht"></acronym></em>
      
      <button id="hanht"></button>
      <rp id="hanht"><object id="hanht"><blockquote id="hanht"></blockquote></object></rp><em id="hanht"></em>