나만의 방송국 만들기

자동화 방송 소프트웨어 관련 자료 및 정보 공유

Softwar_Tutorial/Virtual_Audio_Mixer

가상 오디오 케이블 "Virtual Audio Cable(VAC)"

열목이 2024. 1. 13. 14:49
반응형

가상 오디오 케이블(Virtual Audio Cable 또는 VAC)은 컴퓨터에서 오디오 신호를 가상으로 연결하고 전송하기 위한 소프트웨어 설루션입니다. 이를 통해 여러 가지 오디오 애플리케이션 및 장치 간에 오디오를 라우팅하고 공유할 수 있습니다. 가상 오디오 케이블을 사용하면 다양한 용도로 활용할 수 있습니다.

 

주요 기능 및 용도

  • 오디오 라우팅: VAC를 사용하여 컴퓨터에서 생성된 오디오를 다른 애플리케이션으로 전송하거나 다른 오디오 입력으로 리디렉션할 수 있습니다.
  • 녹음 및 스트리밍: VAC를 사용하여 특정 소프트웨어에서 생성된 오디오를 녹음하거나 스트리밍 할 수 있습니다. 이는 게임 스트리밍이나 음악 제작과 같은 분야에서 유용하게 사용될 수 있습니다.
  • 오디오 신호의 가상 연결: 여러 가상 오디오 케이블을 만들어서 각각을 서로 연결함으로써 복잡한 오디오 라우팅을 구현할 수 있습니다.
  • 테스트 및 디버깅: 소프트웨어 개발자나 오디오 엔지니어들은 가상 오디오 케이블을 사용하여 응용 프로그램이나 디바이스의 오디오 기능을 테스트하고 디버깅할 수 있습니다.

일반적으로 VAC와 같은 가상 오디오 케이블 설루션은 유료 소프트웨어로 제공되지만, 무료로 사용 가능한 대안도 있습니다. 이러한 도구들은 사용자의 필요에 따라 다양한 기능을 제공하며, 일반적으로 컴퓨터 오디오 관리 및 제어에 유용합니다.

 

"아래 내용은 관련 웹페이지를 참조함"

가상 오디오 케이블 "VAC(Virtual Audio Cable)"은 앱에서 앱으로, 장치에서 장치로 소리(오디오 스트림)를 전송하는 응용 프로그램 간의 소리를 연결해 주는 프로그램입니다.

 

관련 홈페이지: https://vac.muzychenko.net/en/index.htm

평가판 다운로드: https://vac.muzychenko.net/en/download.htm

사용자 설명서: https://vac.muzychenko.net/en/manual/main.htm

 

시스템 요구사항

VAC 시스템 요구 사항은 매우 간단합니다:

 

- Windows OS에 적합한 모든 하드웨어 구성(CPU, 메모리 크기 등)

- Microsoft 윈도우즈 5.x 이상의 32비트 또는 64비트 운영 체제

- 가상화된 환경의 경우 호환성 문제 참조

- 원격 연결의 경우 호환성 문제 참조

 

그러나 이러한 요구 사항은 웹 페이지에서 나오는 오디오 스트림을 녹음하는 것과 같은 기본 오디오 설정에서 VAC를 실행하고 작동시키기에만 충분합니다. 안정적이고 대기 시간이 짧은 오디오 스트리밍을 사용하려면 시스템이 실시간 성능 요구 사항을 충족해야 합니다.

실시간 오디오 스트림으로 작동하는 동안 신호 왜곡이 발생하는 경우 시스템에서 실시간 오디오 스트리밍 적합성을 확인하고 필요한 경우 튜닝을 수행하는 것이 좋습니다.

 

설치 방법

VAC 패키지는 ZIP 아카이브로 배포됩니다. 빈 폴더에 압축을 풀고 setup.exe 응용 프로그램을 실행한 다음 표시된 지침을 따르십시오. VAC를 처음 사용하시는 분들은 read me 파일을 읽어주세요. 설치하기 전에 txt 및 vac.chm 도움말 파일을 참조하십시오. 이전 버전의 VAC 4를 이미 설치한 경우 설치하기 전에 제거하는 것을 잊지 마십시오.

 

가상 오디오 케이블 설정 방법(영상 참조)

소스 코드 및 기타 옵션

VAC는 완전히 MS C++로 작성된 WDM 드라이버 미니포트이며 객체 지향 기술을 사용한다. 외부 어셈블리 파일이나 VtoolsD와 같은 추가 드라이버 개발 도구는 사용되지 않습니다.

VAC는 또한 특정 애플리케이션과 함께 사용할 수 있는 사용자 지정(전용) 버전 생성도 지원합니다. 각 사용자 지정 버전에는 "native" 원본 응용 프로그램을 식별하는 고유한 키가 있습니다. 이 "native" 애플리케이션은 드라이버를 여는 특별한 방법을 사용합니다. 이러한 개방 방식을 "open in the native mode" 원본 모드 개방이라고 하며, 사용자가 네이티브 모드에서 열리면 아무런 제한 없이 오디오 신호를 전송합니다. 그렇지 않을 경우 신호에 노이즈를 추가하여 무단 사용을 방지합니다.

