Error Mensaje sysex Roland

pablofcid mod
#16 por pablofcid el 26/04/2020
Según el manual si eliges checksum roland no tienes más parámetros que ajustar. Lo que implica que remote está seguramente tomando ya los 5 bytes adecuados para la suma.
Puedes probar a ver que genera remote de esa forma y me mansas un par de ejemplos con tu código inicial (
F0 41 06 00 12 11 10 00 00 0E DV CS F7)???
Subir
OFERTASVer todas
  • -40%
    ¡Precio mínimo histórico! AKAI MPK 261
    298 €
    Ver oferta
  • -26%
    AKAI MPC Key 61
    1.290 €
    Ver oferta
  • -35%
    Set de grabación completo de Focusrite
    184 €
    Ver oferta
Ruido genérico
#17 por Ruido genérico el 26/04/2020
pablofcid escribió:
A qué se refiere los individual área y lo de bulk área?


Ni yo teniendolo aqui delante lo se. Ayer leí alguna refencia en algún sitio sobre otro equipo roland, pero era bien entrada ya la madrugada y no se me ha quedado nada. Tendría que probar que resultados obtengo en ambas "areas" aunque creo recordar que lo que a mi me interesa es la parte "individual".

pablofcid escribió:
Y otra recomendación: es más fácil si empiezas con un mensaje de la parte system(...)


Tienes razón, probaré con algo que esté en un bloque más inmediato, como el que comentas. Y lo de fijar el checksum no se me había ocurrido, si que estuve mirando como calcularlo pero tan pronto empecé a pensar en tener que calcularlo para cada parametro que iba a mapear me dió bastante pereza, siendo sincero. Así que no puse demasiada atenció.


pablofcid escribió:
Según el manual si eliges checksum roland no tienes más parámetros que ajustar. Lo que implica que remote está seguramente tomando ya los 5 bytes adecuados para la suma.


Eso me parecía. Como te comentaba el mismo Novation agrega el valor CS tan pronto se selecciona ROLAND en data type, asi que supuse que hacía el cálculo automaticamente para esa marca.

pablofcid escribió:
Puedes probar a ver que genera remote de esa forma y me mansas un par de ejemplos con tu código inicial (
F0 41 06 00 12 11 10 00 00 0E DV CS F7)???


Claro, voy a ir probando y te digo.
Subir
Endre
#18 por Endre el 26/04/2020
pablofcid escribió:
F0 41 06 00 12 11 10 00 00 0E DV CS F7

Yo veo ahi demasiados vectores. Cuento trece y creo que deberían haber doce para un Roland.

Algo como F0 41 10 6A 12 03 00 10 53 DV CS F7. Esto es para la resonancia de un JV-1080, pero hay que tener en cuenta que los bits variables (DV) los trata el remote como un único valor.
Subir
Ruido genérico
#19 por Ruido genérico el 26/04/2020
Endre escribió:
Yo veo ahi demasiados vectores. Cuento trece y creo que deberían haber doce para un Roland.


Puede ser, No creo que haya un estandar, parece logicamente responder a la cantidad de parametros a controlar en la maquina, la estructura de los bancos etc. A mi Alpha juno le mando mensajes de 9 bits.

Sin embargo me parece bien apuntado acerca del tratamiento de los DV en el remote, al igual que hace con el checksum podría simplificar también la información que presenta y el mensaje del remote ser en apariencia más corto que los que arroja la reverb (?)

Otra variable más para complicar las pruebas.



Probando esta tarde otro poco no he podido obtener ningún mensaje desde la reverb que no sea por medio de volcado, los knobs no parecen mandar mensaje al ajustar los parámetros internos. Voy bastante a ciegas.

Ahora le voy a dar otro rato, pero en este punto estoy a ver si suena la flauta practicamente. Empezaré con las sugerencias de Pablo... a ver que manda el remote con el CS y ver si consigo que la roland responda a un mensaje de sistema. Pondré también un ojo al tema de los bits variables, gracias.

