보이스미터 매크로 버튼 활용 - 스트립 함수/매개 변수
매크로 버튼을 사용하기 이전 윈도우 컴퓨터에서 보이스미터의 사용자 환경 설정이 다 되어있어야 합니다.
만약 처음 보이스미터를 사용하신다면 아래 블로그 게시물을 이동하셔서 이전 단계를 도움받으십시오.
보이스미터 설정이 되어있다면 이 단계를 무시하고 다음 단계로 넘어가십시오.
이미지로 설명하는 가상 오디오 믹스 장치 'Voicemeeter Banana' '보이스미터 바나나'
Voicemeeter Banana는 신호를 분할, 혼합하고 개별 채널에 효과를 적용할 수 있게 해 주는 가상 오디오 ...
blog.naver.com
매크로 버튼(MACRO Buttons)
Voicemeeter와 함께 제공 및 설치되는 매크로 버튼 애플리케이션(Macro Buttons Application)을 사용하면 프로그래밍 가능한 버튼을 만들어 Voicemeeter 매개 변수를 제어할 수 있습니다.여러 개(총 80개)의 버튼으로 되어 있고 각각 역할을 설정할 수 있습니다.
사용 예: 마이크 켜고 끄기(마이크 소리와 재생 중인 게임 소리 나 음악 소리를 자연스럽게 페이드 믹스하여 목소리를 내어보내기), 마이크 소리 높낮이를 감지 여하 자동으로 마이크를 제어(Auto Ducking 버튼 설정 시), 각 입출력 채널의 수준이나 효과를 버튼에 스크립트 프로그래밍하여 제어, 하드웨어에서 파일 로드하여 재생하거나 일부 프로그램 실행 등.
매크로 버튼(MACRO Buttons)은 Voicemeeter Remote API를 사용하는 독립적인 응용 프로그램입니다. 또한 프로그램 별로 Voicemeeter를 제어할 수 있는 클라이언트 응용 프로그램을 개발하는 기능도 시연합니다. 이것은다양한 오디오 인터페이스와 API 덕분에 사용자 정의 그래픽 사용자 인터페이스를 사용하여 어떤 새로운 애플리케이션을 만들거나, VCA 또는 Auto Ducking 프로세스를 만들거나 심지어 Voicemeter 내부에서 직접 오디오를 처리할 수 있도록 만들어졌다.
Macro Buttons 응용 프로그램은 Voicemeeter 사용자가 다양한 Voicemeeter 컨트롤 및 매개 변수에 대한 사용자 지정 작업 또는 작업 그룹을 만들 수 있도록 설계:
* 스트립 또는 버스를 음소거.
* 하나 또는 여러 개의 스트립 / 버스에서 게인을 변경.
* 하나 또는 여러 개의 스트립에서 BUS 할당을 변경하거나 토글(on/off 함).
Voicemeeter에 대한 복잡한 액션을 만들기 위해 서로 다른 요청을 결합하는 것도 가능하다.
예를 들어, PUSH TO TALK 또는 AUTO DUKING 기능은 음악 Gain을 -10db로 설정하고 동시에 다른 대화자를 음소거할 수 있다.
* 특별한 방송을 위해 voices color/audibility(가청도) 변경.
* 오디오 엔진을 다시 시작.
* 전체 구성 파일을 저장하거나 불러오기.
Voicemeeter BANNA 버전에서는 다음과 같은 것도 가능:
* 변조 및 컬러 패널을 변경하여 음성 FX 만들기.
* 통합 오디오 플레이어로 사운드 시작
* 버스 Parametric EQ로 특별 보정
* 모든 원격 VBAN 기능
마지막으로 Macro Buttons은 다음과 같은 시스템 기능도 제공:
* 다른 원격 애플리케이션에 시스템 Queue에 키보드 이벤트 보내기.
* 모든 프로그램 실행(명령 줄 사용 가능).
* M.I.D.I.를 2x 가능한 장치에 메시지 보내기.
* VBAN-MIDI / VBAN TXT 요청 전송.
매크로 버튼 (MACRO Buttons) 맵 바탕 화면으로 불러오기
보이스미터 메인 화면에서 오른쪽 상단 위 'Menu'를 누릅니다.
'Macro Buttons Run on Voicemeeter start' 보이스미터 시작 시 매크로 버튼 실행에 체크를 합니다
바탕 화면에 한 개의 매크로 버튼이 나타나면 위 그림처럼 필요한 만큼 확장하여 사용하십시오. (총 80개)
버튼의 기능을 부여하려면 해당 버튼에 마우스 우 클릭을 합니다.
그럼 아래와 같은'Macro Buttons Configuration' 매크로 버튼 구성 창이 나타납니다.
MACRO Buttons 구성
버튼을 마우스 오른쪽 버튼으로 클릭하여 아래 대화 상자를 열고 버튼을 구성합니다.
기본적으로 3 종류의 요청 스크립트를 정의할 수 있습니다.
- Request For Initial State: 초기 상태 요청 명령(보이스미터 실행 시 상태)
- Request For Button ON / Trigger IN: 버튼을 눌렀을 때 요청 명령
- Request For Button OFF / Trigger OUT: 버튼을 다시 눌러 원위치 했을 때 요청 명령
- 2 positions: 누르면 눌러져 있고 한 번 더 누르면 원 상태로 되는 버튼 형식
- Push Button: 꾹 누르는 버튼이며, 때면 바로 원상태로 되는 버튼 형식(Push-to-talk: 눌러서 전송)
- Exclusive key: 지정한 단축키를 적용하려면 전용 키 체크박스를 선택
- Keyboard Shortcut:바로가기 단축키는 드롭 다운 목록에서 키보드 키와 마우스 버튼 조합으로 단축키 설정
버튼 제목, 하위 제목을 입력할 수 있고 두 가지 형식의 버튼(2 positions, Push Button: Push-to-talk)이 있으며 키보드 단축키, 마우스, 게임 패드, MIDI 메시지 또는 오디오 트리거를 지정할 수 있습니다.
※ Trigger(트리거): 트리거 테이블에 어떠한 변화(이벤트)가 일어나면 이에 따라 자동으로 실행되는 작업
버튼 색상 (Button Color)
"Button Color" 라는 매개 변수를 사용하면 버튼에 대해 8 개의 다른 배경색을 선택할 수 있습니다.
버튼 색상은 기본 색상과 합쳐치면 9가지 색상이 있습니다.
버튼 유형은 PUSH 또는 2 POSITES가 있으며, 드롭 다운 목록에서 키보드 키와 마우스 버튼 조합하여 단축키로 설정할 수 있습니다.
MIDI 코드는 Voicemeter M.I.D.I. Mapping Dialog 박스에서 선택한 M.I.D.I. 장치 및 수신 VBAN M.I.D.I. 스트림에서 생성딥니다. MIDI 장치에서 메시지를 가져오려면 LEARN 확인란을 선택하고 M.I.D.I. 코드를 제거하려면 RESET를 클릭하십시오.
트리거는 선택된 입력 스트립 레벨에서 2개의 임곗값에 따라 버튼을 처리할 수 있습니다. IN 임곗값(녹색 커서)은 레벨이 넘어가면 버튼이켜지고, OUT 임곗값(적색 커서)은 레벨이 내려가면 버튼이 꺼집니다. HOLD 시간은 게이트를 열 수 있는 최소 시간을 정의합니다.
Auto Ducking 설정 일 때
1. "Enable" 사용을 선택합니다(체크 박스 선택).
2. "Strip"은 마이크로 지정되어 있는 채널(in #1)을 선택합니다.
3. "In"은 AutoDucking 기능이 활성화되는 마이크 볼륨 수준입니다. 저는 -15 지만, 사용자의 환경에 따라 설정값을 변경합니다.
4. "Out"은 AutoDucking 기능이 비활성화되는 마이크 볼륨 수준입니다. "In" 값 보다 더 낮은 볼륨 수준 일 것입니다. 저는 -30으로 설정되어 있습니다, 이부분도 사용자의 환경에 따라 설정값을 변경합니다. -60은 소리가 안들리는 볼륨 수준이라 주의하십시오.
5. "Hold"는 AutoDucking이 "Out" 임곗값(-30 볼륨 수준) 보다 낮은 소리로 떨어진 후 비활성화하는데 걸리는 시간을 의미합니다. 1000(ms)로 설정했습니다.
'Level Option'은 사용자가 Voicemeeter에서 마이크를 음소거하여 트리거를 비활성화할 수 있도록 합니다.
그렇지 않으면 마이크가 Voicemeeter에서 음소거 되더라도 트리거가 작동하고 있을 것입니다.
XINPUT 섹션에서는 최대 4개의 게임 패드를 사용하여 버튼을 제어할 수 있습니다.
HID 장치 버튼을 사용하면 특정 HID 장치에 직접 연결할 수 있습니다(구현).
Voicemeeter 원격 요청
요청은 구조화된 이름과 뒤에 있는 값 또는 문자열로 구성된니다.
요청 예제:
Strip(0).mute=1; // voicemeeter의 첫 번째 칸 음소거
Strip(0).mute=0; // voicemeeter의 첫 번째 칸 음소거 해제
Bus(0).mono=1; // 첫 번째 버스 모노로 설정
Bus(0).gain=-10.0; // 첫 번째 버스 슬라이드 게인을 -10.0dB로 설정
Strip(0).gain=+6.0; // 첫 번째 칸 게인을 0.0dB로 설정
Command.Restart = 1; // 오디오 엔진 재시작 요청
VBAN 샘플 레이트:
11025, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000Hz
문자열이 있는 요청 예:
Command.Load= "C:\My Documents\VMConfig1.xml"; //구성 파일 로드
입력 스트립 매개변수:
스트립 인덱스는 Voicemeeter 버전과 관련된 제로 기반 인덱스(Voicemeeter에 3 스트립, Voicemeeter Banana 5 스트립)
스트립 함수/매개 변수
매개 변수 이름 | 값 범위 | 설명 | 버전 |
Strip[i].Mono | 0 (off) 또는 1 (on) | 모노 버튼 (켜기/끄기) | 1 |
Strip[i].Mute | 0 (off) 또는 1 (on) | 음소거 버튼 (켜기/끄기) | 1 |
Strip[i].Solo | 0 (off) 또는 1 (on) | 솔로 버튼 (켜기/끄기) | 1 |
Strip[i].MC | 0 (off) 또는 1 (on) | 음소거 중앙 버튼 (켜기/끄기) | 1 |
Strip[i].Gain | -60 to +12 db | 게인 슬라이더 | 1 |
Strip[i].Pan_x | 1 | ||
Strip[i].Pan_y | 1 | ||
Strip[i].Color_x | 물리적 스트립만 | 1 | |
Strip[i].Color_y | 물리적 스트립만 | 1 | |
Strip[i].fx_x | 물리적 스트립만 | 2 | |
Strip[i].fx_y | 물리적 스트립만 | 2 | |
Strip[i].Audibility | 0에서 10 | Voicemeeter 1만 해당 | 1 |
Strip[i].Comp | 0에서 10 | 2 | |
Strip[i].Gate | 0에서 10 | 2 | |
Strip[i].EQGain1 | -12 db에서 +12 db | 가상 스트립만 | 1 |
Strip[i].EQGain2 | -12 db에서 +12 db | 가상 스트립만 | 1 |
Strip[i].EQGain3 | -12 db에서 +12 db | 가상 스트립만 | 1 |
Strip[i].Label | 문자열 | 스트립 라벨 | 1 |
Strip[i].A1 | 0 (off) 또는 1 (on) | 출력 BUS 할당, (켜기/끄기) | 1 |
Strip[i].A2 | 0 (off) 또는 1 (on) | 출력 BUS 할당, (켜기/끄기) | 2 |
Strip[i].A3 | 0 (off) 또는 1 (on) | 출력 BUS 할당, (켜기/끄기) | 2 |
Strip[i].B1 | 0 (off) 또는 1 (on) | 출력 BUS 할당 , (켜기/끄기) | 1 |
Strip[i].B2 | 0 (off) 또는 1 (on) | 출력 BUS 할당, (켜기/끄기) | 2 |
Strip[i].FadeTo | 문자열 | (dBTarget, msTime); | 1 |
i= 여기 해당 strip(조각) 입력(예시: Strip[2].A1)
매개 변수 이름 | 값 범위 | 설명 | 버전 |
Bus[i].Mono | 0 (off), 1 (mono) 2 (stereo reverse) |
모노 버튼 | 1 |
Bus[i].Mute | 0 (off) 또는 1 (on) | 음소거 버튼, (켜기/끄기) | 1 |
Bus[i].EQ.on | 0 (off) 또는 1 (on) | EQ 버튼, (켜기/끄기) | 2 |
Bus[i].Gain | -60 to +12 db | 게인 슬라이더, (켜기/끄기) | 1 |
Bus[i].mode.normal | 0 (off) 또는 1 (on) | BUS 모드, (켜기/끄기) | 1 |
Bus[i].mode.Amix | 0 (off) 또는 1 (on) | BUS 모드, (켜기/끄기) | 1 |
Bus[i].mode.Bmix | 0 (off) 또는 1 (on) | BUS 모드, (켜기/끄기) | 2 |
Bus[i].mode.Repeat | 0 (off) 또는 1 (on) | BUS 모드, (켜기/끄기) | 1 |
Bus[i].mode.Composite | 0 (off) 또는 1 (on) | BUS 모드, (켜기/끄기) | 1 |
Bus[i].EQ.channel[j].cell[k].on | 0 (off) or 1 (on) | EQ 셀 , (켜기/끄기) | 2 |
Bus[i].EQ.channel[j].cell[k].type | 0에서 6 | EQ 셀 유형 | 2 |
Bus[i].EQ.channel[j].cell[k].f | 20 Hz에서 20.000 Hz | 셀 주파수 | 2 |
Bus[i].EQ.channel[j].cell[k].gain | -12 db에서 +12 db | 셀 게인 | 2 |
Bus[i].EQ.channel[j].cell[k].q | 1에서 100 | 셀 품질 | 2 |
Bus[i].FadeTo | 문자열 | (dBTarget, msTime); | 1 |
i= 여기 해당 BUS 입력, j= 여기 해당 체널 입력, (0 ~7), k=여기 쉘 입력 (0 ~ 5).
페이드 in/out 시간 설정을 위한 특수 기능:
Strip().FadeTo 또는 Bus().FadeTo 함수를 사용하여 게인 슬라이더를 점진적으로 페이드 시킴
dB 값 및 도달 시간 설정(0 ~ 120000ms 사이)
문자열에는 두 개의 파라미터가 필요함
예:
Strip(0).FadeTo= (-10.0, 500); // 500ms(0.5초) 동안 볼륨 수준을 -10dB로...
Bus(0).FadeTo= (0.0, 1500); // BUS(0) 1.5초 내 볼륨 수준을 0dB(기본값)로...
시스템 설정 옵션:
Voicemeeter 원격 API를 통해 패치 및 시스템 설정
패치 옵션
매개 변수 이름 | 값 범위 | 설명 | 버전 |
patch.asio[i] | 0이나 ASIO input | ASIO 경로 | 1 |
Patch.composite[j] | 0에서 22까지 (1 = 첫 체널) |
0 = 기본 BUS | 2 |
Patch insert[k] | 0 (off) or 1 (on) | 가상 ASIO 삽입, 켜기/끄기 | 2 |
i= 여기 해당 입력 채널 지수 입력 (물리적 스트립의 경우 스트립당 2채널)
j= 여기 해당 복합 채널 지수 입력 (0~7) COMPOSITE 모드는 8개 채널로 음영 처리
k= 여기 해당 입력 채널 지수 입력(0~21)
매개 변수 이름 | 값 범위 | 설명 | 버전 |
Option.sr | 44.1, 48, 88.2 또는 96kHz | 선호 샘플러 레이트 | 1 |
Option.delay[i] | 0 에서 500ms max | BUS 출력 지연 | 1 |
Option.buffer.mme | 128에서 2048까지 | MME 버퍼 크기 | 1 |
Option.buffer.wdm | 128에서 2048까지 | WDM 버퍼 크기 | 1 |
Option.buffer.ks | 128에서 2048까지 | KS 버퍼 크기 | 1 |
Option.buffer.asio | 128에서 2048까지 | ASIO 버퍼 크기 | 1 |
Option.mode.exclusif | 0 (off) 또는 1 (on) | WDM 입력 전용 , (켜기/끄기) | 1 |
Option.mode.swift | 0 (off) 또는 1 (on) | WDM 스위프트 모드 , (켜기/끄기) | 1 |
i= 여기 해당 BUS 입력(물리적 BUS 전용)
테이프 레코더 옵션:
Voicemeeter 원격 API를 통해 Voicemeeter Banana에서 녹음을제어할 수 있다.
녹음 옵션
매개 변수 이름 | 값 범위 | 설명 | 버전 |
recorder.stop | 0 (off) 또는 1 (on) | 정지 | 2 |
recorder.play | 0 (off) 또는 1 (on) | 재생 | 2 |
recorder.A1 | 0 (off) 또는 1 (on) | 출력 BUS 할당 , (켜기/끄기) | .1 |
recorder.A2 | 0 (off) 또는 1 (on) | 출력 BUS 할당 , (켜기/끄기) | 2 |
recorder.A3 | 0 (off) 또는 1 (on) | 출력 BUS 할당 , (켜기/끄기) | .2 |
recorder.B1 | 0 (off) 또는 1 (on) | 출력 BUS 할당 , (켜기/끄기) | 2 |
recorder.B2 | 0 (off) 또는 1 (on) | 출력 BUS 할당 , (켜기/끄기) | 2 |
recorder.record | 0 (off) 또는 1 (on) | 녹음하기, (켜기/끄기) | 2 |
Recorder.load | 재생할 파일 이름 | 쓰기 전용 | .2 |
Recorder.samplerate | .2 | ||
Recorder.ArmStri p(i). | Arming Input Status | .2 | |
Recorder.ArmBus(i) | Arming BUS Status | 2 | |
Recorder.mode.recbus | 0 (off) 또는 1 (on) | 입력을 녹음하려면 0 | 2 |
Recorder.mode.PlayOnLoad | 0 (off) 또는 1 (on) | 2 | |
Recorder.bitResolution | 8, 16, 24, 32 | 32는 float형 | 2 |
Recorder.Channel | 1 - 8 | 2 | |
Recorder.kbps | For mp3 format | 2 | |
Recorder.FileType | 1 = WAV, 2 = AIFF, 3=BWF 100 = MP3 |
.2 | |
Recorder.gain | -60 db에서 +12 db | 게인 슬라이더 | 2 |
i= zero based index (0 to 5)
특수 명령:
특수 명령은 매개 변수를 변경하는 것이 아니라 작업을 수행하기 위해 수행됩니다. 다음은 메뉴에 표시되는 명령입니다(물론 쓰기 전용).
명령 이름 | 값 범위 | 설명 | 버전 |
Command.Shutdown | 1 | Voicemeeter 셧다운 | 1 |
Command.Show | 1 | Voicemeeter 표시 | 1 |
Command.Restart | 1 | 오디오 엔진 다시 시작 | 1 |
Command.Eject | 1 | 카세트 꺼내기 | 1 |
Command.Reset | 1 | 모든 구성 재설정 | 1 |
Command.Save | 문자열 | 전체 파일 이름(xml) | 1 |
Command.Load | 문자열 | 전체 파일 이름(xml) | 1 |
일반적인 용도:
Command.Restart = 1; // 오디오 엔진 다시 시작 요청
Command.Load= "C:\My Documents\VMConfig1.xml"; // 구성 파일 로드
참고: 명령 요청은 다른 요청보다 우선합니다. 즉, 명령 요청이 아닌 다른 유형의 요청을 동일한 요청 패킷에 있는 경우 처리할 수 없습니다. 예를 들어, Shutdown Request는 다음 요청을 처리하지 않고 프로그램을 닫습니다. LOAD 요청은 동일한 패킷에 존재하는 가능한 이전 또는 다음 요청을 모두 재설정합니다. Eject 카세트 기능(메뉴에도 있음)은 오디오 파일을 해제하고 다른 응용 프로그램이 액세스할 수 있도록 합니다.
VBAN 옵션:
Voicemeeter 원격 API를 사용하면 VBAN 기능 및 VBAN 대화 상자에 표시되는 모든 매개 변수를 제어할 수 있습니다. 그러면 원격 VBAN 기능을 통해 서로 다른 컴퓨터로 오디오를 라우팅/전송/수신할 수 있습니다.
VBAN 옵션
매개 변수 이름 | 값 범위 | 설명 | 버전 |
vban.Enable | 0 (off) 또는 1 (on) | VBAN 기능 | 1 |
vban.instream[i].on | 0 (off) 또는 1 (on) | 스트림 켜기/끄기 | 1 |
vban.instream[i].name | 문자열 | 스트림 이름 | 1 |
vban.instream[i].ip | 문자열 | IP 주소 위치 | 1 |
vban.instream[i].port | 16 bit range | 포트(이더넷) | 1 |
vban.instream[i].sr | 11025 kHz에서 96 kHz | 읽기 전용 | 1 |
vban.instream[i].channel | 1에서 8까지 | 읽기 전용 | 1 |
vban.instream[i].bit | VBAN data type | 읽기 전용 | 1 |
vban.instream[i].quality | 0에서 4까지 | 0= 최적화 | 1 |
vban.instream[i].route | 0에서 8까지 | 스트립 선택 | 1 |
vban.outstream[i].on | 0 (off) 또는 1 (on) | 스트림 켜기/끄기 | 1 |
vban.outstream[i].name | 문자열 | 스트림 이름 | 1 |
vban.outstream[i].ip | 문자열 | IP 주소 대상 | 1 |
vban.outstream[i].port | 16 bit range | 포트(이더넷) | 1 |
vban.outstream[i].sr | 11025에서 96kHz | 1 | |
vban.outstream[i].channel | 1에서 8까지 | 1 | |
vban.outstream[i].bit | VBAN data type | 1 = 16 bits PCM | 1 |
vban.outstream[i].quality | 1에서 4까지 | 0= 최적화 | 1 |
vban.outstream[i].route | 1에서 8까지 | BUS 선택 | 1 |
i= zero based index (0 to 7)
- vban.Enable
- vban.instream[i].port
- vban.instream[i].quality
- vban.outstream[i].quality
더 자세한 내용은 보이스미터 바나나 2.0.6.8 버전 사용자 설명서 (PDF)를 참조하십시오.
'Softwar_Tutorial > Virtual_Audio_Mixer' 카테고리의 다른 글
'보이스미터' 환경에서 무설치 'Light Host'를 사용하여 VST 플러그인 연결하기 (2) | 2021.01.02 |
---|---|
보이스미터 바나나 오디오 컨트롤 (0) | 2020.08.13 |
보이스미터 바나나 동영상 보고 설치 및 설정 따라 하기 (0) | 2020.08.08 |
가상 오디오 믹스 장치 'Voicemeeter Banana' '보이스미터 바나나' (0) | 2020.08.08 |
가상오디오믹스[Voicemeeter]를 이용한 인터넷 라디오 방송 테스트 영상... (0) | 2020.04.02 |