Домой /  Интернет / Virtual audio cable сохранение настроек. Подробная настройка Virtual Audio Cable

Virtual audio cable сохранение настроек. Подробная настройка Virtual Audio Cable

Мне потребовалась виртуальная звуковая карта, чтобы можно было записывать видео со звуком с других программ. Обычно достаточно включить стереомикшер , но моя звуковая карта не поддерживает такой возможности. Из бесплатных аналогов я смог найти только Vacard (Virtual Audio Card driver) Beta 0.9d / 08 March 2005. Как видно, она давно не обновлялась, и, к сожалению, она не работает в Windows 7. Есть несколько платных продуктов, из которых мне понравилась программа Virtual Audio Cable , о которой хочу рассказать несколько слов.

Что такое Virtual Audio Cable?

Программа представляет собой набор виртуальных устройств (звуковая карта, микрофон, S/PDIF устройство), который можно соединять между собой виртуальным кабелем. Это позволяет подключать аудио-вывод одного Windows-приложения к аудио-входу другого Windows-приложения. Это полностью аналогично тому, как различные устройства (CD-плейер, эквалайзер, усилитель, FM-приёмник и т.д.) могут соединяться кабелями.

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

  • Отсутствие универсальности. Несколько программ не могли быть соединены в цепочку, как это делается в студии или даже дома, в случае блочной аппаратуры (проигрыватель, предварительный усилитель, эквалайзер, усилитель мощности и т.п.). Таким образом, каждая программа представляла собой «моноблок» с определенным набором функций, расширить который было довольно сложно.
  • Потеря качества при работе в реальном времени. Запись результатов работы с выхода звукового адаптера при работе программы в реальном времени неминуемо влекла потерю качества исходного цифрового звука при преобразовании его в аналоговую форму. Чтобы сохранить качество сигнала неизменным, требовался адаптер с цифровым интерфейсом вместе с цифровым же магнитофоном (ценой порядка 1000 долл.).
  • Ограничение оперативности при работе в режиме записи. Некоторые программы позволяли записывать результаты в звуковой файл на диске, и тогда никаких потерь качества не происходило. Однако при этом терялась возможность оперативного управления параметрами звука, и прослушать созданный фрагмент можно было лишь после завершения его записи на диск.
Программа Virtual Audio Cable позволяет практически полностью решить все эти проблемы, организуя в системе компьютерный вариант обычного звукового соединительного кабеля, которым подключаются друг к другу блоки звуковой аппаратуры - бытовой или студийной. Можно сказать, она эмулирует набор звуковых адаптеров, у каждого из которых вход и выход намертво соединены изнутри.

Для чего это нужно?

Технически назначение программы следующее:

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

Это, в частности, позволяет:

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

Как это работает


Виртуальный звуковой кабель VAC представляет собой звуковой (Wave) драйвер Windows, создающий в системе два звуковых устройства (порта): Virtual Cable n In и Virtual Cable n Out, где n - номер кабеля начиная с 1. К каждому из портов может быть присоединено любое количество приложений (клиентов); эта возможность в зарубежных документах носит название multi-client feature. Звуковые сигналы, выводимые приложениями в порт Out, смешиваются в единый сигнал, который затем передается всем приложениям, извлекающим звук из порта In. От приложений требуется лишь умение работать со стандартными Wave-устройствами Windows - и ничего больше.

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 вводится абсолютная тишина.

Установка


