
audiogear: как разметить миллионы аудиозаписей для TTS
monkey_llm 4 минуты назад audiogear: как разметить миллионы аудиозаписей для TTS Простой 9 мин 5 Python * Машинное обучение * Кейс Конвейер на Python + Hydra, который превращает папку с аудио в богато размеченный...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
В сфере искусственного интеллекта произошло заметное событие. monkey_llm 4 минуты назад audiogear: как разметить миллионы аудиозаписей для TTS Простой 9 мин 5 Python * Машинное обучение * Кейс Конвейер на Python + Hydra, который превращает папку с аудио в богато размеченный датасет: качество речи, просодия, разборчивость, спикер, транскрипция — по колонке на запись. От одной видеокарты до кластера, карты под нагрузкой, и он не падает на «длинном хвосте» записей, на которых обычно рассыпается наивный скрипт. Я автор блога От обезьяны к LLM.
Делюсь с вами пайплайном по подготовке аудиозаписей для обучения моделей синтеза речи (TTS). Для обучения TTS систем нужно много данных. И не просто «аудио + текст», а аудио, про которое известно всё: насколько оно чистое, какой у диктора темп и высота голоса, нет ли клиппинга, тот ли это спикер, совпадает ли текст с тем, что реально произнесено.
Технические детали
Без этой разметки обучать TTS — всё равно что готовить по фотографии блюда: вроде похоже, но на вкус сюрприз. Звучит как разовая задача, пока перед тобой не оказывается много датасетов на десятки тысяч часов — игровые рипы без транскриптов, аудиокниги, подкасты, публичные корпуса. Каждый со своей структурой, своими дырами в метаданных и своими сюрпризами.
Прогнать по ним десяток моделей (MOS, SQUIM, ASR, спикер-эмбеддинги…), ничего не уронить на середине и не ждать неделю — вот настоящая задача. Готового инструмента, который закрывал бы это целиком, под рукой не оказалось (ближайший по духу — DataSpeech от HF, но он заточен под свой сценарий). Так появился audiogear — блочный конвейер разметки речевых датасетов.
В этой статье расскажу, что он умеет, как устроен внутри. Что audiogear выдаёт на выходеВы даёте ему per-dataset metadata. csv (таблица с |-разделителем, относительным audio_path и опциональным text) — а получаете ту же таблицу, к которой дописаны колонки фич.
Каталог того, что можно посчитать на запись:Что узнаём о записиКолонкиБэкендNo-reference MOS (общее качество)distillmosDistillMOSРазборчивость / перцептивное качествоpyt_stoi, pyt_pesq, pyt_si_sdrtorchaudio SQUIMBandwidth и «это апсемпл? »bandwidth_hz, is_upsampled_estDSP (FFT)Pitch (среднее / разброс)pitch_mean, pitch_stdtorchcrepe / librosa pyin / pennГромкость и выразительностьenergy_db, energy_dynamics, expressivenessDSPТемп речиspeaking_rate, char_ratephonemizer (espeak)Фоновый шум (blind SNR)wada_snrWADAРеверберация + SNRsnr, c50Brouhaha (pyannote)Ошибка транскрипции vs референсwhisper_wer, whisper_cerfaster-whisperПол / эмоцияgender_pred / emotion_predwav2vec2 / HuBERTЛюбая модель с HuggingFaceнастраивается🤗 classification или regressionЭтого уже хватает, чтобы фильтровать датасет (выкинуть низкий MOS, шумные и рассогласованные записи), балансировать его (по спикеру, полу, питчу, темпу) и описывать под TTS. А две вещи стоит выделить отдельно — они закрывают то, обо что обычно спотыкаешься уже после разметки:Консенсус-ASR дотранскрибирует наборы без текста, устойчиво к сбою отдельной модели (про механику — целый раздел ниже).
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