Un saludo
Subir
pablofcid mod
#20 por pablofcid el 26/04/2020
Los mensajes sysex en cada equipo son diferentes y pueden tener distinta longitud y configuración.
Para el modelo que te interesa, está en las imágenes que has enviado al principio:

F0 inicio de sysex
41 roland id
06 device id
00 12 model number (según la época en roland puede ser un, dos, tres... bytes, para el que se habla aquí es 00 12)
11 comando (debería ser 12, no 11, para data set)
10 00 00 0E dirección (4 bytes)
DV valor deseado
CS checksum
F7 end of sysex
Subir
Ruido genérico
#21 por Ruido genérico el 26/04/2020
El Remote hace el checksum. Dos ejemplos:

Con valor de pote cero: F0 41 06 00 12 12 10 00 00 0E 00 50 F7

Con valor de pote uno: F0 41 06 00 12 12 10 00 00 0E 01 4F F7

Voy a dedicarme a probar el mensaje para cambiar el contraste del led
Subir
pablofcid mod
#22 por pablofcid el 26/04/2020
Debes usar el área individual, no la de bulk. En el manual de implementación MIDI aclara el uso de cada.
Subir
1
Ruido genérico
#23 por Ruido genérico el 26/04/2020
Mensaje para cambiar el contraste del led, con diferentes longitudes:

F0 41 06 00 12 12 40 00 00 0D DV CS F7
F0 41 06 00 12 12 40 00 0D DV CS F7
F0 41 06 00 12 12 40 0D DV CS F7

La unidad responde con Receiving error a todos ellos (bloque system parameters, individual area)



Si pruebo el mismo mensaje en el bloque bulk area, la unidad no responde. Esto sería:

F0 41 06 00 12 12 00 00 00 0D DV CS F7
Subir
pablofcid mod
#24 por pablofcid el 26/04/2020
Ya he visto lo que pasa. Te cuento: remote esta calculando mal el checksum

El mensaje que capturaste con midiox desde el equipo: F0 41 06 00 12 12 20 00 00 00 00 60 F7

Hace lo correcto, lógicamente: si sumas los bytes de dirección, datos y el check, da 80 (todo en hex). 20+00+00+00+00+60 = 80

Pero lo que genera remote mete (y no debería) el último 12 en el cálculo, se ve en este ejemplo que diste:
Alguien escribió:
Con valor de pote cero: F0 41 06 00 12 12 10 00 00 0E 00 50 F7


Si sumas 10+00+00+0E+50 = 6E, que está a falta de 12 para ser correcto (6E+12 = 80) Así que remote está metiendo un byte de más en los cálculos.

Tiene mal remedio. Prueba a poner 00 en vez del checksum y cruza los dedos. Eso me sirvió con remote y roland soniccell.
Subir
Ruido genérico
#25 por Ruido genérico el 26/04/2020
pablofcid escribió:
Tiene mal remedio. Prueba a poner 00 en vez del checksum y cruza los dedos. Eso me sirvió con remote y roland soniccell.


Desgraciadamente no funciona. Llegados a este punto y con la cantidad de parámetros que tiene la unidad ( son dos motores) creo que desistiré. La pondré en algún sitio más accesible y la ajustaré manualmente.

No me animo a hacer el cálculo para el CS de cada parámetro, ni aún contando con la utilidad para ello, sin saber si el resto del mensaje es correcto.

Al menos algo he aprendido por el camino, siempre es interesante el mundo del sysex. Muchas gracias por los esfuerzos Pablo.

