Virtual Audio Cable – это утилита, которая позволяет заменить акустический кабель, соединяющий микрофон и динамик, виртуальным аналогом. Также она способна обеспечить передачу звука между разными программами. Если говорить о практическом применении, то VAC может быть полезен в следующих случаях:
- когда нужно преобразовать звук в текст;
- когда нужно записать беседу, ведущуюся через какой-то мессенджер;
- когда нужно записать аудио, воспроизводимое на компьютере и сохранить качество записи;
- когда нужно озвучить видео в домашних условиях без специального оборудования.
При этом не важно, есть ли звуковая карта и какого она качества – программа имеет набор виртуальных инструментов, компенсирующих отсутствующие. Есть две версии программы – платная и бесплатная. К названию последней добавлена аббревиатура VB.
Настройка и работа с Virtual Audio Cable.
Установка VB Cable Virtual Audio Device
- Для начала нужно загрузить дистрибутивы с официального сайта (free-версия тоже распространяется там).
- Разархивируйте их и найдите файл Setup, кликните по нему правой кнопкой мыши и выберите пункт «Run As Administrator».
- Появится окошко-заставка, где нужно подтвердить установку.
- Дождитесь завершения и перезапустите систему.
Программа VB Virtual Audio Cable требует предварительной настройки перед началом использования.
Настройка Virtual Audio Cable
Переходим к настройке программы:
- Внизу справа есть значок громкоговорителя – кликните по нему правой кнопкой мыши и выберите пункт Sound.
- Откроется окно со звуковыми устройствами – среди них будет и только что установленный VAC – нужно выбрать его, используя ПКМ, и указать, как оборудование, которое будет всегда использоваться для манипуляций со звуком.
- Теперь зайдите во вкладку Sound Recording и снова укажите VAC как основной инструмент.
С этого момента на кабель виртуального устройства будут поступать все звуки, которые воспроизводятся на ПК (например, при просмотре видео в «Ютубе»), а также через микрофон: недостаток такой настройки в том, что звук не выводится вовне, и вы ничего не услышите. Конечно же, VAC скачивают в тандеме с другими приложениями по обработке и записи звука: микшерами, эквалайзерами, аудиочиталками и т.д. и т.п. Именно при работе с ними можно уточнить настройки Virtual Audio Cable, потому что сам по себе он работает как драйвер или «посредник» между программами. Если VAC вам больше не нужен, он удаляется через «Панель управления», как обычное приложение.
Примеры использования VAC
Virtual Audio Cable – очень полезная программа, чтобы понять, как ею пользоваться, достаточно привести несколько примеров.
- Транскрибирование. Допустим, вам нужно вычленить звук из аудио или видео и преобразовать его в текст (скажем, вы нашли аудиокнигу, а текстовой версии нет). Записывать такие объёмы вручную очень долго, почти нереально. Есть специальные приложения, записывающие под диктовку, но тогда нужно, чтобы звук шел через динамик. В этом случае качество будет потеряно из-за посторонних шумов, искажений колонок и воспринимающего устройства (представьте себе диктофонную запись и поймёте, какое качество будет в итоге). Чтобы избежать этого и направить звук прямиком в транскрибатор, как раз и пригодится VAC. Если вы следовали рекомендациям выше, то он у вас уже настроен должным образом – выбирайте аудио (видео) и запускайте программу преобразования.
- Вывод звука в два канала. Предположим, вам нужно, чтобы мелодия одновременно играла и в наушниках, и через динамик (такие проблемы часто возникают у ди-джеев, работников ДК и людей, увлекающихся музыкой). Стандартные условия не позволяют этого сделать. Для подобной работы с аудио как раз используется Virtual Audio Cable. Обычно в таких случаях либо покупают звуковую карту с двумя аудиовыходами (но она недешевая, около 6,5 тыс. рублей), либо устанавливают второй адаптер (но не каждый микшер поддерживает такой подход). Во втором случае организовать совместную работу всех программ помогает VAC: достаточно направить каналы на разные адаптеры.
- Запись разговора. Если вы беседуете, например, в Skype и хотите записать беседу в хорошем качестве, нужна любая программа-рекордер и VAC. Настройки зависят от особенностей ПО.
Идея создания виртуального звукового кабеля возникла вскоре после появления программ для создания и обработки цифрового звука — виртуальные генераторы звуковых сигналов, синтезаторы музыкальных тембров, ритм-машины, эквалайзеры, компрессоры/экспандеры, процессоры эффектов и т.п. Поначалу каждая из этих программ была автономной: получала звуковой сигнал непосредственно со входа звукового адаптера или из звукового файла и выводила результат на выход адаптера или в другой звуковой файл. Такой подход позволял использовать программы на любом компьютере, имеющем звуковой адаптер, однако имел три основных недостатка:
- Отсутствие универсальности. Несколько программ не могли быть соединены в цепочку, как это делается в студии или даже дома, в случае блочной аппаратуры (проигрыватель, предварительный усилитель, эквалайзер, усилитель мощности и т.п.). Таким образом, каждая программа представляла собой «моноблок» с определенным набором функций, расширить который было довольно сложно.
- Потеря качества при работе в реальном времени. Запись результатов работы с выхода звукового адаптера при работе программы в реальном времени неминуемо влекла потерю качества исходного цифрового звука при преобразовании его в аналоговую форму. Чтобы сохранить качество сигнала неизменным, требовался адаптер с цифровым интерфейсом вместе с цифровым же магнитофоном (ценой порядка 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
Скрипт ниже написан для автоматического включения трёх виртуальных кабелей, необходимых для объединения микрофона и Skype в единый поток, чтобы вещать его, например, на радио. Если вы ранее не использовали Virtual Audio Cable, сначала прочитайте эту статью с ручной настройкой. Теперь попробуем сделать всё в ней описанное мгновенно включаемым.
Автоматический запуск кабелей
Прежде, чем написать скрипт, необходимо узнать названия всех каналов и кабелей так, как они называются в программе Virtual Audio Cable -> Audiorepeater (MME). Найдите и запишите в списках Wave in и Wave out точные названия ваших динамиков и микрофона, а также названия трёх кабелей — в скрипте их нужно будет повторить точно так, как они написаны. Например, у меня:
Динамики (Realtek High Definiti
Микрофон (Realtek High Definiti
Line 1 (Virtual Audio Cable)
Line 2 (Virtual Audio Cable)
Line 3 (Virtual Audio Cable)
Открываем блокнот и вставляем, заменив микрофон и динамики на ваши, а также Line 1, Line 2 и Line 3, если они у вас называются по-другому.
@chcp 1251
start /min «audiorepeater» "%programfiles%Virtual Audio Cableaudiorepeater.exe" /Input: «Микрофон (Realtek High Definiti» /Output: «Line 1 (Virtual Audio Cable)» /Autostart
start /min «audiorepeater» "%programfiles%Virtual Audio Cableaudiorepeater.exe" /Input: «Line 2 (Virtual Audio Cable)» /Output: «Динамики (Realtek High Definiti» /Autostart
start /min «audiorepeater» "%programfiles%Virtual Audio Cableaudiorepeater.exe" /Input: «Line 1 (Virtual Audio Cable)» /Output: «Line 3 (Virtual Audio Cable)» /Autostart
start /min «audiorepeater» "%programfiles%Virtual Audio Cableaudiorepeater.exe" /Input: «Line 2 (Virtual Audio Cable)» /Output: «Line 3 (Virtual Audio Cable)» /Autostart
Сохраняем как запускаемый файл с разрешением .bat, например StartVAC.bat (с названиями устройств как выше качаем start.rar [285 b] (cкачиваний: 126))
Запускаем файл. Если выдает ошибки, посмотрите, правильно ли вы проставили названия. Также кодировка текстового документа должна быть стандартная ANSI, а не UTF.
Автоматическая остановка кабелей
Тут всё проще: открываем блокнот, пишем:
taskkill /im «audiorepeater.exe»
Сохраняем как файл автозапуска с разрешением .bat, например StopVAC.bat
После запуска скрипта все виртуальные кабели автоматически отключатся.