WebSound.ru Home
    Главная | Комментарии | Архив выпусков | Форум и чат | AudioTag.info | Музоблог | reTracked | Авторский блог  



  Поиск:

Поиск по WebSound.Ru:
Поиск в Интернете:
Powered by




  Партнеры, реклама:




Audio watermarking
TrustedAudio.com



 

Современный таблично-волновой синтез

Автор: Евгений Музыченко (Eugene Muzychenko)
Copyright (C) 1996-99, Eugene V. Muzychenko

Все права в отношении данного документа принадлежат автору. Воспроизведение данного текста или его части допускается только с письменного разрешения автора.

Таблично-волновой (wave table) синтез является развитием более простого - самплерного (sampler), который основан на записи образца (сампла) какого-либо звучания и его последующем воспроизведении в неизменном виде или с какой-либо обработкой. Самплер в чем-то подобен обычному магнитофону, и первые модели таких инструментов содержали кольцевые магнитные ленты или барабаны, на которых записывались звуки. Впоследствии звук стали записывать в цифровом виде в оперативную память, а при воспроизведении добавили различные виды модуляции - амплитудной, частотной, фазовой, спектральной, звуковые эффекты и другие виды обработки. Однако первоначальная эйфория, вызванная небывалой ранее натуральностью звучания акустических тембров, довольно быстро прошла, и музыканты, которые раньше и не помышляли заменить акустические инструменты электронными, активно начали это делать - и вместе с тем начали жаловаться, что в игре не хватает естественности и выразительности. Это было обусловлено тем, что самплер воспроизводил записанный звук целиком, вместе с характерными приемами игры, использованными при записи, и сделать достаточно натуральное изменение тембра при изменении, например, силы удара по клавише не удавалось - здесь самплер мог лишь усилить громкость звука и добавить яркости при помощи фильтра, что лишь частично имитирует реальное изменение тембра. Поэтому для различных приемов игры приходилось заводить совершенно различные тембры, что увеличивало их объем, а необходимость постоянного переключения затрудняла оперативное управление.

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

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

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

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

Кроме взаимоисключающего использования различных самплов, в таблично-волновом синтезе применяется также совмещение различных самплов во времени - так называемая слойность (layering). Технически это реализуется запуском при взятии ноты не одного звукового генератора, как обычно, а нескольких, работающих каждый в своем режиме и воспроизводящих в общем случае различные самплы. Этот нехитрый на первый взгляд прием при умелом использовании оборачивается чрезвычайно мощным средством для управления параметрами звука. Вот лишь некоторые приемы, которые довольно просто реализуются при помощи слойной структуры звука:

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

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

Слойная структура позволяет также реализовать - пусть и не совсем естественным путем - достаточно хорошую зависимость тембра от приемов звукоизвлечения, и в первую очередь - от его интенсивности. Известно, что основную информацию об оттенках звукоизвлечения несет начальная фаза развития звука - так называемая атака. Следующие за ней фазы установившегося (sustain) звучания и концевого затухания (release) несут гораздо меньше информации, и для многих звуков с различной атакой практически совпадают. Поэтому вместо того, чтобы записывать разные звуки целиком, как это делалось на первых самплерах, в таблично-волновой технологии записывается один-два образца фаз sustain/release, а фаз атаки записывается полный набор; после этого они оформляются в различные слои, а амплитуда управляется таким образом, чтобы звучание нужного сампла атаки плавно перетекало в звучание общего сампла sustain/release. В более сложных синтезаторах для этого используется последовательная стыковка самплов во времени с плавным переходом одного в другой при помощи преобразований спектра; эта технология носит название "morphing" и аналогична используемому в видеообработке эффекту, плавно превращающему, например, автомобиль в танк или самолет.

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

генератор звука (oscillator), считывающий исходный сампл из памяти и с нужной скоростью выдающий его отсчеты для дальнейшей обработки;
генераторы огибающих (envelope), выдающие кривую определенного вида;
генераторы низкой частоты (LFO), выдающие периодический или шумовой сигнал частотой 0..30 Гц;
управляемый усилитель, усиливающий или ослабляющий громкость сигнала;
управляемый фильтр, усиливающий или ослабляющий определенные области частот сигнала. Наиболее популярен резонансный фильтр со срезом чуть выше частоты резонанса.

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

В зависимости от сложности синтезатора варьируются и возможности управления описанными блоками. В простых синтезаторах обычно используется жесткое соединение, когда на выходе генератора включается фильтр, которого может и не быть вообще, а за ним - усилитель, и по одному генератору огибающей и LFO подключается к генератору и усилителю, реализуя частотную и амплитудную модуляцию сигнала. В синтезаторах средней сложности генераторы огибающей и LFO могут программно подключаться к различным блокам, которые, в свою очередь, могут влиять на их работу (обратная связь). А мощные синтезаторы типа Kurzweil Massies похожи на конструктор "электронные кубики", где различные блоки можно создавать в нужном количестве и произвольно соединять между собой - напрямую или через математические функции, получая чрезвычайно сложные преобразования звука.

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

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