Skip to content

Commit 239addb

Browse files
authored
Fix default factory for elevenlabs WS (#12)
* dispatch into elvenlabsws if experimental_websocket is on * fix mypy
1 parent e1f6fbd commit 239addb

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

vocode/streaming/synthesizer/default_factory.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import Type
12
from vocode.streaming.models.synthesizer import (
23
AzureSynthesizerConfig,
34
ElevenLabsSynthesizerConfig,
@@ -8,7 +9,9 @@
89
)
910
from vocode.streaming.synthesizer.abstract_factory import AbstractSynthesizerFactory
1011
from vocode.streaming.synthesizer.azure_synthesizer import AzureSynthesizer
12+
from vocode.streaming.synthesizer.base_synthesizer import BaseSynthesizer
1113
from vocode.streaming.synthesizer.eleven_labs_synthesizer import ElevenLabsSynthesizer
14+
from vocode.streaming.synthesizer.eleven_labs_websocket_synthesizer import ElevenLabsWSSynthesizer
1215
from vocode.streaming.synthesizer.play_ht_synthesizer import PlayHtSynthesizer
1316
from vocode.streaming.synthesizer.play_ht_synthesizer_v2 import PlayHtSynthesizerV2
1417
from vocode.streaming.synthesizer.rime_synthesizer import RimeSynthesizer
@@ -23,7 +26,10 @@ def create_synthesizer(
2326
if isinstance(synthesizer_config, AzureSynthesizerConfig):
2427
return AzureSynthesizer(synthesizer_config)
2528
elif isinstance(synthesizer_config, ElevenLabsSynthesizerConfig):
26-
return ElevenLabsSynthesizer(synthesizer_config)
29+
eleven_labs_synthesizer_class_type: Type[BaseSynthesizer] = ElevenLabsSynthesizer
30+
if synthesizer_config.experimental_websocket:
31+
eleven_labs_synthesizer_class_type = ElevenLabsWSSynthesizer
32+
return eleven_labs_synthesizer_class_type(synthesizer_config)
2733
elif isinstance(synthesizer_config, PlayHtSynthesizerConfig):
2834
if synthesizer_config.version == "2":
2935
return PlayHtSynthesizerV2(synthesizer_config)

0 commit comments

Comments
 (0)