Mais um pouco sobre o Psycle: Utilizando MIDI
Autor: miseravelperserverante | Publicado: 2016-12-04T22:02:00-03:00

Original em Inglês Aqui.



Psycle
MIDI 

Psycle MIDI 
(Controlando Psycle usando a entrada MIDI) 
Por Mark McCormack 
(Mark_jj_mccormak@yahoo.co.uk / ICQ # 115046014) 

Implementação de MIDI Interna v2.2 beta (Psycle Release 1.5xx) 




Conteúdo: 


A.&nbsp;Características.

1. Como posso controlar o Psycle do meu sequenciador MIDI? 
2. Posso usar um sequenciador em vez do rastreador interno do Psycle?
3. Posso misturar usando sons MIDI da Psycle e outros módulos de synth / MIDI controlados por meu sequenciador? 
4. Posso misturar usando um seqüenciador com o rastreador interno? 
5. Como vejo o que está acontecendo com a interface MIDI do Psycle? 
6. Posso gravar o áudio MIDI Psycle ativado usando o recurso de gravação interno do Psycle WAV? 
7. Por que o MIDI em tempo real não funciona com o driver de áudio DirectSound? 
8. O que posso fazer se o meu sequenciador MIDI não suportar um relógio de sincronização MIDI? 
9. Dicas e truques 
10. Erros conhecidos 

&nbsp;B. Limitações

C. Gráfico de Implementação MIDI 



A. Recursos 


Agora você pode controlar o excelente rastreador de próxima geração da Psycle via MIDI, em vez de usar a interface de tracker clássica incorporada (trata-a como um softsynth MIDI). As mensagens on / off de nota MIDI podem ser mapeadas para qualquer gerador e instrumento em todos os 16 canais MIDI. Você também pode selecionar qualquer instrumento para esse canal, ao usar um gerador Sampler. Psycle Plug-in e VST parâmetros (tanto gerador E efeito) pode ser controlado usando mensagens MIDI controlador contínuo. Se você ainda deseja usar o "sequenciador de rastreamento" interno, então você pode usar ainda usar a entrada MIDI para inserir notas em padrões de um teclado MIDI externo. 


1. Como posso controlar o Psycle do meu sequenciador MIDI? 


Isso é bastante fácil quando você entender o conceito básico. Você precisará configurar o que é conhecido como Porta MIDI virtual . Este é um software emulado entrada MIDI / porta de saída (sim, uma porta que faz ambos!). Você precisará de software, como Loopback Hubi ou LOOP midi ou MIDI Yoke Para criar esta porta virtual.

Pessoalmente, eu prefiro MIDI Yoke como tem sido na minha experiência mais estável - no entanto - muitas pessoas juram por Hubi. Se você estiver usando Win2000 / NT então MIDI Yoke é o que você precisa - como no momento da escrita Hubi não funciona sob estas plataformas derivadas do NT. 


Depois de configurar esta porta MIDI virtual, basta selecionar esta porta como OUTPUT do seqüenciador MIDI e também selecionar esta porta como INPUT em Psycle (localize esta opção na guia Configuration-&gt; Output). Para criar uma tubulação de dados MIDI do sequenciador para Psycle assim: 


[MIDI Sequencer Out] -benzóico. [Porta MIDI Virtual (por exemplo MIDI Yoke)] -benzóico. [Psycle MIDI In] 


E agora você deve ser capaz de controlar os geradores de Psycle com seu seqüenciador MIDI! Para mais explicações, consulte a caixa de diálogo de configuração do Psycle abaixo: 




&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;

Selecione o dispositivo de entrada principal de um dos disponíveis no Dispositivo de entrada Listbox Isso deve Saída do dispositivo MIDI De seu seqüenciador MIDI. Se desejar alterar a headroom midi Disponível para entrada midi (veja mais adiante para detalhes), então você pode fazer isso digitando um valor diretamente ou usando os botões de rotação para incrementar / diminuir rapidamente o valor atual.

Se estiver a utilizar um dispositivo Sincronização MIDI (Ver mais adiante para mais detalhes), pode seleccionar esta Dispositivo de sincronização Listbox, embora se você pretende enviar um relógio de sincronização MIDI através do mesmo dispositivo que o dispositivo de entrada principal, então você pode deixar isso não selecionado (Nenhum).

2. Posso usar um sequenciador em vez do rastreador interno do Psycle? 


Sim. Durante um monte de testes isso provou ser muito estável e você deve obter bons resultados. 


3. Posso misturar usando sons MIDI da Psycle e outros módulos de synth / MIDI controlados por meu sequenciador? 


Sim. Desde a implementação Alpha anterior, uma das principais melhorias para o suporte MIDI da Psycle foi a adição de algum código de sincronização bastante complexo. Isso permite uma sincronização razoavelmente estável e utilizável entre o áudio gerado pela Psycle e o gerado por outros módulos de synth / MIDI. Você provavelmente precisará deslocar suas faixas MIDI / Audio não-Psycle (no seqüenciador) para se alinhar com o áudio do gerador Psycle, mas contanto que você utilize o envio de alguns códigos de sincronização MIDI (ou sincronização emulada) para o Psycle, você deve manter a sincronização Entre o sequenciador e Psycle. Isto é normalmente referido como Transmitir MIDI Iniciar / Continuar / Parar / Relógio ou similar.

Para ativar a sincronização MIDI no CakeWalk: 


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;

Alguns sequenciadores (CakeWalk incluído) permitem que você envie um código MIDI Sync Start quando a reprodução é iniciada a partir de qualquer ponto da música (não apenas o início). Isto é normalmente referido como Usar Iniciar, Nunca Continuar ou similar.

Se o seqüenciador tiver essa facilidade, recomenda-se que você ative isso para forçar a Psycle a resincronizar com o mecanismo de áudio toda vez que a reprodução do seqüenciador for iniciada.

4. Posso misturar usando um seqüenciador com o rastreador interno? 

Na verdade não. A implementação de MIDI não foi concebida de forma a ser utilizada conjunção Com o rastreador interno. Quando a exibição de padrão está ativa no Psycle, todas as mensagens de nota MIDI são inseridas no padrão (como quando se usa o teclado do PC). É possível (por exemplo) reproduzir geradores com a interface do rastreador e controlar os parâmetros do gerador com controladores MIDI externos (por exemplo, usando o dispositivo de hardware Phatboy). Lembre-se que o parâmetro controlador-&gt; gerador deve primeiro ser ajustado (usando CC 126/127). 


5. Como vejo o que está acontecendo com a interface MIDI do Psycle? 


Implementações MIDI de v2.2b ou superior fornecem Caixa de Diálogo do Monitor MIDI Para permitir que você veja o estado atual da interface MIDI do Psycle. A caixa de diálogo é mostrada abaixo com uma breve explicação de todos os valores mostrados: 


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;

Buffer usado - A quantidade de eventos MIDI atualmente aguardando no buffer MIDI interno. 


Capacidade do buffer - O número máximo de eventos MIDI que o buffer MIDI interno pode armazenar (atualmente fixado em 1024). 


Eventos perdidos - O número de eventos MIDI purgados (não reproduzidos) a partir do buffer MIDI interno. Isso geralmente acontece quando há "cair fora" Na linha de áudio pipe ea interface MIDI decide que os eventos devem ser disguarded em vez de reproduzido (porque eles provavelmente foram atrasados ​​demais). 

MIDI Headroon - Quanto "MIDI slack" Está sendo autorizado a contabilizar as mensagens MIDI atrasadas que chegam ao Psycle (definido no configuração diálogo). 


Versão MIDI interna - O descritor do código de interface MIDI Psycle atualmente em execução. 


Latência de evento de sincronização - A quantidade de milissegundos Início de sincronização MIDI Mensagem foi atrasada. 


Sincronizar Ajustar - A quantidade de amostras que a Psycle forneceu para trazer o seu motor de áudio em linha com os dados MIDI de entrada. UMA negativo Valor aqui significa que algumas notas podem ter sido purgadas do buffer MIDI para recuperar a sincronização (não muito boa). UMA positivo Valor aqui significa que o Psycle teve tempo de esperar até que ele precisasse começar a tocar os dados MIDI recebidos (bom). 


Deslocamento de Sincronização - A quantidade atual de milissegundos que o mecanismo de áudio do Psycle tem "atrasado" por trás do MIDI de entrada. Isso normalmente deve começar em torno de 0 e, em seguida, ser maior (negativo) se o motor de áudio "drop-out" em qualquer ponto. Esse valor é usado internamente para manter o mecanismo de áudio sincronizado com um seqüenciador MIDI externo. 


Psycle MIDI está ativo? - O Psycle está usando a entrada MIDI? 


Recebendo dados MIDI? - O Psycle está recebendo dados MIDI, no dispositivo principal ou no dispositivo de sincronização? 


Sincronização - O Psycle atualmente está sincronizando o mecanismo de áudio com o MIDI de entrada? 


Resync disparado? - Um resync foi disparado porque o motor de áudio foi reiniciado? (Por exemplo, quando um novo plug-in é criado) 


Traçado da trilha emulada? - A Psycle recebeu um tracker tick? ( CC 123, DADOS 1-127 - simula uma mudança de linha de rastreador) 


Sincronização MIDI Start / Clock / Stop - A Psycle recebeu uma dessas mensagens de sincronização MIDI? 


Sincronização sincronizada Start / Clock / Stop - O Psycle recebeu uma das mensagens de sincronização emulada? ( CC 121, 122 &amp; 124 ) 


Ch 1-16 - Mostra os dados recebidos para cada canal MIDI (incluindo TODOS os tipos de dados). 
(A tabela de mapeamento de canais é auto-explicativa)

6. Posso gravar o áudio MIDI Psycle ativado usando o recurso de gravação interno do Psycle WAV? 
Em uma palavra - Não. No entanto, praticamente todas as placas de som nos dias de hoje suportam a capacidade de gravar o que está sendo reproduzido.

Não haveria nenhuma vantagem em poder gravar áudio MIDI disparado usando o Psycle, pois ainda dependeríamos de receber MIDI externamente!

7. Por que o MIDI em tempo real não parece funcionar com o driver de áudio DirectSound?

A implementação atual do suporte de interface DirectSound em Psycle não fornece as informações necessárias para a interface MIDI, a fim de permitir sincronização decente entre o MIDI eo mecanismo de áudio. Portanto, até a DirectSound O código é atualizado a interface MIDI não funciona (Em tempo real) com áudio DirectX. Desculpe! 

8. O que posso fazer se o meu sequenciador MIDI não suportar um relógio de sincronização MIDI? 

Se o seqüenciador não suporta a saída de um relógio MIDI, então você pode usar três controladores para simular um relógio usando uma faixa MIDI padrão. Colocar um CC 121 Como o primeiro evento na canção (de preferência deixando um intervalo de barra entre ele e o próximo evento midi). Então cada intervalo regular (digamos 1/16 de uma barra) CC 122 .

Você pode enviar esses eventos através de qualquer canal e não é necessário configurar um mapa de gerador / instrumento. Finalmente, para parar todo o som, coloque um CC 124 Direito no final de sua canção. 
9. Dicas e truques? 

Colocou o headroom midi e Número de buffers de áudio / tamanho Para o menor valor suportável quando se trabalha em uma determinada canção (para tornar as coisas mais fáceis de trabalhar). Se você experimenta a falha ocasional então este não é um problema - você está trabalhando somente na melodia - a sincronização deve ainda ser recuperada dentro de alguns milissegundos.

Uma vez que você está pronto para misturar a sua música, em seguida, defina o headroom midi e as configurações de áudio para valores maiores (ajustar MIDI sequencer time offsets para ter em conta isso com relação às outras faixas não-Psycle) para esta mistura final - a fim de reduzir A probabilidade de latência de sistema de rogue latência ou Psycle áudio "drop-outs" durante esta mistura para baixo. 

Se você não vai usar um monte de áudio seqüenciador em sua música, ou se você está apenas indo para substituir o seqüenciador interno do tracker do Psycle com a entrada de um seqüenciador MIDI, então eu recomendo que você dê uma olhada no CakeWalk Pro v2.0 . Este é (na minha opinião) o melhor seqüenciador MIDI-ONLY para qualquer plataforma, e tem uma visão de faixa única de "barra = bloco", que é ideal para uso com o Psycle. Pode ser um Programa baseado em Win3.1 , Mas funciona muito bem sob Win98 E tem uma pegada de memória incrivelmente pequena e tem excelente suporte para sincronização MIDI e controladores contínuos (CC). 

Se vocês mudo Uma faixa de controle de Psycle em seu seqüenciador e o gerador atual não aceitar mensagens de nota-off, então você pode (às vezes) pressionar o botão Principal Psycle STOP Botão para parar todas as notas e depois deixar o MIDI reiniciar todos os outros (appart da faixa que você queria silenciar, é claro). 

Para obter formas mais interessantes de definir controladores, obtenha um programa chamado CC-Mouse . Este pequeno aplicativo permite que você controle dois parâmetros de cada vez usando o mouse. Alimentar a saída deste programa em uma porta MIDI virtual e, em seguida, através de seu seqüenciador. Você pode então fazer sweeps lisos (de dizer um cut-off) usando o mouse e gravá-los em seu seqüenciador! 
10. Erros conhecidos 

A interface MIDI para a Psycle, embora fortemente desenvolvida e testada, ainda é Beta. Algo tão complexo quanto sincronizar duas aplicações até um tempo de milissegundos sempre será difícil. Atualmente, há um bug aleatório que ocasionalmente ocorre ao criar um novo gerador / efeito. Esse bug significa que a interface MIDI não consegue resincronizar com o mecanismo de áudio e o buffer MIDI se enche, sem que nenhuma nota seja tocada. Até que esse bug seja corrigido, se isso ocorrer, o trabalho em torno é simplesmente enviar um código MIDI Sync Start para o Psycle (por exemplo, reiniciar a reprodução desde o início da música em seu seqüenciador MIDI). 



B. Limitações 


Atualmente, as principais limitações da entrada MIDI oferecidas pela Psycle estão relacionadas com o atraso na entrada MIDI no Psycle (através do Microsoft Windows) e, de certa forma, em qualquer desativação do mecanismo de áudio. Saídas de áudio do motor não têm nada a ver com a interface MIDI, e geralmente pode ser corrigido (ou muito melhor), aumentando o número de buffers de áudio e / ou o tamanho desses buffers. Para ter em conta os atrasos nas mensagens MIDI que chegam à Psycle, a headroom midi (Em milissegundos) é configurável pelo usuário. Se você estiver enfrentando um monte de mensagens perdidas e / ou falta de sincronização, tente aumentar esse valor. O padrão é 100 milissegundos, mas em sistemas mais lentos ou sistemas que estão executando um monte de aplicativos pesados ​​concorrentemente com o Psycle, pode ser aconselhável aumentar esse valor. Isso aumentará a latência de áudio, mas o MIDI será mais estável e previsível. 
C. Gráfico de Implementação MIDI 


PsycleMIDIChart.TXT (Texto em bruto, em inglês ) 


Notas 


Controladores 126 e 127 São usados ​​como um controlador composto . Eles são usados ​​juntos para estabelecer uma ligação entre Qualquer controlador livre (CC 1-120) e um parâmetro gerador No canal. Por exemplo, para mapear CC 32 para o parâmetro do gerador de canais 15 use: 


CC 126, DADOS 32 (Seguido por) 
CC 127, DADOS 15 


Os parâmetros de Psycle Plug-ins e VST máquinas (ambos os geradores E efeitos) podem ser mapeados. Normalmente não é aconselhável mapear controladores MIDI reconhecidos (por exemplo, Volume é CC 7) para parâmetros do gerador, embora mapear CC 7 para um parâmetro de volume principal do gerador faz todo o sentido! 


Observe que os valores dos geradores de Psycle são exibidos em hexadecimal (por exemplo, 0f em hexadecimal é 15 é decimal / seqüenciador). 
'Nota Desligada' Mensagens são ignoradas por padrão, habilite-as Controlador 125, DADOS 127 . 


Para usar efeitos como o GoaSlicer você precisará ter uma pista enviando tick-sync controladores para dar a sincronização normalmente fornecida pelo rastreador. Isso é muito fácil, basta enviar (qualquer canal, qualquer patch, ...) a Controlador 123, DADOS 127 em A cada 1/16 Para simular a típica sincronização necessária.

Em sequenciadores como CakeWalk, você pode simplesmente criar uma barra deste padrão de sincronização e, em seguida, definir o parâmetro Loop para algum valor alto para garantir que este padrão é enviado a cada barra. 
Certifique-se de que o tempo interno do Psycle corresponde ao do seqüenciador MIDI. 
(21 de Abril de 2001)