ТранскрибаторТранскрибатор
Практическая инструкция

FFmpeg silencedetect: как найти длинные паузы и проверить тихую речь

Команда поиска тихих интервалов без обрезки аудио, порог noise, минимальная duration, чтение журнала и проверка кандидатов по исходной записи.

03 октября 2026Транскрибатор
silencedetect · кандидатыНачало 1 с · конец ≈ 4 сПрослушать: есть ли речь?Обнаружить → проверить
Проверенные ограниченияРазобранный примерРабочий шаблон
1. ПробаПорог + длительностьПауза и тихий ответ2. ЖурналНачало / конец / длинаПроверить завершение3. ПрослушатьЕсть речь или пауза?Решение отдельно
Фильтр даёт кандидатов по уровню и длительности. Решение о наличии речи и дальнейшем монтаже принимается после прослушивания.

Решите, зачем искать тихие интервалы

В длинной записи трудно вручную проверить каждое место, где разговор надолго прерывался. Список предполагаемых пауз помогает вернуться к этим участкам: там могла быть настоящая тишина, отключённый микрофон, тихий ответ или конец встречи, после которого запись продолжалась.

Выберите задачу до настройки. Для контроля расшифровки важно проверить, не потеряна ли тихая реплика. Для монтажа — понять, можно ли сократить конкретный промежуток. Один и тот же найденный интервал не даёт автоматически одинакового решения для обеих задач.

Если требуется поднять общий уровень, используйте отдельный порядок нормализации звука перед расшифровкой. Здесь показано обнаружение интервалов с низким уровнем, а не усиление голоса. Подготовьте рабочую копию и оставьте исходник для проверки.

Пауза может быть содержательной: человек думает, ждёт ответа или реагирует без слов. Не называйте каждый длинный промежуток ошибкой записи. Техническое обнаружение сообщает об уровне сигнала в заданных условиях, а смысл определяют по прослушиванию.

Выберите дорожку, порог и минимальную длительность

Инструкция рассчитана на установленный FFmpeg с доступной командой в терминале. Проверьте версию через ffmpeg -version, а параметры фильтра — через ffmpeg -hide_banner -h filter=silencedetect. Проба ниже выполнена на FFmpeg 6.1.1 и синтетическом сигнале.

В фильтре noise задаёт порог низкого уровня, duration — минимальную длительность интервала в секундах. Пример noise=-35dB:duration=2 ищет достаточно тихие участки длиной от двух секунд. Значения являются стартом пробы, а не настройкой для любого интервью.

Прослушайте заранее известную паузу и тихую реплику. Начните с небольшой тестовой копии, сохранив её связь с исходником. При изменении порога сравнивайте одни и те же контрольные места: без этого больше найденных интервалов может выглядеть улучшением, хотя в список попала речь.

Если дорожек несколько, уточните, какая нужна. В команде -map 0:a:0 выбирается первая аудиодорожка первого входа. Пустая запасная дорожка способна дать длинную «тишину», хотя разговор записан в другом потоке.

Выполните обнаружение без создания обрезанной копии

Откройте терминал в папке с рабочим sample.wav. Замените имя на своё и заключайте пути с пробелами в кавычки. В этом примере выход направлен в null: новый обработанный аудиофайл не сохраняется.

ffmpeg -hide_banner -nostats -i "sample.wav" -map 0:a:0 -af "silencedetect=noise=-35dB:duration=2" -f null -

Дождитесь окончания чтения файла и просмотрите сообщения фильтра. Не добавляйте -loglevel error или -loglevel quiet, если хотите видеть информационные строки о найденной тишине. Ошибка открытия входа или фильтра не является результатом «пауз не найдено».

Для сохранения журнала можно направить диагностический поток в файл. В обычных командных оболочках используется 2>, например команда выше с добавлением 2> "silence-check-v1.log". Выберите новое имя: перенаправление способно заменить имеющийся журнал независимо от защиты аудиофайлов.

Команда показывает обнаружение. Она не содержит операции удаления пауз, изменения скорости или сборки укороченной версии. Сохраните её дословно в журнале вместе с именем входа, версией программы и выбранными числами.

Прочитайте начало, конец и длительность

Строка silence_start отмечает начало найденного интервала, silence_end — конец, silence_duration — продолжительность. Время в таком журнале читается в секундах. Сопоставляйте строки одного запуска, а при раздельной проверке каналов — также одного канала.

silence_start: 1
silence_end: 4.00006 | silence_duration: 3.00006

Это фактический результат учебной пробы: тон звучит первую секунду, затем идут три секунды цифровой тишины и ещё секунда тона. Найденный участок начинается около 1 секунды и заканчивается около 4 секунд. Малое отличие границы связано с проверкой на отсчётах; не выдавайте его за оценку точности распознавания речи.

