Ближайшие события

14 октября 2016 года - расстыковка "Прогресса МС-02" от модуля "Звезда"
17 октября 2016 года (ПО) – SZ-11 Shenzhou-11 – CZ-2F/G – Цзюцюань LC43/921
19 октября 2016 года – Союз МС-02 (№732) – Союз-ФГ – Байконур 1/5 – 11:03 (или 1 ноября №733)
21 октября 2016 года – стыковка "Союза МС-02" (Рыжиков, Борисенко, Кимброу) к модулю "Поиск" (или 3 ноября)
30 октября 2016 года – расстыковка от модуля "Рассвет" и приземление (07:00) "Союза МС" (Иванишин, Ониси, Рубинс) (или не ранее середины ноября)
16 ноября 2016 года – Союз МС-03 (№733) – Союз-ФГ – Байконур 31/6 – 00:05 (или декабрь №732)
16 ноября 2016 года – стыковка "Союза МС-03" (Новицкий, Песке, Уитсон) к модулю "Рассвет" (или декабрь)
1 декабря 2016 года – Прогресс МC-04 (№434) – Союз-У – Байконур 1/5 (или середина ноября)
22 декабря 2016 года – Канопус-В-ИК, Звезда, четыре аппарата компании SatByul Co. LTD, два Corvus-BC, AISSat-3, Lemur+, Tyvark, МКА Маяк, МКА-Н, Flock 2k – Союз-2-1А/Фрегат-М – Байконур 31/6
1 февраля 2017 года – Прогресс МC-05 (№435) – Союз-У – Байконур 1/5
11 марта 2017 года – Прогресс МC-05 (№435) – Союз-У – Байконур 1/5
11 марта 2017 года – Союз МС-04 (№734) – Союз-ФГ – Байконур 1/5

Virtual Audio Cable

SDRSharp, Orbitron, SatPC32 и др
Аватар пользователя
R4UAB
Администратор
Сообщений: 101
Зарегистрирован: 11 окт 2015, 11:50
Откуда: Рузаевка
ВКонтакте: 11116194
Контактная информация:

Virtual Audio Cable

Сообщение R4UAB » 23 окт 2015, 21:35

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

Назначение программы

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

Устройство и работа программы
Виртуальный звуковой кабель 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 вводится абсолютная тишина.

Вернуться в «Программное обеспечение»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 1 гость