Tuesday, 29 May 2012

Wavetable, или как сыграть на таблице

Виктор В. Пушкар
(для журнала Мой Компьютер, 2000 г.)

Вопросы по поводу wavetable, он же табличный синтез, или синтез по таблицам волновых форм, относятся к разряду достаточно редко задаваемых Имеющему Уши. Однако периодически они все-таки задаются. Как правило, теми, кто уже осознал, что между инструментами с клавиатурой случается очень большая разница, а то и целых две больших разницы. И даже если мы будем говорить только о синтезаторах, они тоже между собой различаются.

Клавиша всех времен и народов Moog, а также около сотни более или менее удачных ее клонов (три генератора, один фильтр) способны издавать только часть нужных современному музыканту звуков. То же самое касается и условно похожего на старый добрый Moog софта, с учетом все-таки заметной на слух разницы между цифрой и аналогом, а также возникающих в не очень тщательно настроенной системе задержек. Чем в это плане выгодно отличается табличный синтез, так это спокойным отношением юзера, а вслед за ним и слушателя, к легким или даже тяжелым цифровым искажениям. Из всех этих ограничений динамического диапазона и частоты самплирования можно сделать собственную «фишку».

Ведь так 20-25 лет назад звучала уже тогда обычная для широкой публики синтезаторная партия. Зайдите на полезный во многих отношениях www.sonicstate.com и убедитесь, что древний Prophet VS до сих пор рулит среди клавишников. Хоть и мало у кого остался в рабочем состоянии. Для обладателей умеренно толстых выделенок рекомендуется снятое командой сайта видео про 20 лучших синтезаторов, выбраных по результатам юзерского голосования. Так вот, 4 из 20 использовали в звуковом движке именно технику табличного синтеза в различных вариантах.  

Конечно, мы можем пользовать MIDI-секвенсор, многоканальную аудиозапись с наложением, или совсем хитрые приемы нелинейного монтажа. Но если в вещь просятся две или более синтезаторных партий, желательно разделять их функции в саунде. Лично для меня wavetable в чистом виде (сокращенно - WT), или он же в сочетании с аналоговым синтезом – один из правильных вариантов выбора. Итак,

Что такое табличный синтез?

Практически, WT – это тот же самый волновой файл, только, как правило, очень короткий и мелкий, оптимизированный под обработку древними или просто низкопроизводительными процессорами. Типичная таблица волновых форм изначально состояла из 128 отсчетов, каждому из которых присваивалось 8-битное значение. Т.е. конечно можно ее сделать и длиннее, и разрядности добавить. Но просчитает ли тогда наш новый (по состоянию на середину 80-х) звуковой процессор игру всеми 10 пальцами виртуоза в реальном времени; или вытянет только сыграную одним пальцем, и с большой задержкой? 

Дальше все зависело от жанра музыки и мастерства программера. Далеко не всегда тембры, сделанные на подобных звуковых движках, звучат по-детски наивно или по кибер-панковски жестко; достаточно долго подобная техника справедливо считалась профессиональной и даже стоила больших денег. Разработчики самплеров (просьба различать с WT-синтезаторами!) предусматривали режим зацикливания волновой формы по произвольно выбраным точкам. Получалось похоже на столь любимые ди-джеями «лупы», только намного короче.

В результате получалось: там где пользователь самплера жаловался, что ему мало двух мегабайт памяти, и для игры вживую хотелось бы апгрейдиться хотя бы до восьми, то обладатель WT-синтезатора мог быть крайне доволен парой сотен килобайт. Если, конечно, ему давался или грамотно запрограммированный набор волновых форм, или полный доступ к редактированию тембра, включая создание собственных таблиц. И тут мы подбираемся к следующему вопросу –

Как создать красивую и душевную волновую форму?

Таблица лишена своих собственных соображалок, ощущалок, воспринималок и прочих конструкций, характерных для гуманоидов. Любую последовательность значений отсчетов можно крутить по циклу, примерно как музыкальный автомат можно зарядить либо всяческой гнусной попсой, либо просто произвольно выбранными звуками в подходящем для него формате. Для автомата это означает воспроизвести трек 3 после трека 2, ничего личного. И замени мы в плейлисте безголосого распальцованого уродца на обладателя самого замечательного голоса, для автомата это все равно будет просто трек 3. Но мы с вами вроде как музыку играть собрались…

Для начала вспоминаем арифметику. 128 отсчетов при воспроизведении сампла с частотой 44 кГц звучат примерно 3 милисекунды. Это слишком коротко, если мы расчитываем на человеческое восприятие; чтобы слушатель успел оценить красоты волновой формы (там, где они есть ;-) ), лучше выбирать длину цикла от 20 мс и длиннее. Вдаваться в подробности не будем; но  такая длительность временного интервала много раз подтверждалась экспериментально. Если мы воспроизведем файл длительностью пару милисекунд, будет либо слышно щелчок, либо вообще ничего не слышно. А за 20-50 мс уже можно услышать определенные признаки тембра.