VAC의 사용자 지정 버전은 일반 버전과 기능이 동일합니다. 사용자 정의에는 고유한 이름과 고유한 키만 포함되며 추가적인 사용자 정의 기능은 포함되지 않습니다.

 

VAC 소스, 사용자 지정 버전 및 다중 라이센스를 구입하려면 당사에 문의하십시오.

 

이전 Windows 릴리스에 대한 지원을 보려면 가상 오디오 케이블 3.12 페이지를 방문하십시오.

 

VAC는 여러 가상 오디오 장치 생성합니다. 각 장치는 출력이 입력에 내부적으로 연결된 오디오 어댑터(사운드카드)를 시뮬레이션하여 루프백을 만듭니다. 애플리케이션이 출력에 오디오를 재생하는 경우 신호가 입력으로 루프백되기 때문에 소리가 들리지 않습니다. 그러나 다른 응용 프로그램이 입력에서 녹음을 하면 첫 번째 응용 프로그램에서 생성한 소리를 수신합니다.

이러한 가상 장치를 가상 케이블이라고 합니다. "Virtual Cable" 용어는 자리 표시자로서 VAC 설명에서만 사용됩니다. 응용 프로그램의 창에 표시되는 실제 "오디오 엔드포인트 디바이스" 이름은 서로 다릅니다(예: "Line 1", "Line 2" 등).

가상 케이블의 각 부분은 여러 앱에서 동시에 사용할 수 있으며 동일한 재생 엔드포인트로 향하는 사운드가 믹스됩니다. 녹음 엔드포인트에서 각 앱은 소리의 복사본을 얻습니다.

VAC는 컴퓨터 내부의 오디오 신호를 완전히 전달합니다. 오디오 하드웨어가 필요하지 않으며 포맷 변환 또는 볼륨 제어가 관련되지 않는 경우 품질 손실은 없습니다. 모든 요구 조건이 충족되면 오디오 전송은 비트퍼펙트이며 오디오 파일 응용 프로그램에 적합합니다. 잘 조정된 시스템에서는 신호 대기 시간이 매우 낮습니다.

엔드포인트 장치에서 다른 장치로 오디오 신호를 전송/라우팅하기 위해 VAC는 오디오 리피터(Audio Repeater) 응용 프로그램을 제공합니다.

VAC는 Windows XP, Vista, 7, 8, 8.1, 10 및 11에서 작동합니다.

 

인터넷에는 "Virtual Audio Cable"이라는 이름의 다른 여러 제품들이 있으며 그중 일부는 단지 홍보 목적으로 이 이름을 사용하지만, 다른 일부는 완전히 가짜이고 악성코드(맬웨어)를 포함하고 있습니다. 시도해 보기로 결정했다면 바이러스 백신 서비스를 통해 사이트/바이너리를 확인하는 것을 잊지 마십시오.

VAC 4는 XP(5.1) 이후의 Windows 버전에서만 작동합니다. 이전 Windows 릴리스에 대한 지원을 보려면 Virtual Audio Cable 3 페이지를 방문하십시오.

 

응용

다음 오디오 애플리케이션 및 애플리케이션 클래스와 함께 VAC를 사용하십시오:

- 인터넷 전화/VoIP/SIP/음성 메신저(카카오톡, 스카이프, 디스코드, Ventrilo, MicroSIP 등)

- 라이브 믹싱/DJ(vMix, Mixxx, VirtualDJ, VoiceMeeter Banana/Potato)

- 라이브 방송(오픈 브로드캐스터/OBS 스튜디오, 와이어캐스트, VidBlasterX, 라디오디제이, 라디오보스, SAM 브로드캐스터 등)

- 음성 합성/인식(구글 Text-to-Speech/Speech-to-Text, 드래곤 내추럴리 스피킹)

- 소프트웨어 신시사이저 및 스튜디오/DAW(Aableton, Acid, AudioMulch, Band-in-a-Box, Bidule, Cakewalk/Sonar, Cubase, FL Studio, GarageBand, Logic, MiniMoog, n-Tracko, Reaktor, Reaper, Reason, Samplitude, Tracktor, Vegas)

- 오디오 편집기/녹음기(오다시티, 어도비 오디션, 골드웨이브, 웨이브랩, 사운드 포지 등)

- 가상 시스템(VMware Player/워크스테이션, VirtualBox, Hyper-V).

- 아마추어 및 소프트웨어 정의 라디오(Flex Radio, Power SDR, HAM Radio Deluxe, HamSphere, HDSDR, Fldigi, SDR-Radio, WSJT-X, JTDX 등)

- 오디오 응용 프로그램 개발 - 응용 프로그램의 오디오 작동을 시청하고, 재생되는 오디오 데이터를 확인하고, 기록할 특정 데이터를 제공하는 등의 작업을 수행함

※ 해당 앱을 응용한 라디오 방송 셋팅 자료: https://blog.naver.com/guya109/...

 

묘사