Если видите только начало, проверьте полный журнал и успешное окончание запуска. Прерывание обработки не подтверждает конец интервала. Не дописывайте недостающую границу по предположению. При найденной тишине до самого конца сравните её с реальной длительностью и прослушайте финал.

На стереозаписи по умолчанию проверяется совместная тишина каналов; mono=1 позволяет проверять их отдельно. Отсутствие голоса слева не означает общую паузу, если справа идёт ответ. Для первой пробы на разговоре не меняйте этот режим без понимания распределения источников.

Проверьте кандидатов и сохраните временную связь

Откройте найденный участок в плеере или редакторе, начав немного раньше и закончив позже. Слушайте переход: тихая фраза может быть в середине, а начало слова — возле границы. Отметьте результат как «подтверждённая пауза», «есть речь» или «нужно уточнить».

Для контроля текста используйте проверку расшифровки по аудио. Если в интервале есть важный тихий ответ, сверяйте его вручную с записью. Изменение порога не восстанавливает слова и не доказывает, что сервис распознавания их пропустил.

Когда нужен текст длинной аудиозаписи в Транскрибаторе, сохраните исходную временную линию для проверки важных реплик. Список тихих участков используйте как дополнительные контрольные места, а не как основание заранее удалить всё найденное.

Если позже вырежете паузу в монтажной копии, запишите изменение времени. Таймкоды расшифровки исходника после этого участка могут вести к другому месту сокращённого файла. Храните исходник, журнал обнаружения и монтажную версию отдельно.

Для окончательного решения важнее прослушанные фрагменты, чем количество строк. Если порог захватывает тихую речь, снизьте его и повторите ту же пробу. Если шумная пауза не обнаруживается, проверьте повышение порога на контрольном участке, сохраняя риск ложных совпадений в журнале.

Учебный пример

Пять секунд сигнала и три секунды тишины

Учебный файл содержит одну секунду тона, три секунды цифровой тишины и ещё одну секунду тона: всего 5 секунд, PCM 16 бит, моно, 16000 Гц. Команда с noise=-35dB и duration=2 завершилась успешно и сообщила начало 1, конец 4.00006, длительность 3.00006 секунды. Хеш исходного WAV до и после совпал.

НаблюдениеЧто означаетСледующая проверка
Найдено около 1–4 сТри секунды тишины в учебном сигналеНа речи прослушать весь интервал
Тихий ответ попал в списокПорог не отделяет смысл речиНастроить пробу и сверить фразу
Пауза не найденаФон выше порога или интервал короче durationСравнить контрольное место и параметры
Есть только silence_startНедостаточно данных о концеПроверить завершение и полный журнал
Учебный WAV · 5 секундТонТишина · 3 секундыТон0 с1 с4 с5 с
Фактическая учебная проба: 1 секунда тона, 3 секунды цифровой тишины, 1 секунда тона. Длительность входа остаётся 5 секунд.

Тест подтверждает работу обнаружения на заданном техническом сигнале и отсутствие изменения входного файла. Он не показывает качество работы на шёпоте, шумной комнате или реальном диалоге; эти случаи требуют отдельной пробы и прослушивания.

Журнал проверки предполагаемых пауз

Рабочая заготовкаВыделите и скопируйте
Исходник / рабочая копия / длительность:
FFmpeg / версия:
Аудиодорожка / проверка выбора:
noise / duration / режим каналов:
Известная пауза и тихая реплика:
Команда / имя журнала:
Запуск завершён без ошибки:
Начало / конец / длительность интервала:
Прослушано с запасом до и после:
Есть речь / пауза / уточнить:
Что проверить в расшифровке:
Решение о монтаже отдельно:
Сдвиги времени после обрезки:
Сохранены исходник и проверенная версия:

Частые вопросы

silencedetect удаляет паузы?

Показанная команда обнаруживает интервалы и направляет выход в null. Она не создаёт укороченный аудиофайл.

-35dB подходит для любой записи?

Нет. Проверьте известную паузу и тихую реплику на своей записи, затем меняйте один параметр за раз.

Почему нет строк о тишине?

Уточните успешное завершение, дорожку, порог, duration и уровень журнала. Отсутствие информационных строк не доказывает отсутствие пауз.

Можно вырезать всё найденное?

Сначала прослушайте каждый интервал. Ниже порога могут оказаться тихие слова, а пауза может быть значима для понимания ответа.

Полученные времена подходят к монтажной копии?

Только если временная линия совпадает. После обрезки или изменения скорости сохраните новые соответствия и заново проверьте места.