Журнал LinuxFormat - перейти на главную

LXF121:Sox

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Sox: Вскроем аудиофайлы

Шашанк Шарма препарирует имеющиеся у вас композиции с помощью Sox, универсального процессора командной строки.

Как ни глупо это звучит, впервые я применил Sound Exchange (Sox) для вырезания кусочка из саунд-трека к фильму, чтобы сделать себе из него рингтон. А ведь Sox способен на большее, чем простое нарезание аудиофайлов. Простейшие операции, выполняемые с помощью программы — проигрывание музыки или преобразование форматов, но сложных функций для управления файлами в Sox просто бездна.

Sox устанавливается по умолчанию в большинстве дистрибутивов, но там может быть не самая свежая версия программы. Текущий релиз – 14.3.0, и если ваша версия отлична от этой, первым делом удалите ее и установите последнюю. Избавиться от Sox можно при помощи графического менеджера пакетов вашего дистрибутива, или Yum и apt-get, если вы фанат командной строки. Пользователи Fedora могут удалить Sox командой

su -c “yum remove sox”

Затем перейдите на страницу проекта по адресу http://sox.sourceforge.net и скачайте последний tar-архив. Все верно, это не пре-компилированные бинарники. Теперь запустите команду:

tar zxvf sox-14.3.0.tar.gz

для получения каталога sox-14.3.0.

Если вы хотите, чтобы Sox поддерживал MP3, добавьте перед его установкой библиотеки libmad и Lame. По ходу, также установитe libmad-level и lame-level. Они обычно представлены в репозиториях большинства дистрибутивов, поэтому у вас не должно возникнуть проблем с их поиском. После установки, перейдите в только что распакованный каталог sox-14.3.0 и запустите ./configure, а затем make и make install.

Теперь на вашем компьютере есть последняя версия Sox, с поддержкой MP3, и все довольны – ну, разве что надулись фанаты OGG. Вы можете их утихомирить, отконвертировав вашу коллекцию MP3 в формат OGG командой

sox soundtrack.mp3 appeased.ogg

Вы можете проигрывать любой из этих форматов с помощью

play appeased.ogg

Выполнение операции

Теперь время перейти к более сложным задачам – а что может быть полезнее создания рингтона? Воспользуемся опцией trim для удаления из заданного аудиофайла всего ненужного, но сначала найдем «подопытного кролика», а затем применим к нему soxi. Эта команда читает заголовок выбранного файла и выводит на экран полезные сведения. При использовании без ключей soxi выводит всю информацию, найденную в заголовке, а различными ключами вывод можно ограничить. К примеру, команда soxi -d Titoli.wav выведет длительность Titoli.wav в формате ЧЧ:мм:СС, а команда soxi -r Titoli.wav – частоту дискретизации.

[linuxlala@localhost ~]$ soxi Music/Titoli.wav
Input File : ‘Titoli.wav’
Channels : 2
Sample Rate : 44100
Precision : 16-bit
Duration : 00:02:50.99 = 7540736 samples =12824.4 CDDA sectors
Sample Encoding : 16-bit Signed Integer PCM

Для функции обрезки необходимо знать только Длительность; она выражается в формате ЧЧ:ММ:СС или в количестве звуковых отсчетов. Если вам интересны только начальные 40 секунд файла, выполните следующую команду:

sox Titoli.wav 40_seconds.wav trim 0 40

Для опции trim необходимы два параметра: start [начало] и length [длина]. Соответственно, 0 и 40 означают начальную позицию и продолжительность. В этом случае, мы берем первые 40 секунд от начала. Если вам нужен кусок с середины файла, замените 0 на соответствующее значение и укажите необходимую длину. Например, файл middle.wav изготовлен при помощи следующей команды:

Sox Titoli.wav middle.wav trim 130 150

Она создает 20-секундный клип, обрезая начало и конец исходного файла.

Затухание звука

Различают два типа меломанов: одни любят затухание и нарастание звука, а другие – нет. Если вы из лагеря первых, добавьте эффект постепенного нарастания звука с помощью

sox song.mp3 fade_in.mp3 fade 5 170

Здесь 5 – это длина нарастания, а 170 – время остановки (продолжительность песни) в секундах. Вы также можете наложить эффекты затухания и нарастания звука одной командой, согласно такому синтаксису:

sox song.mp3 fade_in_out.mp3 fade fade-in-length [stoptime [fade-out-length]]

Таким образом, для создания пятисекундного эффекта нарастания и 10‑секундного эффекта затухания подойдет следующая команда:

sox song.mp3 fade_in_out.mp3 fade 5 170 10

Затухание звука нельзя добавить к файлу, не указав время остановки, но его можно и не задавать, если вам нужен только эффект нарастания звука.

В Sox легко добавлять к аудиофайлам эхо-эффекты. При работе с ними нужно задать команде Sox четыре значения: gain-in, gain-out, delay и decay. Delay – это разница во времени между исходным аудио и эхо-эффектом, который также называется отражением, а decay определяет громкость отражаемого звука по отношению к gain-in. Delay и decay указываются в миллисекундах (ms), а gain-in и gain-out описывают уровень громкости.

Отсчеты как мера длины

Если вам не подходит формат ЧЧ:ММ:СС, задайте время остановки числом отсчетов звука. В файле Titoli.wav' например, содержится 7540736 отсчетов. Это число может быть использовано в команде так:

sox Titoli.wav fade_in.mp3 fade 5 7540736s

Буква s, приписанная к номеру отсчетов, очень важна: она сообщает Sox, что длина указана как число отсчетов, а не время окончания файла. Заметим, что можно использовать опцию -s с soxi для определения числа отсчетов в вашем файле. Разделив число отсчетов на частоту дискретизации файла, вы получите продолжительность трека в секундах.

Ответь мне, эхо

Кроме стандартного эхо-эффекта, в Sox также существует функция echos. В ней исходный звук используется для создания начального отражения; это отражение и исходный звук затем используются для создания второго отражения, и т. д. Структура команды почти идентична основной команде echo: вы просто создаете больше пар delay/decay.

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

play Titoli.mp3 echos 0.8 0.7 500 0.5 600 0.8

для прослушивания эффектов без изменения самого файла.

В этой статье мы остановились только на базовых командах, выполняемых с помощью Sox, но рекомендуем также обратить внимание на графического конкурента Sox – Audacity. LXF

Персональные инструменты
купить
подписаться
Яндекс.Метрика