Pergunta

Gostaria de fazer um simples plugin VST que faz isso:

  1. analisar um fluxo de áudio (volume, ritmo, etc ...)
  2. tem gatilhos de saída do analisador (por exemplo, fazer algo quando o volume> limiar)
  3. gerar eventos MIDI com base nos gatilhos

Este é para ser capaz de plugins cadeia, mesmo que eles não são projetados para isso. Por exemplo, eu poderia controlar o ganho de um compressor com o envelope de um fluxo de áudio, simplesmente conectando o MIDI OUT do meu plugin para o MIDI IN do botão de ganho do compressor.

O problema é que eu não sei como fazer isso. Existe suporte para conexões diretas MIDI como este em VSTs? Ou talvez eu preciso de algum tipo de "dispositivo midi virtual" para interconexões?

Foi útil?

Solução

Seu palpite aqui é provavelmente correta; esta tarefa será mais fácil de realizar escrevendo um dispositivo virtual de MIDI em vez de um plugin VST. É possível enviar eventos MIDI a um sequenciador utilizando a chamada sendVstEventsToHost (), mas o problema é que a documentação não especifica como o hospedeiro é necessária para reagir a esses eventos. Muitos anfitriões simplesmente ignorá-los, e eu certamente não posso pensar em um que permite o roteamento fácil a partir de um plugin para um canal MIDI (bidule talvez Plogue?).

Você pode ser capaz de fazer isso com as Unidades de áudio com o tipo de plugin kAudioUnitType_Generator ... embora eu nunca tenha escrito tal plugin, minha impressão foi que este é o que você usaria para gerar MIDI para o anfitrião. Mas, novamente, o problema aqui é que eu não tenho certeza de como o anfitrião lhe permitiria áudio rota para o plugin e aceito MIDI a partir dele.

De qualquer forma, a sua ideia implementado como um plugin será o mais difícil de implementar quando você quer padronizar seu comportamento para os sequenciadores mais utilizados. Eu acho que uma maneira muito mais fácil de realizar o que você quer é criar um dispositivo virtual de MIDI, como você tinha pensado já, e depois usar religação para encaminhar um sinal de entrada para o seu programa.

Editar : Eis alguns recursos sobre como escrever drivers de MIDI para vários sistemas:

Outras dicas

plugins

VST não suportam conexões direta de MIDI, que só pode ter midi in / out portos.

É ainda possível fazê-lo, porém, você só precisa de um host que suporta roteamento midi de um plug-in para outro. anfitriões modulares tais como energyXT, Bidule, AudioMulch e Console excel aqui. Todos eles permitem que os sinais de áudio e midi para ser encaminhado livremente (exceto há caminhos de feedback). Mas também pode ser possível em máquinas com mais racks VST 'tradicionais' estilo mixer. (Por exemplo, AFAIK ceifeira irá transmitir a qualquer midi de um plug-in para o próximo.)

Se você quer construir seu plugin no .NET dar uma olhada VST.NET

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top