Домой / Работа в Интернете / Настройка виртуал аудиокабель чтобы не говорило trail. Виртуальный звуковой кабель VAC. Пример использования виртуальной звуковой карты, или экономим на Traktor Audio

Настройка виртуал аудиокабель чтобы не говорило trail. Виртуальный звуковой кабель VAC. Пример использования виртуальной звуковой карты, или экономим на Traktor Audio

Virtual Audio Cable – это утилита, которая позволяет заменить акустический кабель, соединяющий микрофон и динамик , виртуальным аналогом. Также она способна обеспечить передачу звука между разными программами. Если говорить о практическом применении, то VAC может быть полезен в следующих случаях:

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

При этом не важно, есть ли звуковая карта и какого она качества – программа имеет набор виртуальных инструментов, компенсирующих отсутствующие. Есть две версии программы – платная и бесплатная. К названию последней добавлена аббревиатура VB.

Настройка и работа с Virtual Audio Cable.

Установка VB Cable Virtual Audio Device

  1. Для начала нужно загрузить дистрибутивы с официального сайта (free-версия тоже распространяется там).
  2. Разархивируйте их и найдите файл Setup, кликните по нему правой кнопкой мыши и выберите пункт «Run As Administrator».
  3. Появится окошко-заставка, где нужно подтвердить установку.
  4. Дождитесь завершения и перезапустите систему.

Программа VB Virtual Audio Cable требует предварительной настройки перед началом использования.

Настройка Virtual Audio Cable

Переходим к настройке программы:

  1. Внизу справа есть значок громкоговорителя – кликните по нему правой кнопкой мыши и выберите пункт Sound.
  2. Откроется окно со звуковыми устройствами – среди них будет и только что установленный VAC – нужно выбрать его, используя ПКМ, и указать, как оборудование, которое будет всегда использоваться для манипуляций со звуком .
  3. Теперь зайдите во вкладку Sound Recording и снова укажите VAC как основной инструмент.

С этого момента на кабель виртуального устройства будут поступать все звуки, которые воспроизводятся на ПК (например, при просмотре видео в «Ютубе»), а также через микрофон: недостаток такой настройки в том, что звук не выводится вовне, и вы ничего не услышите. Конечно же, VAC скачивают в тандеме с другими приложениями по обработке и записи звука: микшерами, эквалайзерами, аудиочиталками и т.д. и т.п. Именно при работе с ними можно уточнить настройки Virtual Audio Cable, потому что сам по себе он работает как драйвер или «посредник» между программами. Если VAC вам больше не нужен, он удаляется через «Панель управления», как обычное приложение.

Здесь я попытаюсь описать не процесс настройки, а ее назначение, то есть разберу основные параметры и значения. Итак, приступим.

В VAC есть два разных вида репитеров: MME(Multimedia Extension) и KS(Kernel Streaming) . Первый программно получается звук, второй обращается непосредственно к ядру ОС. Второй способ конечно же лучше, однако при любых настройках он выдает мне ошибку, я так и не смог запустить репитер через KS.

Поэтому в статье будет рассматриваться репитер MME .

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

@chcp 1251 start /min "audiorepeater" "%programfiles%\Virtual Audio Cable\audiorepeater.exe" /Input: "Line 3 (Virtual Audio Cable)" /Output: "Динамики (Razer Megalodon)" /SamplingRate:48000 /Buffers:7 /BufferMs:50 /Channels:8 /ChanCfg:"7.1 surround" /Priority:"Realtime" /Autostart

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

  • /min - репитер сразу запускается свернутым в трей.
  • /AutoStart - репитер начинает работать сразу после запуска. Может работать в паре с /min.
  • /WindowsName - задает нестандартное имя окна репитера.
  • /CloseInstance - специфическая опция, предназначенная для закрытия рабочих окон, в том числе и репитеров. Работает в паре с тегом /WindowName . Через этот тег задается альтернативное имя окна репитера, а через тег /CloseInstance это окно закрывается.

Вот пример работы:

Скрипт старта

@chcp 1251 start /min "audiorepeater" "%programfiles%\Virtual Audio Cable\audiorepeater.exe" /Input:"Line 1 (Virtual Audio Cable)" /Output:"Speakers (Realtek High Definiti" /SamplingRate:48000 /BufferMs:200 /Buffers:5 /Priority:"High" /WindowName:"Sys and Game Audio" /AutoStart Exit

Скрипт окончания работы

@chcp 1251 start /min "audiorepeater" "%programfiles%\Virtual Audio Cable\audiorepeater.exe" /CloseInstance:"Sys and Game Audio" Exit

  • /Priority - задает приоритет процесса для обработки. Обычно хватает нормального приоритета. Если Вам необходимо, можете поставить его выше, однако это замедлит скорость выполнения других процессов. Realtime можно ставить только если обладаете мощным ЦП.
  • /Channels - задает нужное кол-во звуковых каналов. Задается только при нестандартном /ChanCfg .
  • /ChanCfg - при помощи этого параметра можно указать нестандартную конфигурацию динамиков. Например, для устройства со звуком 7.1 следует указать так:
/Channels:8 /ChanCfg:"7.1 Surround"
  • /Buffers - задает кол-во частей, которые будут использованы для передачи фрагмента, заданного через /BufferMs . Фактически, чем больше будет частей, тем плавнее должна быть передача. На практике же достаточно значения в 7-8 частей. Если их будет меньше - аудио может пропадать, если больше - аудио будет отставать. Больше 15-20 частей устанавливать крайне не рекомендуется.
  • /BufferMs - задает размер аудио буффера в миллисекундах. Рекомендуют устанавливать значения в 200-300 мс, для более стабильной передачи данных, однако мне хватает 50 мс.

Опции чувствительны к изменениям регистра. Специфические опции, например /Priority , следует вводить так, как они написаны в окне программы.

Под выбором устройств WaveIn и WaveOut вы можете заметить такие параметры как Overflows и Underflows . Overflows увеличивается, когда программа(репитер) не имеет достаточного свободного места(буфферов) для записи данных. Underflows увеличивается в противоположном случае: когда репитер не успевает проигрывать поступающие потоки информации. Результатом данных параметров является недостаточный размер буфферов, малое кол-во буфферов, замедленная работа ЦП и т.д.

Оптимальными параметрами для быстрого ПК являются 7-8 буфферов по 50 ms каждый, я сам использую данную конфигарацию и не испытываю проблем.

Control Panel

Также можно задать и некоторые общие параметры для каждого кабеля. Сделать это можно в программе Control Panel. Чтобы она работала корренктно, ее необходимо запускать от имени администратора.

  • Cables - общее кол-во созданных кабелей. После применения необходим перезапуск драйвера.
  • Format range (SR, BPS, NC) - установка диапозонов sampling rate, bits per sample and number of channels для кабеля.

    Max inst - максимальное кол-во соединений. Используется, как минимум, 1 соедиение для работы аудио-движка. Остальные соединения могут быть использованы клиентскими приложениям.

    Ms per int - это означает частоту, с которой будет происходить соединение со звуковым устройством(обычно это называют задержкой). Чем больше операций в секунду, меньшее время ожидания, тем больше нагружена система. Обычные аудио-карты требует 5-15 мс на обработку.

    Stream fmt limit - формат стриминга аудио через кабель

    Volume control - если включено, позволяет менять громкость кабеля и репитера(я не понял суть данной фунуции).

    Clock corr ratio - корректировка скорости, в процентах. Если значение 100%, никакой корректировки не происходит. Если значение более 100%, скорость воспроизведения будет выше, менее 100%, скорость будет ниже. Например, если значение 100.25, скорость будет увеличина на 0.25%; если 99.98, медленее на 0.02%. Можно выполнить корректировку с точностью 0.0000001%.

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

    Stream buffer - контролирует размера буффера аудио. "Auto " - значит минимально возможное значение, допустимое драйвером.

Вся остальная информация и описание команд есть в справке приложения.

У вас остались вопросы? Вы хотите дополнить статью? Вы заметили ошибку? Сообщите мне об этом ниже, я обязательно Вас услышу!

Если Вам помогла данная статья, то напишите об этом в комментариях. И не забывайте делиться статьей со своими друзьями в соц.сетях;)

P.S.

Статья является копирайтом,так что если Вы ее копируете,не забудьте вставить активную ссылку на сайт автора,то есть на этот:)

Поделитесь статьей в социальных сетях - поддержите сайт!

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

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

Мне потребовалась виртуальная звуковая карта, чтобы можно было записывать видео со звуком с других программ. Обычно достаточно включить стереомикшер , но моя звуковая карта не поддерживает такой возможности. Из бесплатных аналогов я смог найти только 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 вводится абсолютная тишина.

Установка


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