문제

이 작업을 수행하는 간단한 VST 플러그인을 만들고 싶습니다.

  1. 오디오 스트림 분석 (볼륨, 비트 등 ...)
  2. 분석기의 출력에 트리거가 있습니다 (예 : 볼륨> 임계 값이있을 때 무언가를 수행)
  3. 트리거를 기반으로 MIDI 이벤트를 생성하십시오

플러그인이 설계되지 않은 경우에도 체인을 할 수 있습니다. 예를 들어, 컴프레서의 게인 버튼의 MIDI에 플러그인의 MIDI를 MIDI에 연결하여 오디오 스트림의 봉투를 사용하여 압축기의 게인을 제어 할 수 있습니다.

문제는이 작업을 수행하는 방법을 모른다는 것입니다. VST에서 이와 같은 직접 MIDI 연결에 대한 지원이 있습니까? 아니면 상호 연결을 위해 일종의 "가상 미디 장치"가 필요할 수 있습니까?

도움이 되었습니까?

해결책

당신의 직감은 아마도 맞습니다. 이 작업은 VST 플러그인 대신 가상 MIDI 장치를 작성하여 수행하기가 더 쉽습니다. SendVSteventStoHost () 호출을 사용하여 MIDI 이벤트를 시퀀서로 보낼 수 있지만 문제는 문서가 어떻게 주최자 이러한 사건에 반응해야합니다. 많은 호스트가 단순히 그것들을 무시하고, 플러그인에서 MIDI 채널로 쉽게 라우팅 할 수있는 것을 생각할 수 없습니다 (아마도 Plogue Bidule?).

Kaudiounittype_Generator 플러그인 유형으로 오디오 장치로이를 달성 할 수 있습니다. 그런 플러그인을 작성한 적이 없지만, 이것이 당신이 호스트에 MIDI를 생성하는 데 사용할 수있는 것입니다. 그러나 다시 문제는 호스트가 어떻게 오디오를 플러그인으로 라우팅하고 MIDI를 수락 할 수 있는지 잘 모르겠습니다.

여하튼, 플러그인으로 구현 된 아이디어는 가장 널리 사용되는 시퀀서의 동작을 표준화하려는 경우 구현하기가 가장 어려울 것입니다. 원하는 것을 달성하는 훨씬 쉬운 방법은 이미 생각했던 것처럼 가상 MIDI 장치를 작성한 다음 Rewire를 사용하여 입력 신호를 프로그램으로 라우팅하는 것입니다.

편집하다: 다양한 시스템에 대한 MIDI 드라이버 작성에 관한 몇 가지 리소스가 있습니다.

다른 팁

VST 플러그인은 직접 MIDI 연결을 지원하지 않으며 MIDI In/Out 포트 만 사용할 수 있습니다.

그래도 여전히 할 수 있습니다. 한 플러그인에서 다른 플러그인으로 라우팅을 지원하는 호스트가 필요합니다. Energyxt, Bidule, Audiomulch 및 Console Excel과 같은 모듈 식 호스트가 여기에서 탁월합니다. 모두 오디오와 MIDI 신호를 자유롭게 라우팅 할 수 있습니다 (피드백 경로 제외). 그러나 더 '전통적인'믹서 스타일 VST 랙이있는 호스트에서도 가능할 수도 있습니다. (예를 들어, Afaik Reaper는 하나의 플러그인에서 다음 플러그인으로 MIDI를 전달합니다.)

플러그인을 만들고 싶다면 .NET를 살펴보십시오. vst.net

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top