[主说话人端点]:完成音色消失结束录音,包含临时音色画像、端点配置和回归测试
This commit is contained in:
@@ -33,7 +33,7 @@ from .protocols import AudioTransport, LlmProvider, SttProvider, TtsProvider, Wa
|
||||
from .stt import CloudAsrSttProvider, SherpaOnnxSttProvider, is_valid_transcript_text
|
||||
from .transport import SoundDeviceAudioTransport
|
||||
from .tts import CloudTtsProvider, MacSayTtsProvider, SentenceBuffer
|
||||
from .vad import EnergyVadProvider, HybridVadProvider, SherpaOnnxVadProvider, VadRecorder
|
||||
from .vad import EnergyVadProvider, HybridVadProvider, PrimarySpeakerVadRecorder, SherpaOnnxVadProvider, VadRecorder
|
||||
from .wakeword import SherpaOnnxKeywordWakeWordProvider
|
||||
|
||||
|
||||
@@ -345,6 +345,23 @@ def build_live_runtime(config: AppConfig, reporter: RuntimeReporter | None = Non
|
||||
vad_provider = SherpaOnnxVadProvider(config.speech_models_dir, threshold=config.vad_threshold)
|
||||
else:
|
||||
vad_provider = EnergyVadProvider()
|
||||
recorder_cls = PrimarySpeakerVadRecorder if config.endpoint_mode == "primary_speaker" else VadRecorder
|
||||
recorder_kwargs = {
|
||||
"provider": vad_provider,
|
||||
"min_duration_ms": config.vad_min_duration_ms,
|
||||
"end_silence_ms": config.vad_end_silence_ms,
|
||||
"no_speech_timeout_ms": config.vad_no_speech_timeout_ms,
|
||||
"max_recording_ms": config.vad_max_recording_ms,
|
||||
}
|
||||
if recorder_cls is PrimarySpeakerVadRecorder:
|
||||
recorder_kwargs.update(
|
||||
{
|
||||
"speaker_profile_ms": config.speaker_profile_ms,
|
||||
"speaker_absent_ms": config.speaker_absent_ms,
|
||||
"similarity_threshold": config.speaker_similarity_threshold,
|
||||
"min_rms": config.speaker_min_rms,
|
||||
}
|
||||
)
|
||||
return VoiceAssistantPipeline(
|
||||
config=config,
|
||||
transport=SoundDeviceAudioTransport(output_device=config.audio_output_device),
|
||||
@@ -355,13 +372,7 @@ def build_live_runtime(config: AppConfig, reporter: RuntimeReporter | None = Non
|
||||
threshold=config.wake_kws_threshold,
|
||||
score=config.wake_kws_score,
|
||||
),
|
||||
vad_recorder=VadRecorder(
|
||||
vad_provider,
|
||||
min_duration_ms=config.vad_min_duration_ms,
|
||||
end_silence_ms=config.vad_end_silence_ms,
|
||||
no_speech_timeout_ms=config.vad_no_speech_timeout_ms,
|
||||
max_recording_ms=config.vad_max_recording_ms,
|
||||
),
|
||||
vad_recorder=recorder_cls(**recorder_kwargs),
|
||||
stt=stt,
|
||||
llm=OpenAICompatibleLlmProvider(config),
|
||||
tts=tts,
|
||||
|
||||
Reference in New Issue
Block a user