Началось все много лет назад, когда мне в руки попалась славная программа SynthEdit Джефа Макклинтока. Честно говоря, тогда я совершенно не понял всего того потенциала, который в нее заложен, а стандартные примеры, которыми она оснащалась, энтузиазма не вызывали. В результате SynthEdit был благополучно забыт и долго пылился на задворках жесткого диска. А вспомнил я о нем лишь после того, как появился его конкурент — Synthmaker. К этому времени Интернет уже был хорошенько набит синтезаторами и эффектами, созданными в этих модульных станциях.
Скачав демоверсию Synthmaker, я поначалу пребывал в состоянии легкой эйфории. Красивый, современный, интуитивный интерфейс и обилие базовых элементов вызвали ощущение безграничности возможностей программы. Казалось, стоит только слегка разобраться в этом многообразии, и я быстренько заткну за пояс Native Instruments вместе со Steinberg. Я даже начал подумывать о покупке лицензии (это около $200). Однако дни шли, а ничего кроме стандартных осцилляторов, огибающих и эффекта частотной модуляции у меня не получалось. Эйфория сменилась прозрением: оказалось, что мне катастрофически не хватает фундаментальных знаний в области элементарной физики и математики, не хватает понимания тех процессов, которые я хотел эмулировать.
Желание создавать синтезаторы, правда, не пропало. И я углубился в Интернет с целью восполнить пробелы в знаниях. К сожалению, русскоязычный сегмент Интернета практически не содержит полезной информации. Все самое ценное хранится в англоязычных форумах и группах… вроде дело пошло, но этот новомодный Synthmaker стал все больше меня раздражать: DLL синтезатора пустого проекта занимает добрых 4 мегабайта (против 1 у SynthEdit), векторный интерфейс получаемых плагинов красив, но съедает прилично ресурсов (в синтэдите только битмапы, зато с альфа-каналом и с очень быстрой отрисовкой). К тому же лишь у SynthEdit оказался полноценный API, позволяющий писать любые модули, которых изначально нет в программе. Таких модулей в Интернете сейчас лишь немногим меньше готовых плагинов. Все это подтолкнуло меня к возврату к незаслуженно забытому инструменту.
Итак. Ближе к делу. Для создания VST-версии печатной машинки мне понадобились следующие вещи: собственно идея, печатная машинка, фотоаппарат, микрофон, микрофонная стойка, микшер, Adobe Audition, Photoshop, Awave Studio и Synthedit.
Идея создания виртуальной пишущей машинки у меня родилась еще в самом начале, когда я строил «грандиозные планы» порабощения Мира заработка на собственных синтезаторах. Печатную машинку я на пару вечеров одолжил у знакомой журналистки-пенсионерки, микрофон и стойку — у приятеля-музыканта, остальное у меня было в наличии.
Первым делом я устроил печаталке фотосессию. Фотографий было сделано десятка два.
Подобрав наиболее удачное изображение, его пришлось еще «пофотошопить»: с помощью инструмента Lens Correction исправить искажения линзы, сделав все линии параллельными, затем подрулить цветность и стереть оригинальные клавиши.
Следующим этапом была звукозапись. Для этих целей я выбрал Adobe Audition 1.5. Очень удобная в своем роде программа. Конечно, можно было воспользоваться и Wavosaur’ом, но в последнем нет модуля шумоподавления и возможности редактирования метаданных для семплера, о которым пойдет речь ниже.
Каждый звук, издаваемый машинкой, я тоже записал по нескольку раз, чтобы потом выбрать наиболее удачный. Также я записал несколько секунд «тишины» в качестве профиля для «шумодава». И все равно пришлось переписывать все еще раз, повысив чувствительность микрофона, т.к. на тихих звуках слишком сильно было заметно влияние шумодава. Компрессию звука я не применял, только шумоподавление и нормализацию.
Полученную запись я прослушал еще несколько раз и выбрал самые удачные звуки, которые затем и вырезал.
При всем шумовом многообразии пишущей машинки, уникальных звуков у меня получилась всего дюжина. Это как раз вписывается в одну октаву. Этот факт и определил внешний вид синтезатора (хотя изначально я планировал нарисовать две или три октавы — эдакий печатный аккордеон).
Самое главное готово, осталось собрать это все в VST-плагин. В синтэдите есть замечательная штука SoundFont Oscillator, который позволяет использовать готовые банки звуковых таблиц, нужно только сделать этот банк. Можно воспользоваться стандартной программой Vienna SoundFont Studio, которой оснащаются все звуковые карты от Creative. Но у меня она отказалась запускаться. Снова покопавшись в Интернете, я остановил свой выбор на Awave Studio. В Awave оказалось довольно просто назначить полученные звуки конкретным клавишам и сохранить это все в нужном нам формате EMU SoundFont v.2.0 (SF2). Единственная сложность, возникшая на данном этапе, заключалась в том, что у каждого семпла должна быть заполнена мета-информация о ключевой ноте (root key), а по умолчанию всегда принимается C4, из-за чего звуки ресемплируются. Выставляется этот параметр в Audition в меню View / Wave Properties.
Ну, а дальше уже дело техники. Проект в синтэдите прост до безобразия: SoundFont Oscillator, две ADSR-огибающие (для левого и правого каналов), chorus для имитации стереозадежки и дисторшн для усиления сигнала. Пришлось еще, правда, подредактировать визуальную тему, но об этом как-нибудь в другой раз.
Собственно все. Выбираем в меню Save As VST. Ставим галки, что нам нужен именно инструмент, а не эффект, и в закладке Embedded Files добавляем наш SF2 банк, чтобы он вкомпилировался в DLL-ку.
Итого: пол года вынашивания идеи и один вечер на реализацию. Сегодня я уже понимаю, что конкурировать с теми же Native Instruments (да и с конторами поменьше масштабом) в одиночку практически невозможно, но сделать что-то свое, оригинальное под силу каждому. Главное — идея!