- 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.
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
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)
|