This commit is contained in:
Xin Wang
2026-02-09 16:05:06 +08:00

View File

@@ -13,23 +13,24 @@ event-driven design.
import asyncio
import time
from typing import Optional, Callable, Awaitable, Dict, Any
from typing import Any, Dict, Optional
import numpy as np
from loguru import logger
from core.transports import BaseTransport
from app.config import settings
from core.conversation import ConversationManager, ConversationState
from core.events import get_event_bus
from processors.vad import VADProcessor, SileroVAD
from processors.eou import EouDetector
from services.base import BaseLLMService, BaseTTSService, BaseASRService
from services.llm import OpenAILLMService, MockLLMService
from services.tts import EdgeTTSService, MockTTSService
from services.asr import BufferedASRService
from services.siliconflow_tts import SiliconFlowTTSService
from services.siliconflow_asr import SiliconFlowASRService
from app.config import settings
from core.transports import BaseTransport
from models.ws_v1 import ev
from processors.eou import EouDetector
from processors.vad import SileroVAD, VADProcessor
from services.asr import BufferedASRService
from services.base import BaseASRService, BaseLLMService, BaseTTSService
from services.llm import MockLLMService, OpenAILLMService
from services.siliconflow_asr import SiliconFlowASRService
from services.siliconflow_tts import SiliconFlowTTSService
from services.tts import EdgeTTSService, MockTTSService
class DuplexPipeline:
@@ -693,6 +694,7 @@ class DuplexPipeline:
return
logger.info(f"[TTS] split sentence: {text!r}")
try:
is_first_chunk = True
async for chunk in self.tts_service.synthesize_stream(text):