VAC 동작은 일부 하드웨어 오디오 어댑터(카드)에 구현된 "Stereo Mix"("What You Hear" 또는 "What U Hear") 기능과 유사합니다. 하지만 그것은 비슷할 뿐, 동등한 것은 아니며, Vista/Win7/Win8/Win10에서 "Stereo Mix"와 같은 기능이 단순히 필요한 경우 오디오 어댑터에서 활성화하는 것이 더 나을 수 있습니다.

 

특징

- Windows 10, 8.1, 8, 7, Vista 및 XP 시스템(32비트 및 64비트 모두)에서 작동

- 최대 256개의 가상 케이블. 애플리케이션 간에 최대 256개의 독립 오디오 신호를 동시에 전송

- 대기 시간을 0.5밀리 초로 줄일 수 있음

- 거의 모든 고정 지점 PCM 오디오 형식(1000.. 초당 384,000개의 샘플, 샘플당 8.. 32비트, 1.. 32채널).

- PCM 형식 변환(샘플링 속도, 샘플당 비트 수, 채널 수)

- 알림 이벤트, 패킷 모드, 클럭 및 위치 레지스터를 통해 RT 오디오(WaveRT) 프로토콜을 지원하고 클럭 레지스터는 가상 케이블에 바인딩 되므로 각 케이블의 모든 스트림이 일관됨

- 커널 스트리밍 클라이언트 수에 제한이 없고 WASAPI 배타적 모드 연결을 통해 여러 KS 인식 오디오 애플리케이션 또는 ASIO 래퍼 간에 각 가상 케이블을 동시에 공유

- 각 가상 케이블의 모든 렌더/재생 스트림에서 신호가 믹스되며 여러 응용 프로그램의 신호를 실시간으로 믹스

- 볼륨 컨트롤 기능(감쇠 및 부스트 모두)

- 채널 산란/수집 모드. KS 인식 응용 프로그램을 사용하여 스트림의 특정 채널을 다시 매핑할 수 있음

 

오디오 하드웨어 필요 없음

디지털 오디오 전송에 VAC를 사용하려면 내장형 또는 외장형 오디오 하드웨어(사운드 어댑터/카드)가 필요하지 않습니다. 오디오 하드웨어는 결과를 듣거나 외부 소스의 신호를 녹음하는 데만 필요합니다. 오디오 어댑터(카드)가 없는 컴퓨터에서도 VAC를 사용하여 응용 프로그램(예: 원격 서버)에서 생성한 오디오 신호를 녹음할 수 있습니다.

주 화면 내용

Control Panel application(응용 프로그램 제어판)

VAC 제어판 애플리케이션을 사용하면 가상 케이블 수를 변경하고, VAC 드라이버 및 케이블 설정을 보거나 수정하고, 케이블/스트림 작업을 확인할 수 있습니다.

VAC Control Panel은 VAC 드라이버 및 케이블 운영 모드를 확인하고 구성할 수 있는 GUI 응용 프로그램입니다.

거의 모든 구성 가능한 매개변수는 VAC Control Panel을 통해 설정할 수 있습니다.

윈도우 소리 제어판과 혼동하지 마세요. 이 둘은 서로 다른 독립적인 것입니다.

시작 메뉴에서 "Virtual Audio Cable"로 기본 설정된 프로그램 폴더를 열어 시작할 수 있습니다.

 

사용 가능한 가상 케이블 및 해당 매개변수, 상태가 표시되며, 전역 드라이버 매개변수 및 상태도 함께 표시됩니다.

일부 입력 필드(sampling rate, ms per int, capture/render ports 등)에는 미리 정의된 값 선택이 가능한 드롭다운 메뉴가 있습니다. 필드 안(화살표 왼쪽)를 클릭하면 메뉴가 열리며, 해당 필드는 미리 정의된 항목만 지원합니다. 그렇지 않으면 클릭은 필드의 편집 가능한 부분에 포커스를 설정하며 원하는 값으로 수동으로 입력할 수 있습니다.

 

대부분의 컨트롤 요소는 해당 목적을 간략히 설명하는 툴팁(힌트)을 생성합니다. 목록 열의 의미를 보려면 해당 열 머리글 위에 마우스를 가져가세요. 더 자세한 정보를 보려면 창의 오른쪽 상단에있는 물음표 버튼을 클릭하십시오(마우스 커서가 물음표로 변경됩니다) 그리고 적절한 컨트롤 요소 또는 영역을 클릭하십시오.

 

Driver parameter section(드라이버 매개변수 섹션)

