🤖 Stack-chan 設定

Web Bluetooth 経由で Wi-Fi と API キーを設定します

ℹ️ BLE 接続 で Web Bluetooth 接続 → タブを切り替えて設定 → 保存 & 再起動 で確定 (再起動が必要な項目のみ)。 LED や顔の DSL はリアルタイム反映。

Firmware—
Hardware—
Model—
Manufacturer—
Software—
バッテリー—

動作モード

Stack-chan の主な振る舞いを 3 つから選びます。「会話応答」は OpenAI / Gemini / XiaoZhi のいずれかで会話、「JTTS ランダム発話」は音声のアイドル発話のみ、 「マイクでリップシンク」はマイク入力に合わせて口だけ動かします。 保存後の再起動で切替わります。

空欄のままにすると現在の値を変更しません

デバイス名 (BLE / mDNS)

BLE アドバタイズ名と mDNS ホスト名のもとになります。空欄なら自動生成 (Stackchan-XXXXXX)。mDNS は英数字とハイフンに丸められます。保存後の再起動で反映。

パスワード認証

設定すると、BLE 設定ページ (これ) と WiFi 設定ページの両方で認証が必要に なります。BLE は暗号鍵にパスワードハッシュが混入するので、間違ったパスワード では全てのチャネルが復号失敗で動かなくなります。HTTP は Basic Auth。 クリアで認証なし (現状互換) に戻ります。保存後の再起動で反映。

顔の調整 (スライダー & ライブプレビュー)

スライダーを動かすと下のプレビューと、接続中は実機の顔がリアルタイムに 変化します(再起動不要)。気に入った設定を残すには「保存 & 再起動」を押してください (再起動して確定します)。

プレビュー読み込み中…

8.0
0
0
0
0
0
0
50
90
4
60
10.0
0
0

顔描画 DSL (構造ごと差し替え)

アバターの顔の描画ロジックを Lua 風 DSL で書いて、ブラウザ内でバイトコード化 → BLE 経由で実機に送信して即時反映します。NVS に保存されるので再起動後も維持。 文法ガイド / デフォルト顔ソース

DSL コンパイラ未起動

スピーカー音量

内蔵 / Module Audio / Atomic Echo Base すべての出力に効きます。 スライダーを動かすと 即時反映 + 自動保存 (再起動不要)。 100% = ボード ごとの工場既定値、200% でブースト (内部 master volume を 2 倍にして 255 で飽和)。

jtts 試し発話

ひらがな / カタカナで入力して「話す」ボタンを押すと jtts で読み上げます。 漢字や英字は変換されないので、フリガナを直接入力してください。 音量や音声出力の確認に便利。

sanoTTS-jp 音声モデル

機体が自分の 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 音声受信

Wi-Fi 経由の RTP 音声受信(L16/μ-law=udp/6970, AAC=udp/6972)。会話機能オン時は自動的に無効です

アイドル時の声 (jtts)

マイク リップシンク 調整 (動作モード = マイクリップシンク のとき有効)

マイク入力の音量に合わせて口を開閉します。CoreS3 はマイク感度が低めなので入力ゲインを上げると見栄えします。スライダーを動かすと 即時反映 + 自動保存します。

周辺の雑音レベルを自動追跡して、静かな部屋でも騒音下でも声に反応するよう感度を調整します。OFF にすると固定閾値で判定 (環境変化に弱いが予測しやすい)。保存後の再起動で反映されます。

jtts ボイス

空欄や変更なしで「保存」を押すと現在の設定は維持されます。

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 つ選んで話します (形式は上と同じ)。空なら吹き出しだけ出します。

音声ファイル再生 (BLE ストリーミング)

ローカルの音声ファイル (.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 タイムキーパー

本体の「LT」タブで開始/停止。ここでは既定時間と通知ワードを設定(書込で即反映、保存で再起動後も保持)。読みはひらがな(jtts は漢字を読めません)

会話プロバイダ・API キー

どの会話バックエンドを使うかを切り替えます。キー / 設定は下記すべてに保存できます。

タッチ操作

応答再生中にアバター画面 (頭) をタップで AI 応答を中断します。タッチ センサが敏感で誤動作しやすいので、初期値はオフです。なでなで (前→中→後の連続タッチ) は本トグルとは独立で常に有効です。保存後の再起動で反映されます。

デバイス機能の有効/無効

アバター画面の左上に残量ゲージを表示します(保存後の再起動で反映)

起動直後の C5–E5–G5(スピーカー動作確認音)を鳴らすかどうか。OFF にすると無音起動(保存後の再起動で反映)

無効にするとサーボ電源を入れず、サーボタスクも起動しません(保存後の再起動で反映)。操作画面の脱力/復帰トグルとは別物で、こちらは NVS に永続化されます。

サーボ原点・可動範囲 (Takao base 等の自作版向け)

サーボの取り付け向きや可動範囲はベース基板で異なります。原点(0..1023)と可動範囲(度)を 設定して「保存 & 再起動」で反映してください。既定は M5 base の値です。

範囲設定モードを ON にするとサーボの力が抜け、手で動かした位置を取り込めます。 中央位置で「Yaw 原点取込」、左端で「Yaw 最小取込」、右端で「Yaw 最大取込」を順にタップしてください。 取り込んだ値は上の入力欄に反映されます。最後に「保存 & 再起動」で確定します。

Yaw: -- (--°) Pitch: -- (--°)

ネコミミ LED

ネコミミ部 NeoPixel (GPIO9 / 18 LED) のモード・色・明るさを設定します。 変更は即時反映 + 自動で NVS に保存されるので再起動後も復元されます。 gradient (虹) モードでは色は無視されます。

アバターの口が開くと LED が反応します (会話再生・jtts 発話・マイク リップシンク いずれの口元アニメーションでも有効)。OFF のときは設定した明るさ で固定。保存後の再起動で反映されます。

ON のときの制御方式を選びます。「輝度」は口が開くほど LED 全体が明るくなる 従来動作。「レベル メーター」はネコミミの三角形 (LED1 = 底辺、LED5 = 頂点) を 5 段階のバー グラフとして点灯させます。保存後の再起動で反映されます。

Claude Code Channel (MCP) — トークン管理

設定されていれば /mcp/* HTTP API が有効化(Channel adapter から接続可)。空にすると /mcp/* は 404 を返します。保存後の再起動で反映されます

ファームウェア更新 (OTA)

GitHub Release から選ぶか、ローカルの build/stackchan_idf.bin を 選んで「書き込み」を押すと、暗号化された BLE 経由で新ファームを別パーティションに書き込み、 再起動します。成功後はブラウザ側で BLE が切断されるので、手動で再接続してください。

未開始

Chrome / Edge (デスクトップ) 133 以降 + file:// で動作します。 Firefox・Safari は Web Bluetooth 非対応です。
通信は接続ごとに X25519 + AES-256-GCM で暗号化されます(OS ペアリング不要)。