¿como crear mas puertos midi through?

  • 1
#1 por monon el 09/06/2010
Esta es una historia un poco compleja, asi que, a no ser que sea extremadamente necesario, no me extenderé en detalles.
Me interesaria crear mas puertos MIDI Through ( si es posible ) para tenerlos accesibles en las conexiones midi de a2jmidi.
El caso es que, si eso se puede hacer, no tengo idea de como.
He probado con los puertos del modulo snd-virmidi y no me han servido.
Así que apelo a los "gurugis" a que me iluminen un poco.
Subir
#2 por vagar el 09/06/2010
Cuanto más te expliques más fácil será ayudarte.

El puerto MIDI Thru es un concepto de hardware, para conectar en cadena varios receptores MIDI a un secuenciador. Supongo que lo que quieres es una especie de patchbay MIDI para interconectar varios programas en la misma máquina.

¿Por qué no te valen los virmidi?

Otra opción que tienes es usar las herramientas de fontanería MIDI que tiene qtractor. Échale un vistazo a este hilo:

multiples-midi-out-qtractor-t325037.html

Ars longa, vita brevis.
Mi colección de enlaces web en diigo.

Subir
#3 por monon el 10/06/2010
Te explico un poco mas
Tras lanzar jack ejecuto tambien a2jmidi para poder disponer de todos los puertos y poder acceder aun cuando un programa use jack-MIDI en vez de alsa-MIDI

Cuando lanzo a2jmidi con la opcion -e para poder disponer tambien de los puertos de los dispositivos, estos no pueden usarse como alsa/raw ( ya que estan usados por alsa/sequencer pues es con los que tarbaja a2j)
Pero hay un dispositivo , una superficie de control (la bcf2000 y la MAckie Control), que deben usar un puerto MIDI en RAW.

Hasta aqui no hay problema , ejecuto a2j sin la opcion de puentear los puertos hardware y ya está.

Pero ahora viene el hecho de que quiero usar mas de un dispositivo y solo tengo un puerto Thru que me haga de puente entre alsa-MIDI y jack-MIDI.
p.e. varios teclados los cuales solo tengo en alsa-MIDI y varias instancias de zynjacku las cuales solo tiene puertos en jack-MIDI.

Se que se podrian usar los canales midi, pero en ese ejemplo concreto no hay manera de poder indicarle a Zynjacku que canal asignar a cada instrumento.

En lo relativo a virmidi no ha habido manera de que los eventos atraviesen el "puente" de a2j (como si los enviase a /dev/null , lo mismo ) :)
Subir
#4 por vagar el 10/06/2010
Tal como lo explicas es un poco difícil de seguir. ¿Podrías poner un ejemplo lo más simple posible de sesión que no sepas cómo conectar? Algo como:

tecladoA -> sinteB
superfC -> sinteD

etc.

Ars longa, vita brevis.
Mi colección de enlaces web en diigo.

Subir
#5 por Pablo_F el 10/06/2010
Por dar ideas,
Aunque lances a2jmidid con la opción -e, no puedes conectar el controlador alsa raw en la pestaña alsa?
(EDITADO: ah vale, parece que no por la razón que comentas en tu post, no sabía)
Otra opción, lanzar varias instancias de a2jmidi_bridge, de forma que puedas hacer los puentes alsa seq a jack midi uno a uno, tanto soft como hard?

Sobre la pregunta original, ..... ¡Ni idea!

Saludos, Pablo
Subir
mod
#6 por zoolansky el 10/06/2010
No tengo ni idea de Linux, ni acabo de entender mucho tu problema, por ignorancia mía, supongo (algunos palabros de tus mensajes no los había visto nunca antes :mrgreen: ), pero en principio para disponer de más puertos MIDI lo ideal es un interface multipuerto, como los Motu MIDI 8x8, por ejemplo...

Mi tercer CD doméstico, listo. Podéis escuchar todos los temas aquí mismo...

Subir
#7 por monon el 10/06/2010
Bueno Ahí va la segunda intentona:

Por un lado el soft:
Jack , Ardour (alsa-midi), y 3 instancias de zynjacku (jack-midi).

Por otro el hard:
Una bcf2000 ( alsa-midi) , interface de audio (jack-midi) y 3 teclados maestros (alsa-midi).


"Casi" todos los puertos de hardware se crean en alsa (excepto los de ffado).

Para acceder cualquier puerto de alsa a cualquier puerto de jack o viceversa, hago uso de a2jmidi.
Si lo uso con la opcion -e ( enable hardware ports) está todo bien. Puedo conectar lo que quiera a donde quiera sin problemas. A excepcion de.... ardour y la bcf2000 (en modo mackie)

Para que Ardour y la bcf2000 interactuen debo asignar uno de los puertos de Ardour como alsa/raw en vez de alsa/sequencer.
Aqui, con ese puerto raw, es donde a2jmidi y Ardour no se entienden. Pierdo ese puerto, y la controladora no sabe a donde conectarse.

Así que para poder usar la controladora bcf2000, lanzo a2jmidi sin la opcion -e.
Y funciona.
Pero claro ahora los puertos de los teclados no me aparecen en la pestaña "MIDI" ( estan solo en "alsa").


Pues nada, ni coro ni perezoso y para poder llevar los eventos de un teclado a Zynjacku, cojo, en la pestaña "alsa", un puerto de uno de los teclados y lo llevo al puerto Thru, y en la pestaña "MIDI" conecto el puerto MIDI thru a un Zynjacku.
Esto tambien funciona.

Todo me funciona... pero solo tengo un puerto midi-thru que coexista tanto en "ALSA-MIDI" como en "JACK-MIDI"
Asi que aun me quedan dos teclados por conectar a las otras 2 instancias de Zynjacku.


Realmente no se si la he liado aun mas....
Subir
#8 por vagar el 10/06/2010
La verdad es que no tengo mucha experiencia con dispositivos raw. ¿Has probado a jugar con la opción "MIDI Driver" de qjackctl?

Ars longa, vita brevis.
Mi colección de enlaces web en diigo.

Subir
#9 por monon el 10/06/2010
Aqui dejo unos esquemas ( la chapuza de cotar y pegar es por que en este momento no dispongo del hardware)

Con a2j conrriendo con la opcion de puertos hardware habilitados
Pestaña de ALSA . (En esta no hay conexiones por que dispongo de todas ellas en la pestaña de MIDI
[attachment=2:1elsq4ix]midi-alsa-a2j-conhw.png[/attachment:1elsq4ix]

Pestaña MIDI de jack ... ( aqui es donde hago las conexiones cuando HW está habilitado --opcion -e de a2j ---)
[attachment=1:1elsq4ix]misi-jack-a2j-conhw.png[/attachment:1elsq4ix]



Ahora, las imagenes de ardour conectado con la bcf2000 en modo RAW (esto hace que el de ardour MCU desaparezca, pero permite que se comuniquen correctamente) y con a2j sin la opcion de hardware . Como se puede apreciar , los puertos hardware no aparecen en la pestaña de jack-midi
Pestaña ALSA ( aqui llevo la conexion de midithru hacia zynjacku 1 )
[attachment=0:1elsq4ix]midi-alsa-a2j-sinhw.png[/attachment:1elsq4ix]
Archivos adjuntos:
midi-alsa-a2j-conhw.png
BBCode:
misi-jack-a2j-conhw.png
BBCode:
midi-alsa-a2j-sinhw.png
BBCode:
Subir
#10 por monon el 10/06/2010
aqui viene la ultima "pseudocaptura"
Pestaña MIDI ( de jack ) Aqui envio los eventos del teclado a midithru
[attachment=0:2du3x2my]midi-jack-a2j-sinhw.png[/attachment:2du3x2my]

Bueno la cosa es que como puedes ver solo puedo conectar un teclado una instancia Zynjacku
ya que en este no puedo seleccionar canales
Archivos adjuntos:
midi-jack-a2j-sinhw.png
BBCode:
Subir
#11 por monon el 10/06/2010
Ya lo estuve mirando, con ayuda de Pablo_F.
Al usar firewire no me permite cambiar el modo de MIDI driver. Se queda como "no seleccionable"
Subir
#12 por Pablo_F el 10/06/2010
Creo que lo que te hace falta es a2jmidi_bridge. Seguro que lo tienes instalado. Eso te da un puente alsa a midi. Osea, en qjackctl, driver midi ninguno, y lanzar tantas instancias de a2jmidi_bridge como puentes alsa midi a jack midi necesites.

man a2jmidi_bridge

Saludos, Pablo
Subir
#13 por monon el 10/06/2010
Hola zoolansky.
Ese precisamente es mi problema. No necesito puertos fisicos si no puertos virtuales que me sirvan de puente entre los dos modos que usa jack para enviar el MIDI.
En realidad jack solo usa un modo, lo que pasa es que a integrado el midi de alsa para asi poder tener acceso a todo ( Bueno... a casi todo) :( .
Gracias de todos
Subir
#14 por vagar el 10/06/2010
¿Los sintes que estás usando tienen versión DSSI?

Ars longa, vita brevis.
Mi colección de enlaces web en diigo.

Subir
#15 por monon el 10/06/2010
Joder perdonad se me acumula el trabajo....
cuando estoy redactando resulta que tengo mil respuestas...

Alguien escribió:
(EDITADO: ah vale, parece que no por la razón que comentas en tu post, no sabía)
Otra opción, lanzar varias instancias de a2jmidi_bridge, de forma que puedas hacer los puentes alsa seq a jack midi uno a uno, tanto soft como hard?


Creo que tienes razon quizas sea esa la solucion... voy a probar y ya os cuento

Gracias por esa luz que falta en mi craneo.... :D
Subir
Respuesta rápida

Regístrate o para poder postear en este hilo