드라이버 매개변수 섹션은 특정 케이블에 해당하지 않는 전역 드라이버 매개변수를 통합합니다.

  1. Cables: 생성할 가상 케이블의 수입니다. 체험 및 전체 버전은 여러 케이블을 허용하며, Lite 버전은 제한됩니다. 이 매개변수에는 자체 설정 버튼이 있습니다. 최소한 하나의 케이블이 사용 중일 때는 케이블 수를 변경할 수 없습니다. 이 값을 변경하면 드라이버가 다시 시작됩니다.
  2. Worker threads: 그룹은 드라이버 작업자 스레드 사용 정책을 제어합니다. 자체 설정 버튼이 있습니다. 하나 이상의 케이블을 사용하는 동안에는 변경할 수 없습니다.
  3. Up to: VAC 드라이버에서 실행되는 작업자 스레드의 최대 수입니다. Auto 모드에서는 물리적 CPU/코어당 하나의 작업 스레드가 생성됩니다 (단일 코어 CPU의 경우 하나의 스레드, 이중 코어 CPU 또는 이중 CPU 보드의 경우 두 개의 스레드 등). 많은 (수십 개의) 스트림을 만들고 CPU 부하를 낮추려는 경우, 최소한 레이턴시를 최소화하지 않아도 되는 경우 작업자 스레드의 수를 n-1 또는 n-2 (n은 물리적 CPU/코어의 수)로 제한할 수 있습니다. 하이퍼스레딩 시스템에서는 작업자 스레드 수를 물리적 CPU/코어 수보다 크게 설정할 수 있습니다. 일부 시스템은 이런 경우에 더 효과적으로 작동할 수 있지만 시스템이 실제로 그렇게 작동할 수 있는지 확인하십시오. 그렇지 않으면 성능이 떨어질 수 있습니다.
  4. Prio: 작업자 스레드 스케줄링 우선 순위입니다. Auto 모드에서는 우선 순위가 시스템의 일반적인 스레드 우선 순위(15)와 가능한 최대 우선 순위(31) 사이에서 최적화됩니다. 우선 순위가 높을수록 VAC는 CPU 리소스를 더 적극적으로 사용하여 다른 사용자 및 시스템 스레드를 선점합니다. 우선 순위 값 31은 매우 낮은 인터럽트 간격(1-2 ms), 작업자 스레드 수가 제한되지 않고 여러 클라이언트 스레드가 단위 시간당 (밀리초 단위) 데이터 버퍼를 사용하여 VAC 드라이버와 강하게 통신하는 경우 모든 사용 가능한 CPU/코어에 매우 높은 부하를 일으킬 수 있으며 시스템을 완전히 멈출 수 있습니다.Log level - event logging importance level (0..9). The less is the level, the more verbose the log is. Logged events are places to the Log list.
  5. Log level: 이벤트 로깅 중요도 레벨(0..9). 레벨이 낮을수록 로그가 더 상세합니다. 기록된 이벤트는 로그 목록에 표시됩니다.
  6. Max NC: 드라이버에서 지원하는 최대 오디오 채널 수입니다. 이는 모든 케이블 형식 범위에 영향을 미치는 전역 설정입니다. 제한을 변경하기 전에 호환성 문제에 대해 자세히 읽어보세요.
  7. Set: 위의 매개변수를 설정을 저장하는 버튼입니다.
  8. Clients: 전역 드라이버 클라이언트 카운터를 표시합니다. 모든 드라이버 클라이언트를 계산하며, 오디오 스트림 소유자뿐만 아니라 모든 드라이버 클라이언트를 세줍니다. 시스템 및/또는 응용 프로그램에 의해 드라이버 인터페이스에 액세스 할 때마다(열 때마다) 새 클라이언트가 등록됩니다. 일부 응용 프로그램 및/또는 시스템 구성 요소는 스트림을 생성하지 않고 드라이버 인터페이스 인스턴스를 보유할 수 있으며, 이들이 시작되거나 종료됨에 따라 클라이언트 카운터의 변경을 확인할 수 있습니다.
  9. Streams: 모든 케이블과 관련된 전역 오디오 스트림 카운터를 표시합니다.
  10. Timer res, mcs: 드라이버가 요청하는 시스템 타이머 해상도(틱 지속 시간)를 마이크로초로 나타냅니다. 실제 타이머 해상도는 하단에 표시됩니다.
  11. Restart: 드라이버 재시작 버튼입니다. 드라이버를 재시작하면 드라이버가 종료되고 언로드되며 다시로드되고 다시 초기화됩니다. 자세한 내용은 여기를 참조하십시오.
  12. Reset counters: 모든 케이블에 대한 오버플로우/언더플로우 카운터를 재설정합니다.
  13. Save log: 로그 저장
  14. Clear log: 로그 지우기
  15. Native mode: Native Mode의 상태(특별한 사용자 지정 버전 전용).
  16. Trial reminde: 체험판 버전 보이스 리마인더의 상태(음성이나 무음).

 

Cable parameter section(케이블 매개 변수 섹션)

