#!/usr/bin/perl

use DBD::mysql;
use DBI;

require '_templates/db.pl';
require '_templates/common.pl';
require '_templates/advert.pl';

$dbh = DBI->connect("DBI:mysql:database=$db_name;", $db_user, $db_password) or die "Cannot connect to db!";

$a_id = 19;
$a_title = 'Программный mixing';
$a_author = 'Никон Виктор';
$a_date = '31/08/2004';
$a_category = 'Мультимедиа';
$a_text = '
<p>
<b>От финиша к исходникам</b>
<p>Допустим, решили мы оцифровать старую виниловую грампластинку или аудиокассету, и не просто оцифровать, а добиться пристойного качества звучания. И вот её треки, в волновом редакторе. С помощью специальных фильтров мы избавились от шумов, щелчков, треска, (если конечно пластинка оказалась не очень "запиленной"), решили подкорректировать верх-низ, и тут, казалось бы, совсем на ровном месте столкнулись с непреодолимой проблемой...
<p>
Часто бывает, на пример, когда в музыкальной композиции явно страдают "верхи", но зато голос записан так, что шипящие, такие как "С", "З", "Ш", "Ч", "Щ" буквально режут слух. При поднятии "верха" до уровня, когда мы, на конец, начинаем слышать те самые тарелочки, возрастают и без того завышенные шипящие, так как лежат в том же частотном диапазоне, приводя к тому, что в тот момент, когда исполнитель "с-ыкает", происходит перегрузка усилителя. Применение специальных фильтров, как правило, не дает желаемого результата. Нередки так же случаи, когда вокал очень сильно выделяется на фоне остальной музыки, либо на оборот "тонет" в ней.  В последнем случае, что-либо скорректировать, становится практически невозможно. Самое главное, что описанные дефекты являются скорее <b>дефектами студийной записи</b>, нежели вызваны старением носителя записи, и по сему достаточно часто встречаются и в новых записях, на новых носителях (на пример CD). Но прежде, чем  совершить воображаемое путешествие в студию, давайте разберёмся в принципах стереофонической звукозаписи, -  это поможет лучше понять нижеизложенный материал.
<p>
<b>Секреты объемного звучания</b>
На сегодняшний день существует целый ряд  систем объемного воспроизведения аудиоматериалов - музыки, саунд-треков видеофильмов и компьютерных игр и пр. Наиболее распространёнными из них являются такие как: Dolby Digital  5.1, Dolby Digital  7.1, Dolby Surround , Quadro и обычное Stereo, которое, для простоты, мы и рассмотрим. 
<p>
Акустическая стереосистема (стереопара) состоит из двух полнодиапазонных  громкоговорителей (колонок) левого LS и правого RS (см. рис.), которые размещаются  друг от друга на расстоянии A, называемом стереобазой,  выбираемом слушателем в зависимости от размера помещения и личных пожеланий. Колонки устанавливаются так, что бы перпендикуляры, опущенные к их лицевым панелям, образовали угол 90 градусов. Слушатель располагается по центру на расстоянии не ближе 0,5A от плоскости установки громкоговорителей. Существует разновидность системы, модной в последнее время , состоящей из двух сателлитов и сабвуфера, который размещается по центру. Такое решение основано на особенности человеческого слуха, различать направление только тех звуков, которые имеют частоту выше 120 Гц.

<p>
<div align="center"><img src="http://www.composter.kiev.ua/images/gembird/work019_01.gif" width="387" height="308" alt="" border="0"></div>
</p>

