6e83272c8e
Native ELF app (sibling to VoiceRecorder/ReynaBot). Mic/speaker via audio-stream + I2S (16kHz PCM) + websocket transport (lwip, cJSON). Defaults to Hermes WS ws://192.168.68.102:8642/api/esp32/voice/ws (voice profile) with Pipecat voice gateway ws://<mac>:7861 second target. Adapted from ReynaBot PTT + events (ready/listening/transcript/thinking/response_text/audio_start/audio_end/done). Cloned ReynaBot websocket.c/h as base.
1.1 KiB
1.1 KiB
PipecatVoice — Tactility native voice companion
Native ESP32 ELF app (like VoiceRecorder/ReynaBot), not a web client.
- Uses
audio-stream/i2s_controllerAPIs (see VoiceRecorder) for 16kHz PCM mic + speaker - Uses ReynaBot's
websocket.c/h+lwipfor WS transport - Default gateway: Hermes WS
ws://<mac>:8642/api/esp32/voice/ws(voice profile, limited tools, imperfect STT) - Optional second target: Pipecat websocket transport
ws://<mac>:7861(when server exposeswebsocketviacreate_transport)
Build:
unset PYTHONPATH; export IDF_PYTHON_ENV_PATH=~/.espressif/python_env/idf5.3_py3.9_env
. ~/esp/esp-idf/export.sh
export TACTILITY_SDK_PATH=~/Projects/electronics/tactility/tactility/Buildscripts/TactilitySDK # or firmware/release/TactilitySDK if built
$IDF_PYTHON_ENV_PATH/bin/python tactility.py Apps/PipecatVoice build esp32s3 --local-sdk
$IDF_PYTHON_ENV_PATH/bin/python tactility.py Apps/PipecatVoice install 192.168.68.112 esp32s3
Adapted from ReynaBot (PTT + I2S + WS JSON events: ready/listening/transcript/thinking/response_text/audio_start/audio_end/done/error).