Add Volcengine support for TTS and ASR services
- Introduced Volcengine as a new provider for both TTS and ASR services. - Updated configuration files to include Volcengine-specific parameters such as app_id, resource_id, and uid. - Enhanced the ASR service to support streaming mode with Volcengine's API. - Modified existing tests to validate the integration of Volcengine services. - Updated documentation to reflect the addition of Volcengine as a supported provider for TTS and ASR. - Refactored service factory to accommodate Volcengine alongside existing providers.
This commit is contained in:
45
engine/tests/test_tts_factory_modes.py
Normal file
45
engine/tests/test_tts_factory_modes.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from providers.factory.default import DefaultRealtimeServiceFactory
|
||||
from providers.tts.mock import MockTTSService
|
||||
from providers.tts.openai_compatible import OpenAICompatibleTTSService
|
||||
from providers.tts.volcengine import VolcengineTTSService
|
||||
from runtime.ports import TTSServiceSpec
|
||||
|
||||
|
||||
def test_create_tts_service_volcengine_returns_native_provider():
|
||||
factory = DefaultRealtimeServiceFactory()
|
||||
service = factory.create_tts_service(
|
||||
TTSServiceSpec(
|
||||
provider="volcengine",
|
||||
api_key="test-key",
|
||||
app_id="app-1",
|
||||
resource_id="seed-tts-2.0",
|
||||
voice="zh_female_shuangkuaisisi_moon_bigtts",
|
||||
sample_rate=16000,
|
||||
)
|
||||
)
|
||||
assert isinstance(service, VolcengineTTSService)
|
||||
|
||||
|
||||
def test_create_tts_service_openai_compatible_returns_provider():
|
||||
factory = DefaultRealtimeServiceFactory()
|
||||
service = factory.create_tts_service(
|
||||
TTSServiceSpec(
|
||||
provider="openai_compatible",
|
||||
api_key="test-key",
|
||||
voice="anna",
|
||||
sample_rate=16000,
|
||||
)
|
||||
)
|
||||
assert isinstance(service, OpenAICompatibleTTSService)
|
||||
|
||||
|
||||
def test_create_tts_service_fallbacks_to_mock_without_key():
|
||||
factory = DefaultRealtimeServiceFactory()
|
||||
service = factory.create_tts_service(
|
||||
TTSServiceSpec(
|
||||
provider="volcengine",
|
||||
voice="anna",
|
||||
sample_rate=16000,
|
||||
)
|
||||
)
|
||||
assert isinstance(service, MockTTSService)
|
||||
Reference in New Issue
Block a user