Режим на детекторе речи вместо диаризации
Диаризация занимала 79 % времени, а её метку мы не используем: на записи с одним микрофоном голоса не расходятся, роли расставляет LLM по смыслу. Silero VAD решает единственную нужную задачу и делает это вчетверо быстрее. Замер на 205 минутах: x16 -> x60, слов на 1,8 % меньше. Семь записей из восьми в пределах +-4 %, на одной теряется 19 %. Отдельно найдено: max_speech_duration у Silero по умолчанию 20 с, и на таких кусках распознавание теряет текст. Снижение до 6 с даёт 6-8 п.п. полноты бесплатно. Диаризация сохранена настройкой diarize. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
b2bad9d8e6
commit
5d576dd3c4
@@ -314,7 +314,9 @@ class TestSeparationNeverBreaksJob:
|
||||
lambda *a: (_ for _ in ()).throw(RuntimeError("модель упала")))
|
||||
monkeypatch.setattr("app.pipeline.read_wav", lambda _: np.zeros(16000 * 3, dtype=np.float32))
|
||||
|
||||
result = p.transcribe(tmp_path / "any.wav")
|
||||
# Оценка разделения считается только при диаризации: в обычном режиме
|
||||
# запись режет детектор речи, и разделять по голосам нечего.
|
||||
result = p.transcribe(tmp_path / "any.wav", diarize=True)
|
||||
assert result["stats"]["separation_quality"] == 0.0
|
||||
assert result["turns"] # расшифровка на месте
|
||||
|
||||
|
||||
Reference in New Issue
Block a user