-
Father of UGEX
VAC - Virtual Audio Cable (Виртуальный Аудио Кабель)
Официальный сайт программы.
VAC is extremely useful for recording an application's audio output in real time or transferring a sound stream to another application so it may process it. A person could use two or more software audio generators/synthesizers/sequencers to produce audio streams and send them to a VAC output cable and record the mixed stream from the VAC input cable using any type of recording software.
Идея
Идея создания виртуального звукового кабеля возникла вскоре после появления программ для создания и обработки цифрового звука — виртуальные генераторы звуковых сигналов, синтезаторы музыкальных тембров, ритм-машины, эквалайзеры, компрессоры/экспандеры, процессоры эффектов и т.п. Поначалу каждая из этих программ была автономной: получала звуковой сигнал непосредственно со входа звукового адаптера или из звукового файла и выводила результат на выход адаптера или в другой звуковой файл. Такой подход позволял использовать программы на любом компьютере, имеющем звуковой адаптер, однако имел три основных недостатка:
* Отсутствие универсальности. Несколько программ не могли быть соединены в цепочку, как это делается в студии или даже дома, в случае блочной аппаратуры (проигрыватель, предварительный усилитель, эквалайзер, усилитель мощности и т.п.). Таким образом, каждая программа представляла собой «моноблок» с определенным набором функций, расширить который было довольно сложно.
* Потеря качества при работе в реальном времени. Запись результатов работы с выхода звукового адаптера при работе программы в реальном времени неминуемо влекла потерю качества исходного цифрового звука при преобразовании его в аналоговую форму. Чтобы сохранить качество сигнала неизменным, требовался адаптер с цифровым интерфейсом вместе с цифровым же магнитофоном (ценой порядка 1000 долл.).
* Ограничение оперативности при работе в режиме записи. Некоторые программы позволяли записывать результаты в звуковой файл на диске, и тогда никаких потерь качества не происходило. Однако при этом терялась возможность оперативного управления параметрами звука, и прослушать созданный фрагмент можно было лишь после завершения его записи на диск.
Программа Virtual Audio Cable позволяет практически полностью решить все эти проблемы, организуя в системе компьютерный вариант обычного звукового соединительного кабеля, которым подключаются друг к другу блоки звуковой аппаратуры — бытовой или студийной. Можно сказать, она эмулирует набор звуковых адаптеров, у каждого из которых вход и выход намертво соединены изнутри.
Назначение программы
* Соединение нескольких звуковых программ в цепочку так, что каждая очередная программа получает звук непосредственно от предыдущей, без каких-либо промежуточных устройств или операций.
* Передача цифрового звука в неизменном виде, без какой-либо потери качества звучания.
* Сохранение в неизменном цифровом виде звукового сигнала, созданного программами, позволяющими только проигрывать сигнал в реальном времени на звуковой адаптер.
* Смешивание звуковых сигналов от различных программ, подсоединенных к одному концу кабеля.
* Размножение звукового сигнала, передаваемого по кабелю, для передачи нескольким программам одновременно.
Устройство и работа программы
Виртуальный звуковой кабель VAC представляет собой звуковой (Wave) драйвер Windows, создающий в системе два звуковых устройства (порта): Virtual Cable n In и Virtual Cable n Out, где n — номер кабеля начиная с 1. К каждому из портов может быть присоединено любое количество приложений (клиентов); эта возможность в зарубежных документах носит название multi-client feature. Звуковые сигналы, выводимые приложениями в порт Out, смешиваются в единый сигнал, который затем передается всем приложениям, извлекающим звук из порта In. От приложений требуется лишь умение работать со стандартными Wave-устройствами Windows — и ничего больше.
В Windows 9x/Me VAC создает для каждого кабеля порт вывода DirectSound, доступный через соответствующие интерфейсы и работающий параллельно с обычным выводным портом (Wave Out). Ввиду несовершенства реализации подсистемы DirectSound в Windows отсутствует возможность корректно предотвратить эмуляцию Wave-устройств подсистемой, в связи с чем в списке устройств DirectSound одновременно присутствуют и «родные» устройства VAC, и эмулируемые. Разумеется, при работе следует выбирать «родные» порты, имеющие суффикс (DirectSound).
VAC смешивает звуковые сигналы с насыщением (saturation), называемым также клипированием (clipping — обрезание), что позволяет избежать заметных искажений в результате превышения максимальной амплитуды полученного сигнала.
Смешивание и передача звуковых данных выполняются внутри VAC строго равномерно, по событиям (прерываниям) от системного таймера, с тем чтобы каждое виртуальное устройство работало, как реальное, обеспечивая заданную скорость звукового потока. По каждому прерыванию передается блок определенного размера, зависящего от интервала между таймерными прерываниями (latency). Минимальный интервал — 1 миллисекунда — обеспечивает наиболее плавную передачу потока, однако на «слабых» компьютерах может привести к чрезмерным накладным расходам.
Проводя аналогию с «железными» звуковыми устройствами, необходимо напомнить, что каждое из них имеет входы и выходы, которые соединяются между собой межблочными кабелями. Обычные звуковые кабели, как правило, симметричны, хотя некоторые допускают включение только в одном направлении, когда у кабеля тоже есть вход и выход. Выход устройства соединяется со входом кабеля, а выход кабеля — со входом следующего устройства и т.д.
Точно так же у каждой программы обработки звука, взаимодействующей со звуковым адаптером, могут быть вход и выход. Путем выбора устройства записи (Wave In) вход программы соединяется с выходом АЦП нужного звукового адаптера, а путем выбора устройства воспроизведения (Wave Out) ее выход подключается ко входу ЦАП того же или другого адаптера. Здесь налицо определенная путаница в терминах, поскольку в Windows мультимедийные устройства классифицируются не по входам-выходам, а по портам ввода-вывода. Понятно, что порт ввода (In) — это на самом деле выход устройства, обращенный внутрь системы, а порт вывода (Out) — такой же обращенный внутрь системы вход. Звук, поданный, например, на внешний линейный вход адаптера (Line In), преобразуется АЦП в цифровую форму и передается адаптером во внутренний порт ввода, а цифровой звук, переданный программой во внутренний порт вывода, преобразуется в аналоговую форму в ЦАП, после чего выводится на внешний выход (Line Out или Speaker Out).
Поскольку VAC является цифровым кабелем, он передает на свой выход звуковые данные именно в том формате (сочетании частоты дискретизации, разрядности отсчета и количества каналов), в каком они получены от источника звука. Это означает, что пока один конец кабеля (порт In или Out) открыт в каком-либо формате, другой может быть открыт только в точно таком же формате. Преобразования форматов при передаче VAC не выполняет.
Для того чтобы можно было подключать к кабелю не только программы, но и сами звуковые адаптеры, в комплект VAC входит программа Audio Repeater (звуковой повторитель). Она делает то же, что и драйвер VAC, но наоборот — передает звуковой поток от одного устройства Wave In к другому устройству Wave Out. Повторитель полезен для контроля сигнала, передаваемого по кабелю, или для
«раздачи» сигнала от звукового адаптера нескольким программам обработки. Повторитель обычно включается между кабелем и звуковым адаптером — с входного или выходного конца кабеля.
Таким образом, с помощью VAC можно соединить в цепочку несколько обычных звуковых программ, передавая звук от одной к другой в цифровом виде, без преобразования, при этом совершенно не теряя качества звука. Единственной проблемой здесь являются задержки, неминуемо возникающие из-за буферизации звуковых данных в каждой из программ. На качество звука это никак не влияет, но при наличии в цепочке более двух-трех программ затрудняет управление звуком в реальном времени.
Когда один из концов кабеля свободен (не имеет присоединенной программы), он ведет себя как обычный провод. Звук, выводимый в порт Out, теряется, а из порта In вводится абсолютная тишина.
Добывание, установка и удаление
В настоящее время распространением VAC занимается компания NTONYX (http://www.ntonyx.com/). Демонстрационные версии доступны на страницах http://www.ntonyx.com/vac.html (VAC 2.05) и http://www.ntonyx.com/vac111.html (VAC 1.11). Версия 2.05 — современная, с поддержкой DirectSound, улучшенными алгоритмами реального времени, в вариантах для Windows 95/98/Me и NT 4/2000. Версия 1.11 — устаревшая, только для Windows 3.x/95, без поддержки DirectSound.
Последующие версии VAC будет распространять другая компания, о чем я сообщу после достижения договоренности с нею на сайте моих программ (http://www.spider.nrcde.ru/music/software.html).
Демонстрационные версии предоставляют все возможности VAC, ограничение касается только количества независимых кабелей (один) и интервала между таймерными прерываниями — 100 мс. Этого вполне достаточно для большинства применений программы.
Документация к VAC сделана только на английском языке — главным образом из-за почти полного отсутствия в России покупателей полной версии. По этой же причине рынок VAC ориентирован в основном на зарубежных пользователей.
Для установки VAC необходимо вначале распаковать дистрибутивный архив в любой пустой каталог. Установка выполняется стандартными средствами системы из панели управления:
* в Windows 95/98/Me/2000 — при помощи мастера установки оборудования. Следует отказаться от автоматического поиска нового оборудования, выбрать в списке класс звуковых устройств, нажать кнопку «Установить с диска», указать каталог, в котором находится дистрибутив программы, после чего следовать указаниям системы;
* в Windows NT 4 — при помощи панели Мультимедиа. В закладке «Устройства» необходимо нажать кнопку «Добавить», выбрать в списке «Установить с диска», указать путь к каталогу дистрибутива и следовать указаниям системы.
При успешной установке перезагрузки системы не потребуется и звуковые порты будут доступны сразу же.
Удаление программы также выполняется стандартными средствами через панель управления:
* в Windows 95/98/Me/2000 — при помощи общего списка устройств (Система). Список доступен также через пункт «Свойства» контекстного меню объекта «Мой компьютер». В списке следует открыть класс звуковых устройств, выбрать Virtual Audio Cable и нажать «Удалить»;
* в Windows NT 4 — при помощи той же панели Мультимедиа. В закладке «Устройства» необходимо выбрать «Аудиоустройства», далее — Virtual Audio Cable и нажать «Удалить».
Удаляется драйвер также без перезагрузки.
Пример использования
Предположим, что в системе имеется один виртуальный кабель с портами Virtual Cable 1 In и Virtual Cable 1 Out. Необходимо записать результат работы некоей программы, которая не предлагает возможности выбора звукового устройства, а выводит звук исключительно на стандартное системное устройство (Wave Mapper).
Открываем Панель управления, там — панель Мультимедиа. В закладке Аудио выбираем устройство воспроизведения Virtual Cable 1 Out. После этого пропадает значок регулятора громкости из панели задач — этого пугаться не нужно, так как VAC не имеет собственного микшера.
Запускаем любую программу цифровой записи (Sound Forge, Cool Edit, Gold Wave, WaveLab) и выбираем в списке устройств записи Virtual Cable 1 In. Если формат цифрового звука программы, результат которой нам необходим, заранее известен (например, 44100/16/стерео), — сразу устанавливаем его в программе записи. Иначе запускается «играющая» программа и производится подбор в программе записи нужного формата из числа стандартных. Как только запись включилась — формат подобран верно.
Наконец, включаем запись, стартуем «играющую» программу сначала, записываем фрагмент, выключаем запись. Если в процессе записи необходимо слушать звук, проходящий по кабелю — запускаем Audio Repeater, выбираем устройством ввода Virtual Cable 1 In, а устройством вывода — реальный звуковой адаптер, выставляем формат, нажимаем Start. Повторитель снимает с выхода кабеля копию звукового потока и отправляет «железному» адаптеру, не влияя на процесс записи.
По завершении работы рекомендуется вернуть реальному адаптеру статус стандартного системного устройства в панели Мультимедиа, иначе все звуки, отправляемые по кабелю, будут теряться, поскольку к выходу кабеля ничего не подключено.
С автором этой статьи можно связаться по e-mail: music@spider.nrcde.ru
Взято отсюда
-
Administrator
-
Father of UGEX
Это не то вообще :) Напоминает Patch Bay (комутационная панель)
Метки этой темы
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума
Социальные закладки