Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

呼びかけの言葉(wake word)で聞き取りを始め、話し終わりで止める

Ouverte
#11 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
go
Domaine
embedded-iot

Piste de recherche

Start with docs/avatar-build-wsl.md to check whether its v1.8 firmware build steps still work for v1.17, and inspect the firmware’s on_vad_change handling and StopListening() path. Verify whether esp-sr ~2.3.0 includes wn9l_histackchan_tts3, then evaluate wake word recognition, voice activity timeout behavior, and the listed transcription and false-trigger concerns. Done means choosing and implementing a firmware approach that starts listening by wake word and stops after speech ends, with a defined timeout.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement

やりたいこと

画面をタップせずに、呼びかけの言葉(wake word)で音声コマンドを聞いてもらう。Amazon Echo の「アレクサ」のような使い方にする。

今の動き(2026-10-22 に実機で確認)

  • プリビルドのファーム(stackchan-mcp)は、ESP32-S3 で WakeNet を有効にしてビルドされている。言葉は中国語の「你好小智(ニーハオ・シャオジー)」(sdkconfig.defaults.esp32s3 の CONFIG_SR_WN_WN9_NIHAOXIAOZHI_TTS)。
  • 「ニーハオシャオジー」と話しかけると、本体は聞き取りを始めた。ただし、画面をタップするまで聞き取りが終わらなかった。

聞き取りが終わらない理由

  • wake word で始まった聞き取りは自動終了のモード(kListeningModeAutoStop)になる。xiaozhi では、話し終わりを判定して聞き取りを止めるのはサーバーの役目。
  • stackchan-mcp の gateway は、本体が始めた聞き取りでは本体からの listen の stop を待つだけで、話し終わりを判定しない。止める命令を送るツールも無いので、daemon からも止められない。
  • 止まるのは画面のタップか、タップで始めた聞き取り用の 30 秒の安全装置(upstream の kisaragi-mochi/stackchan-mcp#233。wake word の聞き取りにも働く)だけ。

案(どちらもファームのビルドが要る)

  • 呼びかけの言葉を「Hi, Stack Chan」にする。esp-sr に wn9l_histackchan_tts3(CONFIG_SR_WN_WN9L_HISTACKCHAN_TTS3)がある。ファームが使う esp-sr(~2.3.0)に含まれているかは、ビルドで確かめる。
    • 日本語のモデルは「こんにちは ESP」「アイリス」だけで、esp-sr 2.5 以降にしか無い。好きな言葉を設定できる MultiNet は中国語と英語だけ。
  • 話し終わりで聞き取りを止める。本体の AFE はすでに声の有無を判定している(on_vad_change。今は LED を変えるだけ)。自動終了のモードで、声が出たあと 1 秒ほど途切れたら StopListening() を呼ぶ。上限の時間(10 秒など)も設ける。
  • gateway で判定する方法もあるが、gateway は改造しない方針なので採らない。

検討すること

  • ビルドの手順: docs/avatar-build-wsl.md は v1.8 のもの。今の v1.17 で同じ手順が通るか。書き込みはアプリ(0x20000)だけにして、NVS を残す。
  • 文字起こしの先頭に呼びかけの言葉が入る(SEND_WAKE_WORD_DATA が既定で有効)。照合は部分一致なので大きな問題は無いはずだが、精度への影響を試す。無効にするかも決める。
  • テレビや動画の音声での誤反応。夜の睡眠中は wake word を止めるか(タッチセンサーと同じく)。
  • 話している最中に wake word を聞くと発話が止まる(AbortSpeaking)。#8(読み上げの途中で止める)の手段にも使えるか。
  • 話し終わりの判定は upstream に提案できる内容。提案するかは別に決める。
Langage dominant
Go
Étoiles
1
Forks
0
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de kan/stackchan-cli

Toutes les issues de kan/stackchan-cli

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.