- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF106:Audacity
Материал из Linuxformat.
- Audacity Обрабатываем микрофонную запись
Содержание |
Риторический вопрос
- Мы много говорим о компьютерной грамотности – пора перейти к риторике. К счастью, вам не придется, подобно Цицерону, говорить с галькой во рту – Андрей Боровский покажет, как исправить все дефекты программно.
В процессе редактирования записи Вы можете сохранять промежуточные результаты в виде проекта. Чтобы понять его структуру, необходимо кое-что знать о внутреннем представлении данных в программе. Audacity разбивает несжатый звук на блоки величиной примерно в 1 Мб. Каждый блок хранится в отдельном файле. Как объясняет Маццони такая структура упрощает редактирование больших объемов данных: локальная правка не затрагивает весь массив, облегчается откат изменений.
Каждому проекту Audacity соответствует своя директория и свой файл с расширением .aup. Он представляет собой XML-документ, содержащий описание общих параметров проекта и текущей структуры блоков. Последние хранятся в директории проекта, содержащей целое дерево подкаталога, отражающих структуру внесенных изменений. Файлы блоков имеют расширение .au, принятое для аудиоформата Sun, но таковыми не являются - это просто несжатые данные без заголовка (все необходимое есть в файлах .aup). Вполне естественно, что структура проекта Audacity понятна только самой Audacity. Чтобы воспроизвести обработанную запись где-то еще, необходимо экспортировать ее в один из общепринятых форматов.
Энтузиасты, предрекавшие превращение Интернета в по-настоящему свободные СМИ, не учли, что количество не всегда переходит в качество, и речь идет не только о содержании, но и о форме. О форме, а именно о форме звука, мы и поговорим. Предположим, что вам надоело выкладывать на своем сайте одни только тексты и картинки, и вы решили опубликовать аудиозапись своих размышлений, а может быть, даже сделали историческое интервью, если не с Линусом Торвальдсом, то хотя бы с Аланом Коксом. В любом случае, записанный звук по уровню качества должен хотя бы отдаленно напоминать то, что транслируют сетевые радиостанции. Ваш материал, скорее всего, будет далек от идеала, а потому потребует доработки. Вот тут-то и пригодится Audacity. У него интересная история: проект начинался как любительский, и ведущий разработчик Доминик Маццони [Dominic Mazzoni] признается, что сперва плохо представлял себе, как пишутся аудио-редакторы. Сегодня это – мощный инструмент, которым не брезгуют и профессионалы.
Audacity и многие другие программы измеряют уровень сигнала в децибелах. В качестве опорной мощности (напомним, что Бел – это десятичный логарифм отношения двух мощностей) берется максимально возможное значение уровня. Таким образом, максимальному уровню сигнала соответствует 0 дБ (lg 1), а минимальному – минус бесконечность.
Контрольный осмотр
Прежде, чем приступать к работе, необходимо кое-что настроить. Перейдите в меню Правка > Параметры Audacity. Нас интересуют разделы Audio I/O и Качество. В первом из них вы можете выбрать устройства воспроизведения и записи звука. Группа настроек Задержка позволяет установить размеры аудиобуфера и величину запаздывания при выводе программой графических данных. Правильный подбор этих опций позволит вам добиться практически полного соответствия между тем, что воспроизводится экраном и динамиками.
Раздел Качество задает параметры сигнала по умолчанию. В настройках присутствует загадочный метод изменения частоты с помощью синхронной интерполяции. Налицо трудности перевода: оригинальное Sinc Interpolation не имеет ничего общего с Synchronous, а происходит от названия фильтра, который обязан своим именем sinc-функции [sinus cardinalis] – sin(x)/x.
В группе Звуковые файлы можно выбрать режим импорта: обработка исходного файла или его копии. Второй вариант требует больше времени, но зато уменьшает вероятность повреждения оригинальной записи.
Самая полезная настройка в разделе Интерфейс – это язык. Если при чтении английской документации к Audacity у вас возникнут трудности с сопоставлением названий, вы можете переключить его; правда, программу придется перезапустить.
Будем знакомы
Одной из причин популярности Audacity, вероятно, является очень наглядное представление данных и прозрачность интерфейса (рис. 1).
Центральная роль отводится амплитудному спектру во временной области. Для специальных целей можно использовать и другие представления – например, частотный спектр. Audacity поддерживает работу с несколькими аудиодорожками, хотя для наших целей хватит и одной. В верхней части окна расположены кнопки, имитирующие панель бытового проигрывателя: пауза, воспроизведение, останов, перемотка вперед и назад, запись. Ползунки ниже регулируют громкость воспроизведения и записи, а справа находится группа кнопок, управляющих более сложными операциями.
Благодаря наглядному представлению сигнала в Audacity, выполнять базовое редактирование очень просто. Как говорит сам Маццони: «Начать работать с Audacity не сложнее, чем с web-браузером». Чтобы выделить звуковой фрагмент, достаточно очертить мышью соответствующую часть аудиодорожки. Затем ее можно прослушать и, убедившись, что выбрано именно то, что надо, вырезать или скопировать, как обычный текст. С помощью «лупы» можно приближать диаграмму сигнала до тех пор, пока не станут видны значения отдельных отсчетов. «Карандаш» позволяет изменить их (разумеется, для больших отрезков запи- си это не подходит, а вот для устранения артефактов вроде резких линий-щелчков – вполне). В процессе воспроизведения звука курсор движется по диаграмме, и при точной настройке буфера и задержек его положение всегда соответствует воспроизводимому фрагменту.
Давайте обработаем в Audacity запись, сделанную с микрофона. Если у вас такой нет – создайте ее прямо в редакторе, воспользовавшись кнопкой Запись. Необходимо также, чтобы микрофон был выбран в качестве устройства записи звука по умолчанию. Это можно сделать в выпадающем списке с пиктограммой микрофона, справа. Для новой записи будет создана своя дорожка. Audacity отображает уровень входного (и выходного) сигнала на индикаторах, также расположенных в правой части окна. Вы можете записать голос в любой другой программе – на данном этапе Audacity не применяет никаких эффектов (кроме скоростной передискретизации, но я советовал бы ее отключить). Все действия производятся над готовым роликом, и это правильно, если только вы не ведете прямую трансляцию.
Зачастую сигнал с микрофона оказывается слишком тихим: или из-за неправильных настроек аудиокарты, или из-за низкого качества самого устройства (рис. 1). Для его усиления можно применить нормализацию: Эффекты > Нормализация. Audacity выполняет ее по максимальной величине пика: производится поиск самого громкого участка, а затем каждый отсчет умножается на число, подобранное так, чтобы высота максимального пика сравнялось со значением,
указанным пользователем (последнее ограничено 0 дБ). В результате уровень сигнала возрастает до приемлемого (рис. 2)
Удаление шума и пауз
Это – самые распространенные операции при обработке микрофонной записи. На рис.2 шум (хаотичный сигнал с низкой амплитудой) можно видеть невооруженным глазом. Как же Audacity избавляется от него? С помощью спектральной фильтрации. Вы указываете участок, который содержит только шум и ничего более (для речевой записи это сделать нетрудно), а программа создает частотный спектр шума и затем отфильтровывает сигнал, удаляя из него составляющие, которые соответствуют построенному спектру. Все это работает очень хорошо, если придерживаться нескольких простых правил. В основу метода положено предположение, что спектр шума во всей записи практически одинаков. Системный шум, возникающий при записи с микрофона, отвечает этому критерию, но необходимо следить, чтобы участок, выбранный для построения модели шума, не содержал нерегулярностей, таких как внезапные щелчки. Второе, о чем следует помнить – спектр шума всегда, хоть немного, но пересекается со спектром полезного сигнала, то есть при очистке записи может произойти ее искажение. Удаление шума представляет собой компромисс: минимум шума при минимуме искажений.
Ознакомившись, в самых общих чертах, с теорией, перейдем к практике. Выделим фрагмент, содержащий постоянный шум (рис. 2). Нетрудно видеть, что выбранный участок не содержит аномальных пиков, которые могли бы испортить спектр шума.
Теперь выберем пункт меню Эффекты > Удаление шума…. Откроется диалоговое окно мастера, работающего в два этапа (рис. 3). Вначале предлагается выделить фрагмент записи, содержащий только шум (мы уже это сделали) и нажать кнопку Создать модель шума. Выбранный фрагмент будет скопирован в буфер программы. После этого окно мастера закрывается.
Далее, мы должны выделить фрагмент, из которого нужно убрать шум (то есть всю запись). Снова взываем мастер и переходим ко второму этапу. Обратите внимание на три ползунка: Удаление шума, Frequency smoothing и Атака/затухание. Они показывают, насколько агрессивно будет выполняться очистка (вспомните про компромисс). Первый ползунок задает снижение уровня шума в сигнале. Мы, конечно, хотим, чтобы шум был как можно тише, а в идеале – вообще исчез. Однако, идеал недостижим. Чем агрессивнее работает фильтр, тем вероятнее он захватит и часть полезного сигнала, в результате чего звук приобретет неприятные металлические нотки. Два других ползунка управляют сглаживанием результатов фильтрации в частотной и временной областях, соответственно. Если вы не очень понимаете теоретические основы происходящего, не отчаивайтесь: значения, заданные по умолчанию, обычно позволяют получить более чем удовлетворительный результат. Желающие поиграть с настройками могут пойти методом проб и ошибок: кнопка Прослушать в окне мастера дает возможность контролировать результаты до того, как изменения будут внесены в проект (и даже после этого вы всегда сможете воспользоваться командой Отмена). Сравните обесшумленный спектр сигнала (рис.4) с рис.2.
Наша следующая задача – удаление пауз. Длительные паузы можно вырезать вручную, и иногда этого хватает. Для более точного результата воспользуемся специальным инструментом: Эффекты > Вырезать тишину. На экране появится окно, которое определяет, что именно следует считать тишиной. Если отвлечься от поэтической стороны вопроса, пауза обладает двумя параметрами – пороговым уровнем сигнала и продолжительностью. Но, если вы примените мастер удаления тишины с настройками по умолчанию, он, скорее всего, вообще не окажет на сигнал никакого эффекта.
Причина проста: стандартное пороговое значение слишком мало для микрофонной записи. Его следует повысить, хоть и несильно. Важную роль играет и параметр Длительность. Тишина (как и движение) – это состояние, характерное для временного интервала. Не бывает «тишины в момент времени». Отвлекаясь от философии, скажем просто: в любой записи существуют паузы, которые не следует удалять, поэтому, занизив длительность, вы получите «скороговорку» (иногда это даже интересно, но чаще – нежелательно). Как и раньше, прежде чем применить эффект, вы можете оценить его действие нажатием кнопки Прослушать.
Компрессия
Нет, мы будем говорить не о сжатии аудиоданных хитроумными алгоритмами, а о динамическом диапазоне сигнала. Внезапные перепады громкости – довольно частое явление в записях, сделанных непрофессиональными дикторами вроде меня. Еще чаще они возникают, когда в один и тот же микрофон говорят несколько человек.
Компрессор Audacity выполняет две операции. Сначала программа понижает уровень сигнала в областях, где он превышает некое пороговое значение, а затем производится нормализация всей записи. Таким образом, нам потребуется определить пороговый уровень сигнала, который обычно соответствует участку записи с самым тихим звучанием. Откройте диалоговое окно мастера компрессии (Эффекты > Компрессор, рис.5).
Вы увидите ползунок, задающий пороговое значение, и график, который будет подробно рассмотрен ниже. При настройке порогового значения мы сталкиваемся с одним неудобством – оно измеряется в децибелах, тогда как на графике временной области отсчеты отображаются в долях максимально возможного уровня сигнала. Здесь нам поможет инструмент построения частотного спектра. Выделите тихий фрагмент и выберите пункт меню Анализ > Построить график спектра. В качестве порогового значения можно указать уровень максимального пика в частотном спектре.
Снова откройте окно компрессора. Ниже ползунка, устанавливающего пороговое значение, расположен еще один, определяющий коэффициент понижения уровня сигнала. Теперь взгляните на график, расположенный в верхней части окна. В отличие, например, от нормализации, компрессия нелинейна (понижающий коэффициент применяется только к тем областям, где сигнал превышает пороговое значение). График позволяет нам наглядно оценить нарушение линейности сигнала по сравнению с оригиналом. По вертикальной оси отсчитывается исходный уровень сигнала, по горизонтали – уровень после применения компрессии. Для сигнала, уровень которого не превышает порогового значения, тангенс угла наклона прямой равен единице, на других участках он меньше (мы ведь понижаем громкость) и определяется заданным нами коэффициентом. Чем круче излом линии при переходе через пороговое значение, тем выше нелинейность компрессии. Как обычно, кнопка Прослушать позволит вам ознакомиться с предварительными результатами преобразования.
Я не случайно несколько раз подчеркивал то факт, что компрессия нелинейна. Это означает, что в цепочке операций по обработке записи ее нельзя произвольно менять местами с другими действиями. Возьмем, например, уже знакомую нам операцию удаления шума. Как мы знаем, она эффективна в том случае, когда шум имеет постоянный спектр. Нелинейные операции же делают спектр шума переменным. Там, где уровень сигнала превышал пороговое значение, амплитуда шума уменьшается. Это может показаться странным, ведь сам шум вряд ли превышает пороговое значение. Дело в том, что наши алгоритмы всегда затрагивают не только целевой сигнал, но и его «окрестности», как в частотной, так и во временной области. Применяемые в процессе компрессии эффекты сглаживания спектра тоже добавляют искажения. Чтобы не быть голословным, приведу две частотных спектрограммы шума – до компрессии и после нее (рис. 6). На участках записи, не подвергавшихся обработке, шум, естественно, не изменился. Из всего сказанного следует простое правило: сначала удаляем постоянный шум, затем выполняем сжатие динамического диапазона.
Помимо компрессора, в Audacity есть еще один инструмент, который может быть использован для сжатия динамического диапазона. В английской версии программы он называется leveller (именно так, с двумя l), а в русской – Выравниватель. Основная идея выравнивателя, как я ее понимаю, заключается в том, чтобы упростить процесс динамического сжатия. Вместо настроек пороговых значений в дБ, вам предлагается задать интенсивность выравнивания. Помимо сжатия, leveller удаляет и шум, но, на мой взгляд, делает это менее эффективно, чем описанные выше средства.
Долой щелчки и треск!
Для этих целей в Audacity тоже есть автоматизированный инструмент (Эффекты > Удаление щелчков и треска). Идея довольно проста. Под щелчками и треском понимаются области высокой амплитуды сигнала, имеющие не очень большую ширину (оба параметра задаются пользователем). Однако, на практике метод работает не слишком уверенно. Специально сгенерированные щелчки максимальной амплитуды фильтр заметил только при настройке на максимальную чувствительность.
Но даже при этом щелчки были не убраны, а только сглажены (их амплитуда снизилась до средней по сигналу, а не до амплитуды вокруг щелков, соответствующей полной тишине). Общий вывод таков – если щелчки заметны на диаграмме сигнала, лучше попытаться сгладить их с помощью карандаша.
После того, как обработка записи будет закончена, можно нанести последний штрих – воспользоваться эффектом Усиление басовых частот. Он не только делает мужской голос более сексапильным, но и позволяет скрыть некоторые артефакты, возникающие в процессе обработки голосовой записи.
Рассмотренные на данном уроке функции, конечно, не исчерпывают всех возможностей Audacity, но (я надеюсь) демонстрируют, что это приложение пригодится в хозяйстве любого пользователя, а не только начинающего звукорежиссера. LXF