Speech
pyannote
Open-source Python-библиотека для диаризации и сегментации речи, лидер по качеству среди open-source решений.
Что такое pyannote.audio
pyannote.audio — Python-библиотека с открытым исходным кодом для задач обработки речи: диаризация спикеров, сегментация, VAD, speaker embedding. Разработана командой Herv Bredin и широко используется в academia и production.
Основана на PyTorch. Предобученные модели доступны через Hugging Face Hub.
Установка и базовое использование
pip install pyannote.audio
from pyannote.audio import Pipeline
# Загрузить предобученный pipeline диаризации
pipeline = Pipeline.from_pretrained(
"pyannote/speaker-diarization-3.1",
use_auth_token="HF_TOKEN" # Требуется согласие с условиями на HF
)
# Переместить на GPU для ускорения
pipeline.to(torch.device("cuda"))
# Диаризация
diarization = pipeline("meeting.wav")
# Результат
for turn, _, speaker in diarization.itertracks(yield_label=True):
print(f"[{turn.start:.1f}s → {turn.end:.1f}s] {speaker}")
Компоненты pipeline
pyannote.audio предоставляет как готовые pipeline, так и отдельные модели:
pyannote/segmentation-3.0: сегментация + VAD + overlapping speech detectionpyannote/speaker-diarization-3.1: полный pipeline диаризацииspeechbrain/spkrec-ecapa-voxceleb: speaker embedding (интегрирован в pyannote)
Диаризация + транскрипция (пример)
from pyannote.audio import Pipeline
from faster_whisper import WhisperModel
diarize_pipeline = Pipeline.from_pretrained("pyannote/speaker-diarization-3.1")
asr_model = WhisperModel("large-v3", device="cuda")
# Диаризация
diarization = diarize_pipeline("audio.wav")
# Транскрипция
segments, _ = asr_model.transcribe("audio.wav", word_timestamps=True)
# Объединение по времени — назначить спикера каждому слову
# (реализация пересечения временных отрезков)
Производительность
На GPU (RTX 4090, 1-часовой файл): ≈ 30–60 секунд. На CPU: несколько минут.
Точность (DER) pyannote/speaker-diarization-3.1 на стандартных бенчмарках: ≈ 15–20% DER для «сложных» (многоспикерных) записей.
Связанные термины
- диаризация — задача, решаемая pyannote
- speaker embedding — ключевой компонент pyannote
- VAD — встроен в pyannote pipeline
- faster-whisper — часто используется вместе с pyannote
Готовы запустить GPU-задачу?
Запустить GPU-сервер