Смекни!
smekni.com

Управление звуковой картой компьютера (стр. 17 из 22)

Похожим образом, но не на уровне MIDI, а на уровне звука работает система Яниса Ксенакиса U-Pic. А вообще-то эта идея уже была реализована гораздо раньше аналоговыми методами.

Рождение компьютерной музыки

В 1957 году М. Мэтьюз и Н. Гутман посетили концерт одного малоизвестного пианиста. Концерт им обоим не понравился, и, в процессе обмена впечатлениями после концерта, М. Мэтьюз заявил, что компьютер может сыграть лучше. Но поскольку на дворе был 1957 год, компьютеры еще не умели играть музыку. Придя домой, М. Мэтьюз тут же стал писать программу, играющую музыку. Первая компьютерная пьеса неизменно производит на окружающих ужасающее впечатление. Но идея Мэтьюза, развиваясь, породила целый класс музыкальных языков программирования, которые вначале назывались "MUSIC" с номером версии. Язык C-Sound произошел как раз из этих программ. А отделение Стэндфордского института исследований, где работал тогда М. Мэтьюз, выросло в музыкальный исследовательский центр под названием CCRMA (читается "карма").

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

10. Универсальная система "программирования" музыки

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

Язык C-Sound свободен от этого. Он существует в виде компилятора, который транслирует текст программы в звуковой файл. При этом основные операторы его реализуют основные средства создания электронной музыки. Если композитору не хватает операторов C-Sound (которые сами по себе позволяют проделывать гораздо больше, чем все описанные выше программы, вместе взятые [исключая, разумеется, нотную графику]), он может написать нужные ему фрагменты текста программы на языке Си или Ассемблере.

C-Sound позволяет работать как с синтезированным звуком, так и со звуком из внешнего источника. Широкий выбор операторов генерации и модификации сигналов делает работу очень удобной, а система меток и ссылок на них - привычной для хоть сколько-нибудь знакомого с программированием человека. Поначалу, правда, некоторые мои знакомые (да и я тоже) испытали некоторое разочарование при знакомстве с C-Sound, потому что надеялись (а напрасно), что это просто что-то вроде расширения классического Си или Си++. Но по мере знакомства с языком разочарование довольно быстро сменилось признанием его широких возможностей, простоты и удобства работы со звуком.

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

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

Программа C-Sound распространяется свободно. Она существует в модификациях для DOS, Windows, Macintosh, Atari и других платформ. Компилятор C-Sound с полным описанием языка и учебными примерами довольно легко можно найти в Сети.

11. Другие применения компьютера музыкантами

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

Среди них следует выделить прежде всего организацию музыкально-теоретического или исторического материала с помощью баз данных. Такая система позволяет быстро и оперативно получать музыковедческую информацию.

Другая интересная идея состоит в открытии электронных нотных библиотек, как локальных, так и общедоступных (например, через тот же Интернет). О преимуществах здесь говорить излишне, поскольку существующие виртуальные книжные библиотеки иллюстрируют их лучше всяких объяснений. Правда, на сегодняшний день не существует единого стандарта на формат нотного текста, но имеющиеся форматы файлов программ профессионального нотного набора (прежде всего, Enigma Binary File - .mus, использующийся в программе Finale) уже становятся стандартом de facto. Тем не менее многие нотные примеры в Интернете, выполнены в виде графических файлов.

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

V Технология создания позиционируемого 3D звука

Звуковое сопровождение компьютера всегда находилось несколько на втором плане. Большинство пользователей более охотно потратят деньги на новейший акселератор 3D графики, нежели на новую звуковую карту. Однако за последний год производители звуковых чипов и разработчики технологий 3D звука приложили немало усилий, чтобы убедить пользователей и разработчиков приложений в том, что хороший 3D звук является неотъемлемой частью современного мультимедиа компьютера. Пользователей убедить в пользе 3D звука несколько легче, чем разработчиков приложений. Достаточно расписать пользователю то, как источники звука будет располагаться в пространстве вокруг него, т.е. звук будет окружать слушателя со всех сторон и динамично изменяться, как многие потянутся за кошельком. С разработчиками игр и приложений сложнее. Их надо убедить потратить время и средства на реализацию качественного звука. А если звуковых интерфейсов несколько, то перед разработчиком игры встает проблема выбора. Сегодня есть два основных звуковых интерфейса, это DirectSound3D от Microsoft и A3D от Aureal. При этом если разработчик приложения предпочтет A3D, то на всем аппаратном обеспечении DS3D будет воспроизводиться 3D позиционируемый звук, причем такой же, как если бы изначально использовался интерфейс DS3D. Само понятие "трехмерный звук" подразумевает, что источники звука располагаются в трехмерном пространстве вокруг слушателя. Это основа. Далее, что бы придать звуковой модели реализм и усилить восприятие звука слушателем, используются различные технологии, обеспечивающие воспроизведение реверберации, отраженных звуков, окклюзии (звук прошедший через препятствие), обструкции (звук не прошел через препятствие), дистанционное моделирование (вводится параметр удаленности источника звука от слушателя) и масса других интересных эффектов. Цель всего этого, создать у пользователя реальность звука и усилить впечатления от видео ряда в игре или приложении. Не секрет, что слух это второстепенное чувство человека, именно поэтому, каждый индивидуальный пользователь воспринимает звук по-своему. Никогда не будет однозначного мнения о звучании той или иной звуковой карты или эффективности той или иной технологии 3D звука. Сколько будет слушателей, столько будет мнений. В данной главе мы попытаемся собрать и обобщить информацию о принципах создания 3D звука, а также рассказать о текущем состоянии звуковой компьютерной индустрии и о перспективах развития. Мы уделим отдельное внимание необходимым составляющим хорошего восприятия и воспроизведения 3D звука, а также расскажем о некоторых перспективных разработках.

Для позиционирования источников звука в виртуальном 3D пространстве используются HRTF функции. Попробуем разобраться в том, что такое HRTF и действительно ли их использование так эффективно.

Сколько раз происходило следующее: команда, отвечающая за звук, только что закончила встраивание 3D звукового интерфейса на базе HRTF в новейшую игру; все комфортно расселись, готовясь услышать "звук окружающий вас со всех сторон" и "свист пуль над вашей головой"; запускается демо версия игры и... и ничего подобного вы просто не слышите!

HRTF (Head Related Transfer Function) это процесс посредством которого наши два уха определяют слышимое местоположение источника звука; наши голова и туловище являются в некоторой степени препятствием, задерживающим и фильтрующим звук, поэтому ухо, скрытое от источника звука головой воспринимает измененные звуковые сигналы, которые при "декодировании" мозгом интерпретируются соответствующим образом для правильного определения местоположения источника звука. Звук, улавливаемый нашим ухом, создает давление на барабанную перепонку. Для определения создаваемого звукового давления необходимо определить характеристику импульса сигнала от источника звука, попадающего на барабанную перепонку, т.е. силу, с которой звуковая волна от источника звука воздействует на барабанную перепонку. Эту зависимость называют Head Related Impulse Response (HRIR), а ее интегральное преобразование по Фурье называется HRTF.