
ラッスパイ – ホームアシスタントでの安全な音声制御 (スペイン語で)
ホームアシスタントを持っていて、それを音声で制御できることに興味があるすべての人のために, 言う, AlexaまたはGoogleHomeの代替手段, さて、Rhasspyがあります. そして、なぜRhasspyなのか? マイクがインターネットに接続しない理由, 誰も私たちの言うことを聞かず、完全に安全でカスタマイズ可能です, 開始!
私が持っている強迫観念の1つは、現代の家を制御するマイクをいたるところに見ることです, これらのホームオートメーションまたはスマート. 私たちの家で聞くマイクは、その背後に誰がいるのか、何の目的で無料のサービスを提供してくれるのかわかりません ;-). 家でGoogleやAmazonのマイクを試したことがあるのですが、24時間生成される接続数とトラフィックの数に驚きました, このIoTでは、あらゆる種類のデータを第三者と共有しなければならないのは普通ではないと思います, 洗濯機をつけると, または、掃除機が掃除するm2の数, または私たちを地理的に特定する… 製品になるのは避けましょう.
だから、長い間、代替案を探して試した後, 圧倒的に最高ののはRhasspyです, それは簡単です, それは非常に完全です, 私たちはたくさんの小さなことをすることができます, 共有を送信する, 質問, 会話… 次に、それをホームアシスタントと統合して、自動化を実行します. そしてもちろん、スペイン語で話すことができます (スペイン語) またはその他のサポートされている言語 (英語, ドイツ語, スペイン語, フランス語, イタリア語, ドイツ語, ロシア語, ギリシャ語, ヒンディー語, 官話, ベトナム語, ポルトガル語, とりわけスウェーデン語またはカタルーニャ語。)
Rhasspyは、たとえばローカルモードでインストールできます, オールインワンラズベリー, これは, マイクが入っているもの, これは、キーワードが「wake up」になるのを待っています, これは、私たちが尋ねた/注文した内容を記録し、それを管理して、対応するHassioの自動化を理解して呼び出すことができます. しかし、理想は, 家にマイクが一人でないということです, 部屋全体に散らばっているいくつかではないにしても, そのため、Rhasspyは、最小限のクライアントモードでインストールすることができます, 行く, キーワードを待っていて、質問/順序を記録し、それを中央のRhasspyに送信し、中央のRhasspyに送信し、Rhasspyが処理してホームアシスタントに送信します. このクライアント/サーバーの考え方は、マイクを備えた複数の衛星と 1 つの中央構成を持つことです (また、すべてのRaspberry Piの構成が異なるわけではありません). そして、私の特定のケースでは、中央のRhasspyです, 重要であること (それは構成を持っており、計算を行います) 仮想マシンで実行する, マイクを必要としないため… そして最後に, 興味のある方がいらっしゃる方へ, ホームアシスタントに直接インストールできます
まぁ, これで私たちは自分自身を位置づけ、アイデアを取ると思います, Rhasspy がコンテナ内で実行されるように, だからそれは私たちを取るでしょう 2 必要な場所に展開するのに数分かかります. 投稿をさまざまな状況に分類して、誰もが理想的なシナリオを選択できるようにします.
ロンリー・ラッスパイ
このシナリオは、 1 Raspberry Pi単体, 彼女に全過程を任せましょう; おそらく私たちがロボットやそれに類するものを作るつもりなら理想的です, トリガーワード「ベンダー」に耳を傾ける’ 例えば. 開始, Dockerがインストールされている必要があります, もし持っていなければ, です:
カール -sSL https://get.docker.com | sh
Raspberry PiサウンドカードをDockerで動作させるには、構成ファイルを作成する必要があります, これを「/home/pi/asound.conf.txtと呼ぶことができます’ そして、このコンテンツをその上に載せます:
PCMです。!デフォルト { タイプHWカード 1 } ctlです。!デフォルト { タイプHWカード 1 }
そして何もない, Rhasspyの画像でコンテナを持ち上げます, プロファイルで作業に使用する言語を示します:
sudo docker run -d -p 12101:12101 \ --再起動 unless-stopped \ -v "$ホーム/.config/rhasspy/profiles:/プロファイル" \ -v "/ホーム/PI/asound.conf.txt:/etc/asound.conf" \ --デバイス /dev/snd:/開発/SND \ synesthesiam/rhasspy-server:最新 \ --ユーザープロファイル/プロファイル \ --プロフィール ja
Rhasspy コンテナが起動したら, コンテナがマイクに効果的にアクセスしていることをテストできます, それは機能的で、記録します. バッシュを開けて試飲しました:
sudo docker exec -it ID_CONTENEDOR_RHASSPY bash arecord -r 16000 -c 1 -F S16_LE test.wav
Rhasspyの管理を今すぐ開くことができます, 接続するWebブラウザを介して: HTTPの://DIRECCION_IP_RHASSPYl:12101
トップメニュー, このRhasspyで実行されるサービスを見ることができ、それが孤独なRhasspyであると言ったので、彼らはそれらすべてを実行するべきです. 後で見る場合, 複数のマイクを備えたネットワークインストールの, 役割は異なります.
また、この初期インターフェースから、音声認識テストを行うことができます, 彼が私たちをよく理解しているかどうか見てみましょう…
録音またはオーディオ録音の最初のオプションは、基本的に録音に使用するサウンドカードになります.
ウェイクワードでは、キーワード認識に関心のあるオプションを選択します, またはアクティベーション; それらすべてを試して、どれがあなたを最もよく認識しているかを確認することをお勧めします, または、すでに存在するキーワードや好きなキーワードによって異なります, 私たち自身を作成するだけでなく、. 単純な画像の例で, キーワードは「アレクサ」になります.
Speech to Text では、認識モデルを示します, デフォルトでは、Kaldiは大きな合併症を伴わずに動作します.
インテント認識は、後で作成するカスタムステートメントファイルを操作するために使用します.
次に、Text to Speechは、テキストをオーディオに変換する場所になります, NanoTTSも魅力のように機能します, そして、言語では、関心のあるものがあることを確認します.
オーディオ再生では、スピーカーから再生するサウンドデバイスを示します, 万が一、私たちを理解しているかどうかにかかわらず、音を投げなければならない場合, いくつかのフレーズと同様に…
ダイアログ管理では、Rhasspyを離れます.
そして最後に, インテントハンドリングでは、Rhasspyの出力を処理できるようになります, この場合、ホームアシスタントに接続し、イベントを送信します. 次に、Home Assistantの自動化により、イベントがアクティブ化され、関心のあるタスクが実行されるのをリッスンして待機します.
Rhasspyネットワーク (顧客)
この他のシナリオは、家の周りに複数のマイクを広げたい場合です, 1つだけではありません. アイデアは、マイクを備えた各Raspberry Piで、同じインストールと最小限の構成を行うというものです.
まぁ, インストールはLonely Rhasspyとまったく同じになるので; 単に、地元で調達されたサービスが少なくて済むということです. 次のサービスがRhasspyサーバー/セントラルで実行されていることを示す必要があります:
- インテント認識, リモート HTTP と URL として表示: 'http://DIRECCION_IP_RHASSPY_SERVIDOR:12101/api/text-to-intent’
- テキスト読み上げ, リモート HTTP と URL として表示: 'http://192.168.1.216:12101/API /テキスト読み上げ’
Rhasspyネットワーク (サーバー)
この場合, このマシンにはサウンドカードは必要ありません, それは何も録音も再生もしないからです, そのため、好きな場所に設置できます, 別のRaspberry Pi, または、仮想マシンで可能な場合, またはあなたが望む場所ならどこでも, トータル, は Docker コンテナです… インストールは次のように簡単です。:
docker run -d -p 12101:12101 \ --再起動 unless-stopped \ -v "$ホーム/.config/rhasspy/profiles:/プロファイル" \ synesthesiam/rhasspy-server:最新 \ --ユーザープロファイル/プロファイル \ --プロフィール ja
そして、サーバー構成部分はクライアントの逆です, オーディオ録音はありません, またはウェイクワード, また、テキスト読み上げまたはオーディオ再生の変換も行いません.
文章
システムが稼働したら, Recognize Us キーワード, テストフレーズ, さて、Rhasspyで文章やフレーズのファイルをフィードする時が来ました (レッドの場合, これはサーバー側でのみ行われます).
2番目のアイコンから、キーワードを聞いた後にインターセプトしたいフレーズでファイルを作成できます. 括弧で囲まれたブロックは、生成されるイベントになります, また、イベントデータ内で送信する変数を作成できるようになります, それはアクションである可能性があるため (オンまたはオフにする) そして、それを状態として取り上げます (例えば), 次に、オブジェクトまたは場所の名前を「名前」として選択します. ここでは、より深く理解している例をいくつか紹介します, 致命的な説明:
ステートライト] (ライト | シャットダウン){状態} ザ (リビングルームのランプ){名前} (ライト | シャットダウン){状態} ザ (キッチンライト){名前} ... [ライズローワーブラインド] (傷者 | 上){状態} ザ (リビングルームのブラインド){名前} (傷者 | 上){状態} ザ (オフィスシャッター){名前} ... [テンプステート] の温度はいくらですか (家){名前} の温度はどれくらいですか (通り){名前} の温度はどれくらいですか (台所){名前} ... [その他の質問] あります (文字){名前} メールボックスに (文字){名前} 彼はどこですか (ヘクター){名前} ...
Home Assistantでトークンを作成する
きっと気づいたでしょう, Rhasspyについて, 出力をHome Assistantに送信するには、インテント処理から行います, ホームアシスタントのURLを示す以外に, また、アクセストークンも示す必要があります. このトークンを生成するには, 次の手順に従うことができます.
インサイドホームアシスタント, 管理者特権ユーザーオプションから, 長期アクセストークンを作成できるようになります, クリック “トークンの作成”,
将来、これが何で、なぜあるのかを思い出せるように、わかりやすい名前を付けます,
そして、このトークンをコピーして安全な場所に保存します, これは私たちがRhasspyに伝えるものです.
Rhasspy Home Assistantの統合
そして何もない, Home AssistantにRhasspyのメッセージを拾って処理させたい場合, シンプルにしていきます, 自動化を通じて.
実行したいアクションごとにリスニングオートメーションを作成します, 覚えておくべき唯一のことは、自動化トリガーが「イベント」になることです, そして「イベントタイプ」の下’ センテンスファイルのおかげで生成されたイベントを収集します (プレフィックス (rhasspy_) ). また、イベントデータとして、特にリッスンするものをフィルタリングします. したがって、暖房をオンにしたい場合, 私は、 '暖房に対応する属性を持つイベントを期待しています’ そして、アクションとしてそれは「オンになる」, そして、味わうアクション, あなたはそれぞれたくさんの想像力とRhasspyでいじくり回すことができるものを持っています.
トータル, なんて長い投稿でしょう, しかし、私はあなたが家と話すのが好きなときはいつでも、そしてそれを保護するために、あなたの多くがあなたを導くことができることを願っています. マイクまたは何もインターネットに接続していない, 誰もタダで私たちをスパイしない… そして、ウェイクワードをより近いものにカスタマイズできます, そして何よりも、私たちが考えているのと同じくらい多くの可能性を秘めているということです.
皆さんにハグを送ります, 元気を出してください, ソーシャルネットワーク上でこの種のコンテンツを移動させているすべての方に感謝します.