СЕМЬ НОТ ДЛЯ КОМПЬЮТЕРА.


     Вашему вниманию предлагается цикл популярных статей по основам компьютерной музыки. В статье "ДО" (по названию первой ноты звукоряда) говорилось о требованиях, предъявляемых к персональному компьютеру и звуковой карте.
    Также рассказывалось о двух основных методах синтезирования звуков в компьютере: об FM-синтезе, основанном на частотной модуляции сигнала и о WT-синтезе, где используются образцы живых звуков, сиречь закодированные наборы сэмплов. Этот метод в основном и применяется в современных звуковых картах.


    Были установлены минимальные требования к компьютеру, позволяющие хоть как-то сносно работать с музыкальными приложениями (под управлением операционной системы Windows 95), а именно: Pentium- 100, с объемом оперативной памяти 16 мегабайт и емкостью жесткого диска около 1 гигабайта, время доступа у которого не более 10 миллисекунд.
    Звуковая карта - непременно с WT-синтезом - должна обеспечивать режим Full Duplex (то есть возможность записи при одновременном воспроизведении), с частотой дискретизации 44,1 кГц и разрешением 16 бит стерео.
    В этот раз мы поговорим о форматах, в которых представляются музыкальные данные, о MIDI интерфейсе и о спецификациях GS и XG, о плюсах и минусах виртуальных синтезаторов, а также... В общем, какая там следующая нота после до? Правильно -
    РЕшив серьезно заняться компьютерной музыкой, вы наверняка вскоре обнаружите, что те минимальные требования к РС, о которых говорилось выше, мягко говоря, не выдерживают никакой критики. Особенно, если вам вздумается поработать с "живым" звуком (или, научно выражаясь, оцифрованным). Почему же так?
    Как известно, звук по своей природе относится к аналоговым сигналам. В компьютере он представлен в цифровом виде; эту операцию и выполняет аналого-цифровой преобразователь (АЦП) звуковой карты. Непрерывный сигнал разбивается на очень маленькие порции - отсчеты, во время которых измеряются значения их амплитуд. Чтобы в процессе преобразования не потерять верхние частоты (а человеческое ухо слышит звуки до 20 кГц), количество отсчетов должно быть хотя бы раза в два больше. Отсюда, кстати, и получается необходимая частота дискретизации = 44,1 кГц. То есть амплитуда звукового сигнала измеряется 44100 раз в секунду!
    Эти измерения в свою очередь требуют определенной точности - иначе будут утеряны слабые сигналы. Вполне приемлемая точность достигается, если каждое значение амплитуды фиксируется 16-тибитовым числом. Отсюда, кстати, и возникает необходимая величина разрешения звуковой карты = 16 бит (или 2 байта).
    Нетрудно теперь подсчитать, что для преобразования одной секунды "живого" звука в цифровой вид потребуется: 44100 ´ 16 = 705600 бит, или чуть больше 86 килобайт памяти. Минута звучания уже будет занимать 86 ´ 60 = 5160 кб, то есть около 5 мегабайт. При записи стерео сигнала, передаваемого по левому и правому каналам, потребуется 10 мб. И это только на минуту звучания! А если песенка длится в среднем 3-4 минуты? И таких песенок добрая дюжина? Вот и "набегает" порядка 500 мегабайт, что сопоставимо с емкостью CD-ROMа! При таком раскладе половина гигабайтного винчестера запросто может уйти на "живую" музыку.
    Отсюда простой вывод: хотите работать с оцифрованным звуком, запасайтесь винчестером емкостью 6-8 гигабайт. Между прочим, такая величина уже становится стандартом. Следует также запомнить, что звуковые файлы на нем чаще всего будут иметь расширение *.wav (очевидно от wave - волна). Забегая вперед, нелишне отметить, что работа с wave-данными, особенно в реальном времени, требует и весьма существенного быстродействия РС. Даже Pentium-200 MMX не всегда успешно справляется с подобными задачами.
    Но не вс╠ так печально! Создавать и слушать музыку на компьютере можно и в другом универсальном формате, имеющем расширение *.mid (очевидно от MIDI - ... а впрочем, что это за зверь такой?).
    Давайте сперва углубимся в недалекую историю. Появление первых синтезаторов совершило в музыке настоящую революцию. Мало того, что синтезатор мог создавать звуки, которых доселе не существовало в природе, очень скоро он научился имитировать и звучание реальных инструментов. Но подлинное чудо ожидало музыкантов, когда к синтезатору, как любят выражаться детишки, "приделали" запоминающее устройство. Так получился секвенсор.
    В чем же его заманчивая прелесть? Все мы когда-нибудь что-нибудь записывали на магнитофон. Ну, записали, допустим, песенку, а что с ней дальше делать?.. Фактически ничего, кроме как жизнерадостно прослушивать с любого места (постепенно замечая, что качество записи неотвратимо ухудшается).
    Не то дело с секвенсором. Он точно запомнит не только последовательность всех сыгранных нот (недаром его название происходит от латинского sequentio - порядок, последовательность), но также их длительность, громкость, тембр и даже расположение в звуковом пространстве - так называемую панораму.
    Но самое главное: секвенсор позволяет редактировать любую ноту, то есть изменять по желанию все музыкальные свойства звука, перечисленные выше. Кроме того, с его помощью можно добавлять, перемещать, копировать, удалять целые пассажи - в общем, секвенсор оперирует нотами (в физическом смысле звуками) так же гибко и легко, как текстовый редактор обращается с буквами. Прикиньте, смогли бы вы проделать подобные чудеса с магнитофонной лентой, которую только и можно, что разрезать да склеить? То-то!
    Разумеется, едва лишь компьютерная техника достигла должного уровня, как программные секвенсоры не заставили себя ждать. В отличие от аппаратных синтезаторов, они оказались многотрековыми. Трек - это отдельная (обозначенная номером или именем) последовательность сообщений типа "Note On - клавиша нажата" или "Note Off - клавиша отпущена", равно как и другие полезные сообщения. Заодно указывается: какая именно клавиша была нажата (высота звука), с какой силой (громкость), как долго она удерживалась (длительность), а также некоторые другие параметры.
    Таких треков в программном секвенсоре может быть не один десяток и на каждом из них записывается отдельная партия соответствующего инструмента. Когда они проигрываются вместе, то получается... целый оркестр!!!
    Во всем этом великолепии была лишь одна загвоздка: аппаратные синтезаторы выпускались самых разнообразных моделей. Часто получалось так, что секвенция, созданная для одного инструмента, звучала на другом совершенно неузнаваемо. В общем, возникла извечная проблема совместимости синтезаторов как между собой, так и с компьютером. И вот в 1983 году был введен международный стандарт согласования, получивший название MIDI (аббревиатура от Musical Instrument Digital Interface - цифровой интерфейс музыкальных инструментов). Отныне любое уважающее пользователя программное обеспечение обязано поддерживать стандарт MIDI - своего рода эсперанто компьютерной музыки.
    Что же собственно он из себя представляет? Музыкальный диапазон этого стандарта весьма обширный и составляет 128 нот, пронумерованных от 0 до 127. Нота до первой октавы, например, соответствует MIDI-ноте под ╪ 60. Ни один реальный инструмент не может похвастаться столь широким диапазоном (у фортепиано, как нетрудно подсчитать, на 40 клавишей меньше)!
    Но это не вс╠. Стандарт MIDI содержит 128 так называемых патчей (от английского термина patch), которые объединены в соответствующие группы. Патч - это некий компьютерный тембр, имитирующий звучание либо реального, либо искусственно созданного инструмента. Патчи группируются по общим признакам: например, духовые инструменты, струнные, различные звуковые эффекты и тому подобное.
    Для передачи звуков используются MIDI каналы. Всего их 16 - и они образуют один порт. Причем каналы с номерами от 1 до 9 и от 11 до 16 отведены под мелодические патчи. А по каналу 10 передаются только звуки ударных инструментов (каждая клавиша "отвечает" за свой звук, будь то барабан, тарелка, хлопок в ладоши или экзотическая кабаса - просьба не путать с колбасой).
    Наконец, количество одновременно звучащих голосов, а попросту говоря - нот, в каждый момент времени не может превышать 24 (так называемая полифония). В противном случае избыточные голоса отсекаются. Впрочем, этого вполне хватает для любых серьезных музыкальных опусов, ибо одновременно по всем MIDI каналам может быть передано 16´ 24 = 384 звука! Даже в большом симфоническом оркестре едва ли наберется столько исполнителей.
    Вс╠ выше сказанное относится к спецификации GM - аббревиатура General MIDI. Файлы этого универсального формата как раз и отличаются расширением *.mid. Если какая-либо музыкальная программа не поддерживает этот замечательный формат, а позволяет сохранять данные лишь в собственном диковинном формате, отказывайтесь от нее немедленно - ведь тогда вам не удастся продемонстрировать миру результаты своих творческих изысканий!
    Хотя вернемся на секунду к wave формату. Не будем забывать, что это все-таки живой звук, наполненный вашим взволнованным дыханием или возникший от виртуозных движений пальцев. Кроме того, оцифрованный звук позволяет производить массу сугубо компьютерных обработок. И при известных навыках в обращении со специальными программами можно легко достичь потрясающих эффектов: превратить тонкий голосок в шаляпинский бас или создать ощущение непринужденного пения под водой.
    Обычно после подобных экспериментов возникает смутная мысль, что лучше живого звука вс╠ равно ничего не придумать, и стандарту MIDI пора на заслуженный отдых. Уверяю вас, это поспешное и ошибочное заключение. Следует хотя бы помнить, что в отличие от причудливых примочек возможности редактирования в формате wave более скромные, нежели midi-данных.
    Действительно, с течением времени музыкального арсенала GM спецификации стало явно не достаточно для воплощения некоторых музыкальных идей. И тогда известная фирма Roland предложила модифицировать эту спецификацию, расширив наборы как мелодических, так и ударных инструментов. Заодно к ним добавилось немало забавных эффектов, как то: шум дождя, лай собаки, скрип двери и даже биение сердца. Обновленная спецификация получила название GS (General Standard).
    Но этим дело тоже не ограничилось: не менее известная фирма Yamaha и вовсе учудила - разработала новую спецификацию XG (очевидно, от eXtended General), которая позволила значительно расширить возможности MIDI. Не вдаваясь в подробности из-за нехватки места, отмечу лишь, что спецификация XG - это отдельная песня, удовольствие для продвинутых компьютерных музыкантов. Быть может, вам удастся когда-нибудь постичь все премудрости и нюансы XG, превратив, допустим, патч банального пианино в некий совершенно неузнаваемый, но бесподобный тембр. Тогда-то и станет сразу понятно, что стандарт MIDI отнюдь "не отдыхает"!
    Но, к величайшему сожалению, далеко не все звуковые карты поддерживают спецификации GS и XG. Чтобы устранить это досадное недоразумение, можно подключить к основной звуковой карте дочернюю плату. Так, например, Sound Blaster AWE 32, поддерживающая спецификацию GM, легко расширяется с помощью модуля DB50XG. Но это, в общем-то, дорогое удовольствие.
    Есть и другой выход - установка виртуальных синтезаторов. Такие отдельные программы имитируют синтезаторы аппаратные. Яркими представителями этого вида музыкального софта являются Roland VSC-88 и Yamaha S-YXG70 (спецификации GS и XG соответственно). Однако, у виртуальных синтезаторов есть большой минус: при их использовании неизбежно возникает задержка в звучании до 0,5 секунды - даже на быстрых машинах. А значит, игра на клавиатуре в реальном времени становится невозможной! Отсюда вывод: лучше всего обзавестись мощной звуковой картой, которая в идеале поддерживала бы все спецификации.
    Упомянув о программах, мы вплотную приблизились к собственно компьютерной музыке, ибо у нас как бы сложились вместе все компоненты, необходимые для занятия этим увлекательнейшим делом: компьютер, звуковая карта и музыкальная программа - эдакое триединство новой технологии в области звука! В настоящее время существует огромное множество самых разных программ, способных превратить бытовой компьютер даже в полноценную студию звукозаписи. О наиболее достойных представителях из мира музыкального софта и пойдет речь в последующих статьях.

(Продолжение следует)

Тим СОБАКИН.
Специально для "Инженер-Физика".

Back to Unreleased!