Seqüenciadores: selecionando bancos de timbres
por Miguel Ratton
Continuando nosso assunto sobre sequenciadores, neste artigo apresentaremos como o seqüenciador faz a seleção de bancos de timbres no sintetizador.
No último artigo, vimos que os timbres do sintetizador podem ser selecionados via MIDI usando-se comandos do tipo program change (ou patch change), que identifica o número do timbre (de 0 a 127). Entretanto, como os sintetizadores passaram a ter bem mais do que 128 timbres em sua memória, os fabricantes resolveram organizá-los em bancos, cada qual com 128 timbres. Nos sintetizadores compatíveis com o padrão GM (General MIDI), um dos bancos contém os 128 timbres GM, que obedecem à numeração padronizada, enquanto os demais bancos contêm outros timbres, com sonoridades próprias daquele sintetizador.
Dessa forma, para selecionar via MIDI um determinado timbre de um sintetizador moderno, é necessário enviar para ele dois comandos MIDI: um de bank select, para selecionar o banco de timbres, e outro de program change, para selecionar o timbre desejado naquele banco. Como o comando de program change já foi abordado no artigo anterior, enfocaremos agora apenas os detalhes do bank select.
O processo de seleção via MIDI dos bancos de timbres do sintetizador foi concebido de tal forma que é possível selecionar 16.384 bancos diferentes (não existe ainda um sintetizador com tantos timbres assim, mas isso é só uma questão de tempo...). O comando MIDI de bank select é composto, na verdade, de dois comandos (control change 0 e control change 32) que, dependendo do sintetizador, podem ser usados em conjunto ou separadamente.

Figura 1: A seleção de timbres nos sintetizadores é feita selecionando
primeiramente o banco, e em seguida o timbre dentro daquele banco.
Alguns sintetizadores utilizam apenas o comando de control change 0 para selecionar o número do banco. O comando de control change 0 também é chamado de MSB (“most significant byte”). Nesse caso, a seleção de um timbre deve ser feita com os seguintes comandos:
- control change 0 (MSB) indicando o número do banco
- program change indicando o número do timbres
Os sintetizadores mais modernos utilizam o comando de control change 0 e o de control change 32 (LSB - “least significant byte”), juntos, para selecionar o número do banco. Usando-se o MSB e o LSB pode-se selecionar até 16.384 bancos. Nesse caso, a seleção de um timbre deve ser feita com os seguintes comandos:
- control change 0 (MSB) indicando a parte mais significativa do número do banco
- control change 32 (LSB) indicando a parte menos significativa do número do banco
- program change indicando o número do timbres
Há ainda alguns poucos sintetizadores que só usam o control change 32 (LSB).
Agora você deve estar imaginando como deve proceder para fazer seu software seqüenciador enviar os comandos corretos de bank select e program change para seus sintetizadores. Felizmente, os softwares mais modernos são bastante “amigáveis”, e se já não vêm com os sintetizadores pré-definidos, permitem que você os defina, de maneira que o sofware possa “saber” qual é o modo de seleção de bancos (com MSB, com MSB+LSB, ou com LSB). Uma vez que o software já “sabe”, você não precisa mais se preocupar com números de bancos, mas apenas com seus nomes (“Bank A”, “User Bank”, etc), e bye-bye MSBs e LSBs (veja Figura 2).

Figura 2: Num software que oferece configuração de instrumentos,
você não precisa se preocupar com os números dos bancos ou patches,
pois pode selecioná-los pelos nomes. O software se encarrega de enviar
os comandos MIDI necessários.
Se o seu software não tem como configurar essas coisas, você terá que verificar quais os valores de MSB e LSB de cada banco, e sempre que quiser selecionar um determinado banco deverá inserir na seqüência os comandos corretos de control change 0 e control change 32, antes (sempre antes!) do comando de program change.
Por exemplo: No Roland JV-90, para se selecionar o banco “Preset A”, é necessário enviar os comandos de control change 0 (MSB) = 81, e control change 32 (LSB) = 0, seguidos de um comando de program change com o número do patch desejado (veja Figura 3).

Figura 3: Exemplo de como selecionar o timbre 45 do banco Preset A do JV-90.
Os números de MSB e LSB dos bancos geralmente estão documentados no manual do equipamento (naquela seção que tem letrinhas miúdas...).
Artigo publicado na revista Backstage em 1997
Este artigo foi publicado no music-center.com.br em 1997
Copyright ©1996-2005 Miguel Ratton (www.music-center.com.br)