Autor Tema: ORGANO CON PIC CONTROLADO POR MIDI  (Leído 7921 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado beatncore

  • PIC10
  • *
  • Mensajes: 3
ORGANO CON PIC CONTROLADO POR MIDI
« en: 08 de Diciembre de 2003, 20:02:00 »
Mi intencion es que el PIC me de una señal de frecuencia correspondiente a la nota que toco desde un teclado MIDI o secuenciador.
¿Alguien tiene idea de como esta estructurado el protocolo MIDI?

Saludos

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
RE: ORGANO CON PIC CONTROLADO POR MIDI
« Respuesta #1 en: 09 de Diciembre de 2003, 11:54:00 »
Te dejo este enlace que encontraras cosas interesantes para tu proyecto
http://www.audiomulch.com/midipic/

Tendrías que estudiar el protocolo que es por rs232  e ir descifrando los comandos , nota On/Off , instrumento , canal etc.

suerte

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: ORGANO CON PIC CONTROLADO POR MIDI
« Respuesta #2 en: 09 de Diciembre de 2003, 21:01:00 »
Buen enlace Sispic... coloque la info en  el almacen, http://miarroba.com/foros/ver.php?foroid=132071&temaid=1297279


Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado beatncore

  • PIC10
  • *
  • Mensajes: 3
RE: ORGANO CON PIC CONTROLADO POR MIDI
« Respuesta #3 en: 10 de Diciembre de 2003, 18:36:00 »
Gracias, pero no esta del todo relacionado con lo que quiero hacer.
Esa pagina esta dedicada a controladores midi, o sea que generan mensajes midi a partir de interfases analógicas. Mientras que lo que yo quiero es lo contrario, no?

saluD.O.S.

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
RE: ORGANO CON PIC CONTROLADO POR MIDI
« Respuesta #4 en: 16 de Diciembre de 2003, 10:16:00 »
http://homepage.ntlworld.com/derek.johnson/

haver si sacas algo de aqui tiene buena pinta.
Aunque lo que haria seria conectarlo al com del pc con un adaptador de niveles  para ver los valores que manda a cada pulsacion del teclado .

algunos comandos .
Codigo:

   movlw   0x90      ; note on, channel 1
   movwf   xmit
   call   sendmidi
   
   movlw   0x3C      ; middle C
   movwf   xmit
   call   sendmidi

   movlw   0x7F      ; velocity 127
   movwf   xmit
   call   sendmidi

   call   secdelay

   movlw   0x80      ; note off, channel 1
   movwf   xmit
   call   sendmidi
   
   movlw   0x3C      ; middle C
   movwf   xmit
   call   sendmidi

   movlw   0x7F      ; velocity 127
   movwf   xmit
   call   sendmidi



claro.... interpretandolo al reves .
tengo que tenerlos todos por algun sitio , si los encuentro los pongo aqui.

suerte

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
RE: ORGANO CON PIC CONTROLADO POR MIDI
« Respuesta #5 en: 26 de Diciembre de 2003, 02:00:00 »
Aqui  he puesto el Interfaz MIDI con el formato de las secuencias del protocolo.

http://miarroba.com/foros/ver.php?foroid=132071&temaid=1351364

Espero  te ayude .

Desconectado Tec_Claudio_Perez

  • PIC12
  • **
  • Mensajes: 62
RE: ORGANO CON PIC CONTROLADO POR MIDI
« Respuesta #6 en: 26 de Diciembre de 2003, 15:25:00 »
Hola,
Hace un tiempo con un PIC16F84 armé una batería MIDI, además hice un receptor MIDI que enciende leds de acuerdo a la nota presionada. La idea era luego hacer un Dimmer recibiendo mensajes de Controladores Continuos, pero eso no lo terminé.

La mayor parte de la información la conseguí en:

http://www.harmony-central.com/MIDI/

La norma MIDI es similar al RS-232, pero con niveles invertidos, en RS-232 la linea en reposo está siempre en 1, al enviar un bit se pone a 0, en MIDI es al revés. Además la velocidad de transmisión es alta: 31250 bits por segundo (cada bit dura 32 usec), con 1 bit de start, 8 bits de datos y 1 bit de stop (en notación RS-232 seria: 31250,N,8,1).

La mayoría de las PC tienen un Puerto MIDI en el puerto de Joystick:

DB15 Señal
8        VCC (5V)
12      MIDI TX (salida TTL de la PC)
15      MIDI_RX (entrada TTL de la PC)
5        GND

Para desarrollar el receptor MIDI podrias conectar el pic a este puerto y con un programa hacer que la PC envíe mensajes MIDI.

Para enviar los mensajes MIDI desde la PC podrías utilizar un secuenciador (Cakewalk Pro Audio, Cubase VST, el Sound Forge también puede enviar MIDI), el problema es que es un poco complicado aprender a utilizarlos.
Para ver los mensajes MIDI te conviene utilizar el "MIDI Monitor" que te permite ver los bytes en hexa que llegan o salen de un puerto MIDI:

http://www.harmony-central.com/Software/Windows/midimonitor.html

Otra utilidad muy buena se llama Hubi"s MIDI loopback:

http://members.nextra.at/hubwin//midi.html

En RS-232 cuando una aplicación abre un puerto, ninguna otra lo puede utilizar, lo mismo pasa con MIDI, pero con este loopback se puede compartir el mismo puerto desde varios programas.

Los mensajes MIDI vienen en varias categorías por ejemplo al presionar una tecla en un teclado MIDI, este envía un mensaje "Note On" que se traduce en 3 bytes: 1 byte de STATUS 0x9X (donde el LSB lleva el canal) y dos bytes de DATOS, donde el primer byte de datos es la tecla presionada y el ultimo es la fuerza con que se presionó que se traduce al volumen con que debe sonar la nota.
ej:
0x90 0x3C 0x40   Note On/Canal 0, Middle C, Volumen 0x40.
0x91 0x3C 0x20   Note On/Canal 1, Middle C, a mitad de volumen que el anterior.

Al soltar la tecla se genera un "Note Off", similar al anterior pero el byte de STATUS es 0x8X, y el 2do byte de datos siempre debe ser 0x00.
ej:
0x80 0x3C 0x00   Note Off/Canal 0, Middle C, fuerza 0.

Para ver todos los otros tipos de mensajes MIDI fijate la Especificación MIDI:

http://www.borg.com/~jglatt/tech/midispec.htm

Finalmente para conectar el PIC a cualquier dispositivo MIDI, deberías agregarle un puerto MIDI. El hardware MIDI utiliza lazos de corriente para enviar la información, esto permite mucha inmunidad al ruido y grandes longitudes de cable. Hay tres conectores normalizados marcados como MIDI IN, MIDI OUT y MIDI THRU. Un excelente referente son las interfaces MIDI para PC:

http://www.harmony-central.com/MIDI/interface.html

En tu caso, ya que solo querés recibir MIDI solo deberías armar el conector MIDI IN. Los optoacopladores a veces son difíciles de conseguir, el problema es que los optos comunes no tienen suficiente velocidad, sin embargo con algunas modificaciones se pueden usar 4N35 comunes.

Luego sigo con otras herramientas, técnicas y sugerencias.
Espero que te sirva.

       Téc. Claudio J. Pérez
Ciberar-Sistemas & Desarrollos
          Jujuy-Argentina

Desconectado beatncore

  • PIC10
  • *
  • Mensajes: 3
RE: ORGANO CON PIC CONTROLADO POR MIDI
« Respuesta #7 en: 05 de Diciembre de 2004, 11:25:00 »
Hola, gracias y disculpas por la demora.....jeje

me podes explicar como es eso de el bit de start y stop??porque pense que mandaba solamente los bytes y no bits "sueltos".

Saludos


 

anything