<p>
Предположим, источник звука находится непосредственно перед слушателем, несколько слева. Тогда в левое ухо слушателя будет приходить прямая звуковая волна, имеющая наибольшую интенсивность. Правое же ухо слушателя не имеет "прямой видимости" на источник, по этому в него будет попадать звуковая волна уже рассеянная в воздухе, а значит несколько ослабленная. Кроме того, поскольку правое ухо находится дальше от источника, звука, звуковая волна попадёт в него с некоторым опозданием, по сравнению с волной, которая войдет в правое ухо слушателя. Мозг сразу же отреагирует таким образом, что слушатель даже с завязанными глазами, сможет определить в какой точке пространства находится источник звука. 
<p>
А теперь, в точке, где расположен слушатель, установим два микрофона так, чтобы оси их диаграмм направленности составляли угол 90 градусов и на некотором расстоянии друг от друга. Произведем запись с микрофонов,  при том с каждого на отдельную дорожку. Уберем источник звука, а полученную запись воспроизведём через громкоговорители LS и RS. Слушатель сразу же определит местоположение источника звука, не смотря на то, что последний не будет присутствовать, а будет звучать только его запись. Если мы начнём анализировать, что же у нас получилось и как нам удалось записать звук вместе с информацией о местонахождении его источника,  то обнаружим, что громкоговоритель RS звучит тише, и с небольшой задержкой (т.е. со сдвигом фаз) по отношении к звуку издаваемому громкоговорителем LS. 
<p>
Наиболее любопытный читатель, наверное, уже хочет задать вопрос, - "не ужели стереозапись можно производить только с двух микрофонов?" Первые стереозаписи именно так и писались, а концертная запись оркестров, состоящих из  акустических инструментов, хоров и т. п., производится по этой схеме и поныне.  Со временем поняли, что если прописать музыкальный инструмент с <b>одного</b> микрофона на одну единственную дорожку, а затем в каждый канал стереопары переписать всё ту же дорожку, но с изменёнными, с помощью технических средств, параметрами звукового сигнала (громкость/задержка), то можно добиться того же эффекта, что и при записи с двух микрофонов. Кроме  того, такой способ позволял добиваться дополнительных спецэффектов, таких как перемещение источника звука, в пространстве, вращение, "перепрыгивание", просто меняя выше упомянутые параметры в реальном времени (не бегать же исполнителю по студии, перед микрофонами).
<p>
<b>В недрах студии</b>

<p>А теперь, как я и обещал, перенесёмся в студию, где некая воображаемая рок(поп)-группа записывает свою композицию. Мы рассмотрим упрощенную схему процесса, обработки аудиоматериала и подготовки его для записи мастеркопии. Этот процесс осуществляется в два этапа. Сначала производится запись с помощью многодорожечного  (обычно 8 или 9 дорожек, хотя их может быть и значительно больше) устройства (рис. 2). Этим устройством может служить многодорожечный аналоговый магнитофон (широко использовался ранее), цифровой магнитофон (data-магнитофон), либо компьютер, оборудованный специальной звуковой картой и софтом, необходимыми для профессиональной многодорожечной записи аудиосигналов, их обработки и нелинейного монтажа. Каждый инструмент прописывается на свою индивидуальную дорожку. Запись может производиться как всех вместе дорожек, так и по отдельности, на пример, если партия какого-то инструмента не удалась, не переигрывать же всем участникам заново свои партии.

<p>
<div align="center"><img src="http://www.composter.kiev.ua/images/gembird/work019_02.gif" width="476" height="273" alt="" border="0"></div>

<p>Следующим этапом является наложение спецэффектов и микширование (сведение), в результате которого мы получим аудиоматериал в привычной нам форме - Stereo, Dolby Digital 5.1, либо любой другой, а из него уже пишется мастеркопия. Микширование, как правило, осуществляется с помощью микшерского пульта (МП) - этот вариант мы и рассмотрим, или того же компьютера, - в редакторе, поддерживающем многодорожечную обработку звука. 
<p>Рассмотрим устройство и принцип действия МП, и разберёмся в процессе микширования (см. рис.3). 

<p>
<div align="center">
<a href="http://www.composter.kiev.ua/images/gembird/work019_03_full.gif" target="_blank"><img src="http://www.composter.kiev.ua/images/gembird/work019_03.gif" width="400" height="276" alt="" border="0"></a></div>
</p>