Получить этот короткий цикл  можно разными способами.
1)   Сесть за комп и ввести таблицу с клавы. Сначала некоторые так и делали, но тут есть разрыв между моментом, когда вы вводите данные, и когда слышите результат. А если наша волновая таблица имеет длину в 1024 отсчета, как в ряде более поздних звуковых движков? Без устойчивой привычки к программированию такую операцию осилить сложно.
2)   Выбрать самый характерный фрагмент звука записанного в цифру инструмента. Записать вживую, зациклить фрагмент, и гордо назвать получившийся результат саксофоном или виолончелью. Те, кто слышал реальный саксофон, в лучшем случае будут смеяться. Хотя, если использовать наш мелкий самплик аккуратно и по назначению, он тоже может пригодиться. Я сам иногда так поступаю, хотя намного чаще пользуюсь техникой номер 4.
3)   Способ для более продвинутых в программировании. Задать волновую форму математически, и фрагмент для зацикливания тоже получить с помощью вычислений. Есть специальные языки и программные среды, в которых это делается. Заведите себе Сsound, или изучите Common LISP. Тогда вы постепенно научитесь генерить таблицу любых размеров, и любыми способами с ней манипулировать. Не ограничивая себя междумордием (укр. - міжпиччям), созданным для музыкантов без программерской подготовки. Однако не сильно увлекайтесь первой стадией процесса. Поскольку таблицу синтеза в общем случае желательно еще прикрутить к патчу, а патчу подать на вход команды, соответсвующие вашей, надеюсь, замечательной музыке.
4)    Ряд звуковых програм обладает специальным окном синтеза волновой формы, который можно контролировать на слух в реальном времени. Это относится к волновым  редакторам и к синтезаторам. Например, у нас есть ряд пресетов, соответствующих простым математическим функциям. Начиная с синусоиды, пилы и меандра. На которые либо навешивают обычные эффекты, либо подвергают их различным манипуляциям, включая произвольное дорисовывание формы мышью. Как правило, в универсальном волновом редакторе результат выходит точнее, а в окне синтеза или модуле синтезатора он более предсказуем.

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

Каким образом таблица волновых форм «встраивается» в патч?

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

Таблица синтеза может  быть уместна во всех трех случаях. Например, в уже упомянутой классической схеме с тремя генераторами каждый из них заменяется набором табличных волновых форм. Или к двум обычным аналоговым генераторам добавляется два цифровых, как в старом Prophet VS, либо его относительно новом родственнике Dave Smith Instruments Evolver. Дейв Смит приходится «папой» и тому, и другому инструменту. Кстати, первым принципиальным новшеством в Evolver стала именно возможность загружать пользовательские таблицы синтеза в формате обычной «вавки», а вторым – наличие компьютерного редактора патчей.

Еще один отчасти совпадающий по идеологии инструмент – Waldorf Wave/Microwave. В Microwave даже было аналогичное Prophet VS количество генераторов – два аналоговых и два цифровых, но звучал этот экзотический зверь совершенно иначе. Инструменты перестали выпускаться по причине банкротства фирмы, о котором благодарные юзеры до сих пор весьма  сожалеют. Примерно год назад стало известно, что Waldorf возобновил свою работу, и даже собирается выпустить серьезно апгрейженую версию своих старых клавиш. Команда разработчиков возглавляется теми же самыми людьми, поэтому можно надеяться на их успех.

Третий отдаленно похожий синтезатор, с аналоговыми и цифровыми генераторами собирается выпустить шведская Clavia. Которая тоже обладает достаточным потенциалом и опытом производства инструментов. Разве что совсем лишенный любопытства синтезаторщик не знает серий Nord Lead и Nord Modular.

Совсем перпендикулярные концепции работы с таблицами синтеза были представлены разработчиками звукового чипа Commodore-64, а также умеренно известной фирмой Cheetah, чьи разработки после банкротства частично купил Roland.

УГОЛОК МАНЬЯКА. Еще раз о различиях самограя и синтезатора.

Родственная табличному синтезу технология применялась и другими производителями инструментов. Начиная с явно учебных моделей и заканчивая флагманами от GEM, Korg, Roland, Yamaha. Самое существенное различие заключалось в доступной пользователю глубине редактирования звука. Если «редактирование» сводится к изменению баланса частот эквалайзером и навешиванию пресетных эффектов, то этот инструмент не является синтезатором в общепринятом смысле.

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

В последнее время в этих почтенных компаниях тоже стали вспоминать об успехах старых моделей, расчитанных скорее на живое исполнение и игру в ансамбле, чем последовательную запись в секвенсор одним пользователем. Ведь все равно софта, которая бегает в компе, обладает более серьезными возможностями. Да и 8 октав рояльной клавиатуры нужны далеко не каждому. Впрочем, насколько новые синтезаторы смогли догнать и перегнать полузабытые модели 70-х и 80-х – тема для совершенно отдельного разговора.

ВЫХОД ИЗ УГОЛКА МАНЬЯКА

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

No comments:

Post a Comment