feat(voice): add on-device Miao Zhang Gui wake word
Add an optional local wake response prompt configuration. The prompt asset is intentionally not included yet.
This commit is contained in:
+113
-3
@@ -879,6 +879,99 @@ menu "Example Configuration"
|
||||
help
|
||||
Leave disabled for the default active-low Button 2 wiring.
|
||||
|
||||
config TQ_LOCAL_WAKE_ENABLE
|
||||
bool "Enable local wake-word listener"
|
||||
default y
|
||||
help
|
||||
Use the on-device Chinese MultiNet model to detect 喵掌柜.
|
||||
The physical PTT button remains enabled as a parallel entry.
|
||||
|
||||
config TQ_LOCAL_WAKE_RESPONSE_PROMPT_ENABLE
|
||||
bool "Enable local wake response prompt"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default n
|
||||
help
|
||||
Play a short acknowledgement after 喵掌柜 is detected and
|
||||
before the normal single-turn dialog starts. Keep disabled
|
||||
until the placeholder Opus asset has been supplied.
|
||||
|
||||
config TQ_LOCAL_WAKE_RESPONSE_PROMPT_FILE
|
||||
string "Local wake response prompt file"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default "/littlefs/audio_prompts/local_wake_response.opus"
|
||||
help
|
||||
Reserved LittleFS path for the future wake acknowledgement.
|
||||
Add local_wake_response.opus under
|
||||
components/platform/assets/audio_prompts before enabling it.
|
||||
|
||||
config TQ_LOCAL_WAKE_RETRY_MS
|
||||
int "Local wake startup retry delay (ms)"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 5000
|
||||
range 500 60000
|
||||
|
||||
config TQ_LOCAL_WAKE_STOP_WAIT_MS
|
||||
int "Local wake lifecycle wait (ms)"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 1000
|
||||
range 100 5000
|
||||
|
||||
config TQ_LOCAL_WAKE_TASK_STACK_BYTES
|
||||
int "Local wake control task stack (bytes)"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 6144
|
||||
range 4096 32768
|
||||
|
||||
config TQ_LOCAL_WAKE_TASK_PRIORITY
|
||||
int "Local wake control task priority"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 4
|
||||
range 1 10
|
||||
|
||||
config TQ_LOCAL_WAKE_TASK_CORE
|
||||
int "Local wake control task core (-1 for no affinity)"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 0
|
||||
range -1 1
|
||||
|
||||
config TQ_LOCAL_COMMAND_TASK_STACK_BYTES
|
||||
int "MultiNet inference task stack (bytes)"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 8192
|
||||
range 6144 32768
|
||||
|
||||
config TQ_LOCAL_COMMAND_TASK_PRIORITY
|
||||
int "MultiNet inference task priority"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 7
|
||||
range 1 10
|
||||
|
||||
config TQ_LOCAL_COMMAND_TASK_CORE
|
||||
int "MultiNet inference task core (-1 for no affinity)"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 0
|
||||
range -1 1
|
||||
|
||||
config TQ_LOCAL_COMMAND_CONTROL_TIMEOUT_MS
|
||||
int "MultiNet control acknowledgement timeout (ms)"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 1000
|
||||
range 100 5000
|
||||
|
||||
config TQ_LOCAL_COMMAND_DETECTION_TIMEOUT_MS
|
||||
int "MultiNet utterance detection timeout (ms)"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 6000
|
||||
range 1000 15000
|
||||
|
||||
config TQ_LOCAL_COMMAND_DETECTION_THRESHOLD_X10000
|
||||
int "MultiNet detection threshold (x10000)"
|
||||
depends on TQ_LOCAL_WAKE_ENABLE
|
||||
default 1200
|
||||
range 1 9999
|
||||
help
|
||||
Initial threshold is 0.12 and must be tuned with device audio.
|
||||
|
||||
config MULTIMODAL_HEARTBEAT_INTERVAL_MS
|
||||
int "Heartbeat interval (ms)"
|
||||
default 50000
|
||||
@@ -966,10 +1059,11 @@ menu "Example Configuration"
|
||||
|
||||
config MULTIMODAL_AUDIO_CODEC_CHANNELS
|
||||
int "Codec channels"
|
||||
default 1
|
||||
range 1 1
|
||||
default 2
|
||||
range 2 2
|
||||
help
|
||||
Fixed at 1 for the raw-opus 16kHz mono voice contract.
|
||||
Two physical ES8311 slots are captured: microphone and DAC
|
||||
playback reference. The external Opus contract remains mono.
|
||||
|
||||
config MULTIMODAL_AUDIO_CODEC_BITS_PER_SAMPLE
|
||||
int "Codec bits per sample"
|
||||
@@ -1051,6 +1145,22 @@ menu "Example Configuration"
|
||||
speech. Use 0 for the default left/first channel, or 1 if
|
||||
level logs show speech energy on raw_ch1 instead of raw_ch0.
|
||||
|
||||
config MULTIMODAL_AUDIO_AEC_REFERENCE_CHANNEL
|
||||
int "AEC playback reference channel"
|
||||
default 1
|
||||
range 0 1
|
||||
help
|
||||
Interleaved ES8311 slot carrying the DAC playback reference.
|
||||
It must differ from the microphone channel.
|
||||
|
||||
config MULTIMODAL_AUDIO_AEC_FILTER_LENGTH
|
||||
int "AEC filter length"
|
||||
default 4
|
||||
range 1 8
|
||||
help
|
||||
ESP-SR synchronous AEC filter length. Four is the recommended
|
||||
starting point for ESP32-S3.
|
||||
|
||||
config MULTIMODAL_AUDIO_LOG_UPLINK_LEVELS
|
||||
bool "Log microphone uplink audio levels"
|
||||
default n
|
||||
|
||||
Reference in New Issue
Block a user