|
Сэмплирование. Как устроен сэмплер. О том, как работает семплерНа Рис. 1. изображена схема источника звука среднестатистического семплера. На самом деле каждый звук рождается в нескольких таких источниках, сигналы которых смешиваются между собой. Давайте договоримся, что каждый такой источник будет называться "леером", от английского layer - слой. Это стандартный термин, с которым вы встретитесь в любой программе управления семплерами. Немного позже вы убедитесь, что этот термин наиболее адекватно отражает суть происходящего. Кстати говоря, несмотря на то, что мультимедийные семплеры (например, SB Live!) управляются программно, все устройства, о которых пойдет речь ниже, реализованы аппаратно, а с помощью программы происходит лишь изменение их параметров. Рис. 1. Итак, самым главным элементом любого леера является генератор - именно в нем рождается звук при воспроизведении семпла. Иногда генератор семплера называют осциллятором. Но мы будем употреблять именно термин "генератор", так как осциллятором ("колебателем" или "генератором", от английского oscillate - колебаться, вибрировать), формально можно назвать даже гайку, которую вы держите в руке на веревочке. Семплы, как вы помните, находятся в оперативной памяти устройства и извлекаются оттуда при поступлении соответствующей команды от программы управления. Генератор воспроизводит семпл с разной высотой, в зависимости от поступающего в него сообщения MIDI Note (MIDI нота) (Рис. 1.). Причем, семпл может воспроизводиться как линейно, то есть от начала до конца, так и закольцовано. В последнем случае инструмент звучит ровно столько, сколько вы удерживаете в нажатом состоянии клавишу на MIDI-клавиатуре. Помимо изменения высоты тона, генератор изменяет уровень воспроизводимого семпла, в зависимости от сообщения Velosity (Скорость нажатия клавиши). В этой конструкции ничего таинственного нет - все очень похоже на обычный магнитофон, у которого меняется скорость ленты, и звук воспроизводится с разной скоростью. Все таинственное начинается чуть позже, когда генератор начинается модулироваться другими устройствами. Если вы знакомились с программным FM синтезатором аудиоредактора Sound Forge, то должны представлять, что такое частотная модуляция (FM - Frequency Modulation). Помните, мы модулировали генератор синтезатора другим генератором? В результате у нас получались периодические изменения высоты звука, причем, меняя кривую огибающей можно было воздействовать на амплитуду и время начала изменений частоты. В любом семплере вы можете делать тоже самое, и с помощью генератора низкой частоты (LFO - Low Frequency Oscillator) менять высоту воспроизведения семпла с некоторой периодичностью. Но в отличие от программного FM-синтезатора, с которым мы познакомились, частотой колебаний LFO семплера можно управлять в реальном времени при помощи MIDI клавиатуры. Причем, если на вашей клавиатуре есть программируемые слайдеры, которые могут изменять значения любых контроллеров, то арсенал средств управления модуляцией в реальном времени довольно сильно расширяется. Но об этом чуть позже. Как и в программном FM-синтезаторе Sound Forge, амплитудой колебаний LFO можно управлять при помощи генератора огибающей (Envelope Generator) (Рис. 1.), с помощью которого создается произвольная огибающая. Этот метод модуляции называется амплитудной модуляцией (AM - Amplitude Modulation). Но в любом семплере при помощи амплитудной модуляции вы можете управлять не только параметрами генератора низкой частоты, но и параметрами воспроизведения семпла. Например, если вы "нарисовали" время линейной атаки 1 с, то после нажатия клавиши громкость семпла будет линейно возрастать от минимальной громкости к максимальной в течении 1 секунды. А если вы указываете время затухания (Release) 0.5 с, то после отпускания клавиши семпл будет звучать указанное время, причем его громкость будет линейно уменьшаться. Естественно, можно "рисовать" и более сложные огибающие. Итак, давайте посмотрим, что получается. У вас есть семпл, который воспроизводится генератором с разной высотой и уровнем в зависимости от поступающих сообщений MIDI Note (MIDI нота) и Velocity (Скорость нажатия клавиш) с вашей клавиатуры. Вы можете к этому семплу применить два вида модуляции: частотную и амплитудную. В первом случае будет периодически меняться высота воспроизводимого семпла относительно взятой на клавиатуре ноты, а во втором - его относительный уровень в течении времени звучания. Если же мы применяем амплитудную модуляцию к генератору низкой частоты, то можем управлять и изменениями амплитуды колебаний высоты в течение времени. Но это еще не все. Всеми параметрами и частотной и амплитудной модуляции можно управлять в реальном времени с помощью контроллеров. Например, вы присваиваете контроллер ?1 (Mod Wheel - сообщение, производимое колесом модуляции, которое есть практически на всех клавиатурах) регулятору уровня частотной модуляции. При этом LFO у вас настроен на генерацию синусоидального сигнала с частотой 0.5 Гц. Нажимаем клавишу на клавиатуре и слышим обычный звук воспроизводимого семпла. Теперь начинаем вращать колесо модуляции и слышим, как все сильнее и сильнее взятая нота начинает изменять свою высоту с периодичностью в пол-секунды. Причем, чем сильнее мы отклоняем колесо модуляции от нулевой отметки, тем сильнее у нас вибрирует звук. Кстати, по умолчанию колесо модуляции действует именно таким образом. Но в любом семплере вы можете задать амплитуду колебаний хоть в две октавы и выбрать любую форму волны генератора низкой частоты. На Рис. 1 вы видите два генератора низкой частоты. Естественно, один генератор может модулироваться другим точно так же, как и в FM-синтезаторе. И у обоих генераторов можно свободно отрисовывать огибающие. Да еще управлять ими в реальном времени, например, меняя не только уровень воздействия на звук, но и частоты обоих LFO (если у вас есть на клавиатуре программируемые слайдеры). В некоторых семплерах генераторов низкой частоты может быть и больше. Вот, вкратце, и вся схема работы источника звука одного леера. Но при формировании звука у вас может быть от одного до тридцати двух и более лееров, то есть каждый звук, извлекающийся из инструмента при нажатии клавиш на MIDI-клавиатуре может состоять из тридцати двух семплов! Причем, у каждого леера может быть свое место в панораме, своя громкость и своя собственная область действия. Два способа распределения лееров показаны на Рис. 2 и Рис. 3. Первый способ - это присвоение лееру определенной области на клавиатуре, где он действует. Например, в схеме, приведенной на Рис. 2 при нажатии клавиши C4 будут воспроизводиться лееры 2, 4 и 5, а при нажатии клавиши C2 - лееры 1, 4 и 5. Второй способ - присвоение каждому слою своей области Velocity (Скорость нажатия клавиши). То есть при разной скорости нажатия клавиш будут воспроизводиться разные лееры. Например, на Рис. 3 показана схема распределения, при которой получаются четыре комбинации лееров. Если вы еле касаетесь клавиш, то будут воспроизводиться слои 1 и 4, если же играете максимально экспрессивно, то будут воспроизводиться слои 4 и 5. Естественно, первый и второй способы распределения можно совмещать между собой. Рис. 2 Рис. 3. Большинство звуков-имитаторов реальных инструментов состоят из большого количества слоев, которые распределены при помощи обоих способов. Дело все в том, что реальные инструменты меняют свой тембр в зависимости от высоты и интенсивности звука. И чтобы хорошо сымитировать "живой" инструмент, надо передать все нюансы изменения его тембра. Кроме этого, алгоритмы сдвига высоты тона хорошо работают в пределах максимум одной октавы. Если вы загружаете всего лишь один семпл, например, флейты, то уже через октаву она начинает звучать как милицейский свисток. Поэтому приходится создавать, например, пять лееров с пятью семплами флейты разной высоты и присваивать их пяти разным октавам. А для того, чтобы имитатор больше походил на настоящий инструмент, для каждого семпла одной высоты записывается несколько вариаций с разной динамикой, которые расставляются "по-вертикали", то есть в зависимости от скорости нажатия клавиш. Таким образом, один хороший имитатор может состоять из пятнадцати - двадцати лееров (а то и больше). Некоторые семплеры позволяют составлять несколько семплов в так называемый мультисемпл или Keymap - "клавишную карту", которые воспроизводятся в одном леере. Каждый семпл в мультисемпле может иметь свою собственную область действия. Кстати говоря, одним и тем же контроллером, вы можете управлять модуляцией как всех, так и только некоторых лееров. Причем, можно задавать разные допуски модуляции таким образом, что одно и то же изменение значения будет вызывать разное воздействие. Так что не думайте, что для управления модуляцией тридцати двух слоев вам нужно тридцать два регулятора на верхней панели MIDI-клавиатуры. Как видите, семплер не такое уж и сложное устройство. Если вы понимаете принципы модуляции, то без особого труда сможете создавать любые звуки самостоятельно. Кстати, если у вас есть хорошие музыкальные инструменты, то почему бы вам не сделать свою собственную библиотеку звуков? Денис Дубровский |