Implement the VAD agent #10

Merged
0950726 merged 9 commits from feat/vad-agent into dev 2025-10-29 08:15:25 +00:00

9 Commits

Author SHA1 Message Date
Twirre Meulenbelt
f73f510608 fix: make VAD unit tests work with minimal dependencies
By mocking PyTorch and ZMQ and adding the Numpy dependency.

ref: N25B-213
2025-10-28 18:13:00 +01:00
Twirre Meulenbelt
fd1facedd1 chore: update integration test run instructions
No longer `--only-group`, but `--group` so that it also uses the default dependencies.

ref: N25B-213
2025-10-28 15:00:51 +01:00
Twirre Meulenbelt
7a96920db5 Merge remote-tracking branch 'origin/dev' into feat/vad-agent 2025-10-28 14:55:10 +01:00
Twirre Meulenbelt
1cfefc8f8c fix: reduce debug log message amount when no audio received
Used to be every `timeout` time that we'd get the message that no audio data is received. Now only the first time since no data is received.

ref: N25B-213
2025-10-28 13:30:45 +01:00
Twirre Meulenbelt
833dd6c9d4 feat: allow no audio input while robot is speaking
The VAD agent will discard its current buffer and retry receiving data.

ref: N25B-213
2025-10-28 10:58:28 +01:00
Twirre Meulenbelt
a44df4781b Merge remote-tracking branch 'origin/dev' into feat/vad-agent
# Conflicts:
#	pyproject.toml
#	src/control_backend/main.py
#	uv.lock
2025-10-28 10:44:03 +01:00
Twirre Meulenbelt
d47074d091 test: complete VAD unit and integration tests
Including an integration test with real voice audio.

ref: N25B-213
2025-10-23 21:17:41 +02:00
Twirre Meulenbelt
ca5e59d029 test: add first unit test for VAD agent
Mocking audio input probabilities, checking whether it publishes audio data on the output socket.

ref: N25B-213
2025-10-23 17:40:47 +02:00
Twirre Meulenbelt
6391af883a feat: implement VAD agent
Listens to audio from the RI, does voice activity detection, sends voice fragments.

ref: N25B-213
2025-10-23 14:54:57 +02:00