Подробная настройка Virtual Audio Cable. Виртуальные звуковые устройства с Virtual Audio Cable.

Главная / Работа со звуком

Программа Virtual Audio Cable 4.10 - создает в вашей системе несколько виртуальных аудиоустройств, которые можно использовать для проведения парных или групповых эфиров без привлечения дополнительного оборудования. Впрочем на этом сфера применения не заканчивается, VAC используют для расширения функционала TeamSpeak 3, Ventrillo, Adobe Audition и еще множества программ.

Коротко о том, что умеет Virtual Audio Cable 4.10 :
— Можно создать разветвленную систему виртуальных аудиоустройств для записи и воспроизведения звука, совмещая их из разных источников (Например, выводить звук из игры только в свои наушники, а звук с микрофона в отдельный канал);
— Можно запустить определенное количество виртуальных аудиокабелей, каждый из них настроить для автономной работы (Например, 3 аудио-репитера для ведения парного/группового эфира);

Большой плюс Virtual Audio Cable в том, что он потребляет минимум ресурсов рабочей машины, когда запущен. В минусы стоит записать то, что сразу после установки программа может перезаписать иерархию аудиоустройств. Например, установить Line 2 в качестве динамиков по умолчанию и отключить колонки. К счастью, это не смертельно и вернуть все обратно легко.

Virtual Audio Cable работает по принципу multi-client feature, позволяя задавать для каждого порта VAC In/VAC Out отдельную функцию.

Установка Virtual Audio Cable 4.10

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

Если не поможет — уточните конфигурацию аудиорепитеров и настройки звуковых устройств на вашей машине.

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

В 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 - при помощи панели Мультимедиа. В закладке «Устройства» необходимо нажать кнопку «Добавить», выбрать в списке «Установить с диска», указать путь к каталогу дистрибутива и следовать указаниям системы.
  • Пример использования

    Предположим, что в системе имеется один виртуальный кабель с портами 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) и преобразования форматов.

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

Песочница

тащит всю команду 14 ноября 2012 в 22:02

Пример использования виртуальной звуковой карты, или экономим на Traktor Audio

Привет, хабр! В этой статье речь пойдет о том, как сэкономить немного (а может и много) денег на дорогих звуковых картах, путем использования виртуальной звуковой карты Virtual Audio Cable. Уже была подобная статья, но тут рассматривается вопрос по проще, и, с пошаговой инструкцией.

Как-то раз попросили помочь с организацией дискотеки, но, профессионально диджеингом я не занимался и по этой причине почти никакого «крутого» диджейского оборудования у меня нету. (Ноутбук и мониторки Sennheiser HD203 не считаются). Тем не менее, звуком я увлекаюсь и с азами знаком. Проблема в том, что из ноутбука нужно вывести 2 звуковых канала: 1 - для наушников (послушать песню перед тем как сводить), 2 - непосредственно на колонки (должно же что-то играть). Становится очевидно, что без двух звуковых карт не обойтись. Казалось бы, покупаем дешевую USB карту с выходом и входом за 5$, и всё. Ан-нет, дело то в том, что к Traktor Scratch PRO 2 (по моему скромному мнению, самая удобная прога для сведения треков, и прочего издевательства над музыкой в реальном времени) можно подключить только одну звуковую карту . Native Instruments на этот счет предлагает купить нам, например Traktor Audio 2. Собственно обыкновенная звуковая карта с двумя выходами, стоимостью 100 долларов. Конечно, можно найти альтернативу подешевле, но, как то слишком дорого для одной дискотеки…

К счастью, имеется внешняя USB звуковая карта Behringer UCA200, которая поставлялась в комплекте с микшерным пультом, где есть 1 стерео вход и выход (RCA). С помощью паяльника, провода и нескольких штекеров звуковая карта подключается к микшеру, та же история и с ноутбуком. Конечно, можно было воткнуть наушники напрямую в ноутбук, но, микшер даст им дополнительное усиление (а при сумасшедшей громкости вокруг, оно не помешает), а дальше все зависит от качества шумоизоляции в наушниках, благо, оно на уровне. С хардовой точки зрения все подключено и работает, осталось только подружить Traktor со звуковыми картами. Вот тут то и нужен Virtual Audio Cable. Я остановился на версии 4.10.

Устанавливаем Virtual Audio Cable. В настройках Windows ничего менять не нужно, разве что верните «по умолчанию» вашу звуковую карту, т.к. при установке программа выставляет основной себя. (панель управления - изменение параметров звуковой карты) Настраивается всё довольно просто:
Запускаем Control panel, и добавляем еще один канал. (Нам нужно два). Потом открываем 2 копии Audio Repeater (MME). В этих двух окнах, направляем канал 1 - на одну из двух звуковых карт, канал 2 - на другую звуковую карту. Нажимаем Start.



Остальные параметры - по желанию.
Теперь, надо настроить Traktor. Открываем Audio Setup, и ставим в Audio Device «Virtual Audio Cable».

Не забываем выставить настоящую звуковую карту ноутбука в Win Built-In.
Далее - вкладка Output Routing:

Где Output Monitor - ваши наушники, Output Master - главная шина. Закрываем настройки, и если все сделано правильно получится примерно такая картинка:

Где трек из Деки A играет в зал, (кроссфейдер сведен влево), а трек из деки Б играет исключительно в ваши наушники. (Ручку mix сворачиваем в 0, дабы не слышать в наушниках трек из деки А, а ручку правее крутим по желанию).
Ну, а на микшере каждый делает как ему удобно. Получается, что занято два канала, один пускаем в main mix на зал, а другой в sub или в solo на шину наушников, но, тут опять же, у кого какой пульт.

Все отлично работает, на Windows 7 32-bit.
Используемый софт:

  • Native Instruments Traktor Scratch PRO 2.5.1
  • Virtual Audio Cable 4.10
Всё выше перечисленное без проблем стачивается и известного всем трекера;)

Используемое железо:

п.с. Надеюсь, кому то эта статья пригодиться, меня это конкретно спасло бы, жаль что додумался до такой штуки только сейчас, а дискотека проводилась вслепую, по старинке. Вообще, эта виртуальная звуковая карта - очень полезная вещь, и ей можно найти массу применений. Строго не судите, это мой первый пост…

Метки: traktor, музыка, звуковая карта, Virtual audio cable,

© 2024 mchard.ru -- Ноутбук. Работа с текстом. Монитор. Гаджеты. Компьютер. Skype. Восстановление