이 섹션은 개별 케이블 매개 변수를 결합합니다.

  1. Format range (SR, BPS, NC): 케이블 형식 범위의 샘플링 속도, 샘플 당 비트 및 채널 수 범위를 결합합니다.
  2. Connected source lines: 현재 연결된 소스 라인. 확인된 소스 라인은 "connected" 연결 상태로 보고되고, 연결된 라인은 "Source line types mask" 소스 라인 유형 마스크 구성 매개 변수의 하위 집합이어야 합니다.
  3. Ms per int: 소프트웨어 타이머 이벤트(인터럽트)당 밀리초 수입니다. 10 ms 이벤트/인터럽트당은 초당 100 이벤트/인터럽트를 의미하며, 1 ms는 초당 1000개, 이와 같습니다.
  4. Max inst: 최대 핀 인스턴스 수(핀을 인스턴스화할 수 있는 횟수). 첫 번째 핀 인스턴스는 항상 시스템 오디오 엔진용으로 예약됩니다. 다른 인스턴스는 클라이언트 응용 프로그램에 사용할 수 있습니다. 두 개 이상의 핀 인스턴스를 제공하는 드라이버는 "하드웨어 가속"으로 간주되며 확장 "다이렉트 사운드" 또는 전용 모드 "WASAPI" 재생에서 사용할 수 있습니다. 자세한 내용은 다이렉트 사운드 문제 장을 참조하십시오. 이 값을 변경하면 드라이버가 다시 시작됩니다.
  5. Stream fmt limit: 스트림 형식 제한 모드. 새로운 스트림이 허용되거나 오디오 형식에 따라 거부되는지를 결정합니다.
  6. Volume control: 케이블 및 스트림 볼륨 레벨을 변경할 수 있도록 하는 케이블 볼륨 제어 모드의 상태를 나타냅니다.
  7. Clock corr ratio: 백분율로 표시된 클럭 보정 비율 값. 값이 100%이면 케이블 형식의 샘플링 속도 값과 정확히 일치합니다. 보정 값이 100%보다 크면 케이블 클럭이 더 빠르게 이동하며, 그렇지 않으면 더 느리게 이동합니다. 예를 들어 값이 100.25이면 케이블 클럭이 0.25% 더 빨라지고, 값이 99.98이면 케이블 클럭이 0.02% 더 느려집니다. 클럭 보정 정밀도는 0.0000001%입니다. 케이블이 활성화(스트림이 있는 경우)되어 있어도 클럭 보정 값을 변경할 수 있으며, 변경 사항은 즉시 반영됩니다.
  8. Capture/render port: 케이블 측 핀에 사용되는 PortCls 포트/미니포트 유형. WaveRT가 있는 경우 자동으로 선택되고, 그렇지 않으면 WavePci가 선택됩니다. 실제 포트 유형은 오른쪽에 표시됩니다: WR, WP 또는 WC.
  9. Enable channel mixing: 채널 믹싱 모드를 제어합니다. 표준 채널 변환을 사용하려면 활성화하고, 채널 스캐터/게더(리매핑) 모드를 사용하려면 비활성화합니다.
  10. Use PortCls: WavePci 모드에서 PortCls 엔진 사용 여부를 제어합니다. 표준이고 안정적이지만 최적화되지 않은 스트림 데이터 교환 엔진을 사용하려면 활성화하십시오. WaveCyclic 및 WaveRT 유형은이 설정에 영향을받지 않습니다.
  11. Enable spk pin: 재생 끝 필터 핀에 "스피커" 유형을 설정합니다. 이 값을 변경하면 드라이버가 다시 시작됩니다. 이 옵션을 사용하도록 설정된 모든 케이블은 동일한 재생 엔드포인트 이름을 가지며, 구별하려면 엔드포인트를 수동으로 다시 이름을 지정해야 합니다.
  12. Set: 모든 선택된 케이블에 지정된 매개 변수 값을 적용 저장하는 버튼입니다. 대부분의 케이블 매개 변수는 사용 중인 경우(클라이언트가 있는 경우) 변경할 수 없습니다.
  13. Reset counters: 선택된 케이블에 대한 오버플로우/언더플로우 카운터를 재설정하는 버튼입니다.
  14. Cable Info: 선택된 케이블에 대한 케이블 상태 창을 열거나 닫는 버튼입니다. 케이블 행을 더블 클릭하여 대신 사용할 수 있습니다.

스트리밍 목록 열 항목:

Id: 고유한 스트림 식별자. Id 왼쪽에 표시된 삼각형 내부의 빨간 느낌표는 해당 스트림에 문제가 있다는 것을 나타냅니다.

Process: 스트림을 생성한 프로세스의 식별자. KS 인터페이스 클라이언트의 경우 클라이언트 프로세스 ID를 나타냅니다. 고수준 인터페이스 클라이언트의 경우 항상 System Audio Engine 프로세스 ID를 나타냅니다.

Thread: 스트림을 생성한 스레드의 식별자 (프로세스 ID와 동일한 규칙).

Type: 스트림 유형 (렌더 또는 캡처).

Format: 스트림 오디오 형식. 케이블 형식과 다를 수 있습니다.

Modes: 스트림 처리 모드.

State: KS 용어에서의 스트림 상태: Stop(중지): 중지됨, Acquire(획득): 준비됨, Pause(일시 중지): 일시 중지됨, Run(실행): 활성화됨 (실행 중).

Signal: 스트림 채널의 신호 레벨. 케이블 매개 변수에 의해 비활성화되지 않은 경우에만 표시됩니다.

Buf dur: RT(실시간) 스트림의 원형 오디오 버퍼 지속 시간(밀리초 단위).

MS buf: 버퍼에 저장된 오디오 프레임 수. 프레임이 더 많이 버퍼링되면 스트림이 부하 변동에 대해 더 관용적이지만 더 많은 지연이 소개됩니다.

