feat: implement transcriber agent

Uses speech fragments of the VAD agent, emits transcribed text over SPADE's default communication channel to no recipient for now.

ref: N25B-209
This commit is contained in:
Twirre Meulenbelt
2025-10-28 21:57:25 +01:00
parent 7085719d2f
commit 2bb008994b
5 changed files with 138 additions and 1 deletions

View File

@@ -7,6 +7,7 @@ import zmq.asyncio as azmq
from spade.agent import Agent
from spade.behaviour import CyclicBehaviour
from control_backend.agents.transcription import TranscriptionAgent
from control_backend.core.config import settings
from control_backend.core.zmq_context import context as zmq_context
@@ -145,10 +146,13 @@ class VADAgent(Agent):
if audio_out_port is None:
await self.stop()
return
audio_out_address = f"tcp://localhost:{audio_out_port}"
streaming = Streaming(self.audio_in_socket, self.audio_out_socket)
self.add_behaviour(streaming)
# ... start agents dependent on the output audio fragments here
# Start agents dependent on the output audio fragments here
transcriber = TranscriptionAgent(audio_out_address)
await transcriber.start()
logger.info("Finished setting up %s", self.jid)