Un saludo
Subir
Dani Dominguez
#26 por Dani Dominguez el 29/04/2020
Podríamos decir entonces que el Novation Remote Zero SL tiene dificultades para calcular el Checksum para equipos Roland?? Estoy "on fire" con el tutorial del Maestro Pablofcid (nunca estaremos suficientemente agradecidos por tu dedicación y generosidad) sobre "sysex" y aprovechando esta cuarentena para entrar a saco en mi Roland Jv1010. Tengo un Bitstream 3x, que es un controlador excepcional, pero con tantas opciones que la curva de aprendizaje del "sysex" y del Bitstream se me esta haciendo cuesta arriba (aunque soy muy cabezota y tengo tiempo :)
Para "aplanar la curva", estaba pensando en hacerme con un Novation Remote Zero para mi set, pero ese checksum en mi caso en vital...

PD: Espero que esto no sea salirse del "topic", si es así, pido disculpas y abriré otro topic
Subir
Ruido genérico
#27 por Ruido genérico el 29/04/2020
#26 Yo creo que está on topic, por mi no hay problema.

En mi caso como comentaba anteriormente tengo otro equipo Roland y no tuve dificultades con el checksum, del que el novation se encargó automaticamente. El compañero Endre comentaba algo acerca de un jv1080, quizás te pueda echar un cable con eso y confirmarte si en su caso ha tenido mayores inconvenientes.

Coincido en que los tutoriales de Pablofcid sobre el tema están muy bien, es cierto que hay mucho que agradecer.


Un saludo
Subir
Endre
#28 por Endre el 29/04/2020
mikelh2so4 escribió:
El compañero Endre comentaba algo acerca de un jv1080, quizás te pueda echar un cable con eso y confirmarte si en su caso ha tenido mayores inconvenientes.

El JV-1080 parece estar diseñado para controlarse por sistema exclusivo. Responde perfectamente. Es sencillo comprender las operaciones de las direcciones y mi Novation SL mkii hace el resto con los valores de checksum y bit variable.

Para calcular el mensaje que he comentado en mi anterior post (controlar la resonancia del tono 1 del programa single seleccionado) la cosa iría de esta manera:

F0 41 10 6A 12 03 00 10 53 DV CS F7, donde

F0, es la entrada de cadena
41, es la firma de la marca Roland
10, es el ID de la unidad (en el manual dice que hay que restar 1 a la unidad. Lo tengo en 17; así 17-1=16, en hexagesinal, 16 es 10H)
6A, es el ID del modelo JV-1080
12, es el tipo de mensaje de sistema exclusivo (11 para volcado, 12 para control en tiempo real)
03 00 10 53, es la dirección de la resonancia para el tono 1 del programa single seleccionado (memoria temporal)

sería esta suma:
03 00 00 00 (patch user temporal)
.............10 00 (tone 1, de los cuatro que tiene cada programa)
.............00 53 (para seleccionar la resonancia)

Luego el remote añade DV y CS porque le hemos dicho que se trata de un Roland con 10 vectores de cadena (sin contar F0 y F7).También hay que decirle dónde está el vector de bit variable (DataPsn=9).

F7, es para cerrar la cadena de sistema exclusivo

Creo que no me he dejado nada. Un JV-1010 debe ser algo parecido.
Subir
Dani Dominguez
#29 por Dani Dominguez el 30/04/2020
#28

Pues algo parecido en el Jv1010, no.... EXACTAMENTE el mismo mensaje sysex que en el Jv1080!!! Lo he comprobado en el mapa de memoria del manual del Jv1010... :plasplas: :plasplas: :plasplas:

Lo probaré esta noche a ver como funciona... Aunque creo que el problema que estoy encontrando es que tengo que habilitar el "recibir" mensajes de system exclusive (o el canal donde lo recibe...)

Infinitas gracias por la ayuda
Subir
pablofcid mod
#30 por pablofcid el 30/04/2020
Bravo. Qué bien que os animéis con el sysex.
Por cierto, se dice hexadecimal.

#28 : tú qué lo tienes reciente, ¿puedes comentarle a #1 dónde ajustas en remote la longitud de la cadena / posición del dato? A ver si así consigue que le funcione.
No he llegado aún a mirar el mío para comprobar.
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo