PETELIN.RUСтатьи → Melodyne: мелодия из ничего

Melodyne: мелодия из ничего

Роман Петелин, Юрий Петелин

Возможно, вы слышали примерно такую байку. Идет сеанс записи в студии. У музыкантов работа не клеится. Не попадают в ноты, не вовремя вступают… В конце концов звукорежиссер восклицает: "Сыграйте хроматическую гамму, а остальное я сам смонтирую". Есть и другой вариант этой же истории: записывается горе-певец, и дело кончается тем, что его просят озвучить в микрофон по отдельности все буквы алфавита…
Еще несколько лет назад это можно было бы считать всего лишь профессиональным анекдотом, в котором воспевалось мастерство работников студий и, конечно, существенно преувеличивались их возможности. Однако прогресс не стоит на месте. Теперь не только специалистам, но и любителям доступны программы, способные и подправить фальшиво взятые ноты, и создать композицию любой сложности из единственного сыгранного, спетого или даже просто произнесенного звука. Сегодня мы хотим познакомить вас с одной из наиболее интересных программ подобного назначения, возможно, даже лучшей из них.

Программа Melodyne разработана немецкой компанией Celemony Software GmbH (http://www.celemony.com). По существу Melodyne представляет собой специализированный звуковой редактор. В нем, как и в других редакторах, записанный звук отображается в виде сигналограмм (волновых форм). Сигналограммы (а значит, и соответствующие им звуковые данные) можно разрезать, удалять, копировать, переносить с места на место, монтируя их последовательно на одном треке или параллельно на нескольких треках. А еще можно изменять высоту тона всей партии или отдельных ее фрагментов, а также изменять продолжительность звуковых событий, растягивая или сжимая их во времени.

Ничего необычного в перечисленных возможностях нет. На такое способны и универсальные звуковые редакторы (например, Adobe Audition, см. статьи "Магия ПК" и книгу "Adobe Audition. Обработка звука для цифрового видео"), и виртуальные студии (см. статьи "Магия ПК"), особенно если дополнить их высококачественными эффектами (см. книгу "Профессиональные плагины для SONAR и Cubase", издательство "БХВ-Петербург", 2003). В частности, практически в любой программе для работы со звуком пользователю доступны функции pitch shift (сдвиг высоты тона) и time stretch (масштабирование во времени фрагментов фонограммы).

Отличительная особенность Melodyne заключается в том, что программа максимально приспособлена для решения двух основных задач - редактирования мелодии и создания мелодии на основе нескольких заранее записанных произвольных базовых звуков (в пределе - на основе единственного звука). В самом названии программы содержится намек на то, что она является инструментом для работы именно с мелодией.

Фальшивят все

Мелодия, как известно, исполняется либо на музыкальном инструменте, либо голосом певца. В любом случае исполнение редко бывает идеальным. И вокалист, и инструменталист могут не совсем точно интонировать (попросту говоря, могут фальшивить), не вовремя начинать и завершать исполнение нот. Особенно серьезной эта проблема стала в эпоху компьютерной работы с музыкой, когда в творческий процесс включились и такие люди, которые не умеют не только петь, но и играть в реальном времени хотя бы на части из тех музыкальных инструментов, что стали широкодоступными в виде виртуальных аналогов.

В мелодии можно выделить два аспекта: звуковысотное положение элементов мелодии и ее ритмическая структуру, т. е. темп исполнения и порядок чередование звуков и пауз определенной длительности. И все это может быть предметом компьютерного редактирования.

Представьте себе, что вы работаете с записанной мелодией в универсальном звуковом редакторе, например, в том же Adobe Audition. Мощнейшая программа, но и она не способна избавить вас от мучительного труда. Первым делом вам нужно будет разделить мелодию на элементарные фрагменты: визуально по сигналограмме и на слух определить положение границ между отдельными нотами (слогами в песне и звуками в инструментальной партии). Перед нарезкой фрагментов нужно уточнить положение точек деления, переместив их в те позиции, в которых звуковая волна пересекает нулевой уровень. Если не сделать этого, то в разрезанной и отредактированной фонограмме появятся щелчки. Затем следует на слух оценить, правильна ли высота тона каждого из элементов, и в случае необходимости сдвинуть ее на некоторое количество полутонов и центов (сотых долей полутона) вверх или вниз. И, наконец, придется подстроить положение фрагментов мелодии во времени. Работа ручная, кропотливая, длительная. Такая технология при всей ее развитости и сложности позволяет исправить не все типы погрешностей исполнения.

А как обстоит дело, если в качестве инструмента редактирования мелодии выбрана программа Melodyne? Прежде всего, Melodyne берет на себя самые трудоемкие из перечисленных операций. А то, что программа не в состоянии выполнить автоматически, она, конечно, оставляет на долю пользователя, но при этом оказывает ему всевозможную помощь. Попробуем разобраться в этом разделении творческого и рутинного труда.

Звуковой файл, содержащий редактируемую мелодию, вы можете записать и непосредственно в Melodyne, но лучше сделать это в каком-либо другом редакторе, сохранить файл в формате WAV и затем открыть его в Melodyne. Дело в том, что в Melodyne, во-первых, нет необходимых средств подготовки звука к распознаванию мелодии (в частности, не реализованы процедуры шумоподавления). Во-вторых, здесь не очень удобные, грубые измерители (точнее даже - индикаторы) уровня сигнала. Поэтому оптимальный уровень подобрать трудно, следовательно, высока вероятность возникновения перегрузки, а, значит, и искажений.

Объектом применения Melodyne является одноголосная партия. Сведенные полифонические композиции не обрабатываются, так как в аккордах очень трудно распознать высоту тона определенного голоса. На такой подвиг компьютерные программы пока не способны.

Правда, на параллельных треках в Melodyne наряду с обрабатываемой мелодической партией могут располагаться еще несколько одноголосных партий или сведенный в один трек многоголосный аккомпанемент. В последнем случае работать с мелодией, конечно, удобнее.

Звук должен быть записан насколько возможно "сухим" (желательно выполнять запись в заглушенном помещении). Дело в том, что естественная реверберация может создать эффект полифонического звучания даже единственного голоса. Разумеется, применять эффекты наподобие реверберации, хоруса и дилэя к звуковым данным, которые только еще предстоит обработать Melodyne, нельзя. А вот что можно и даже нужно предварительно сделать, так это избавиться от шума в паузах и явных огрехов, допущенных во время исполнения партии (типа покашливания, шелеста). Если не позаботиться об этом, то в дальнейшем возникнут неточности в определении границ отдельных звуков и будут наблюдаться случаи ложного обнаружения нот.

Да была ли мелодия?

После запуска программы открывается главное окно, удивляющее своей пустотой: в нем нет ничего кроме главного меню: File, Edit, View, Navigation, Midi, Window и ? (Help).

Будем считать, что работа в Melodyne начинается с загрузки заранее подготовленного файла командой File > Open. Как только вы это сделаете, откроется окно проекта (аранжировки), представленное на рис. 1. Фактически это мультитрековый редактор. Причем сигналограмма файла загруженной мелодии окажется на треке № 1. Если той же командой загрузить еще один файл, то будет открыто еще одно окно проекта. А вот для того, чтобы на второй трек окна открытого проекта поместить, например, запись аккомпанемента, соответствующий файл нужно открывать командой File > Add Melody.


Рис. 1. Окно проекта с загруженным файлом мелодии

На рисунке также показана транспортная панель, элементы которой, вероятно, не нуждаются в пояснениях. Вообще-то, ее можно скрыть, воспользовавшись соответствующей командой меню Window.

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

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

Первым этапом редактирования мелодии является ее автоматическое распознавание (в терминологии программы - детектирование). Поэтому в раскрывающемся списке выберите команду Detect Melody. Отроется диалоговое окно Sound Files. В нем следует назначить алгоритм распознавания, наиболее эффективный для музыкального материала определенного типа. Варианты перечислены в раскрывающемся списке Parameter Set. Например, если редактируемую мелодию спел тенор, то с помощью системы меню вы должны выбрать алгоритм распознавания, который и называется Tenor Vocals. Среди вариантов алгоритмов распознавания имеются "заточенные" для разговорной речи, ударных инструментов, мелодии, спетой голосами различных типов и сыгранной на различных струнных и духовых инструментах. Выбрав алгоритм, нажмите кнопку Detect. Начнется процесс распознавания мелодии. О его ходе будет сигнализировать прогресс-индикатор. Как только этап распознавания завершится, сигналограмма в окне проекта изменит свой вид. Теперь на треке отображается не только сам факт существования в пределах тех или иных временных интервалов звуковых колебаний с определенной амплитудой, но и индицируется изменение высоты тона (рис. 2).


Рис. 2. Окно проекта с распознанной мелодией

Отпечатки звуков

К окну проекта мы еще вернемся, когда дело дойдет до формирования, например, партий бэк-вокала. А сейчас перейдем в окно Editor (рис. 3), предназначенное для редактирования мелодии. Для этого в окне проекта нужно сделать двойной щелчок на расположенной в левой части проекта окна секции атрибутов трека, содержащего сигналограмму мелодии. Вы найдете секции атрибутов треков по явному признаку: в каждой из них имеется три кнопки: S - включение режима солирования для данного трека (звучание остальных треков будет заглушено), M - мьютирование (заглушение) данного трека, R - разрешение записи на данный трек.


Рис. 3. Окно редактирования мелодии

Итак, открылось окно Editor и вы увидели координатное поле. Горизонтальная ось системы координат здесь, конечно, время в тактах и долях такта, а вертикальная - высота тона, измеренная в полутонах и центах. Вместо делений шкалы - изображение фортепианных клавиш с указанием ноты и номера октавы (на клавишах C). Внешне окно очень похоже на окно Piano Roll в программе Cakewalk SONAR или Key Editor в Steinberg Cubase (аналогичные окна в обязательном порядке имеются также в любом современном MIDI-редакторе). Подобный элемент интерфейса мы называем "окно отпечатков клавиш". По аналогии окно Editor программы Melodyne можно назвать окном отпечатков звуков.

Программа распознала мелодию. Что это означает? Во-первых, автоматически найдены границы отдельных отпечатков звуков (например, слогов в вокальной партии). По всей видимости, критерий, согласно которому программа отличает звук от тишины, основан на превышении порогового уровня группой отсчетов записанного сигнала. Для того чтобы не терялись окончания звуков, величину этого порога разработчики должны были выбрать очень небольшой. Вот почему важно, чтобы исходный оцифрованный звук характеризовался максимально возможным отношением сигнал/шум. Иначе при заметном шуме в паузах алгоритм будет срабатывать по шумовым отсчетам, допуская ошибку типа "ложное обнаружение сигнала". Во-вторых, автоматически вычислен музыкальный размер, а также темп, в котором исполнена записанная мелодия. Темп, как обычно, измеряется в количестве долей, приходящихся на одну минуту. В-третьих (и это главное), измерена основная частота звуковых колебаний каждого элемента мелодии. Полученные значения частот сравнены со стандартными частотами нот. Сигналограммы обособленных звуков (слогов) в окне редактирования мелодии помещены напротив изображений клавиш, обозначающих соответствующие ноты. Все перечисленное хорошо видно в окне Editor. Есть и еще один результат распознавания мелодии, который в окне Editor разглядеть невозможно: границы отдельных звуков автоматически чуть-чуть скорректированы (перенесены в ближайшие точки, где звуковая волна пересекает нулевой уровень). Тем самым устранены предпосылки для появления щелчков.

Инструменты и инструментики

Следующим этапом после распознавания мелодии является ее редактирование. Оно осуществляется в окне Editor с помощью весьма обширного набора инструментов.

Основные инструменты представлены в левой верхней части окна: . Инструмент служит для выделения редактируемых объектов. Остальные инструменты позволяют редактировать определенные параметры мелодии (или ее фрагментов): - высоту тона; - положение формантной области, которая определяет отличительные тембровые признаки конкретного голоса; - амплитуду звуковых волн; - временные параметры отпечатков звуков. Инструмент предназначен для ручного разделения отпечатков звуков на фрагменты. При выборе того или иного инструмента происходит смена набора команд раскрывающегося списка окна Edit.

Существует и альтернативный способ доступа к инструментам: щелчком правой кнопки мыши на отпечатке звука открывается расширенная инструментальная панель. В ней каждый из основных инструментов в свою очередь сопровождается набором дополнительных инструментов (в программе используется термин "subtool", что буквально можно перевести как "субинстрмент"). Мы не станем подробно описывать эти наборы. Заметим только, что все они содержат субинструмент для оперативного прослушивания результатов работы, а трижды встречающийся субинструмент позволяет управлять характером изменения редактируемого параметра при переходе от предыдущей ноты к ноте очередной, например, варьировать скорость изменения тона на границах отпечатков звуков.

Сущность работы в окне Edit рассмотрим на примере редактирования высоты тона. Щелкнув правой кнопкой мыши, выделим отпечаток звука, который требуется отредактировать (одновременно выберем инструмент редактирования высоты тона ). Допустим, что нужно подправить отпечаток звука, детально показанный на рис. 4 и приблизительно соответствующий ноте F (фа).


Рис. 4. Отпечатки звуков во всех подробностях

Невооруженным глазом видно, что нота сыграна неточно: отпечаток звука смещен вверх по отношению к следу клавиши F. Об этом же свидетельствует содержимое двух полей ввода, расположенных под заголовком окна. В одном из них указывается, что высота тона, в принципе, соответствует ноте F4, в другом - что от истинного фа она отличается на +34 цента. В этих полях, по сути дела, приведено среднее значение высоты тона. На самом деле высота тона даже в пределах одного отпечатка звука непрерывно изменяется, что отображает график, наложенный на отпечатки звуков. Иногда это является следствием вибрато, придающего особую красоту звуку, иногда - просто результатом неумелого исполнения мелодии. Заметим, что график мгновенного изменения высоты тона тоже доступен для редактирования (с помощью субинструментов и ). Но это уже относится к высшему пилотажу, пытаться обучить которому в рамках журнальной статьи совершенно нереально. Сейчас же ограничимся тем, что поясним способы, которыми можно подправить высоту тона. Если редактирование ведется без жесткой привязки к шкале высот (в режиме No Snap, см. раскрывающийся список в верхней части окна), то следует просто захватить отпечаток звука мышью и перемещать его по вертикали до тех пор, пока точное значение расстройки (в центах) не обратится в ноль. Результат представлен на рис. 5.


Рис. 5. Высота тона подправлена

Но есть и два других способа: Note Snap - с привязкой высоты тона отпечатков звуков к нотам; Scale Snap - с привязкой к ладу и тональности. Если в раскрывающемся списке выбрать способ Note Snap, то для каждого отпечатка звука будет отображено то его положение, которое соответствует ноте, наиболее близкой по высоте (рис. 6).


Рис. 6. Подстроить отпечатки звуков под ноты?

Это то, что предлагает программа. А решение принимать вам. Если считаете, что конкретный отпечаток нужно редактировать - захватите его и чуть-чуть переместите. Далее он сам "перескочит" на положенное место.

Итак, способ Note Snap позволяет уравнять высоту тона любого отпечатка с высотой тона ближайшей ноты хроматической гаммы. Способ Scale Snap сложнее. Если производить коррекцию высоты тона в соответствии с ним, то реально записанные ноты будут трансформированы в те ноты, которые являются допустимыми для определенного лада и тональности. Таким способом можно добиться того эффекта, что песенка "В лесу родилась елочка" зазвучит, например, так, будто она является лейтмотивом саундтрека к индийскому фильму.

Melodyne сопровождается пресетом, задающем частоты звуковых колебаний (высоту тона нот), соответствующие равномерно темперированному строю, наиболее распространенному в наши дни в европейской музыке. Кроме того, имеются пресеты еще трех вариантов строя. Задать любой известный (или вообще определить свой собственный произвольный) лад вы можете, воспользовавшись полями ввода диалогового окна, которое открывается командой Window > Tone Scale.

Если вы не очень хорошо ориентируетесь в различных ладовых системах, советуем в качестве средства и обучения, и транспонирования мелодии воспользоваться MIDI-плагином Transpose, входящем в программу SONAR (см. книгу Cakewalk SONAR 4 Producer Edition. Секреты мастерства", издательство "БХВ-Петербург", 2005).

Итак, тем или иным способом вы скорректировали высоту тона всех отпечатков звуков, составляющих мелодию. Далее, пользуясь субинструментами группы , можно отрегулировать громкость каждого из отпечатков звука. А при помощи субинструментов группы можно переместить отпечатки звука в другие позиции, растянуть или сжать их во времени, а также изменить их форму. Последнее позволяет повлиять, например, на характер фазы атаки: звук может возникать либо плавно, либо резко, "ударно".

Если в процессе автоматического распознавания мелодии программа ошиблась и объединила несколько слогов, которые должны петься различными нотами, вы можете разделить их инструментом , а затем для каждого слога по отдельности установить свой необходимый тон.

Вы, вероятно, заметили, что невольно мы в основном рассуждаем о том, как отредактировать мелодию, именно спетую, а не сыгранную на музыкальном инструменте. Это не случайно. Ведь даже если вы не способны играть в реальном времени, всегда можно записать партию с MIDI-клавиатуры в пошаговом режиме или даже "нарисовать" ее в MIDI-редакторе. А вот "пошагово" спетые звуки превратить в песню способна только программа Melodyne.

Хор клонов

После завершения редактирования мелодии можно приступить к ее гармонизации. Например, можно сформировать второй голос или вообще сформировать искусственный многоголосный бэк-вокал.

Для этого следует вернуться в окно проекта, выделить трек с мелодией и, пользуясь стандартными командами главного меню (Edit > Copy и Edit > Paste), скопировать мелодию еще на несколько треков. Далее, редактируя в окне Edit высоту тона соответствующих отпечатков звука, нужно сформировать необходимые аккорды. При этом ноты одного трека следует рассматривать как основные звуки (примы) формируемых аккордов, второго - как терции, третьего - как квинты и т. д. Чтобы выполнить такую задачу, не обойтись без знания основ гармонии, которые, вы найдете в книге "Аранжировка музыки на PC". Впрочем, в наши дни и в этом деле существуют виртуальные помощники, например, программа-автоаранжировщик Band-in-a-Box (см. статью, книгу "Аранжировка музыки на PC"). Запишите (наиграйте) в ней мелодию MIDI-нотами, а четырехголосную гармонизацию она выполнит сама. Пользуясь нотными записями сформированных MIDI-партий как шпаргалкой и переключаясь между программами, отредактируйте отпечатки звуков на треках Melodyne.

Кстати говоря, в окне Edit можно работать не с отпечатками звуков, а с самыми обычными нотами. Щелкните на расположенной в левом верхнем углу окна кнопке, помеченной изображением скрипичного ключа, и появится нотный стан. На нем ноты можно мышью перемещать в вертикальном направлении. Отпечатки звуков будут перемещаться синхронно.

Экспортируем, конвертируем

В принципе, далее можно непосредственно в Melodyne отрегулировать соотношение громкости основного мелодического голоса и голосов бэк-вокала, распределить голоса по панораме и скорректировать их частотные параметры. Для этого в Melodyne предусмотрено окно микшера (открывается командой меню Window > Mixer). Но лучше продолжить эту работу в одной из специально приспособленных виртуальных студий (скажем, Cubase или SONAR). А вот чтобы такое стало возможным, результаты ваших трудов из Melodyne нужно экспортировать в WAV-файл. Для этого командой File > Export откройте окно Export и в нем выберите аудиоформат (в полях группы Format: выберите Audio, WAVE). В этом же окне вы можете определить треки, данные с которых предстоит экспортировать в файл (нас интересуют только треки основного голоса и голосов бэк-вокала, а трек, на котором, возможно, располагался аккомпанемент, скорее всего, и без того имелся ранее). Обратите внимание на две важные опции группы Channels. При выборе Stereo Mix все треки Melodyne перед сохранением будут смикшированы (в соответствии с настройкой микшера Melodyne) и сохранены в виде единственного стереофайла. Вряд ли это вас устроит. Ведь, наверное, хочется продолжить работу отдельно с каждым голосом, например, панорамировать голоса и обработать эффектами (реверберацией, дилэем…) с различными параметрами. Поэтому лучше выбрать опцию экспортирования Save each track as a single file, тогда каждый голос будет сохранен в отдельном WAV-файле.

Окно Export позволяет реализовать еще одну весьма полезную функцию. Если в поле группы Format: выбрать формат MIDI, то результат работы программы Melodyne будет экспортирован в MIDI-файл. На практике это имеет очень большое значение. Прикиньте. Вы напели или наиграли на пианино, гитаре, балалайке мелодию (записав звук с помощью Melodyne или любого звукового редактора). После этого средствами Melodyne вы мелодию распознали и экспортировали в MIDI-файл. Знаете, что получилось? Вы звук конвертировали в MIDI. Теперь делайте с MIDI-файлом, что вам угодно. Например, распечатывайте ноты партии или вместо балалайки подставляйте голос любого самого "навороченного" виртуального синтезатора. На форумах сайта http://petelin.ru десятки раз возникал вопрос о надежных программах-конверторах "WAVE > MIDI". Пожалуй, ответ на него теперь есть (по крайней мере, применительно к одноголосным партиям).