Найти в Дзене
Мастер Marx

Пакетная обработка WAV. Обрезание тишины в конце

Неожиданная проблема. В скачанном пакете семплов эффектов 'Myloops Reloaded FX' у подавляющего числа файлов WAV хвосты тишины длиною 14-28 секунд. Из-за чего размер пакета аж 6,11 ГБ и работа в аудиоредакторе с такими семплами очень неудобна. Попробуем исправить. Подготовка Переходим на эту страницу и скачиваем программу sox-14.4.2-win32.
Sox – это консольная утилита (программа, работающая посредством CMD), предназначенная для пакетной обработки звуковых файлов разных форматов. Содержимое находится в файле установки, но мы его устанавливать не будем. 1. Позаботимся о том, чтобы у нас на компьютере был архиватор 7-Zip. Правой кнопкой на файл sox-14.4.2-win32.exe и выбираем: 7-Zip > Открыть архив. 2. Выбираем безымянную папку вверху и в панели инструментов «Извлечь». 3. В появившемся окне указываем путь: C:\Users\username\Downloads\Sox Делаем это потому, что нам предстоит работать с пакетным файлом BAT, а батники с системной папкой 'Program Files (x86)', куда по умолчанию встает утилита,

Неожиданная проблема. В скачанном пакете семплов эффектов 'Myloops Reloaded FX' у подавляющего числа файлов WAV хвосты тишины длиною 14-28 секунд. Из-за чего размер пакета аж 6,11 ГБ и работа в аудиоредакторе с такими семплами очень неудобна. Попробуем исправить.

Подготовка

Переходим на эту страницу и скачиваем программу sox-14.4.2-win32.
Sox – это консольная утилита (программа, работающая посредством CMD), предназначенная для пакетной обработки звуковых файлов разных форматов. Содержимое находится в файле установки, но мы его устанавливать не будем.

1. Позаботимся о том, чтобы у нас на компьютере был архиватор 7-Zip. Правой кнопкой на файл sox-14.4.2-win32.exe и выбираем: 7-Zip > Открыть архив.

2. Выбираем безымянную папку вверху и в панели инструментов «Извлечь».

3. В появившемся окне указываем путь: C:\Users\username\Downloads\Sox

Делаем это потому, что нам предстоит работать с пакетным файлом BAT, а батники с системной папкой 'Program Files (x86)', куда по умолчанию встает утилита, на Windows 10 не дружат совсем.

4. В папке Sox с помощью Блокнота откроем файл batch-example.bat

5. Все верхние строки комментария 'rem…' выделим и удалим.

6. После того, как создастся папка 'converted' можно будет закомментировать и ее строку:

::mkdir converted

а вначале наш скрипт будет выглядеть вот так:

Текстовый редактор AkelPad. Цветовая тема: Bespin, шрифт Courier New
Текстовый редактор AkelPad. Цветовая тема: Bespin, шрифт Courier New

Расшифровка скрипта:

cd %~dp0 - открыть окно консоли в той же папке, где и запущен файл скрипта
mkdir converted – создать папку с именем 'converted'
DO sox – выполнить sox
%%A – имя входного файла
%%~nxA – имя выходного файла
silence 0 – без обрезки вначале
1 – с обрезкой в конце
0:05 – длительность тишины (несмотря на то, что в справке требуется указать точное значение тишины, практика показывает:
- можно задать фонарное значение, только небольшое, например: 0:05 (5 сек), такое значение будет проходным всегда.
- есть и граница длины тишины - в случае если заданная длина тишины превысит истинную длину, определяемую порогом обрезки. Например, Вы задаете 0:28, в то время как истинное значение при существующем пороге определится в 0:27. Обработки не будет, она пройдет только при 0:27 или ниже). -65d – порог обрезки -65 дБ, можно в процентах, например 0.02% - это ~ -70 дБ.

Использование

1. Редактируемые файлы WAV помещаем в папку с программой. Для примера взяты файлы одной длины, 0:55 с, но это не обязательно.

2. Для удобства, переименуем файл скрипта близко к названию семплов, например MRFX.bat

Содержимое папки Sox
Содержимое папки Sox

3. Выделим файлы WAV, максимум 80 шт., и перетащим их прямо на файл BAT. По окончании работы консоли откроем папку converted.

Более корректное обрезание

После 1 прохода вышеописанным скриптом останутся файлы длиною свыше 20 секунд. Это аудио, у которого шум громкостью -65 децибел зависает еще на несколько тактов прежде чем уйдет в 0. Поэтому в скрипте заменим функцию silence на fade и обработаем эти файлы еще раз:

Текстовый редактор AkelPad. Замена функции.
Текстовый редактор AkelPad. Замена функции.

fade - эффект плавного возрастания/затухания
t - форма кривой затухания 'triangle' (по умолчанию l - логарифмическая, но она резкая)
0 - без fade-in (возрастания) вначале
19 - стоп fade-out (затухания) на 19 секунде
2 - длительность fade-out 2 секунды

Прочитать данные файла Wav из его заголовка можно 2 способами

1. - Поместим файл audio.wav в папку программы Sox.
- запустим "Командную строку" и перейдем в папку Sox

cd %userprofile%\downloads\sox

- напишем следующую строку и нажмем Enter

sox --i audio.wav

2. - В папке Sox копируем/вставим файл sox.exe и переименуем > soxi.exe
- запустим "Командную строку" и перейдем в папку Sox

cd %userprofile%\downloads\sox

- напишем следующую строку и нажмем Enter

soxi audio.wav

На этом всё. Удачной работы и до встречи в новых статьях.