- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
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 осуществляется через команду sox, но команды play и rec можно выполнять сами по себе.
Различают два типа меломанов: одни любят затухание и нарастание звука, а другие – нет. Если вы из лагеря первых, добавьте эффект постепенного нарастания звука с помощью
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