<p>Звуковой сигнал, воспроизводимый многодорожечным устройством, сперва усиливается предусилителями (1). Затем, усиленный сигнал поступает на эквалайзеры (2) ,- изменяя АЧХ (амплитудно-частотную характеристику) которых, оператор, добивается необходимого тембра звучания в каждом канале. Поскольку сигналы в каналах могут различаться по уровню, предусмотрены регуляторы уровня каждого канала (3). После коррекции АЧХ сигнал приходит на регуляторы панорамы (4). Регулятор панорамы имеет один вход и два выхода (в случае стерео) левого и правого каналов. Регулятор панорамы, это как раз тот элемент, который позволяет, путём задания разницы в уровнях и временной задержке между каналами добиваться  любого положения в пространстве мнимого источника звука. Меняя в реальном времени уровни и панораму в сводимых каналах, оператор может создавать различные стереоэффекты, о которых я упомянул ранее. И на конец, сигнал поступает на сумматоры левого и правого каналов (5), с выходов которого мы получаем привычный нам стереосигнал,  который подаётся на мастер-регулятор уровня (6) а с его выхода пишется в качестве мастеркопии. В системе Dolby Digital обработка сигнала производится аналогично, - только результат сводится в большее количество каналов. Кроме того, звуки, частотой ниже 120 Гц (суперниз) пишутся в отдельный канал - сабвуфера.
<p>Управление всеми элементами пульта производится оператором, посредством интерфейса управления (7). В аналоговых пультах интерфейсом управления служили потенциометры - переменные резисторы вращательные и ползунковые, ручки  и ползунки которых и вращал/двигал оператор. В цифровом пульте, управляющим сигналом служит цифровой код, а взаимодействие с оператором осуществляется либо с помощью тех же ручек, представляющих собой спец. датчики, с которых сигнал снимается процессором пульта, либо посредством  того же ПК. Сами элементы пульта могут представлять собой отдельные радиоэлектронные схемы - усилители, пассивные и активные RC/LC-фильтры и пр. (характерно для аналогового пульта) или аппаратно-программные модули, являющиеся блоками специализированного высокопроизводительном DSP(Digital Signal Processor т.е цифровой сигнальный процессор), что характерно для цифровых пультов.
<p><b>От студийного микширования к программному</b>
<p>Давайте ещё раз взглянём на схему (рис.3). Мы сразу же увидим, что главным звеном в данной системе является оператор, который по своей сущности, живой человек. Как известно, любому человеку свойственно ошибаться. Представьте себе - уставший оператор, покрутил не ту ручку, не вывел нужный уровень, не правильно скорректировал тембр в каком-то канале, и всё, - мастеркопия пошла и... песню, во всём мире вынуждены слушать с дефектом, а скорректировать, что-либо, уже невозможно. И вообще, почему обязательно дефект? У того же оператора, вкусы, просто-напросто, могут отличаться от наших, вот он и сделает микс так, как ему это нравится. И правильно сделает! Самое главное, чтобы он делал это качественно. "А как же быть?" - Спросит читатель, - "я бы хотел по громче саксофон, да по сочнее голос;  по тише барабан, но поглубже бас..."
<p>Решение приходит само собой, - а что, если взять, и перенести элементы 4, 5 и 6, из МП в аппарат, конечного потребителя аудиопродукции (музыкальный центр, аудио- или видео-проигрыватель, ПК и т.п.), а  сводимые каналы так и записать без изменений?! - Пускай себе микшируются уже в самом проигрывателе, на лету при воспроизведении фонограммы. Тогда пользователь сможет сам добавить, если чего не будет хватать - вокала например,  или наоборот, - убрать. А попробуй это сделать в смикшированном канале, где в одном и том же частотном диапазоне звучит несколько инструментов. Вот и приходится довольствоваться, разве что, регулировкой громкости и тембра комплексного аудиосигнала, с помощью эквалайзера, иногда наложением на него некоторых спецэффектов, которые обычно оказываются ни кчему.
<p>А что же делать со стереоэффектами, ведь  если сигнал будет микшироваться в самом проигрывателе, то кто будет двигать ползунки, создавая панорамы, и их всё время меняя, - не пользователь же? <b>А мы возьмём, и запишем управляющий сигнал, - тот самый, который раньше управлял элементами МП.</b> Теперь, когда будет воспроизводиться наша фонограмма (те самые сводимые дорожки), вместе с ней, синхронно будет воспроизведена и дорожка с управляющим сигналом, который поступит на управляющие входы, перенесённых из МП, регуляторов уровня и панорамы. Сам управляющий сигнал, предварительно преобразованный в наиболее пригодный для записи формат, и записанный на отдельную дорожку, будет представлять собой программу микширования (не путать с софтом!). Таким образом, мы получили систему <b>программного внестудийного микширования аудиоданных.</b> 
<p>Структурная схема доработанного МП, имеющего возможность записи в формат программного микширования, изображена  на рис. 4. 

<p>
<div align="center">
<a href="http://www.composter.kiev.ua/images/gembird/work019_04_full.gif" target="_blank"><img src="http://www.composter.kiev.ua/images/gembird/work019_04.gif" width="400" height="319" alt="" border="0"></a></div>
</p>

<p>Как видите, она очень проста, - все элементы остались те же, за исключением того, что добавился так называемый <b>кодер сигналов управления  микшированием (8)</b>, функции которого понятны из названия, - анализ сигналов управления и генерация кода программы микширования. Сигнал для записи мастеркопии теперь снимается после эквалайзеров (для возможности предварительной частотной коррекции),  и через элементы 4, 5, 6 не проходит. Данные элементы, всё же, не нужно удалять из состава пульта, а сигнал, который ранее (в системе студийного микширования) использовался для записи мастеркопии, использовать для контроля процесса микширования, которое теперь сводится до предварительной коррекции сигнала и создания программы микширования.
<p><b>Невиданные возможности</b>
<p>Для того, чтобы осознать, какие возможности открываются перед нами, при переходе звукозаписывающей индустрии, и аудио-видео техники на формат программного микширования, разберёмся в устройстве проигрывателя оного. Обратим внимание лишь на основную доработку, которая необходима для того, чтобы наш проигрыватель начал понимать новый формат (см. рис. 5).

