¿Controlar el volumen de un MIDI?

Hace tiempo que tengo la inquietud de los MIDI y poder trabajar con ellos desde Java. Luego de mirar con cuidado la API de java y gran parte del paquete javax.sound.midi, comencé con la tarea, que ha dado sus frutos: un reproductor casi terminado (por lo pronto, es un beta... y yo soy el tester xD).

El problema que tengo ahora es que quiero proveer un control de volumen en el reproductor. Con la API de sonido se puede obtener un mixer, y a partir de él un control de volumen, pero... ¿se puede hacer eso con un MIDI? ¿Cuál sería el dispositivo al que debo "buscarle" el mixer?
Otra posible solución sería trabajar con el Sequence del archivo MIDI, obtener las Track y a cada una subirle el volumen ANTES de reproducirla. Por tiempo no he podido probar lo que ocurre con la reproducción activa si se modifica la Sequence del MIDI...

¿Podrá alguien ayudarme con eso?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

Master track

No he trabajado con MIDI en Java pero sí un poco en Mac. Lo que sé de MIDI es que realmente cada instrumento lo puedes ver como un canal en una mezcladora; el volumen del canal realmente no es un efecto MIDI sino algo que afecta al sonido resultante de ejecutar las instrucciones MIDI con el instrumento seleccionado en el canal. Aunque puedes controlar el volumen de un instrumento (subirlo o bajarlo) por medio de instrucciones MIDI, si lo que quieres es que tu "cancion" suene más fuerte entonces busca el master track si es que viene entre los instrumentos (probablemente no sea parte de la canción sino algo en el API) y a ese le subes el volumen.

Las instrucciones de volumen en MIDI por lo general son para que un controlador le avise a otro que debe subir o bajar su volumen; por ejemplo un teclado le avisa al sintetizador que está controlando que suba o baje el volumen con instrucciones MIDI.

Yo creo que el volumen lo debes subir o bajar con la API de sonido aunque estés usando MIDI; el volumen que quieres subir o bajar es el de los instrumentos que ya estás oyendo y eso es algo que ya salio de la parte MIDI y ya está en la parte de audio.

Espero te sirva un poco la info...
eZL

Given the choice of dancing pigs and security, users will choose dancing pigs, every single time.
Steve Riley

Imagen de Gabriel

hace mucho tiempo queria

hace mucho tiempo queria hacer una app. como Gruitar Pro para Linux, y empese con eso, creo tener algo posteado en mi foro de google, pero no tengo nada de volumen, quizas te sirva como antecedente.

Dime si te interesaria ver el post para buscarlo. el grupo se llama javamaniaco.

Saludos,

Sun Certified Java Developer
Sun Certified Java Programer
Brainbench Certified JavaServer Pages