Web Bluetooth 経由で Wi-Fi と API キーを設定します
ℹ️ BLE 接続 で Web Bluetooth 接続 → タブを切り替えて設定 → 保存 & 再起動 で確定 (再起動が必要な項目のみ)。 LED や顔の DSL はリアルタイム反映。
Stack-chan の主な振る舞いを 3 つから選びます。「会話応答」は OpenAI / Gemini / XiaoZhi のいずれかで会話、「JTTS ランダム発話」は音声のアイドル発話のみ、 「マイクでリップシンク」はマイク入力に合わせて口だけ動かします。 保存後の再起動で切替わります。
空欄のままにすると現在の値を変更しません
BLE アドバタイズ名と mDNS ホスト名のもとになります。空欄なら自動生成 (Stackchan-XXXXXX)。mDNS は英数字とハイフンに丸められます。保存後の再起動で反映。
設定すると、BLE 設定ページ (これ) と WiFi 設定ページの両方で認証が必要に なります。BLE は暗号鍵にパスワードハッシュが混入するので、間違ったパスワード では全てのチャネルが復号失敗で動かなくなります。HTTP は Basic Auth。 クリアで認証なし (現状互換) に戻ります。保存後の再起動で反映。
スライダーを動かすと下のプレビューと、接続中は実機の顔がリアルタイムに 変化します(再起動不要)。気に入った設定を残すには「保存 & 再起動」を押してください (再起動して確定します)。
プレビュー読み込み中…
内蔵 / Module Audio / Atomic Echo Base すべての出力に効きます。 スライダーを動かすと 即時反映 + 自動保存 (再起動不要)。 100% = ボード ごとの工場既定値、200% でブースト (内部 master volume を 2 倍にして 255 で飽和)。
ひらがな / カタカナで入力して「話す」ボタンを押すと jtts で読み上げます。 漢字や英字は変換されないので、フリガナを直接入力してください。 音量や音声出力の確認に便利。
機体が自分の Wi-Fi で公式 GitHub Releases (ayutaz/sanoTTS-jp) から重みを取得して保存します。 モデルの利用条件 (LICENSE-MODEL.md) は利用者が確認してください。 取得済みなら sanoTTS が優先して使われます。ファイルからの書き込みは Wi-Fi 設定画面で行えます。
音声の出力先を選びます。「自動」は M5 Module Audio が装着されていれば そちらを優先、未装着なら内蔵スピーカ。「内蔵」と「Module Audio」は 強制指定 (Module Audio 未装着で「Module Audio」を選ぶと内蔵に フォールバックします)。保存後の再起動で切替わります。
Wi-Fi 経由の RTP 音声受信(L16/μ-law=udp/6970, AAC=udp/6972)。会話機能オン時は自動的に無効です
マイク入力の音量に合わせて口を開閉します。CoreS3 はマイク感度が低めなので入力ゲインを上げると見栄えします。スライダーを動かすと 即時反映 + 自動保存します。
周辺の雑音レベルを自動追跡して、静かな部屋でも騒音下でも声に反応するよう感度を調整します。OFF にすると固定閾値で判定 (環境変化に弱いが予測しやすい)。保存後の再起動で反映されます。
空欄や変更なしで「保存」を押すと現在の設定は維持されます。
HMM ボイス (.htsvoice) / 単位連結 音声 DB (.jvox) のアップロードは WiFi 設定ページから行えます。
音声エンジン (hts_engine, Modified BSD) と配布ボイスの帰属表示: ライセンス / 帰属表示
やわらかめの目安: 開大比 0.65–0.75 / tilt 6–12 dB / 帯域幅 1.2–1.5 (+息成分 0.1–0.25)。いずれも v2 方式で有効 (帯域幅はクラシックでも有効)。
画面表示 | 読み の形式。| の右側 (読み) はひらがな/カタカナのみ
(漢字は発声時に無視されます)。| を省くと表示と読みが同じになります。
例: こんにちは | こんにちわ
手を近づけたときに 1 つ選んで話します (形式は上と同じ)。空なら吹き出しだけ出します。
ローカルの音声ファイル (.mp3 / .wav / .m4a / .aac など) を選んで「再生」を押すと、 ブラウザ側で 24 kHz mono AAC-LC に再エンコードし、BLE 経由でストリーミング送信します。 スタックチャン側で AAC をデコードしながら再生し、音量に合わせて口を動かします。
直近の会話 1 ターンぶんの音声パイプライン統計 (BLE chr 0x1f / HTTP
GET /api/metrics/audio と同じデータ)。会話ターンが終わるたびに
ファーム側 (conv-task: log_playback_metrics) で更新されるので、
下の「読み込み」を押すと最新ターンの値が見えます。
| 指標 | avg | min | max |
|---|---|---|---|
| 未取得 | |||
—
本体の「LT」タブで開始/停止。ここでは既定時間と通知ワードを設定(書込で即反映、保存で再起動後も保持)。読みはひらがな(jtts は漢字を読めません)
どの会話バックエンドを使うかを切り替えます。キー / 設定は下記すべてに保存できます。
応答再生中にアバター画面 (頭) をタップで AI 応答を中断します。タッチ センサが敏感で誤動作しやすいので、初期値はオフです。なでなで (前→中→後の連続タッチ) は本トグルとは独立で常に有効です。保存後の再起動で反映されます。
アバター画面の左上に残量ゲージを表示します(保存後の再起動で反映)
起動直後の C5–E5–G5(スピーカー動作確認音)を鳴らすかどうか。OFF にすると無音起動(保存後の再起動で反映)
無効にするとサーボ電源を入れず、サーボタスクも起動しません(保存後の再起動で反映)。操作画面の脱力/復帰トグルとは別物で、こちらは NVS に永続化されます。
サーボの取り付け向きや可動範囲はベース基板で異なります。原点(0..1023)と可動範囲(度)を 設定して「保存 & 再起動」で反映してください。既定は M5 base の値です。
範囲設定モードを ON にするとサーボの力が抜け、手で動かした位置を取り込めます。 中央位置で「Yaw 原点取込」、左端で「Yaw 最小取込」、右端で「Yaw 最大取込」を順にタップしてください。 取り込んだ値は上の入力欄に反映されます。最後に「保存 & 再起動」で確定します。
ネコミミ部 NeoPixel (GPIO9 / 18 LED) のモード・色・明るさを設定します。 変更は即時反映 + 自動で NVS に保存されるので再起動後も復元されます。 gradient (虹) モードでは色は無視されます。
アバターの口が開くと LED が反応します (会話再生・jtts 発話・マイク リップシンク いずれの口元アニメーションでも有効)。OFF のときは設定した明るさ で固定。保存後の再起動で反映されます。
ON のときの制御方式を選びます。「輝度」は口が開くほど LED 全体が明るくなる 従来動作。「レベル メーター」はネコミミの三角形 (LED1 = 底辺、LED5 = 頂点) を 5 段階のバー グラフとして点灯させます。保存後の再起動で反映されます。
設定されていれば /mcp/* HTTP API が有効化(Channel adapter から接続可)。空にすると /mcp/* は 404 を返します。保存後の再起動で反映されます
GitHub Release から選ぶか、ローカルの build/stackchan_idf.bin を
選んで「書き込み」を押すと、暗号化された BLE 経由で新ファームを別パーティションに書き込み、
再起動します。成功後はブラウザ側で BLE が切断されるので、手動で再接続してください。
Chrome / Edge (デスクトップ) 133 以降 + file:// で動作します。
Firefox・Safari は Web Bluetooth 非対応です。
通信は接続ごとに X25519 + AES-256-GCM で暗号化されます(OS ペアリング不要)。