<p>
<div align="center">
<a href="http://www.composter.kiev.ua/images/gembird/work019_05_full.gif" target="_blank"><img src="http://www.composter.kiev.ua/images/gembird/work019_05.gif" width="400" height="260" alt="" border="0"></a>
</div>
</p>

<p>После считывания информации из носителя и её первичной обработки, получаем всё те же несколько сигнальных каналов и канал с программой микширования. На каждый из сигнальных каналов, пользователь, теперь, может накладывать различные фильтры (1): - эквалайзер, эхо, ревербератор, хорус, дисторшн, эффект присутствия и т. д, изменять уровень, выключать и включать с помощью коммутаторов (2). Есть возможность использования т.н. пользовательских каналов (на схеме показан один), с теми же возможностями обработки, что и студийные, - для этого достаточно включить канал, если он конечно имеется. О пользовательских каналах, мы поговорим ниже. ...Сигнал, обработанный фильтрами пользователя, поступает на  уже известные нам, регуляторы панорамы, а затем суммируется на сумматорах. Как видим, в схеме проигрывателя исключены канальные регуляторы уровня и мастер-регулятор - их функции возложены на регулятор панорамы. Если точнее, то регуляторы уровней в каналах присутствуют, но они не управляются программой микширования, а накладываются пользователем в качестве фильтра. Коэффициенты усиления канальных регуляторов, регуляторов панорамы и мастеррегулятора, приводятся к единому коэффициенту, который и задается регулятору панорамы проигрывателя. Разберёмся на примере. Допустим оператор выставил усиление регулятора уровня в канале  Kрк=+3 дБ, регулятора панорамы, для левого канала Kрпл =+5 дБ, для правого Kрпп=-1дБ а мастер регулятора Kрм=-2 дБ.
<p>Общее усиление для левого и правого стереоканалов, данной дорожки:
<p>K<sub>общ л</sub>= K<sub>рк </sub>+ K<sub>рпл</sub> + K<sub>рм</sub>=3+5+(-2)=6 дБ
<p>K<sub>общ п</sub>= K<sub>рк</sub> + K<sub>рпп</sub> + K<sub>рм</sub> =3+(-1)+(-2)=0 дБ
<p>Напомню, что коэффициент усиления, выраженный в децибелах равен:
<p>K=20*lg(U<sub>вых</sub>/U<sub>вх</sub>),  где U<sub>вых</sub> и  U<sub>вх</sub> , соответственно, значения напряжения (или цифрового кода) сигнала на входе и на выходе рассматриваемого элемента или их группы.  Таким образом, коэффициенты усиления регулятора панорамы проигрывателя будут установлены в 6 и 0 дБ для левого и правого каналов соответственно. Важно, чтобы данный регулятор обеспечивал необходимый динамический диапазон регулировки.
<p><b>Программа микширования</b>
<p>Программа микширования (ПМ) записывается в отдельный канал, который может быть, либо единым целым с фонограммой,  либо   являться  отдельным файлом. ПМ в обязательном порядке, непосредственно перед основным кодом должна иметь так называемый префикс программы микширования (ППМ), вказывающий системе, какие каналы включены по умолчанию, так как они могут использоваться одновременно не все. Фонограмма, на пример, может содержать несколько вариантов вокала - на разных языках, в качестве вокала может выступать какой-то инструмент и т.д. В ППМ могут быть "объявлены" выходные каналы, в зависимости от системы объемного звучания.    Перед запуском музыкальной композиции,   сначала происходит поиск, анализ и инициализация пользовательских настроек для данной композиции  - наложенных фильтров каналов, фильтров  канала ПМ, пользовательских каналов м ПМ и тд. Затем идет обращение к ППМ, и включаются каналы, не оговоренные пользователем.
<p>Основной код ПМ можно представить в виде таблицы. В таблицах 1 и 2, приведены примеры части кодов микширования 3-х каналов в стереопару (таблица 1) и в 6 каналов системы Dolby Digital 5.1 (таблица 2).

