Компьютерная обработка звука
Шрифт:
Для аудиоредактора Sound Forge фирма Sonic Foundry выпускает дополнительный модуль Noise Reduction, удаляющий шипение магнитной ленты, помехи, вызванные электромагнитными наводками электросетей, и прочие шумы.
В программе WaveLab для реставрации используются два дополнительных модуля – DeNoiser и DeClicker.
Кроме того, в базовый комплект поставки WaveLab входит модуль эффектов Grungelizer, который выполняет функции, прямо противоположные описанным выше. Он используется для имитации старых «зашумленных» записей путем добавления в исходный сигнал таких специфических помех, как фон, создаваемый наводками переменного напряжения, щелчки и треск, характерные для виниловых звуконосителей, высокочастотное шипение, которое наблюдается при воспроизведении звука с помощью аналогового магнитофона. В дополнение ко всему перечисленному с помощью рассматриваемого модуля можно сужать частотный диапазон сигнала и имитировать перегрузку усилителя.
Шумоподавитель Noise Reduction
Производитель: Sonic Foundry, Inc.
Предполагает установленный DirectX.
Встраиваемое приложение Noise Reduction состоит из трех модулей:
• собственно Noise Reduction (Шумоподавление);
• Click Removal (Устранитель щелчков);
• Vinyl Restoration (Восстановитель записей с виниловых носителей – грампластинок).
Модуль Noise Reduction разработан для анализа и удаления из звуковых записей фоновых шумов: шипения ленты, электрических импульсных помех (наводок электросетей) и монотонного гула. В отличие от обычного фильтра он не оказывает влияния на исходный материал. Для этого в звуке выделяются его частотные составляющие и определяется так называемый noiseprint (отпечаток шума), чтобы отделить нежелательный шум
Отпечаток шума создается при анализе той части записи, где отсутствует полезный сигнал, то есть в записи тишины. Из нее извлекается информация о частоте и амплитуде шума в записи. Как только отпечаток шума сгенерирован, пользователь может изменить его характеристики для уточнения той части частотного спектра, в области которой сигнал подлежит удалению. Однако такая ручная настройка требуется далеко не всегда.
Алгоритм шумоподавления хорошо справляется с подавлением постоянного фонового шума. Резкие щелчки или «ошибочный» шум вроде гула пролетающего самолета или щелчков виниловой грампластинки им не обрабатываются. Тем не менее, может быть удален самый разнообразный шум, если только генерировать свой отпечаток для каждого случая. И конечно, может быть затруднена (или даже невозможна) очистка записей, в которых уровень громкости шума достигает или превосходит громкость полезного сигнала.
Итак, первое, что надо сделать, – снять отпечаток шума. В подлежащем реставрации звуковом файле выделите фрагмент, содержащий тот фоновый шум, от которого надо избавиться. Затем запустите Noise Reduction.
Модуль запускается из меню, предназначенного для размещения встраиваемых приложений DirectX (в Sound Forge – DirectX) по команде Sonic Foundry Noise Reduction. Откроется одноименное окно, вкладка General которого показана на рис. 3.1.
Рис. 3.1. Вкладка General окна Sonic Foundry Noise Reduction
Опция Name (Наименование) служит для загрузки стандартных (поставляемых с программой) или сохраненных пользователем предустановленных параметров диалога. Конкретная предустановка выбирается из раскрывающегося списка.
При первом открытии параметры окна соответствуют предустановке, которая с наибольшей вероятностью даст хорошие результаты. Самый важный параметр – Reduce Noise (Снижение шума). Им определяется уровень уменьшения шума.
Так, установка 6 дБ означает, что фоновый шум ослаблен на -6 дБ (50 %). При 0 дБ шумопонижения не будет, а при 100 дБ применяется максимальное снижение. Значения от 10 до 20 дБ дают наилучшие результаты, с более высокими значениями возможны искажения, а с меньшими удаляется меньше шумов.
Для удобства этот же параметр дублируется на вкладке Noiseprint (Отпечаток шума).
Теперь перейдите на вкладку Noiseprint, пометьте опцию Capture noiseprint (Собрать данные об отпечатке шума) и нажмите на кнопку Preview (Предварительно). Модуль выполнит анализ шума в выделенном фрагменте и вернется к его началу. Будут собраны данные для отпечатка шума, модуль переключится из режима сбора данных в режим обработки, и вкладка Noiseprint примет вид, показанный на рис. 3.2. Таким образом, анализ закончен, и можно приступать к обработке файла.
Обратите внимание, что в режиме сбора данных изменить настройки процесса невозможно.
Если настроена опция Automatic capture timeout (Автоматическое отключение режима сбора данных по времени), режим Capture по истечении определенного времени будет выключен. Это полезно для сокращения времени анализа.
Для удобства опции Capture и Automatic capture timeout дублируются на вкладках General и Noiseprint.
Маленькие черные квадратики на графике – это точки изгиба огибающей отпечатка шума, расположенные на 6 дБ выше уровня шума. Алгоритм шумоподавления использует огибающую для определения той части записанного сигнала, которая является шумом. Частоты с амплитудами, лежащими ниже точек изгиба, будут считаться шумом, и в процессе обработки их амплитуда будет существенно уменьшена. Частоты с более высокими амплитудами останутся нетронутыми.
Теперь модуль в режиме реального времени может выполнить шумопонижение для выделенного фрагмента. Чтобы обработать весь файл, щелкните правой кнопкой мыши в пустом месте окна под опцией Real-time (В реальном времени) и в появившемся контекстном меню выберите команду Select All Data (Выделить все данные).
Теперь можно воспроизводить весь файл, одновременно изменяя параметры и прослушивая результат. Чтобы выполнить обработку, нажмите кнопку OK.
Самую большую трудность можно считать преодоленной, как только получен отпечаток шума. Вкладка Noiseprint не понадобится, пока вы не соберетесь обрабатывать другой файл. Вернемся к вкладке General и рассмотрим остальные настройки.
При шуме, с трудом поддающемся обработке, хорошие результаты дает многократное повторение процесса при значениях Reduce noise от 10 до 20 дБ. После первой обработки файла получают новый отпечаток шума и снова обрабатывают файл. Рекомендуется дважды обработать файл со значениями в 20 дБ, а не один раз с 40 дБ: это приведет к лучшему результату.
Регуляторами Attack speed (Скорость реакции на атаку сигнала) и Release speed (Скорость реакции на затухание сигнала) устанавливается скорость реакции программы на изменения в уровне шума.
Опцией Attack speed определяется, как алгоритм шумоподавления поведет себя при появлении сигнала. Рекомендуемое значение по умолчанию – 80. При очень низких значениях алгоритм не успевает реагировать на быстрые переходы, и они могут быть удалены из звука. В свою очередь слишком высокие значения могут привести к заметным искажениям при быстрой атаке сигнала. При очень большом размере FFT следует увеличить Attack speed.
Опция Release speed определяет, как быстро алгоритм шумоподавления реагирует на затухание шумового сигнала. Значение 50 рекомендуется по умолчанию. Более высокие значения могут привести к отсечению окончаний медленно затухающих звуков. При использовании очень больших значений FFT-размера Release speed следует увеличить.
Часто после шумоподавления пропадает яркость звучания высоких частот. Для компенсации такого явления применяется высокочастотный фильтр. Он включается с помощью опций High-shelf start freq. (Частота среза высокочастотного фильтра), которая устанавливает частоту среза (от 500 до 15000 Гц), и High-shelf gain (Усиление высоких частот), которая устанавливает уровень усиления или ослабления фильтром высоких частот (от -20 до 20 дБ). Обычно достаточно усиления примерно на 3 дБ, чтобы компенсировать высокочастотные потери при шумоподавлении.
В секции Windowing расположена система настройки для корректировки точности частотного анализа.
Опция FFT Size (FFT-размер) указывает размер выборок для анализа частотного спектра звука. Чем выше значение, тем точнее анализ, но и тем дольше обработка и больше нагрузка на центральный процессор. Настройка по умолчанию обычно пригодна для большинства ситуаций.
При помощи опции Overlap (Перекрытие) устанавливается, какая часть выборок накладывается друг на друга при частотном анализе звука. Перекрытие выборок дает более высокую точность анализа. Для большинства ситуаций подходит настройка по умолчанию в 75 %. При увеличении этого значения обработка замедлится в гораздо большей степени, чем повысится качество шумоподавления.
Переключателем Keep residual output (Сохранить остаточный сигнал) инвертируется процесс шумоподавления. Вместо звука без шумов вы будете слышать шум, который удаляете. Такая возможность окажется очень ценной при настройке параметров, потому что можно услышать, действительно ли удаляется шум, от которого вы хотели избавиться.
Например, если вы удаляете некоторый фоновый шум из записи разговора, и при этом в остаточном сигнале частично прослушивается разговор, это значит, что вы неблагоприятно воздействуете на качество исходного материала. Следует изменить параметры настройки, чтобы в остаточном сигнале содержалось как можно меньше материала, который вы хотите сохранить. Подобный метод удаления фона (или, наоборот, исследования его) часто используется в криминалистике.
В заключение вернемся еще раз на вкладку Noiseprint, чтобы описать не рассмотренные нами параметры.
Переключателем Noiseprint выбирается режим вычислений для отображения графика огибающей шума: peak (по пиковым значениям) или average (по средним значениям).
Fit size (Подогнать размер) определяет, на сколько частотных полос разбивается звук для обработки. Рекомендуется использовать большое число точек
Слева внизу окна расположены две кнопки для изменения амплитуды огибающей. Каждое нажатие на одну из них уменьшает или увеличивает амплитуду на 1 дБ. Если удерживать кнопку нажатой, через некоторое время шаг изменений увеличится. Так как алгоритмом шумоподавления обрабатывается любой сигнал, амплитуда которого оказывается ниже огибающей, ее перемещение вверх или вниз сильно влияет на то, сколько шума удаляется из исходной записи. Если процессом генерируется слишком много звуковых искажений, можно снизить амплитуду огибающей и тем самым предохранить сигнал от изменений.
Иногда требуется переместить отдельные точки или группы точек огибающей. Например, если частотные составляющие исходного материала имеют много общих с шумом точек, полезно уменьшать шум только в тех местах, где нет большого перекрытия по частоте. Скажем, имеется запись речи с сильным шипением ленты. Если выделить все точки ниже 1000 Гц и перетащить их вниз, чтобы шумоподавление не воздействовало на эти частоты, то устранится более слышимый высокочастотный шум и при этом сохранятся низкочастотные составляющие речи.
Чтобы переместить отдельную точку, нажмите на один из квадратных маркеров огибающей и перетаскивайте его.
Чтобы переместить группу точек, щелкните левой кнопкой мыши по графику и очертите прямоугольный блок, охватывающий нужные точки. Выбранные точки изменят свой цвет на красный. После того как группа точек выбрана, можно щелкнуть по ней и перетаскивать всю группу сразу.
В любое время можно убрать огибающую, нажав кнопку Reset (Сброс). Для повторной ее генерации снова нажмите кнопку Fit.
При ручной корректировке формы огибающей часто требуется изменить размер графика, чтобы лучше видеть, на какие частоты оказывается воздействие.
Изменить масштаб изображения можно несколькими способами. Один из способов состоит в том, чтобы левой кнопкой мыши выделить на графике область для увеличения. Щелкнув затем правой кнопкой и выбрав из контекстного меню команду Zoom Selection (Увеличить выделенную область), вы получите на экране увеличенное изображение области, как показано на рис. 3.3.
Другой способ заключается в смене режима масштабирования. Если, удерживая нажатой левую кнопку мыши, нажимать правую, нормальный режим можно заменить на любой из трех других: масштабирование по вертикали, по горизонтали или одновременно по вертикали и по горизонтали.
Чтобы вернуться к нормальному режиму обычного выделения, переключайтесь таким образом до тех пор, пока курсор не примет форму знака + .
При работе с графиком в увеличенном масштабе удобно пользоваться режимом Grab/Pan (Захват/Панорама), который позволяет перемещать график в дисплейном окне в любом из четырех направлений: вверх, вниз, влево, вправо. Размеры изображения при этом сохраняются. Чтобы включить режим Grab/Pan, щелкните правой кнопкой мыши по изображению графика и выберите в появившемся контекстном меню Grab/Pan. В этом режиме нельзя выделить область или переместить точки огибающей, он предназначен только для общего обзора. Чтобы отключить режим, надо повторно выбрать Grab/Pan в контекстном меню.Устранитель щелчков Click Removal
Щелчки и всплески звука часто обнаруживаются в записях, сделанных с виниловых пластинок, или возникают в результате плохого редактирования на стыке звуковых фрагментов. Они обнаруживаются визуально как острые пики на волновой форме аудиосигнала. Функция Click Removal (Устранитель щелчков) находит эти пики и может автоматически удалить их или значительно уменьшить их слышимость.
Основной способ использования функции Click Removal состоит в том, чтобы выбрать некую область в звуковом файле, включить функциональный поиск и попробовать автоматически удалить все найденные щелчки.
Щелчки могут быть устранены методом интерполяции или методом замещения поврежденного участка звукового файла данными с другого стереоканала или же с аналогичного фрагмента записи.
Алгоритм удаления щелчков разработан таким образом, чтобы находить и удалять щелчки и всплески звука, имеющего неширокополосный спектр. Предполагается, что после устранения любых подобных сбоев будет использована функция Noise Reduction для удаления другого фонового шума.
Модуль Click Removal запускается из меню, предназначенного для размещения встраиваемых приложений DirectX (в Sound Forge – DirectX) по команде Sonic Foundry Click Removal. Откроется окно Sonic Foundry Click Removal, показанное на рис. 3.4.
Рис. 3.4. Окно Sonic Foundry Click Removal
Функция Click Removal достаточно проста. Сначала выбирается Click removal method (Метод удаления щелчков): Replace (Замена) или Interpolate (Интерполяция, или Реконструкция).
С помощью Replace программа устраняет щелчки, заменяя их похоже звучащими аудиоданными из того же звукового файла. Replace – хороший метод для устранения громких щелчков и сбоев. Однако из-за множества замен при изобилии сбоев может возникать нежелательный эхо-эффект. Если это именно так, попробуйте снизить параметры настройки Slope sensitivity (Чувствительность по фронту сигнала) или используйте метод Interpolate.
Если в записи содержится громкий низкочастотный гул, настоятельно рекомендуется отфильтровать его перед использованием метода Replace.
При выборе пункта Interpolate программа пытается устранить щелчок, логически восстанавливая форму волны на его месте. Этот метод лучше всего воздействует на краткие по длительности щелчки, тогда интерполяция более точна.
Затем следует отрегулировать чувствительность, чтобы правильно настроить алгоритм на работу с обрабатываемым материалом.
Регулятором Slope sensitivity определяется, как алгоритм распознает щелчки. При малых значениях параметра алгоритм обнаруживает сбои только с крутым фронтом сигнала, а при больших – сбои и с крутым, и с пологим фронтом. Значит, чтобы обнаруживать только самые резкие щелчки, следует снижать чувствительность. Опасность слишком сильного увеличения чувствительности заключается в том, что программа повлияет и на другие аудиоданные. Внимательно слушайте предварительные результаты процесса, чтобы убедиться, что удаляются только щелчки.
Регулятором Proximity (Уровень близости) определяется, насколько близко друг от друга могут находиться щелчки. Высокие параметры настройки приведут к большему количеству находимых сбоев, а низкие заставят алгоритм тщательнее анализировать аудиоданные перед принятием решения о наличии сбоя. Параметры настройки выше 85 могут приводить к неправильному обнаружению сбоев.
Чтобы уменьшить число неправильно обнаруженных сбоев, включите опцию Extra verification when searching for clicks (Дополнительная проверка при поиске щелчков). В таком случае выполняется дополнительный анализ, чтобы предотвратить неправильное обнаружение сбоя. Если опция отключена, время обработки уменьшается, но ошибочно определенных щелчков будет больше, поэтому рекомендуется всегда устанавливать этот флажок.
Обратите внимание, что сбои, встречающиеся в первые 100 мс звучания файла, не обнаруживаются. Если в этом интервале имеются щелчки, их следует удалить вручную. Также целесообразно вставить в начало звукового файла 100 мс тишины, которые можно удалить после завершения работы со щелчками.
Восстановитель записей с виниловых носителей Vinyl Restoration
С того самого дня, когда Эдисон сделал первую запись звука на специальном цилиндре, нарезав на нем звуковую дорожку, в милях крошечных углублений выгравированы тысячи и тысячи часов звука. Форма этих углублений аналогична форме звуковых волн, но все равно несовершенна. Добавьте грязь, царапины, износ – и рецепт потери неоценимых исторических записей готов.
Функция Vinyl Restoration (Восстановитель записей с виниловых носителей) разработана для удаления из старых записей как импульсных помех (щелчков), так и широкополосных поверхностных шумов. С помощью расширенной методики фильтрации обнаруживаются и автоматически удаляются щелчки, появившиеся по причине грязи и царапин на поверхности носителя записи. Затем применяется метод, подобный функции Noise Reduction, чтобы снизить слышимость широкополосных поверхностных шумов, свойственных старым записям.
Восстановленные записи, однако, никогда не достигнут качества современных. Поэтому все внимание при обработке следует сосредоточить на их восприятии. Большинство людей не обращает внимания на некоторое шипение или приглушенный шум, возникающие при воспроизведении старых записей. Но неестественное звучание может вызывать раздражение.
Модуль Vinyl Restoration запускается из меню, которое предназначено для размещения встраиваемых приложений DirectX (в Sound Forge – DirectX) по команде Sonic Foundry Vinyl Restoration. Откроется одноименное окно, показанное на рис. 3.5.