Life time: 스트림 수명. 스트림 생성 이후의 시간을 계산합니다.

Run time: 스트림 실행 시간. 실행 상태에서 소비한 시간을 계산합니다.

Fms transferred: 스트림 생성 이후로 전송된 오디오 프레임 수.

Actual SR: 스트림에서의 실제 샘플링 속도 (데이터 전송 속도).

Oflows, Uflows: 스트림 오버플로우/언더플로우 횟수.

CPU: 스트림 처리에 대한 대략적인 CPU 사용량 추정값.

 

15.Packet mode: 캡처 또는 렌더 포트에 대한 패킷 모드를 활성화/비활성화합니다. 가장 안정적인 스트리밍과 소리 선택을 위해 사용할 수 있습니다.

 

Cable list(케이블 목록)

이 섹션은 모든 사용 가능한 케이블과 해당하는 가장 중요한 매개 변수/상태를 보여줍니다.

1. Cable: 케이블 번호, 1부터 시작합니다. 이 번호는 "Virtual Cable N" 또는 "Line N (Virtual Audio Cable)"과 같은 녹음/재생 장치 번호와 동일합니다. 삼각형 내부에 표시된 빨간 느낌표는 케이블에 문제가 있다는 것을 나타냅니다.

2. Ms per int: 타이머 이벤트(인터럽트) 간의 밀리초 수

3. SR/BPS/NC ranges: 형식 범위

4. Stm fmt limit: 스트림 형식 제한 모드

5. Vol ctl: 케이블 볼륨 제어 모드의 상태

6. Ch mix: 채널 믹싱 모드

7. PortCls: PortCls 엔진 사용 모드 (WavePci 핀에만 의미가 있음).

8. Current format: 현재 케이블 형식, 하나의 문자열로 표시됨: Type/SR/BPS/NC(CM), 여기서:

- Type: 형식 유형: PCM: 이전 PCM (WAVEFORMATEX), ExtPCM: 현대적인 확장 가능한 PCM (WAVEFORMATEXTENSIBLE)

- SR: 현재 샘플링 속도

- BPS: 현재 샘플 당 비트 수. 실제 비트 수를 저장하는 데 필요한 것보다 큰 샘플 컨테이너 크기인 경우 (예: 22 비트에 대해 4 바이트), 비트 수 뒤에 괄호 안에 바이트로 표시됨

- NC: 현재 채널 수

- CM: 채널 구성 마스크 (16진수)

 

예를 들어:

48000/16/2(3) - 초당 48000개 샘플, 샘플당 16비트(2바이트 컨테이너), 2개 채널(표준 스테레오)

96000/24(4)/6(3f) - 초당 96000 샘플, 샘플당 24비트(4바이트 컨테이너), 6채널(후방 스피커 2개가 있는 기존 스피커 구성)

96000/24/6(60f) - 초당 96000개 샘플, 샘플당 24비트(3바이트 컨테이너), 6개 채널(측면 스피커 2개가 있는 새로운 스피커 구성)

 

9. Rc stms, Pb stms: 녹음 (캡처) 및 재생 (렌더) 스트림의 수.

10. Signal: 피크 신호 레벨 (진폭) 지시기 (로그 스케일). 표준 채널 순서로 표시됩니다 (FL-FR-FC-LF-BL-BR-FLC-FRC-BC-SL-SR). 큰 보기를 원하면 Windows 확대 도구를 사용하고 (액세서리: 편의성), 케이블 매개 변수에 의해 비활성화되지 않은 경우에만 신호 수준이 표시됩니다.

11. Oflows, Uflows: 모든 케이블 스트림에 대한 데이터 오버플로우/언더플로우 횟수.

 

※ 케이블 목록은 실제 케이블 상태를 몇 초마다 업데이트하며 표시되며, 케이블 행을 두 번 클릭하면 케이블 정보 버튼 역할을 합니다.

 

Event log

1. 케이블 목록 아래의 드롭다운 목록에는 VAC 드라이버 이벤트 로그가 포함되어 있습니다.

이벤트는 이벤트 중요도가 로그 중요도 수준과 동일하거나 더 높을 때 드라이버 로그에 등록됩니다. 모든 가능한 이벤트를 로깅하려면 중요도 수준을 0으로 설정하십시오. 오류 이벤트만 로깅하려면 중요도 수준을 9로 설정하십시오.

 

이벤트는 컨트롤 패널 애플리케이션이 실행 중일 때 드라이버에서 계속 검색됩니다. 컨트롤 패널이 실행되지 않으면 드라이버의 내부 메모리에서 최신 이벤트가 이전 이벤트를 덮어쓸 수 있습니다.

 

로그에 나열된 각 오디오 스트림에는 고유 식별자가 있습니다. 스트림은 생성될 때 고유 ID를 받으며 해당 클라이언트 프로세스 및 스레드 ID도 등록됩니다.

 