<p><b>Таблица 1</b>
<p>
<table border="1" width="80%">
  <tr>
    <td rowspan=3 align="center">Номер кадра</td>
    <td rowspan=3 align="center">Выходные каналы</td>
    <td colspan=6 align="center">Входные каналы</td>
  </tr>
  <tr>
  <td colspan=2 align="center">1</td>
  <td colspan=2 align="center">2</td>
  <td colspan=2 align="center">3</td>
  </tr>
 
  <tr>
    <td align="center">Amp.</td>
    <td align="center">Delay</td>
    <td align="center">Amp.</td>
    <td align="center">Delay</td>
    <td align="center">Amp.</td>
    <td align="center">Delay</td>
  </tr>
  <tr>
    <td align="center" rowspan=2>1</td>
    <td align="center">1  (LF)</td>
    <td align="center">7FH</td>
    <td align="center">0H</td>
    <td align="center">5AH</td>
    <td align="center">0H</td>
    <td align="center">43H</td>
    <td align="center">76H</td>
  </tr>
  <tr>
    <td align="center">2  (RF)</td>
    <td align="center">56H</td>
    <td align="center">5DH</td>
    <td align="center">5AH</td>
    <td align="center">0H</td>
    <td align="center">58H</td>
    <td align="center">0H</td>
  </tr>
  <tr>
    <td align="center" rowspan=2>2</td>
    <td align="center">1  (LF)</td>
    <td align="center">80H</td>
    <td align="center">0H</td>
    <td align="center">5AH</td>
    <td align="center">0H</td>
    <td align="center">40H</td>
    <td align="center">7BH</td>
  </tr>
  <tr>
    <td align="center">2  (RF)</td>
    <td align="center">55H</td>
    <td align="center">5FH</td>
    <td align="center">5AH</td>
    <td align="center">0H</td>
    <td align="center">60H</td>
    <td align="center">0H</td>
  </tr>
  <tr>
    <td align="center" colspan=8>... ... ...</td>
  </tr>
  <tr>
    <td align="center" rowspan=2>n</td>
    <td align="center">1  (LF)</td>
    <td align="center">43H</td>
    <td align="center">A5H</td>
    <td align="center">7FH</td>
    <td align="center">0H</td>
    <td align="center">6BH</td>
    <td align="center">0H</td>
  </tr>
  <tr>
    <td align="center">2  (RF)</td>
    <td align="center">83H</td>
    <td align="center">0H</td>
    <td align="center">7FH</td>
    <td align="center">0H</td>
    <td align="center">3CH</td>
    <td align="center">83H</td>
  </tr>
</table>
<!--  -->


<p><b>Таблица 2</b>
<p>
<table border="1" width="80%">
  <tr>
    <td align="center" rowspan=4>Номер кадра</td>
    <td align="center" rowspan=4>Выходные каналы</td>
    <td align="center" colspan=6>Входные каналы</td>
  </tr>
  <tr>
    <td align="center" colspan=2>1</td>
    <td align="center" colspan=2>2</td>
    <td align="center" colspan=2>3</td>

  </tr>
  <tr>
    <td align="center" colspan=2>Guitar</td>
    <td align="center" colspan=2>Bass</td>
    <td align="center" colspan=2>Vocal</td>
  </tr>
  <tr>
    <td align="center">Amp.</td>
    <td align="center">Delay</td>
    <td align="center">Amp.</td>
    <td align="center">Delay</td>
    <td align="center">Amp.</td>
    <td align="center">Delay</td>
  </tr>
  <tr>
    <td align="center" rowspan=6>1</td>
    <td align="center">1  (LF)</td>
    <td align="center">7FH</td>
    <td align="center">0H</td>
    <td align="center">5AH</td>
    <td align="center">0H</td>
    <td align="center">43H</td>
    <td align="center">76H</td>
  </tr>
  <tr>
    <td align="center">2  (RF)</td>
    <td align="center">56H</td>
    <td align="center">5DH</td>
    <td align="center">5AH</td>
    <td align="center">0H</td>
    <td align="center">58H</td>
    <td align="center">0H</td>
  </tr>
  <tr>
    <td align="center">3  (LB)</td>
    <td align="center">25H</td>
    <td align="center">X54FFH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">3AH</td>
    <td align="center">86H</td>
  </tr>
  <tr>
    <td align="center">4  (RB)</td>
    <td align="center">0FH</td>
    <td align="center">X86FDH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">6AH</td>
    <td align="center">43H</td>
  </tr>
  <tr>
    <td align="center">5 (SUB)</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">7AH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
  </tr>
  <tr>
    <td align="center">6  (CF)</td>
    <td align="center">09H</td>
    <td align="center">XFA4BH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">51hH</td>
    <td align="center">54H</td>
  </tr>
  <tr>
    <td align="center" rowspan=6>2</td>
    <td align="center">1  (LF)</td>
    <td align="center">80H</td>
    <td align="center">0H</td>
    <td align="center">5AH</td>
    <td align="center">0H</td>
    <td align="center">40H</td>
    <td align="center">7BH</td>
  </tr>
  <tr>
    <td align="center">2  (RF)</td>
    <td align="center">55H</td>
    <td align="center">5FH</td>
    <td align="center">5AH</td>
    <td align="center">0H</td>
    <td align="center">60H</td>
    <td align="center">0H</td>
  </tr>
  <tr>
    <td align="center">3  (LB)</td>
    <td align="center">25H</td>
    <td align="center">X54FFH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">3AH</td>
    <td align="center">86H</td>
  </tr>
  <tr>
    <td align="center">4  (RB)</td>
    <td align="center">0FH</td>
    <td align="center">X86FDH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">6AH</td>
    <td align="center">43H</td>
  </tr>
  <tr>
    <td align="center">5 (SUB)</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">7AH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
  </tr>
  <tr>
    <td align="center">6  (CF)</td>
    <td align="center">09H</td>
    <td align="center">XFA4BH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">51hH</td>
    <td align="center">54H</td>
  </tr>
  <tr>
    <td align="center" colspan=8>... ... ...</td>
  </tr>
  <tr>
    <td align="center" rowspan=6>n</td>
    <td align="center">1  (LF)</td>
    <td align="center">43H</td>
    <td align="center">A5H</td>
    <td align="center">7FH</td>
    <td align="center">0H</td>
    <td align="center">6BH</td>
    <td align="center">0H</td>
  </tr>
  <tr>
    <td align="center">2  (RF)</td>
    <td align="center">83H</td>
    <td align="center">0H</td>
    <td align="center">7FH</td>
    <td align="center">0H</td>
    <td align="center">3CH</td>
    <td align="center">83H</td>
  </tr>
  <tr>
    <td align="center">3  (LB)</td>
    <td align="center">0FH</td>
    <td align="center">X86FDH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">6AH</td>
    <td align="center">43H</td>
  </tr>
  <tr>
    <td align="center">4  (RB)</td>
    <td align="center">25H</td>
    <td align="center">X54FFH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">3AH</td>
    <td align="center">86H</td>
  </tr>
  <tr>
    <td align="center">5 (SUB)</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">7AH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
  </tr>
  <tr>
    <td align="center">6  (CF)</td>
    <td align="center">09H</td>
    <td align="center">XFA4BH</td>
    <td align="center">0H</td>
    <td align="center">0H</td>
    <td align="center">51hH</td>
    <td align="center">54H</td>
  </tr>
