Crear instrumento MIDI con 52 entradas y bajo retraso [cerrado]

1

Estoy construyendo un xilófono eléctrico, o al menos intentando, que es sensible a la velocidad. Me acerco a esto utilizando sensores piezoeléctricos. El muestreo de las notas se hará en una frambuesa pi. Hasta ahora, he conectado un ADC de 8 canales (MCP3008) a la frambuesa pi y conectado los multiplexores (4051) al ADC. Esto permitiría hasta 64 entradas analógicas. Sin embargo, con un poco de experimentación, descubrí que la lectura secuencial de las 64 entradas tomaría aproximadamente 8 ms en la pi de frambuesa en python.

La velocidad sensible en este contexto significa que si golpeo la barra (pieza de madera con piezo por debajo) con más fuerza, el sonido será más fuerte. El protocolo midi llama a esta velocidad y la determina mediante un valor entre 0 y 127, de modo que también es la precisión que necesito de la entrada analógica (7 bits).

El objetivo es tener un instrumento de 4 1/3 de octava (52 teclas), leer los datos piezoeléctricos, encontrar el pico al golpear el piezo y extraer señales midi de eso. Algunas entradas adicionales se utilizarían para el control de volumen y cosas por el estilo. Con un poco de investigación y una amplia experiencia personal, descubrí que un retraso audible comenzaría a unos 10 ms. Dado que habrá un retraso entre la muestra y mi oído (debido a DC), estimo que el retraso para el piezo a midi debe ser de alrededor de 5 ms en total.

Pensé que usar dos MCP3008 reduciría el tiempo a la mitad si utilizara un hilo por ADC. Me temo que 4 ms es demasiado para encontrar el pico sin embargo. La solución que estoy buscando no necesariamente tiene que ser extremadamente barata y no necesariamente tiene que ejecutarse en una pi frambuesa (por ejemplo, enviar las señales de un arduino a través de usb a la pi también está bien).

Algunos antecedentes personales para mostrar experiencia y habilidad que puedo aplicar al proyecto: Licenciatura en informática, trabajando en un máster, por lo que la programación en cualquier idioma no debería ser un problema. Habilidades superficiales y en su mayoría autodidactas en electrónica, pero por supuesto están dispuestas a aprender. Más de 10 años de experiencia musical con tambores y una variedad de otros instrumentos.

¿Cuáles son mis opciones para construir esta configuración con las diferentes opciones de costo? Si desea más información, con gusto la proporcionaré.

Editar: se agregó información sobre el retardo solicitado, el significado de la sensibilidad a la velocidad en este contexto y el contexto personal contextual.

    
pregunta Rien Heuver

2 respuestas

1

¿Qué tal una variedad de arduinos? No será la solución más pequeña , pero aún así debería ser razonablemente barata y fácil de desarrollar.

Según el modelo que elija, cada placa tendrá entre 6 y 16 canales ADC. Estos se conectarán a una clave de xilófono individual. Luego escribe el código para que los Arduinos manejen sus propias claves. Dado que esto es lo único que Arduino tiene que hacer, debería ser factible incluso con el limitado poder de la CPU.

Luego puedes colocarlos en un bus SPI o I²C común, hablando con otro Arduino o con una Raspberry Pi, que convertirá los mensajes individuales a un flujo MIDI.

    
respondido por el pipe
0

Podrías tener 2 interruptores en cada tecla. Una que se cierra con una presión pequeña y otra que se cierra cuando se presiona la tecla hasta el fondo. Luego puedes usar el tiempo entre los 2 interruptores que se cierran y conoces la velocidad. Creo que es bastante común hacerlo de esta manera.

respondido por el Swagministeren

Lea otras preguntas en las etiquetas