Программу можно взять, как с

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

  • Отсутствие универсальности. Несколько программ не могли быть соединены в цепочку, как это делается в студии или даже дома, в случае блочной аппаратуры (проигрыватель, предварительный усилитель, эквалайзер, усилитель мощности и т.п.). Таким образом, каждая программа представляла собой «моноблок» с определенным набором функций, расширить который было довольно сложно.
  • Потеря качества при работе в реальном времени. Запись результатов работы с выхода звукового адаптера при работе программы в реальном времени неминуемо влекла потерю качества исходного цифрового звука при преобразовании его в аналоговую форму. Чтобы сохранить качество сигнала неизменным, требовался адаптер с цифровым интерфейсом вместе с цифровым же магнитофоном (ценой порядка 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. Повторитель снимает с выхода кабеля копию звукового потока и отправляет «железному» адаптеру, не влияя на процесс записи.

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

Планы на будущее

В ближайшее время будет выпущена линия VAC 3 - с новыми, более надежными алгоритмами передачи звуковых данных, исключающими потери блоков из-за недостаточного размера буфера в подключенных приложениях. Это позволит свести к минимуму задержки распространения (latency), сегодня нередко составляющие 100 мс и более.

Кроме того, VAC 3 будет снабжен программой визуальной настройки, отображающей и текущий формат звукового потока для каждого кабеля. Также в ближайших версиях планируется введение управления громкостью (volume control) и преобразования форматов.

Информация об очередных версиях будет размещена на сайте моих программ (

Virtual Audio Cable программное обеспечение которое позволяет передавать аудио (волны) потоки между приложениями и / или устройствами. Virtual Audio Cable создаёт набор виртуальных звуковых устройств под названием «Виртуальный кабель” , каждый из которых состоит из пары сигналов устройств ввода / вывода.Любое приложение может отправлять аудио поток в выходной кабель, любое другое приложение не может получить этот поток из входной стороны. Все переводы осуществляются в цифровой форме, обеспечение звука без потери качества (bitperfect потоки).

Захват на Encoder идёт с Line 2.
Задаём количество кабелей.

Теперь по этапно (на схеме обозначено цифрами)
1.Вывод звука из системы на первый виртуальный кабель (всего их 2).
Здесь нам сможет помочь сама система, назначим «Line 1» - устройством воспроизведения по умолчанию.

2. С первого кабеля ненужно делать переадресайию сигнала на второй.
Здесь начинает работать Repeater. ОБЯЗАТЕЛЬНО тот, который (MME)
За менить Total Buffer на 200
Wave in: Line 1
Wave out: Line 2


3.Перенаправляем микрофон на тот-же самый второй виртуальный кабель.
Wave in: Ваш микрофон
Wave out: Line 2

4.Выводим на колонки или наушники звук с первого виртуального кабеля.
Wave in: Line 1
Wave out: зависит от вашего устройства вывода.


Теперь немного объясню, почему надо было направлять все звуки
на Line 1, а уже потом переадресовывать их на Line 2.
Там, откуда мы забираем звук, звуки смешиваться как системные звуки, так и звук с микрофона. То есть если вы создадите одно виртуальное устройство и будете захватывать с него, то и слушать вам придется тоже его, а там ваш собственный голос с небольшой задержкой. И говорить и слушать физически сложно. Поэтому усложняем немного схему именно такой настройкой, в которой звук именно тот, который выводится из системы, и который вам и нужно слышать.
Настройка Virtual Audio Cable в Skype.
Зайдите в меню Инструменты - «Настройки и слева выберите пункт Настройка звука . Делаем все так, как показано на рисунке ниже и жмите сохранить.

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

  • Отсутствие универсальности. Несколько программ не могли быть соединены в цепочку, как это делается в студии или даже дома, в случае блочной аппаратуры (проигрыватель, предварительный усилитель, эквалайзер, усилитель мощности и т.п.). Таким образом, каждая программа представляла собой «моноблок» с определенным набором функций, расширить который было довольно сложно.
  • Потеря качества при работе в реальном времени. Запись результатов работы с выхода звукового адаптера при работе программы в реальном времени неминуемо влекла потерю качества исходного цифрового звука при преобразовании его в аналоговую форму. Чтобы сохранить качество сигнала неизменным, требовался адаптер с цифровым интерфейсом вместе с цифровым же магнитофоном (ценой порядка 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. Повторитель снимает с выхода кабеля копию звукового потока и отправляет «железному» адаптеру, не влияя на процесс записи.

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

Планы на будущее

В ближайшее время будет выпущена линия VAC 3 - с новыми, более надежными алгоритмами передачи звуковых данных, исключающими потери блоков из-за недостаточного размера буфера в подключенных приложениях. Это позволит свести к минимуму задержки распространения (latency), сегодня нередко составляющие 100 мс и более.

Кроме того, VAC 3 будет снабжен программой визуальной настройки, отображающей и текущий формат звукового потока для каждого кабеля. Также в ближайших версиях планируется введение управления громкостью (volume control) и преобразования форматов.

Информация об очередных версиях будет размещена на сайте моих программ (

Virtual Audio Cable программное обеспечение которое позволяет передавать аудио (волны) потоки между приложениями и / или устройствами. Virtual Audio Cable создаёт набор виртуальных звуковых устройств под названием «Виртуальный кабель”, каждый из которых состоит из пары сигналов устройств ввода / вывода. Любое приложение может отправлять аудио поток в выходной кабель, любое другое приложение не может получить этот поток из входной стороны. Все переводы осуществляются в цифровой форме, обеспечение звука без потери качества (bitperfect потоки).


Захват на Encoder идёт с Line 2.
Задаём количество кабелей.


Теперь по этапно (на схеме обозначено цифрами)
1.Вывод звука из системы на первый виртуальный кабель (всего их 2).
Здесь нам сможет помочь сама система, назначим «Line 1» — устройством воспроизведения по умолчанию.


2. С первого кабеля ненужно делать переадресайию сигнала на второй.
Здесь начинает работать Repeater. ОБЯЗАТЕЛЬНО тот, который (MME)
За менить Total Buffer на 200
Wave in: Line 1
Wave out: Line 2


3.Перенаправляем микрофон на тот-же самый второй виртуальный кабель.
Wave in: Ваш микрофон
Wave out: Line 2

4.Выводим на колонки или наушники звук с первого виртуального кабеля.
Wave in: Line 1
Wave out: зависит от вашего устройства вывода.


Теперь немного объясню, почему надо было направлять все звуки
на Line 1, а уже потом переадресовывать их на Line 2.
Там, откуда мы забираем звук, звуки смешиваться как системные звуки, так и звук с микрофона. То есть если вы создадите одно виртуальное устройство и будете захватывать с него, то и слушать вам придется тоже его, а там ваш собственный голос с небольшой задержкой. И говорить и слушать физически сложно. Поэтому усложняем немного схему именно такой настройкой, в которой звук именно тот, который выводится из системы, и который вам и нужно слышать.
Настройка Virtual Audio Cable в Skype.
Зайдите в меню Инструменты — «Настройки и слева выберите пункт Настройка звука . Делаем все так, как показано на рисунке ниже и жмите сохранить:


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