</table>


<p>Параметры микширования меняются в определённые промежутки времени, называемые кадрами. В колонках "Amp" указано усиление входного канала для каждого канала выхода, вказанного во второй колонке. В колонке "Delay", соответственно, - временная задержка. На каждый параметр отводится 1 байт. Если байт усиления равен нулю, это означает, что сигнал в канал не выводится, 127 - усиление равно 0 дБ, 1 - -40, 255 - +40 дБ. Байт задержки может изменяться от 0 до 255, что соответствует изменению задержки от 0 до 2,55 миллисекунд с шагом 10 микросекунд. Если значение усиления или задержки начинается знаком "X", то это означает, что применён расширенный диапазон регулировки усиления или задержки, которые теперь могут составлять -100 - +100 дБ и 0 - 10444,8 миллисекунд, с шагом 160 микросекунд, соответственно. Расширенные диапазоны могут пригодиться для получения дополнительных спецэффектов - пространственного эхо, эффектов, требующих очень тихого звучания и пр.
<p>Выходные каналы, как в прочим и входные, могут быть идентифицированы как по номерам, так и по именам, на пример: 1 (LF) - левый фронтальный громкоговоритель, 2 (RF) - правый фронтальный, 3 (LB) - левый тыловой, 4 (RB) - правый тыловой, 5 (SUB) - сабвуфер, 6 (CF) - центральный и т.д. 
<p>Частота кадров может быть любой, для определения же оптимального её значения нужны дополнительные исследования. Ясно одно - эта частота должна быть заметно больше частоты, с которой оператор крутит ручки и двигает ползунки на МП, но не стоит делать её слишком большой, так как это приведёт к увеличения размера файла ПМ. Субъективное мнение автора - около 50 Гц.
<p>Во избежание появления щелчков при резком изменении параметра, вступление последнего в силу должно происходить плавно, с постоянной времени задержки: tau=(0,5...1)*T ,  T=1/f; где T-длительность кадра, f-частота кадров.
<p>Стандарт МП должен поддерживать любое количество входных и выходных каналов. Их число может быть ограничено лишь производительностью DSP и, возможно, ёмкостью носителей. Касательно самих каналов, то стандарт должен гарантировать работу с каналами <b>любой частоты дискретизации, битности</b> (8, 16, 24 с плавающей запятой), в том числе со сжатыми форматами, на пример MPEG любого битрейта , и даже MIDI, в любом сочетании. Все каналы взаимозаменяемы и "равноправны", но не лишним будет  всем производителям аудиопродукции, пишущих в стандарт ПМ, рекомендовать стараться записывать один и тот же инструмент на одну и ту же дорожку, - это позволит конечному пользователю использовать одни и те же настройки для разных произведений.
<p><b>Караоке по настоящему</b>
<p>Многие знают, что для исполнения караоке на музыкальных центрах и ПК, необходимы специальные CD-караоке, где музыка записывается в формате MIDI, или другом, а караоке-файл, чаще всего имеющий расширение .car, содержит так же слова песни. По ходу музыки слова выводятся, обычно по две строки текста песни, а слоги, которые в данные момент необходимо петь, меняют цвет. Известна также функция "караоке", встречающаяся в тех же муз. центрах, когда для пения караоке используются обычные музыкальные CD, а голос из песни убирается путём нехитрого микширования стереоканалов в противофазе.
<p>Всё бы ничего, но оба способа реализации функции "караоке" имеют существенные недостатки: - первый из них требует специальных караоке-дисков, второй, - после активизации данной функции слышны довольно сильные искажения звука - неестественное звучание инструментов, подавление басов и т.д. Кроме того, полностью убрать голос не удаётся, он всё равно звучит, хотя и тише, правда сильно искажен. Если в студии на голос были наложены стереоэффекты, то его "убрать" не удается, - вместо этого слышны дикие искажения,  как самого голоса (певца), так и музыкального сопровождения.
<p>Полностью лишена обоих этих недостатков система программного микширования. Если мы хотим спеть караоке, мы просто выключаем канал вокала, и включаем пользовательский канал микрофона. При этом, не наблюдаются <b>никакие</b> искажения, а голос убирается полностью. Конечно, мы можем и не выключать вокал, а спеть караоке дуэтом с исполнителем, "подрегулировав громкость" его микрофона и своего. Но самое интересное, что мы наш голос можем подвергать обработке в реальном времени наложением фильтров, "подвергая его воздействию" программы микширования оригинального канала, содержащего вокал, или создавая стереоэффекты на лету с помощью спец. устройства, которое будет описано в одной из следующих статей. Таким образом, наш голос обретёт объёмность. Мы сможем записывать наш голос, чтобы потом предложить послушать друзьям. Тот у кого присутствует дар музицировать, сможет прописать, с помощью пользовательских каналов, свою партию, или просто потренироваться играть в оркестре или рок группе, да не какой не будь, а в своей любимой - выключил канал гитариста, воткнул электрогитару, и играй себе на здоровье.
<p><b>Прочие преимущества программного микширования</b>
<p>Поскольку статья и так уже затянулась, я не буду приводить здесь никаких расчетов, однако, система программного микширования, по сравнению с другими, имеет: Значительно больший динамических диапазон. (приблизительно на 20 дБ), отношение сигнал/шум (при качественной элементной базе), возможность лёгкого переключения между стандартами выхода. Т.е. одну и ту же запись можно выводить как в моно, стерео, квадро,  Dolby Digital 5.1, 7.1 c одинаково отличным качеством. А вспомните, какие искажения приобретал сигнал после микширования стерео в моно, а квадро в стерео из за несоответствия фаз... В программном микшировании достаточно просто наложить на МП необходимый алгоритм... 
<p><b>Практическая реализация</b>
<p>Бурное развитие высоких информационных технологий, дает нам всё больше возможностей для практической реализации идеи программного mixing\'а. Следует отметить  появление высокоемких оптических дисков, таких как Blue-Ray, и приводов для них, на основе лазеров голубого свечения, возможности производства высокопроизводительных CPU и DSP-процессоров, микросхем памяти и пр. 
<p>Основой системы может стать специально разработанный  высокопроизводительный DSP-процессор,  поддерживающий многопотоковость и параллельную обработку информации, который необходимо устанавливать во все аудиокарты,  аудио- и видеопроигрыватели, оборудованные высокоёмким приводом. 
<p>
Конечно, "заставить" понимать ПК данный формат можно и программным путём (используя специальный софт),  но в таком случае, возможности системы будут сильно ограничены. Примером может служить попытка поиграть в 3D-игру на компе, не оборудованном 3D-ускорителем, используя программную эмуляцию - вечные тормоза и никакое качество.
<p>
<b>Размеры</b>
<p>
Наверное, читатель уже призадумался, а какой размер будут иметь файлы, записанные в формате программного микширования? При максимальном MPEG-сжатии, используя битрейт при котором качество звучания будет соответствовать 128К-емпешке, даже лучше, 8-ми канальный (имеются в виду входные каналы, от количества выходных каналов размер не зависит) альбом продолжительностью 1 час, будет весить не более 240 Мбайт, что позволит на обычном CD записывать 2-3 альбома.  Тот же альбом, записанный в несжатом виде, имеющий 24 разряда с плавающей запятой и 96 КГц на канал, будет весить примерно 6,8 Гбайт, что менее чем в полтора раза больше вместительности одного однослойного одностороннего DVD. Если использовать двухслойный DVD, обьёмом 9 Гб, то можно записать альбом с большим числом дорожек, несколькими вариантами инструментальных партий или вокала, на пример, на разных языках. Формат с ПМ неплохо было бы сделать стандартом De-fakto для будущих Blue-Ray-Audio и Blue-Ray-Video, так как данный носитель довольно высокоёмкий - 25 Гб на однослойном и 50 на двухслойном диске, это дало бы наиболее полно использовать возможности данной системы...
<p>
<b>Заключение</b>
<p>В завершение, вкратце сформулирую суть идеи. Она заключается в том, что микширование сводимых треков происходит <b>не в студии, а в аппарате конечного пользователя</b>, а стереоэффекты записываются в отдельный трек, который называется программой микширования. Это позволяет слушателю на много гибче настраивать звучание фонограммы по своему желанию, открывает новые возможности по её использованию.
<p>Дальнейшим развитием идеи программного mixing\'а может стать запись программы изменения АЧХ и других эффектор в реальном времени.
';

