O MIDIOX é derivado de um software de testes criado pela Microsoft em 1991, chamado MIDI Monitor, que foi aprimorado por Jamie O'Connel e Jerry Jorgenrud. Quando foi lançado o Windows 95, os dois programadores re-escreveram todo o código em 32 bits, com muitas funções adicionais, e batizaram a nova versão de MIDIOX. Analisamos a versão 7, que pode ser obtida gratuitamente na Internet.
Quem trabalha com MIDI controlando vários equipamentos em um sistema certamente já teve a necessidade de analisar com detalhe certas situações, como, por exemplo, quando os comandos deveriam estar funcionando mas não funcionam. É quando então precisamos "rolar" telas e mais telas nos displays dos equipamentos para verificar configurações de canais de MIDI, habilitação de transmissão e recepção de mensagens, checar cabos e conexões. Tudo ficaria mais fácil se pudéssemos de fato "ver" as mensagens que cada equipamento está mandando. Com o MIDIOX, você pode não só visualizar as mensagens em tempo real, mas também gerar comandos, armazenar dados, executar arquivos MIDI, e outros recursos úteis.
Visão Geral
O MIDIOX é um software de grande utilidade para quem quer analisar a operação MIDI de seus equipamentos, e diagnosticar problemas. Ele pode mostrar todas as mensagens que o equipamento transmite, e também enviar mensagens criadas pelo usuário, para testar ou configurar seus equipamentos. É um software bastante versátil e completo para isso.
As telas principais do MIDIOX mostram as mensagens que estão sendo recebidas (Monitor - Input) e transmitidas (Monitor - Output) pelo software. Há várias outras janelas e quadros que também podem ser visualizados, para acompanhar detalhes da operação MIDI.
A instalação é simples e rápida; o software é fornecido em um arquivo com cerca de 800kB, e depois de instalado ocupa menos de 2MB. Além de ser pequeno, o MIDIOX também não atrapalha a operação de outros softwares MIDI.
Para testar equipamentos (hardware) externos ao computador, basta configurar as portas de entrada e de saída de MIDI a serem usadas pelo MIDIOX para receber e transmitir mensagens. Para testar equipamentos e softwares, pode-se interligar o MIDIOX aos softwares usando o driver "virtual" MIDI Yoke (também criado por Jamie O'Connel), tomando-se o devido cuidado em não conectar a saída do MIDIOX à sua entrada, através do MIDI Yoke, o que criaria uma realimentação MIDI, com efeitos desagradáveis.
Usando o MIDI Yoke pode-se, por exemplo, controlar simultaneamente a operação sincronizada de dois softwares de gravação, usando MTC/SMPTE.
As mensagens recebidas pelo MIDIOX podem ser retransmitidas (MIDI Thru) pela porta de saída de MIDI, o que é ideal quando se tem um teclado controlando outros equipamentos MIDI. Se você possui duas ou mais portas MIDI In e MIDI Out, poderá fazer roteamentos das entradas para as saídas através do gráfico "MIDI Port Routing", que facilita bastante a interligação. Com esse recurso, o MIDIOX pode atuar também como um MIDI Patchbay, inclusive com capacidade de efetuar "merge" das entradas MIDI.
Visualizando mensagens
A maior utilidade do MIDIOX é realmente para analisar o conteúdo de mensagens MIDI. Para isso, o usuário deve escolher qual a porta de entrada MIDI In que deseja monitorar, e definir se quer filtrar algum tipo de mensagem. Por exemplo, mensagens que ocorrem repetidamente, como as de tempo-real (clock, start, stop) e de Active Sense, podem ser ocultadas na tela para não atrapalhar a visualização das demais informações.
A janela de monitoração de entrada mostra as mensagens já decifradas, com os valores mostrados em decimal ou hexadecimal. Ela lista o momento em que cada mensagem ocorreu (TimeStamp), qual a porta de MIDI em que ela foi recebida, os valores dos bytes de status e de dados, o número do canal de MIDI, e também o significado da mensagem. Esta janela é ótima para se observar quantas mensagens de MIDI são transmitidas, sobretudo as de Pitchbend, Aftertouch e de tempo-real. Eu recomendo a todos os usuários de MIDI que façam alguns testes com o MIDIOX, para ter uma idéia de como os dados são enviados pelos seus equipamentos.
Além das janelas principais de monitoração de mensagens, o MIDIOX ainda dispõe de painéis para controle e observação de outras funções de MIDI, como sincronização via MIDI Sync e MIDI Time Code. Por meio desses painéis, o usuário pode não só visualizar as mensagens de sincronização e o código de tempo, mas também transmitir essas mensagens para equipamentos externos ou para outros softwares.
Configurando e controlando equipamentos
Além de poder enviar mensagens de sincronização, o MIDIOX pode também transmitir qualquer outro tipo de mensagem de MIDI. O painel "MIDI Status", por exemplo, permite ao usuário transmitir diversos tipos de comandos pré-definidos (em qualquer um dos dezesseis canais de MIDI), usando um slider virtual para ajustar o valor do comando/controle. Já pelo "Control Panel" o usuário pode transmitir comandos de troca de timbres (combinando mensagens de Bank Select e Program Change) e eventos de controle (Modulation, Volume, Pan, Chorus, Reverb, etc). Há uma facilidade até para selecionar a troca de timbres em instrumentos que possuem numeração combinada por seção e programa (ex: A11, A12, etc).
O painel "Instrument Panel" é um recurso interessante. Ele aceita as mesmas definições de nomes de instrumentos usadas pelo Cakewalk Sonar, de forma que o usuário pode selecionar os timbres de seus equipamentos pelos nomes, e não pelos números. Para isso, basta carregar o arquivo de definição apropriado, e o MIDIOX mostrará todos os nomes (o site da Cakewalk possui inúmeros arquivos do tipo INS, com as listas de nomes de instrumentos da maioria dos sintetizadores MIDI fabricados até hoje).
O painel "NRPN Calculator" é uma ferramenta que ajuda a calcular o valor completo dos dados de 14 bits que são compostos por partes MSB e LSB. Isso é muito usado em mensagens do tipo NRPN, assim como nas de Bank Select, onde o valor efetivo do banco é determinado por duas mensagens (Control Change 0 e Control Change 32).
O MIDIOX permite ainda transmitir diretamente mensagens de configuração do tipo "GM On", "GS On" e "XG On", e também pode efetuar um reset geral em seu sistema, enviando mensagens individuais para cessar notas e controles em todos os 16 canais de todas as portas MIDI.
Se você não estiver com um teclado MIDI conectado ao computador, poderá usar o próprio teclado do computador para transmitir notas e outros comandos (pedal de sustain, pitchbend, etc) em tempo-real. Há diversos modos para a operação do teclado, que pode gerar não só notas individuais, mas também acordes e arpejos (diversos tipos diferentes).
O recurso de mapeamento de dados permite que o MIDIOX altere um comando recebido para que atue como outro, definido pelo próprio usuário. Exemplo: transformar os comandos de Aftertouch em comandos de Pitchbend. Da mesma forma, pode-se fazer o mapeamento de números de programa.
Com tantos recursos, o MIDIOX não poderia deixar de executar seqüências MIDI. Para isso ele vem com seu próprio tocador de MIDI, o "MIDIBar", que faz apenas o básico. Mas se você já tem seu tocador de MIDI preferido, poderá associá-lo ao MIDIOX, no lugar do MIDIBar.
Armazenando dados
Além da visualização de mensagens, a outra facilidade de enorme utilidade é a possibilidade de manipular SysEx. Embora o MIDIOX só possa receber dados enviados manualmente do equipamento (ele não efetua requisição de dados), o usuário pode editar os bytes e fazer checagem de validade. A janela de SysEx do MIDIOX mostra também os dados em formato de texto (onde se pode visualizar algumas informações úteis, como o nome do programa), e permite salvar os dados em alguns formatos diferentes, além do padrão SYX.
Adicionalmente às funções descritas acima, o MIDIOX ainda possibilita ao usuário configurar a barra de ferramentas (botões), cores, tipos de fontes nas telas, e outras opções estéticas.
Para os programadores avançados que tenham interesse em criar algum software para interagir com o MIDIOX, existe uma interface de programação, que pode ser acessada por qualquer linguagem que suporte COM, como Visual Basic, C++ e Windows Script Host.
O MIDIOX pode ser obtido diretamente no site
www.midiox.com. Ele é gratuito ("freeware") para uso doméstico, mas quem desejar usá-lo para fins profissionais (oficina de testes, estúdios, etc) deverá pagar uma taxa "shareware" aos programadores. O driver MIDI Yoke também pode ser obtido no mesmo site.
Miguel Ratton é engenheiro especialista em tecnologia musical, e desde 1996 mantém o site
www.music-center.com.br com diversas informações sobre o assunto.