스트림 생성 및 기타 일부 작업에 대해 VAC 드라이버는 작업을 요청한 프로세스를 나타냅니다. 각 프로세스에 대해 드라이버는 실행 파일 이름 (파일 확장자가 제거됨), 프로세스 식별자 (PID) 및 스레드 식별자 (TID)를 표시합니다. 이는 Windows 작업 관리자, Sysinternals Process Explorer 및 유사한 도구에서 표시되는 것과 일치합니다.

 

Save log: 로그 저장 버튼을 사용하면 이벤트 로그를 파일에 저장할 수 있습니다 (문제를 보고하는 데 도움이 될 수 있음). 로그는 UTF-16 형식으로 저장됩니다.

 

Clear log: 로그 지우기 버튼은 VAC 드라이버 및 컨트롤 패널 애플리케이션의 이벤트 목록을 모두 지우는 데 사용할 수 있습니다. 컨트롤 패널이 오랜 시간 (일/주) 실행되고 이벤트 목록이 시스템 메모리를 많이 사용하는 경우 유용할 수 있습니다.

 

Other controls and values(기타 컨트롤 및 값)

  1. QPC freq: 메인 시스템 성능 카운터 (QueryPerformanceCounter 함수 이름으로 참조됨) 주파수, 메가헤르츠 단위로 표시됩니다.
  2. Sys timer res: 마이크로초 단위의 실제 시스템 타이머 해상도. VAC 드라이버에서 요청한 해상도와 동일하지 않을 수 있으며 (예: 다른 소프트웨어가 동시에 시스템 타이머 해상도를 변경할 수 있음), 현재 타이머 해상도를 나타냅니다.
  3. Privacy Settings: 마이크로폰 개인 정보 설정 창을 엽니다. 이름과 달리 실제로 모든 오디오 입력 장치 (라인 입력, 스테레오 믹스 등)의 접근 가능성을 제어합니다. 응용 프로그램이 개인 정보 설정에서 입력 장치 접근이 비활성화되었음을 감지하면 이 버튼 주위에 빨간 테두리를 그립니다.
  4. Sound Settings: 사운드 설정 창을 엽니다.
  5. Audio properties: 오디오 속성 애플릿을 엽니다.
  6. Restart Audio Service: 시스템 오디오 서비스를 다시 시작하는 버튼입니다.

 

장치 간 오디오 전송

가상 케이블 디바이스(엔드포인트)를 사용하면 애플리케이션 간 오디오 전송만 구성할 수 있습니다. 엔드포인트 간 전송을 수행하려면 제품 패키지에 포함된 "Audio Repeater" 응용 프로그램을 사용하십시오.

오디오 리피터 버전(MME 및 KS)은 메인 VAC 제품과 독립적으로 무료로 사용할 수 있습니다. 평가판 VAC 패키지에는 전체 버전 패키지와 동일한 완전한 기능의 Audio Repeater 바이너리가 포함되어 있습니다.

 

드라이버 기반 솔루션

VAC에는 가상 오디오 장치를 생성하는 윈도우즈 WDM/KS 가상 장치 드라이버가 포함되어 있습니다. 이 드라이버는 커널 모드 모듈이므로 관리자 권한으로 설치해야 합니다.

WDM/KS 필터인 VAC는 윈도우에서 가장 낮은 수준의 오디오 계층을 나타낸다. 상위 계층(KS 인식 응용 프로그램, WASAPI, MME 또는 DirectSound 하위 시스템, ASIO 래퍼 등)에서 효과적으로 사용할 수 있습니다.

 

사용

설치가 완료되면 사운드 재생/녹음 속성에 새로운 "Line N (Virtual Audio Cable)" 엔드포인트가 표시됩니다:

 

기본적으로 단일 가상 케이블이 생성됩니다("Line 1" 끝점만 있음). VAC 제어판을 사용하여 더 많은 가상 케이블을 생성할 수 있습니다.

Windows 오디오 장치 설치 정책으로 인해 새로 설치된 가상 케이블 끝점이 자동으로 기본값으로 설정될 수 있습니다. 그러면 모든 시스템 사운드가 해당 사운드로 라우팅 됩니다. 모든 시스템 사운드가 사라지는 것처럼 보입니다. 걱정하지 마십시오. Windows 오디오 속성 창을 열고 즐겨 찾는 하드웨어 끝점/장치를 기본값으로 설정하십시오.

이제 오디오 응용프로그램의 설정에서 이러한 엔드포인트를 선택할 수 있습니다. 응용 프로그램에서 오디오 소스/대상을 명시적으로 지정할 수 없는 경우 VAC 끝점을 기본값으로 설정할 수 있습니다.

 

예 1: 브라우저에서 소리 녹음

웹 페이지의 소리(예: 노래, 웹 라디오 번역 등)를 녹음하려면 다음 단계를 수행합니다:

1. 브라우저에서 소리를 재생할 오디오 재생 장치(엔드포인트)를 명시적으로 지정할 수 있는지 확인합니다. 대부분의 브라우저는 그렇지 않으므로 임의의 재생 끝점을 설정합니다