print 'Content-type:text/html

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<TITLE>COMPOSTER: Конкурс "Есть идея!" - "'.$a_title.'"</TITLE>
<meta name="description" content="Независимый украинский сайт о железе и информационных технологиях. Свежие новости, статьи, форум, компьютерная барахолка, IT-работа.">
<meta name="keywords" content="компостер, железо, hardware, разгон, overclock, хард, тест, статья, процессор, cpu, форум, барахолка, компьютер, motherboard, video, Intel, AMD, ASUS, ABIT, ATI, 3dfx, GeForce, модем, modem, Creative, Athlon, Duron, Pentium, Celeron, Voodoo">
<meta HTTP-EQUIV="ROBOTS" content="INDEX, FOLLOW">
<meta HTTP-EQUIV="revisit-after" content="30 days">
<meta HTTP-EQUIV="Rating" content="General">
<meta HTTP-EQUIV="Language" content="Russian">
<meta name="author" content="COMPOSTER" charset="windows-1251">
</head>
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#445174" background="images/bg.gif">';
print_logo();
print_menu();
print_head();

print '
<table cellpadding="0" cellspacing="0" width="100%" border="0">
 <tr>
  <td bgcolor="#FFFFFF" valign="top">';

 print '
   <table cellpadding="0" cellspacing="0" width="100%" border="0">
    <tr bgcolor="#8C89AA">
     <td background="images/hbgp.gif" align="left" width="12"><img src="images/hlp.gif" width="12" height="22"></td>
     <td background="images/hbgp.gif" align="center" class="head" nowrap="">Конкурс "Есть идея!" : "'.$a_title.'"</td>
     <td background="images/hbgp.gif" align="right" width="12"><img src="images/hrp.gif" width="12" height="22"></td>
    </tr>
   </table>';

  print '
   <table cellpadding="0" cellspacing="0" width="100%" border="0">
    <tr>
     <td class="inner_c">
