Tabla de contenido:
- Paso 1: dependencias
- Paso 2: configurar los valores de entrada Midi
- Paso 3: agregue carpetas adicionales con ejemplos
- Paso 4: agregar y configurar muestras adicionales en carpetas nuevas
- Paso 5: ¡Referencia del teclado numérico
Video: Caja de ritmos Raspberry Pi: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Secuenciador de muestra, a través de Raspberry Pi + Python.
El secuenciador tiene 4 polifonías y permite al usuario almacenar y localizar 6 secuencias diferentes entre las que puede alternar en tiempo real, y admite la capacidad de cambiar entre diferentes muestras.
Escribí el guión de una manera que es totalmente operable con cualquier controlador y sonido MIDI. Utilizo 18 bancos de sonido diferentes, 16 muestras cada uno, sin embargo, agregar o restar bancos y muestras es fácil y no requiere muchas modificaciones. Si tiene algún problema, envíeme un correo electrónico: [email protected]
Encuentre el código en GitHub en:
Por favor, avíseme si lo usa, ¡y especialmente si hace un video con él!
Paso 1: dependencias
Este programa requiere los siguientes módulos de Python (no integrados):
mido
pygame
numpy
Sin embargo, Mido arroja algunas complicaciones ya que Mido en sí requiere algunas dependencias. Para asegurarse de que todos se instalen, simplemente escriba los siguientes comandos en la terminal de su Raspberry Pi (omitiendo el '$') y todo estará bien. Los otros módulos se pueden instalar normalmente.
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev o libasound2-dev
$ sudo apt-get install libjack0
$ sudo apt-get install libjack-dev
$ sudo apt-get install python-pip
$ sudo apt-get install python-dev
$ sudo pip instalar python-rtmidi
$ sudo pip instalar mido
Paso 2: configurar los valores de entrada Midi
Dentro del Script Python principal existe una matriz llamada noteList que se compone de 16 enteros (línea 165). Estos son los valores de nota MIDI que nuestro controlador envía al Pi para disparar los sonidos. Sin embargo, cada controlador midi es diferente, por lo que, a menos que también tenga un Akai LPD8, lo más probable es que deba modificar estos valores para que coincidan con su dispositivo.
El repositorio de Github también incluye otro script llamado "midihelp.py" que está hecho específicamente para este propósito. Todo lo que hace es imprimir los valores de entrada desde el primer controlador MIDI que la computadora reconoce en la consola. Todo lo que tendrá que hacer es reemplazar estos valores en la matriz si difieren de los incluidos en noteList.
El orden de las notas también se correlaciona con el efecto de sonido por carpeta que se reproduce, así que tenlo en cuenta también.
Paso 3: agregue carpetas adicionales con ejemplos
Los kits de muestra dentro del script se almacenan a través de carpetas en el mismo directorio, configurados exactamente como está el kit 808 dentro del archivo GitHub. De esta manera, puedo tener todo tipo de conjuntos de muestras diferentes almacenados en carpetas que se organizan y reemplazan fácilmente.
Lo único que puede cambiar en el propio script es la variable foldNum, que solo le dice al script cuántas carpetas de muestras hay. Actualmente, el script tiene foldNum establecido en uno porque solo hay una subcarpeta en el mismo directorio (el kit 808). La cantidad máxima de carpetas que el script puede manejar en este momento es 18, que es la cantidad que estoy usando, sin embargo, es bastante trivial para altere esto, avíseme si necesita ayuda.
Los nombres de las carpetas realmente no importan (siempre que sean diferentes) ya que el script solo lee la cantidad de carpetas en el mismo directorio y toma las rutas de esa manera. Sin embargo, los nombres de los archivos en sí son importantes, más sobre eso en el siguiente paso.
Paso 4: agregar y configurar muestras adicionales en carpetas nuevas
Los sonidos se cargan en el muestreador a través de carpetas en el mismo directorio que contienen archivos.wav con nombres numerados entre 0-15. Consulte la carpeta 808 incluida para ver un ejemplo de esto. CADA subcarpeta con muestras debe verse idéntica entre sí.
El índice de entradas MIDI en el arreglo noteList corresponde exactamente al nombre del archivo.wav.
Por ejemplo:
- cuando dispara la nota MIDI almacenada en noteList [0], se reproducirá el archivo wav 0.wav.
- cuando dispara la nota MIDI almacenada en noteList [8], se reproduciría el archivo wav 8.wav.
Hice esto en parte para que cada controlador MIDI pudiera configurarse fácilmente para trabajar con el script, y también para poder extender o limitar fácilmente la muestra y el número de entrada, así como organizar los archivos y el script para que el bombo los sonidos, por ejemplo, siempre se guardarían como 0.wav y serían activados por la primera nota MIDI.
Elegí 16 valores de forma algo arbitraria para que se correspondan con las 16 entradas de mi controlador, por lo que si prefiere hacer un secuenciador con solo 1 muestra, o con muchas más, todo lo que tendría que hacer es numerar los archivos de audio en consecuencia y reste o sume los números almacenados dentro de la matriz noteList para que coincidan.
Si el kit 808 incluido funciona correctamente pero tienes problemas con tus propias muestras, lo más probable es que la solución sea alterar la frecuencia de muestreo de los archivos para que coincida con la frecuencia de muestreo de PyGame de 22, 050 kHz y la profundidad de bits de 16. Puedes hacerlo en Audacity o cualquier otro software de edición de audio. ¡Deberían funcionar perfectamente a partir de ahí!
Paso 5: ¡Referencia del teclado numérico
De acuerdo, hay muchas cosas que suceden dentro del secuenciador, más de las que tenía en mente inicialmente, así que me metí bastante en un teclado numérico para que coincida con la funcionalidad aumentada. Esto en mente, el asterisco * y el período. ambos funcionan como teclas de función.
REFERENCIA
FUNCIONES PRINCIPALES
[8] - Activar y desactivar el metrónomo
[9] - Activar y desactivar el modo de grabación
[Enter] - Secuencia de reproducción / pausa
[0] - Eliminar nota actual en secuencia
[Bloq Num y *] - Apagar
[Nota MIDI y.] - No cuantifique a números pares
FUNCIONES TEMPO
[+] - Curso Acelerar BPM
[-] - Curso BPM más lento
[+ y *] - Acelere rápidamente BPM
[- y *] - BPM rápidamente más lento
[+ y.] - Aceleración fina BPM
[- y.] - BPM de ralentización fina
FUNCIONES DE SECUENCIA
[1-6] Recuperar secuencia 1-6
[1-6 y.] Almacenar secuencia 1-6
[0 y.] Borrar secuencia actual
CAMBIAR CARPETAS DE MUESTRA
[1-9 y *] - Cambiar al paquete de muestra en las carpetas 1-9
[1-9 y * y.] - Cambiar al paquete de muestra en las carpetas 10-18
CONSEJOS DE SECUENCIA:
-Borrar la secuencia actual [0 y.] Y almacenarla en cualquier secuencia que desee borrar de la memoria.
-Recuperar una secuencia y almacenarla en un número diferente para copiarla.
Recomendado:
Caja de ritmos simple con Arduino Uno y Mozzi: 4 pasos
Caja de ritmos simple con Arduino Uno y Mozzi: Vivir en Argentina significa que el correo internacional será robado o se quedará atascado en la aduana. Agregue la cuarentena de Coronavirus y su próximo proyecto estará restringido a una vieja placa Arduino Uno. ¿Buenas noticias? Como dice el gran poeta de los Rolling Stones "El tiempo está en m
Una caja de ritmos basura con Raspberry Pi: 15 pasos (con imágenes)
Una caja de ritmos basura alimentada por Raspberry Pi: este Instructable le mostrará cómo hacer una caja de ritmos robótica impulsada por Raspberry Pi. Realmente es un proyecto divertido, creativo e interactivo. Te mostraré cómo hacer el funcionamiento interno, pero la batería real dependerá de ti, dándote
Caja de sonido de la caja del reproductor Mp3: 5 pasos
Caja de sonido para reproductor de MP3: este es mi primer instructivo, así que sry si no lo obtiene. materiales: 1.mp3 estuche (el estuche que obtienes cuando compras el mp3 si no sabes a qué me refiero ver imagen 2) 2. cuchillo exacto 3. altavoz ya hecho con conector de audio ver paso eso es todo lo que necesitas
Caja de cedro (¿cigarro?) Caja de altavoz: 8 pasos (con imágenes)
Caja de altavoz de cedro (¿cigarro?): Inspirado en los altavoces de Munny, pero sin estar dispuesto a gastar más de $ 10, aquí está mi instructable con altavoces de computadora viejos, una caja de madera de la tienda de segunda mano y mucho pegamento caliente
Super GrooveAxe: Mini caja de ritmos: 10 pasos (con imágenes)
Super GrooveAxe: Mini Drum Machine: ¡Siente el pequeño boom! ¿Alguna vez has sentido que te estás perdiendo algunos ritmos? ¿Tu día necesita una mejor banda sonora? ¡Siente el boom con el Super GrooveAxe! Es una caja de ritmos de bolsillo que funciona con baterías y amp; secuenciador que puedes llevar a cualquier parte. Hace que víspera