English Version Spanish Version

Una guía corta de JSynthLib

JSynthLib es un Editor de Parches/ Librerías para Sintetizador, de Código Abierto, escrito en lenguaje Java. A diferencia de un montón de sintes comerciales, está dotado de un editor para MIDIbox SID y MIDIbox FM, que te da acceso a todos los parámetros de sonido y al secuenciador Wavetable. Dado que la versión Beta oficial de JSynthLib, así como el MIDI API de Java v1.5, tienen algunos defectos, he creado esta guía reducida para describir los pasos requeridos para la correcta instalación y configuración de JSynthLib para una MIDIbox..

Instalación de Java

La última versión es Java V1.5.0_06, que se llama "J2SE 5.0" en la web de Sun. El runtime environment (JRE)  se puede descargar de java.sun.com. Aquí un enlace directo. Recuerda que el kit de desarrollo (JDK) solo hace falta si planeas (re)compilar fuentes Java . Mientras solo quieras usar programas java pre-compilados, solo necesitarás el paquete JRE.

Instalación de JSynthLib

La versión de JSynthLib consiste en un sólo paquete .jar que puede ser iniciado haciendo doble clic sobre él, desde la ventana de comandos(por ej. Linux) se puede iniciar con "java -jar <nombredearchivo>".

Desafortunadamente, la versión oficial 0.20-beta de la Página web de JSynthLib tiene un error en el synthdriver de MIDIbox SID, que no te dejará cargar los parches correctamente. Dado que las actualizaciones son muy poco frecuentes, os doy una versión de evaluación del CVS aquí:

--> JSynthLib-Snapshot-2006-01-28.jar.zip

Recordad que solo he probado esto con MBSID y MBFM, ¡No puedo garantizar que los drivers de sintetizador que queden sigan funcionando!

Seleccionando el controlador MIDIbox SID/FM

Si JSynthLib ha sido iniciado por primera vez, deben seleccionarse la interfaz MIDI y los controladores de sintetizador. Ve a Window->Preferences->MIDI, y selecciona el puerto MIDI In/Out al que esté conectado uno de tus sintetizadores.:

 
(La razón por la que he elegido "MIDI Yoke" como puerto de salida, se describe abajo

Ve a la pestaña "Synth Driver", pulsa sobre "Add Device..."(añadir dispositivo) y busca"MIDIbox SID" y "MIDIbox FM":

Editando un parche

Ahora puedes crear una librería de parches, o puedes cargar una ya existente, como las pre-configuraciones que pueden ser descargadas de la página de MIDIbox SID y MIDIbox FM.

Haciendo doble clic sobre una entrada del banco, todo el banco será transferido a la MIDIbox (¡necesario BankStick!). Puedes editar parches individuales pulsando con botón derecho sobre el banco:

Se puede editar un parche haciendo clic-derecho sobre la entrada apropiada:

Error Java MIDI 

Con Java 1.5, Sun ha introducido un soporte mejorado para interfaces MID. Funciona muy bien con eventos MIDI comunes, pero tiene algunos problemas con las secuencias SysEx: una vez se ha mandado una secuencia SysEx más corta que las secuencias previas, se añadirán bytes adicionales. Ejemplo: si se envía un parche MIDIbox SID, aud consiste en 262 bytes, y , por tanto, el editor envía un cambio de valor de parámetro (11 bytes), se volverán a enviar 262 bytes - Los 11 bytes nuevos al principio, y los siguientes 251 bytes que quedan del mensaje SysEx previo, al final. Esto no solo incrementa la latencia de cambios de parámetro, sin oque además viola el protocolo MIDI.

Este efecto se ha observado en Windows XP con diferentes interfaces MIDI. No ocurre en Linux ni en Mac OSX.  Tampoco está relacionado con JSynthLib en sí mismo, ya que otros programas MIDI Java se comportan de forma similar. En 2004, escribí un programa corto que reproduce el error y lo introduje en su base de datos de errores. El ticket de consulta desapareció pasados unos meses- así que parece que a Sun no le importan ese tipo de errores...

En cualquier caso, existe una cura : Mandando todas las secuencias SysEx a través de un dispositivo virtual loopback como "MIDI Yoke" y redirigiéndolo hacia la salida de la interfaz MIDI, eliminará los bytes adicionales.

Puedes descargar MIDI de la web de MIDI-Ox . El monitor también hace falta para transmitir el flujo MIDI. Una vez instalado, tienes que configurar el enrutamiento de puertos como se muestra debajo:

Nota.: esta solución también ayuda, si tu interfaz MIDI no soporta multi cliente (Si solo un programa puede acceder al puerto MIDI). Solo tienes que enviar los datos MIDI al puerto MIDI Yoke.



Last update: 2010-09-23

Copyright © 1998-2010, Thorsten Klose. All rights reserved.