<h1>'.$a_title.'</h1>
<div class="small" align="right">Направление: '.$a_category.'</div>
<div class="small" align="right">Автор: '.$a_author.'</div>
<div class="small" align="right">Опубликовано: '.$a_date.'</div>
'.$a_text;

  print "
  <form name=\"fmRate\" action=\"work_rate.pl\" method=\"post\">
   <input type=\"hidden\" name=\"ID\" value=\"$a_id\">
   <input type=\"hidden\" name=\"Action\" value=\"rate\">
  <table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" align=\"center\">
   <tr>
    <td colspan=\"10\"><b>Оцените работу по десятибалльной шкале:</b></td>
   </tr>
   <tr>";
   for ($i=1; $i <= 10; $i++) {
     print "<td align=\"center\"><input type=\"radio\" name=\"Rate\" value=\"$i\"></td>";
   }
  print "
   </tr>
   <tr>";
   for ($i=1; $i <= 10; $i++) {
     print "<td align=\"center\">$i</td>";
   }
  print "
   </tr>
   <tr>
    <td colspan=\"10\" align=\"center\"><input type=\"submit\" value=\"Оценить работу\"></td>
   </tr>
  </table>
  </form>
";

print '
     </td>
    </tr>
   </table>';

print '
  </td>
  <td width="200" bgcolor="#F5F5F5" valign="top" class="r">';

print_announcement(1);
print_rewards(0);
print_copyright(0);

print '
  </td>
 </tr>
</table>';

print '
</body>
</html>';

