From bfed42c3b3f9902e05a582aab404cbe0ed72feaf Mon Sep 17 00:00:00 2001 From: valenti Date: Sat, 17 Oct 2026 15:49:20 +0100 Subject: [PATCH] step2 --- .env.example | 187 ++++++- .gitignore | 2 + README.md | 675 +++++++++++++++++++++++--- UPDATES.md | 807 +++++++++++++++++++++++++++++++ assets/backchannel/aja.raw | Bin 45056 -> 0 bytes assets/backchannel/claro.raw | Bin 53248 -> 0 bytes assets/backchannel/en/bc01.raw | Bin 0 -> 61440 bytes assets/backchannel/en/bc02.raw | Bin 0 -> 49152 bytes assets/backchannel/en/bc03.raw | Bin 0 -> 53248 bytes assets/backchannel/en/bc04.raw | Bin 0 -> 69632 bytes assets/backchannel/en/bc05.raw | Bin 0 -> 118784 bytes assets/backchannel/en/bc06.raw | Bin 0 -> 45056 bytes assets/backchannel/en/bc07.raw | Bin 0 -> 65536 bytes assets/backchannel/en/bc08.raw | Bin 0 -> 126976 bytes assets/backchannel/en/texts.txt | 8 + assets/backchannel/es/bc01.raw | Bin 0 -> 86016 bytes assets/backchannel/es/bc02.raw | Bin 0 -> 53248 bytes assets/backchannel/es/bc03.raw | Bin 0 -> 49152 bytes assets/backchannel/es/bc04.raw | Bin 0 -> 57344 bytes assets/backchannel/es/bc05.raw | Bin 0 -> 69632 bytes assets/backchannel/es/bc06.raw | Bin 0 -> 77824 bytes assets/backchannel/es/bc07.raw | Bin 0 -> 57344 bytes assets/backchannel/es/bc08.raw | Bin 0 -> 106496 bytes assets/backchannel/es/texts.txt | 8 + assets/backchannel/it/bc01.raw | Bin 0 -> 106496 bytes assets/backchannel/it/bc02.raw | Bin 0 -> 65536 bytes assets/backchannel/it/bc03.raw | Bin 0 -> 65536 bytes assets/backchannel/it/bc04.raw | Bin 0 -> 73728 bytes assets/backchannel/it/bc05.raw | Bin 0 -> 118784 bytes assets/backchannel/it/bc06.raw | Bin 0 -> 90112 bytes assets/backchannel/it/bc07.raw | Bin 0 -> 69632 bytes assets/backchannel/it/bc08.raw | Bin 0 -> 176128 bytes assets/backchannel/it/texts.txt | 8 + assets/backchannel/mmhmm.raw | Bin 57344 -> 0 bytes assets/backchannel/yaveo.raw | Bin 94208 -> 0 bytes assets/fillers/aver.raw | Bin 49152 -> 0 bytes assets/fillers/bueno.raw | Bin 49152 -> 0 bytes assets/fillers/eh.raw | Bin 40960 -> 0 bytes assets/fillers/en/fl01.raw | Bin 0 -> 73728 bytes assets/fillers/en/fl02.raw | Bin 0 -> 57344 bytes assets/fillers/en/fl03.raw | Bin 0 -> 57344 bytes assets/fillers/en/fl04.raw | Bin 0 -> 45056 bytes assets/fillers/en/fl05.raw | Bin 0 -> 94208 bytes assets/fillers/en/fl06.raw | Bin 0 -> 57344 bytes assets/fillers/en/fl07.raw | Bin 0 -> 57344 bytes assets/fillers/en/texts.txt | 7 + assets/fillers/es/aver.raw | Bin 0 -> 49152 bytes assets/fillers/es/bueno.raw | Bin 0 -> 57344 bytes assets/fillers/es/eh.raw | Bin 0 -> 65536 bytes assets/fillers/es/mmm.raw | Bin 0 -> 86016 bytes assets/fillers/es/pues.raw | Bin 0 -> 77824 bytes assets/fillers/es/uhm.raw | Bin 0 -> 61440 bytes assets/fillers/es/vaya.raw | Bin 0 -> 57344 bytes assets/fillers/it/fl01.raw | Bin 0 -> 61440 bytes assets/fillers/it/fl02.raw | Bin 0 -> 86016 bytes assets/fillers/it/fl03.raw | Bin 0 -> 65536 bytes assets/fillers/it/fl04.raw | Bin 0 -> 69632 bytes assets/fillers/it/fl05.raw | Bin 0 -> 61440 bytes assets/fillers/it/fl06.raw | Bin 0 -> 90112 bytes assets/fillers/it/fl07.raw | Bin 0 -> 61440 bytes assets/fillers/it/texts.txt | 7 + assets/fillers/mmm.raw | Bin 57344 -> 0 bytes assets/fillers/pues.raw | Bin 40960 -> 0 bytes assets/fillers/uhm.raw | Bin 65536 -> 0 bytes assets/fillers/vaya.raw | Bin 53248 -> 0 bytes assets/start_filler/en/sf01.raw | Bin 0 -> 69632 bytes assets/start_filler/en/sf02.raw | Bin 0 -> 77824 bytes assets/start_filler/en/sf03.raw | Bin 0 -> 249856 bytes assets/start_filler/en/texts.txt | 3 + assets/start_filler/es/sf01.raw | Bin 0 -> 81920 bytes assets/start_filler/es/sf02.raw | Bin 0 -> 135168 bytes assets/start_filler/es/sf03.raw | Bin 0 -> 118784 bytes assets/start_filler/es/sf04.raw | Bin 0 -> 180224 bytes assets/start_filler/es/sf05.raw | Bin 0 -> 1466368 bytes assets/start_filler/es/sf06.raw | Bin 0 -> 126976 bytes assets/start_filler/es/sf07.raw | Bin 0 -> 192512 bytes assets/start_filler/es/sf08.raw | Bin 0 -> 274432 bytes assets/start_filler/es/sf09.raw | Bin 0 -> 303104 bytes assets/start_filler/es/sf10.raw | Bin 0 -> 200704 bytes assets/start_filler/es/sf11.raw | Bin 0 -> 126976 bytes assets/start_filler/es/sf12.raw | Bin 0 -> 229376 bytes assets/start_filler/es/sf13.raw | Bin 0 -> 131072 bytes assets/start_filler/es/sf14.raw | Bin 0 -> 245760 bytes assets/start_filler/es/sf15.raw | Bin 0 -> 163840 bytes assets/start_filler/es/sf16.raw | Bin 0 -> 229376 bytes assets/start_filler/es/sf17.raw | Bin 0 -> 159744 bytes assets/start_filler/es/sf18.raw | Bin 0 -> 184320 bytes assets/start_filler/es/sf19.raw | Bin 0 -> 200704 bytes assets/start_filler/es/sf20.raw | Bin 0 -> 196608 bytes assets/start_filler/es/sf21.raw | Bin 0 -> 471040 bytes assets/start_filler/es/sf22.raw | Bin 0 -> 225280 bytes assets/start_filler/es/texts.txt | 22 + assets/start_filler/it/sf01.raw | Bin 0 -> 73728 bytes assets/start_filler/it/sf02.raw | Bin 0 -> 102400 bytes assets/start_filler/it/sf03.raw | Bin 0 -> 196608 bytes assets/start_filler/it/texts.txt | 3 + measure_tts.py | 169 +++++++ piperust-start.sh | 4 + pm2-piperust.sh | 2 + run/listen_test.wav | Bin 0 -> 1830956 bytes run/long_chunked.wav | Bin 0 -> 2215980 bytes run/long_probe.wav | Bin 0 -> 2187308 bytes run/long_single.wav | Bin 0 -> 2125868 bytes run/ov16_chunked.wav | Bin 0 -> 2191404 bytes run/ov16_single.wav | Bin 0 -> 2175020 bytes run/server.pid | 1 - server.sh | 9 +- src/assets.rs | 224 ++++++++- src/audio/mixer.rs | 111 ++++- src/audit.rs | 295 +++++++++++ src/config.rs | 232 ++++++++- src/lang.rs | 433 +++++++++++++++++ src/llm.rs | 102 +++- src/main.rs | 78 ++- src/media.rs | 353 ++++++++++++++ src/orchestrator/backchannel.rs | 443 ++++++++++++++++- src/orchestrator/turn_manager.rs | 505 ++++++++++++++++--- src/tools.rs | 475 ++++++++++++++++++ src/tts/fish_audio.rs | 59 ++- src/vad/silero.rs | 11 + src/web/mivocero.html | 368 ++++++++++++++ src/ws/handler.rs | 3 + src/ws/session.rs | 244 +++++++++- tools.example.json | 37 ++ 124 files changed, 5646 insertions(+), 249 deletions(-) delete mode 100644 assets/backchannel/aja.raw delete mode 100644 assets/backchannel/claro.raw create mode 100644 assets/backchannel/en/bc01.raw create mode 100644 assets/backchannel/en/bc02.raw create mode 100644 assets/backchannel/en/bc03.raw create mode 100644 assets/backchannel/en/bc04.raw create mode 100644 assets/backchannel/en/bc05.raw create mode 100644 assets/backchannel/en/bc06.raw create mode 100644 assets/backchannel/en/bc07.raw create mode 100644 assets/backchannel/en/bc08.raw create mode 100644 assets/backchannel/en/texts.txt create mode 100644 assets/backchannel/es/bc01.raw create mode 100644 assets/backchannel/es/bc02.raw create mode 100644 assets/backchannel/es/bc03.raw create mode 100644 assets/backchannel/es/bc04.raw create mode 100644 assets/backchannel/es/bc05.raw create mode 100644 assets/backchannel/es/bc06.raw create mode 100644 assets/backchannel/es/bc07.raw create mode 100644 assets/backchannel/es/bc08.raw create mode 100644 assets/backchannel/es/texts.txt create mode 100644 assets/backchannel/it/bc01.raw create mode 100644 assets/backchannel/it/bc02.raw create mode 100644 assets/backchannel/it/bc03.raw create mode 100644 assets/backchannel/it/bc04.raw create mode 100644 assets/backchannel/it/bc05.raw create mode 100644 assets/backchannel/it/bc06.raw create mode 100644 assets/backchannel/it/bc07.raw create mode 100644 assets/backchannel/it/bc08.raw create mode 100644 assets/backchannel/it/texts.txt delete mode 100644 assets/backchannel/mmhmm.raw delete mode 100644 assets/backchannel/yaveo.raw delete mode 100644 assets/fillers/aver.raw delete mode 100644 assets/fillers/bueno.raw delete mode 100644 assets/fillers/eh.raw create mode 100644 assets/fillers/en/fl01.raw create mode 100644 assets/fillers/en/fl02.raw create mode 100644 assets/fillers/en/fl03.raw create mode 100644 assets/fillers/en/fl04.raw create mode 100644 assets/fillers/en/fl05.raw create mode 100644 assets/fillers/en/fl06.raw create mode 100644 assets/fillers/en/fl07.raw create mode 100644 assets/fillers/en/texts.txt create mode 100644 assets/fillers/es/aver.raw create mode 100644 assets/fillers/es/bueno.raw create mode 100644 assets/fillers/es/eh.raw create mode 100644 assets/fillers/es/mmm.raw create mode 100644 assets/fillers/es/pues.raw create mode 100644 assets/fillers/es/uhm.raw create mode 100644 assets/fillers/es/vaya.raw create mode 100644 assets/fillers/it/fl01.raw create mode 100644 assets/fillers/it/fl02.raw create mode 100644 assets/fillers/it/fl03.raw create mode 100644 assets/fillers/it/fl04.raw create mode 100644 assets/fillers/it/fl05.raw create mode 100644 assets/fillers/it/fl06.raw create mode 100644 assets/fillers/it/fl07.raw create mode 100644 assets/fillers/it/texts.txt delete mode 100644 assets/fillers/mmm.raw delete mode 100644 assets/fillers/pues.raw delete mode 100644 assets/fillers/uhm.raw delete mode 100644 assets/fillers/vaya.raw create mode 100644 assets/start_filler/en/sf01.raw create mode 100644 assets/start_filler/en/sf02.raw create mode 100644 assets/start_filler/en/sf03.raw create mode 100644 assets/start_filler/en/texts.txt create mode 100644 assets/start_filler/es/sf01.raw create mode 100644 assets/start_filler/es/sf02.raw create mode 100644 assets/start_filler/es/sf03.raw create mode 100644 assets/start_filler/es/sf04.raw create mode 100644 assets/start_filler/es/sf05.raw create mode 100644 assets/start_filler/es/sf06.raw create mode 100644 assets/start_filler/es/sf07.raw create mode 100644 assets/start_filler/es/sf08.raw create mode 100644 assets/start_filler/es/sf09.raw create mode 100644 assets/start_filler/es/sf10.raw create mode 100644 assets/start_filler/es/sf11.raw create mode 100644 assets/start_filler/es/sf12.raw create mode 100644 assets/start_filler/es/sf13.raw create mode 100644 assets/start_filler/es/sf14.raw create mode 100644 assets/start_filler/es/sf15.raw create mode 100644 assets/start_filler/es/sf16.raw create mode 100644 assets/start_filler/es/sf17.raw create mode 100644 assets/start_filler/es/sf18.raw create mode 100644 assets/start_filler/es/sf19.raw create mode 100644 assets/start_filler/es/sf20.raw create mode 100644 assets/start_filler/es/sf21.raw create mode 100644 assets/start_filler/es/sf22.raw create mode 100644 assets/start_filler/es/texts.txt create mode 100644 assets/start_filler/it/sf01.raw create mode 100644 assets/start_filler/it/sf02.raw create mode 100644 assets/start_filler/it/sf03.raw create mode 100644 assets/start_filler/it/texts.txt create mode 100644 measure_tts.py create mode 100755 piperust-start.sh create mode 100755 pm2-piperust.sh create mode 100644 run/listen_test.wav create mode 100644 run/long_chunked.wav create mode 100644 run/long_probe.wav create mode 100644 run/long_single.wav create mode 100644 run/ov16_chunked.wav create mode 100644 run/ov16_single.wav delete mode 100644 run/server.pid create mode 100644 src/audit.rs create mode 100644 src/lang.rs create mode 100644 src/media.rs create mode 100644 src/tools.rs create mode 100644 tools.example.json diff --git a/.env.example b/.env.example index 0e0f312..fcdf77c 100644 --- a/.env.example +++ b/.env.example @@ -20,6 +20,25 @@ TTS_REFERENCE_AUDIO=/root/pipecat-voice/voice_profiles/solis.wav # otherwise the raw string is used. Leave empty to auto-load