diff --git a/vocode/models/transcriber.py b/vocode/models/transcriber.py index 190a1f3..87a0fe7 100644 --- a/vocode/models/transcriber.py +++ b/vocode/models/transcriber.py @@ -4,12 +4,14 @@ from .audio_encoding import AudioEncoding from .model import TypedModel from ..input_device.base_input_device import BaseInputDevice + class TranscriberType(str, Enum): BASE = "base" DEEPGRAM = "deepgram" GOOGLE = "google" ASSEMBLY_AI = "assembly_ai" + class TranscriberConfig(TypedModel, type=TranscriberType.BASE): sampling_rate: int audio_encoding: AudioEncoding @@ -20,16 +22,20 @@ class TranscriberConfig(TypedModel, type=TranscriberType.BASE): return cls( sampling_rate=input_device.sampling_rate, audio_encoding=input_device.audio_encoding, - chunk_size=input_device.chunk_size) + chunk_size=input_device.chunk_size, + ) + class DeepgramTranscriberConfig(TranscriberConfig, type=TranscriberType.DEEPGRAM): model: Optional[str] = None should_warmup_model: bool = False version: Optional[str] = None + class GoogleTranscriberConfig(TranscriberConfig, type=TranscriberType.GOOGLE): model: Optional[str] = None should_warmup_model: bool = False + class AssemblyAITranscriberConfig(TranscriberConfig, type=TranscriberType.ASSEMBLY_AI): - should_warmup_model: bool = False \ No newline at end of file + should_warmup_model: bool = False