es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo utilizar JavaSound Midi en Linux utilizando FireWire AudioInterface?

Estoy usando QJackCtl y una Interfaz de Audio por FireWire (Edirol FireWire AudioCapture FA-101).

Hice un programa que conecta el Sintetizador JavaSound Gervill y un Teclado Midi USB Externo, que activa el sintetizador Gervill.

Puedo usar esto sin QJackCtl (jack con backend de FireWire FFADO), utilizando el sistema nativo de midi por defecto, pero con jack no puedo usar esto porque JavaSound no es compatible con jack. El programa no responde al teclado USB al iniciar Jack (QJackCtl).

Me pregunto si puedo usar correctamente esta interfaz de audio con la configuración jack (qjackctl).

La interfaz de audio FireWire no es compatible con PulseAudio y ALSA, debe usarse ffado. Por lo tanto, no se puede utilizar ALSA. Si se edita la ruta midi, se debe utilizar a2j.

¿Puedo usar j2amidi_bridge para utilizar un puerto de puente en una aplicación de Java Sound y activar el sintetizador Java Sound con el teclado USB?

public void printMidiDeviceInfo()
{
    try
    {
        for(int i=0;i<midideviceinfo.length;i++)
        {
            mididevice mididevice=midisystem.getmididevice(midideviceinfo[i]);
            print(
            "información del dispositivo midi ["+i+"] descripción:"+this.midideviceinfo[i].getdescription()+
            "\n        información del vendedor:"+this.midideviceinfo[i].getvendor()+
            "\n        versión:"+this.midideviceinfo[i].getversion()+
            "\n        tostring(): "+this.midideviceinfo[i].tostring()+
            "\n        sintetizador:"+(mididevice instanceof synthesizer)+
            "\n        secuenciador:"+(mididevice instanceof sequencer)+"\n\n"
            );
        } 
    }
    catch(exception exception)
    {
    } 
}

intenté usar el dispositivo “j2amidi_bridge bridge” en mi aplicación, y busqué el dispositivo de puente con el código anterior. pero no pude encontrar el dispositivo j2amidi_bridge.

y j2amidi_bridge -e & hizo la conexión entre mi aplicación de java sound y jack (qjackctl), pero la latencia del sintetizador empeoró en comparación con el dispositivo por defecto en mi imac 2011. {=”” mididevice=”” mididevice=”MidiSystem.getMidiDevice(midiDeviceInfo[i]);” print(=”” “información=”” del=”” dispositivo=”” midi=”” [“+i+”]=”” descripción:”+this.midideviceinfo[i].getdescription()+=”” “\n=”” información=”” del=”” vendedor:”+this.midideviceinfo[i].getvendor()+=”” “\n=”” versión:”+this.midideviceinfo[i].getversion()+=”” “\n=”” tostring():=”” “+this.midideviceinfo[i].tostring()+=”” “\n=”” sintetizador:”+(mididevice=”” instanceof=”” synthesizer)+=”” “\n=”” secuenciador:”+(mididevice=”” instanceof=”” sequencer)+”\n\n”=”” );=”” }=”” }=”” catch(exception=”” exception)=”” {=”” }=”” }=”” ="" intenté="" usar="" el="" dispositivo="" "j2amidi_bridge="" bridge"="" en="" mi="" aplicación,="" y="" busqué="" el="" dispositivo="" de="" puente="" con="" el="" código="" anterior.="" pero="" no="" pude="" encontrar="" el="" dispositivo="" j2amidi_bridge.="" y="" j2amidi_bridge="" -e="" &="" hizo="" la="" conexión="" entre="" mi="" aplicación="" de="" java="" sound="" y="" jack="" (qjackctl),="" pero="" la="" latencia="" del="" sintetizador="" empeoró="" en="" comparación="" con="" el="" dispositivo="" por="" defecto="" en="" mi="" imac=""></midideviceinfo.length;i++)
{
mididevice mididevice=midisystem.getmididevice(midideviceinfo[i]);
print(
"información del dispositivo midi ["+i+"] descripción:"+this.midideviceinfo[i].getdescription()+
"\n información del vendedor:"+this.midideviceinfo[i].getvendor()+
"\n versión:"+this.midideviceinfo[i].getversion()+
"\n tostring(): "+this.midideviceinfo[i].tostring()+
"\n sintetizador:"+(mididevice instanceof synthesizer)+
"\n secuenciador:"+(mididevice instanceof sequencer)+"\n\n"
);
}
}
catch(exception exception)
{
}
}

intenté usar el dispositivo “j2amidi_bridge bridge” en mi aplicación, y busqué el dispositivo de puente con el código anterior. pero no pude encontrar el dispositivo j2amidi_bridge.

y j2amidi_bridge -e & hizo la conexión entre mi aplicación de java sound y jack (qjackctl), pero la latencia del sintetizador empeoró en comparación con el dispositivo por defecto en mi imac 2011.>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en audio, ALSA, JavaSound y Jack, entiendo que pudiste conectar un sintetizador JavaSound Gervill y un teclado MIDI USB externo sin usar QJackCtl, pero no puedes hacerlo cuando usas Jack porque JavaSound no es compatible con Jack. El programa no responde al teclado USB al iniciar Jack.

    Dado que la interfaz de audio FireWire que estás utilizando, la Edirol FireWire AudioCapture FA-101, no es compatible con Pulseaudio y ALSA, debería usar la plataforma ffado. Desafortunadamente, no puedes usar ALSA ni editar el enrutamiento MIDI sin usar a2j.

    Una solución potencial que propones es utilizar j2amidi_bridge para conectar el puerto en la aplicación Java Sound y activar el sintetizador Java Sound con el teclado USB. Sin embargo, no pudiste encontrar el dispositivo j2amidi_bridge y usar j2amidi_bridge -e empeora la latencia del sintetizador en comparación con el dispositivo predeterminado en tu iMac 2011.

    Para resolver este problema, es posible que debas explorar interfaces de audio alternativas que sean compatibles con Jack y sean capaces de conectar la interfaz USB-MIDI con el backend de Jack. Alternativamente, puedes seguir utilizando el sistema MIDI nativo predeterminado sin Jack o explorar otras áreas de conocimiento que puedan ayudar en el desarrollo de una solución.

Comments are closed.