Linux metronomo como MIDI Clock Slave

vud1
#1 por vud1 el 21/09/2021
Pues lo que dice el titulo...

El tema es que quiero sincronizar una caja de ritmos que funciona como MIDI clock master y quiero sincronizarlo con otro aparato de hardware que se sincroniza con ritmos de audio...

Para hacer la sync, quería probar convertir una raspberry como cliente MIDi Clock y, a su vez, que funcionara como metronomo emitiendo Beeps para el segundo hardware... Alguna idea sobre como abordar este tema?

Por lo que he leido si sería más sencillo el trabajar con el Jack-transport y de ahi emitir el sonido y el midi clock.. pero esto supondría convertir a mi raspberry en el Midi clock Master... que estaría guay, sino fuera porque necesito una interfaz para gestionar el tempo.. y no quiero complicar más la cosa.

Asi que eso.. como puedo hacer para que el linux se comporte como midi clock slave y, en función del tempo, emita sonidos como un metronomo?
Subir
OFERTASVer todas
  • -7%
    Modal Argon8 (B-Stock)
    559 €
    Ver oferta
  • -26%
    Slate Digital ML-1 Matte Black
    325 €
    Ver oferta
  • -11%
    Arturia Minilab 3
    85 €
    Ver oferta
Epiphone
#2 por Epiphone el 22/09/2021
Podría valerte Sonic pi, que funciona con la Rapsberry, Aqui puedes buscar información al respecto, usa en el buscador Midi Clock y te saldrán los post en lo que se habla de ello.


Suerte
Subir
1
vud1
#3 por vud1 el 22/09/2021
He encontrado esto:

https://github.com/fuhry/piclicktrack

Está basado en python rtmidi y creo que hace exactamente lo que quiero.

Puede funcionar como maestro o esclavo de MIDI y a la vez emite Beeps. Tiene una interfaz Qt... En mi caso, como no quiero interfaz y que funcione siempre de la misma manera creo que podré coger el código y capar las opciones visuales para que se ejecute de la misma. Me da que va a ser más rápido caparlo que hacerlo de cero.
Subir
vud1
#4 por vud1 el 25/09/2021
Pues por si a alguien le pudiera interesaar..


Lo he estado mirando, y al final desarrollé facilmente una primera aproximación, recogiendo, a través de jack, todos los eventos MIDI que me llegaban del MIDI Clock.

Basicamente lo que hace el midi clock es mandar 24 señales por cada "Beat" por minuto de tempo que está utilizando. Así que recogiendo esos 24 Beats, calculando los tiempos que se suceden entre ellos (ya sea a traves de frame time o time de la maquina) puedes hacer una aproximación fiable de cuales son los BPM de lo que está sonando. Haciendo pruebas llegué a aproximarlo con varias decimas y la cosa parecia bastante fiable.

Después quedaba la segunda parte, que era a partir de los BPM hacer el metronomo... y por ahorrar código, eficiencia y sencillez... finalmente hice un cambio de perspectiva y simplemente lancé un Beep cada 24 MIDI inputs.... y ya.

El unico problema que tiene esta segunda aproximación es que realmente, de esos 24 Beats, no sabes cual es el que corresponda con la negra, para hacer sonar el beep. Asi que te puede pasar que, aunque sincronizado, tu golpe del beep y el del Midi no vayan a la par. Este punto lo medio solventé mirando el resto de las señales que emite el midi.. y, al menos mi caja de ritmos, cuando le das a iniciar, lanzar un mensaje extra de "AHI VAMOS". Así que establezco ese punto para saber que es el golpe fuerte...

Medio funciona.. pero hay que testear mas.


Subir
1
igny
#5 por igny el 25/09/2021
Enhorabuena :plasplas: :plasplas:
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo