Speech
транскрипция
Текстовый вывод ASR-системы — преобразованная в текст речь с опциональными временными метками.
Что такое транскрипция
Транскрипция (transcription) — процесс и результат преобразования речевого аудио в текст с помощью ASR. В контексте ML — структурированный output ASR-модели, содержащий текст и (опционально) временные метки.
Форматы транскрипции
Plain text: просто строка с текстом, без временных меток.
Сегментированная: текст разбит на временные отрезки (сегменты):
{
"segments": [
{"start": 0.0, "end": 3.2, "text": "Добро пожаловать на наш подкаст."},
{"start": 3.5, "end": 7.1, "text": "Сегодня мы обсудим языковые модели."}
]
}
Word-level: временные метки для каждого слова — нужны для точной синхронизации субтитров.
SRT/VTT: стандартные форматы субтитров, поддерживаемые видеоплеерами:
1
00:00:00,000 --> 00:00:03,200
Добро пожаловать на наш подкаст.
2
00:00:03,500 --> 00:00:07,100
Сегодня мы обсудим языковые модели.
Транскрипция в Python
from faster_whisper import WhisperModel
model = WhisperModel("large-v3", device="cuda", compute_type="int8_float16")
# Получить транскрипцию
segments, info = model.transcribe(
"interview.mp3",
language="ru",
word_timestamps=True,
beam_size=5,
)
# Собрать в текст
full_text = " ".join(seg.text.strip() for seg in segments)
# Экспорт в SRT
with open("subtitles.srt", "w") as f:
for i, seg in enumerate(segments, 1):
start = seg.start
end = seg.end
f.write(f"{i}\n{format_time(start)} --> {format_time(end)}\n{seg.text.strip()}\n\n")
Постобработка транскрипции
Часто после ASR требуется:
- Пунктуация и регистр: Whisper добавляет, но можно улучшить LLM
- Нормализация: числа, аббревиатуры, специальные термины
- Disfluency removal: убрать «э-э», «ну», «как бы»
- Speaker labels: добавить метки спикеров через диаризацию
Связанные термины
- ASR — система, создающая транскрипцию
- Whisper — популярная ASR-модель
- word timestamps — временные метки для каждого слова
- диаризация — кому принадлежит каждая реплика
- WER — метрика качества транскрипции
Готовы запустить GPU-задачу?
Запустить GPU-сервер