Você está aqui: Java ::: Pacote javax.sound.midi ::: Aplicações com código fonte completo |
Como tocar uma sequência de notas MIDI usando JavaQuantidade de visualizações: 1049 vezes |
Nesta dica eu mostrarei um código Java completo que tira proveito das classes do pacote javax.sound.midi para tocar a escala de dó maior em uma guitarra envenenada com distorção à la Slash. Veja que maravilha! Não precisaremos instalar nada. Tudo que precisamos já está pronto na instalação padrão do Java SDK. Trata-se de uma aplicação MIDI completa que, embora simples, é o ponto de partida para a criação de afinadores de guitarra e baixo, um jogo educativo ou até, quem sabe, a sua própria versão do famoso Guitar Pro. O código está em Java console, mas pode ser facilmente adaptado para Java Swing ou JavaFX, que permitem uma maior interação com o mouse e teclado, além de oferecerem um visual mais bonito e intuitivo. Veja a listagem completa, repleta de comentários e observações a partir da perspectiva de um programador e músico: package arquivodecodigos; import javax.sound.midi.Instrument; import javax.sound.midi.MidiChannel; import javax.sound.midi.MidiSystem; import javax.sound.midi.Synthesizer; public class Estudos { public static void main(String[] args) { try{ // vamos obter o sintetizador MIDI e abrí-lo Synthesizer sintetizador = MidiSystem.getSynthesizer(); sintetizador.open(); // vamos obter a lista de instrumentos MIDI disponíveis Instrument[] instrumentos = sintetizador.getDefaultSoundbank().getInstruments(); // vamos criar um canal para a guitarra "Distortion Guitar" MidiChannel canalGuitarra = sintetizador.getChannels()[0]; // mudamos o programa pra refletir o instrumento escolhido // Distortion Guitar é o instrumento 31 na especificação MIDI, então // temos que usar 30 (lembra, né? Em Java os vetoes começam em 0) canalGuitarra.programChange(instrumentos[30].getPatch().getProgram()); // vamos definir a escala de dó maior // lembre-se: Tom - Tom - Semitom - Tom - Tom - Tom - Semitom // DÓ, RÉ, MI, FÁ, SOL, LÁ, SI, DÓ (uma oitava acima) int notas[] = {60, 62, 64, 65, 67, 69, 71, 72, 72, 71, |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Java - Como usar null em Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |