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:
@@ -71,11 +71,15 @@ class Settings(BaseSettings):
|
||||
# TTS Configuration
|
||||
tts_provider: str = Field(
|
||||
default="openai_compatible",
|
||||
description="TTS provider (openai_compatible, siliconflow, dashscope)"
|
||||
description="TTS provider (openai_compatible, siliconflow, dashscope, volcengine)"
|
||||
)
|
||||
tts_api_url: Optional[str] = Field(default=None, description="TTS provider API URL")
|
||||
tts_model: Optional[str] = Field(default=None, description="TTS model name")
|
||||
tts_voice: str = Field(default="anna", description="TTS voice name")
|
||||
tts_app_id: Optional[str] = Field(default=None, description="Provider-specific TTS app ID")
|
||||
tts_resource_id: Optional[str] = Field(default=None, description="Provider-specific TTS resource ID")
|
||||
tts_cluster: Optional[str] = Field(default=None, description="Provider-specific TTS cluster")
|
||||
tts_uid: Optional[str] = Field(default=None, description="Provider-specific TTS user ID")
|
||||
tts_mode: str = Field(
|
||||
default="commit",
|
||||
description="DashScope-only TTS mode (commit, server_commit). Ignored for non-dashscope providers."
|
||||
@@ -85,10 +89,18 @@ class Settings(BaseSettings):
|
||||
# ASR Configuration
|
||||
asr_provider: str = Field(
|
||||
default="openai_compatible",
|
||||
description="ASR provider (openai_compatible, buffered, siliconflow, dashscope)"
|
||||
description="ASR provider (openai_compatible, buffered, siliconflow, dashscope, volcengine)"
|
||||
)
|
||||
asr_api_url: Optional[str] = Field(default=None, description="ASR provider API URL")
|
||||
asr_model: Optional[str] = Field(default=None, description="ASR model name")
|
||||
asr_app_id: Optional[str] = Field(default=None, description="Provider-specific ASR app ID")
|
||||
asr_resource_id: Optional[str] = Field(default=None, description="Provider-specific ASR resource ID")
|
||||
asr_cluster: Optional[str] = Field(default=None, description="Provider-specific ASR cluster")
|
||||
asr_uid: Optional[str] = Field(default=None, description="Provider-specific ASR user ID")
|
||||
asr_request_params_json: Optional[str] = Field(
|
||||
default=None,
|
||||
description="Provider-specific ASR request params as JSON string"
|
||||
)
|
||||
asr_enable_interim: bool = Field(default=False, description="Enable interim transcripts for offline ASR")
|
||||
asr_interim_interval_ms: int = Field(default=500, description="Interval for interim ASR results in ms")
|
||||
asr_min_audio_ms: int = Field(default=300, description="Minimum audio duration before first ASR result")
|
||||
|
||||
Reference in New Issue
Block a user