2. 그 후에는 브라우저에서 재생되는 소리를 들을 수 없습니다. 모든 소리가 첫 번째 가상 케이블로 연결되지만 더 이상 라우팅 되지는 않기 때문입니다. 이를 들으려면 오디오 중계기 또는 듣기 기능을 사용하여 사운드 모니터링을 구성해야 합니다. 차이점은 첫 번째 경우 오디오 리피터를 중지하거나 닫을 때 모니터링이 중지되지만 두 번째 경우에는 청취 기능을 수동으로 해제해야 한다는 것입니다.


3. 이제 모든 브라우저 소리가 다시 들립니다. 중간 버퍼링으로 인해 약간의 지연이 있을 수 있습니다.

4. 오디오 녹음 소프트웨어(예: 무료 오디오 레코더, Audacity, Wavosaur)를 시작합니다.

5. 오디오 소스 설정에서 재생에 사용된 것과 동일한 번호의 "N선" 장치/엔드포인트를 선택합니다.

6. 녹화를 시작합니다.

7. 브라우저에서 재생을 시작합니다.

8. 오디오 조각이 끝나면 녹음을 중지하고 녹음된 데이터를 파일에 저장합니다.

9. 듣기 기능이 모니터링에 사용되는 경우, 더 이상 필요하지 않을 경우에는 끄는 것을 잊지 마십시오.

 

예 2: 여러 장치 간에 소리 공유

1. 이 예의 첫 번째 단계를 수행하여 가상 케이블 1에 사운드를 재생하도록 재생 응용 프로그램(브라우저, 플레이어 등)을 구성합니다.

2. 첫 번째 Audio Repeater 인스턴스를 시작하여 가상 케이블 1에서 첫 번째 장치로 소리를 복사합니다.

3. 녹음 응용 프로그램을 구성하는 대신 두 번째 Audio Repeater 인스턴스를 시작하여 동일한 오디오 스트림을 두 번째 장치에 복사합니다:

예 3: 마이크 신호 패킹

두 개의 마이크 신호를 단일 스트림의 왼쪽 및 오른쪽 채널로 패킹하려면:

1. VAC 제어판에서 가상 케이블을 선택하고 스테레오(2채널) 스트림을 허용하도록 포맷 범위를 구성합니다.

Enable channel mixing(채널 믹스 활성화) 확인란이 선택 취소되고 "Ch mix"(채널 믹스 비활성화)가 "off"(오프)인지 확인합니다. 케이블 신호를 보려면 제어판을 열어 두십시오.

2. 원하는 샘플링 속도와 비트를 사용하여 기록 끝점의 기본 형식을 "스테레오"로 설정합니다.

3. Audio Repeater의 커널 스트리밍 버전 인스턴스 두 개를 실행합니다. 각 항목에서 적절한 마이크 핀을 "Wave In"으로 선택하고 "Wave Out"을 "None"으로 유지합니다. 입력/녹음 채널 구성을 "Mono"로 설정합니다.

4. 각 리피터를 시작하여 두 마이크 핀 이 선택한 샘플링 속도와 비트를 지원하는지 확인합니다. 리피터에 지원되지 않는 형식과 관련된 오류 메시지가 표시되면 샘플링 속도 및/또는 비트를 수정하고 다시 시도하십시오. 마이크 핀 이 모노(단일 채널) 형식을 지원하지 않는 경우 이러한 작업에 사용할 수 없습니다.

5. 두 리피터가 모두 성공적으로 시작되면 각 마이크에 대고 적절한 신호 표시기가 움직이는지 확인한 후 중지합니다.

6. 두 리피터 모두에서 "Wave Out"과 동일한 Virtual Cable을 선택하고 출력 채널 구성을 "Custom"으로 설정합니다. 첫 번째 리피터에서 "FL" 출력 상자를 선택하고 두 번째에서 "FR" 상자를 선택합니다. 각 리피터에서 단일 채널만 점검해야 합니다. 두 리피터 모두에서 채널 수를 1로 설정합니다.

7. 기록/처리 애플리케이션(예: Audacity)을 시작하고 적절한 "Line N" 기록 끝점을 선택합니다(가능한 경우 WASAPI 인터페이스 사용). 스테레오 스트림을 기록하도록 응용 프로그램을 구성합니다.

8. 녹음을 시작하고 VAC 제어판에 현재 오디오 형식이 스테레오인지 확인합니다.

9. 리피터 두 개를 시작하고 마이크에 대고 VAC 제어판의 적절한 신호 레벨 표시기가 움직이는지 확인합니다. 녹음/처프로세싱 응용프로그램에 이러한 표시기가 있으면 해당 표시기도 이동해야 합니다.

마이크 대신 다른 오디오 녹음 장치를 사용하거나 다른 응용 프로그램에서 생성한 신호를 추가 가상 케이블을 통해 전달할 수 있습니다. 기본적으로 최대 8개의 신호를 패킹할 수 있으며 최대 32개의 신호를 패킹할 수 있습니다. 가상 케이블에 적합한 형식을 구성하고 각 신호에 대해 별도의 Audio Repeater 인스턴스를 실행하십시오.

 

본 내용은 Virtual Audio Cable (VAC) 홈페이지 자료를 한글로 수정해 봤습니다.

반응형