» » Расширенная настройка Virtual Audio Cable

Расширенная настройка Virtual Audio Cable

Расширенная настройка Virtual Audio Cable

Всем доброго времени суток.

Этот гайд является продолжением моей прошлой статьи - http://idej.net.ua/hardware/27-nastroyka-zvuka.html 

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

В 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

Как составлять такой файл уже было описано здесь - http://idej.net.ua/hardware/27-nastroyka-zvuka.html#auto

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

Расширенная настройка Virtual Audio Cable

  • 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.

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


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


14014 09.07.15

Комментарии