Taula de continguts:

Tambor Raspberry Pi: 5 passos
Tambor Raspberry Pi: 5 passos

Vídeo: Tambor Raspberry Pi: 5 passos

Vídeo: Tambor Raspberry Pi: 5 passos
Vídeo: How to set up a Raspberry Pi 2024, Desembre
Anonim
Tambor Raspberry Pi
Tambor Raspberry Pi

Seqüenciador de mostra, mitjançant un Raspberry Pi + Python.

El seqüenciador té 4 polifonies i permet a l'usuari emmagatzemar i apuntar 6 seqüències diferents entre les quals es poden alternar en temps real i admet la possibilitat de canviar entre diferents mostres.

Vaig escriure el guió d'una manera totalment operativa amb qualsevol controlador MIDI i sons. Utilitzo 18 bancs de so diferents, 16 mostres cadascun, però afegir o restar bancs i mostres és fàcil i no requereix moltes modificacions. Si teniu problemes, envieu-me un correu electrònic: [email protected]

Cerqueu el codi a GitHub a: https://github.com/auscarpenter/pythonsamplesequen …

Si us plau, feu-me saber si el feu servir, i sobretot si en feu un vídeo.

Pas 1: dependències

Aquest programa requereix els següents mòduls Python (no integrats):

mido

Pygame

numpy

No obstant això, Mido presenta algunes complicacions, ja que el mateix Mido requereix algunes dependències. Per assegurar-vos que s’instal·len tots, només cal que escriviu les ordres següents al terminal del vostre Raspberry Pi (ometent el '$') i tot anirà bé. Els altres mòduls es poden instal·lar normalment.

$ 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 instal·lar python-rtmidi

$ sudo pip instal·la el mido

Pas 2: configureu els valors d'entrada Midi

Configureu els valors d’entrada Midi
Configureu els valors d’entrada Midi

Dins de l’escriptura principal de Python existeix un array anomenat noteList que consta de 16 enters (línia 165.) Aquests són els valors de notes MIDI que el nostre controlador envia al Pi per activar els sons. Tots els controladors midi són diferents, de manera que, tret que també tingueu un Akai LPD8, és probable que hàgiu d’alterar aquests valors perquè coincideixin amb el vostre dispositiu.

El repositori de Github també inclou un altre script anomenat "midihelp.py" que està fet específicament per a aquest propòsit. Tot el que fa és imprimir els valors d'entrada des del primer controlador MIDI que l'ordinador reconeix a la consola. Tot el que heu de fer és substituir aquests valors a la matriu si difereixen dels inclosos a la llista de notes.

L'ordre de les notes també es correlaciona amb quin efecte de so es reprodueix per carpeta, així que tingueu-ho en compte també.

Pas 3: afegiu carpetes addicionals amb mostres

Els kits de mostra dins de l'script s'emmagatzemen a través de carpetes del mateix directori, configurant exactament com es troba el kit 808 dins del fitxer GitHub. D'aquesta manera, puc tenir tot tipus de conjunts de mostres diferents emmagatzemats dins de carpetes que s'organitzen i substitueixen fàcilment.

L'únic que es pot canviar en el propi script és la variable foldNum que només indica a l'script quantes carpetes de mostres hi ha. Actualment, l'script té foldNum definit a un, perquè només hi ha una subcarpeta al mateix directori (el kit 808). canvieu-ho, feu-me saber si necessiteu ajuda.

Els noms de les carpetes realment no importen (sempre que siguin diferents), ja que l’escriptura només llegeix la quantitat de carpetes del mateix directori i agafa els camins d’aquesta manera. Tanmateix, els noms dels fitxers en si són importants, més detalls en el següent pas.

Pas 4: afegiu i configureu mostres addicionals a les carpetes noves

Afegiu i configureu mostres addicionals dins de carpetes noves
Afegiu i configureu mostres addicionals dins de carpetes noves

Els sons es carreguen al mostreig mitjançant carpetes del mateix directori que contenen fitxers.wav amb noms numerats entre 0 i 15. Consulteu la carpeta 808 inclosa per obtenir un exemple d'això. CADA subcarpeta amb mostres ha de tenir un aspecte idèntic entre si.

L'índex d'entrades MIDI de la matriu NoteList correspon exactament al nom del fitxer.wav.

Per exemple:

  • quan activeu la nota MIDI emmagatzemada a la llista de notes [0] es reproduiria el fitxer wav 0.wav.
  • quan activeu la nota MIDI emmagatzemada a la llista de notes [8] es reproduiria el fitxer wav 8.wav.

Ho vaig fer en part perquè tots els controladors MIDI es poguessin configurar fàcilment per treballar amb el guió, i també per poder ampliar o limitar fàcilment el número de mostra i d'entrada, així com organitzar els fitxers i el guió de manera que el tambor de peu els sons, per exemple, sempre es guardarien com a 0.wav i serien desencadenats per la primera nota MIDI.

He triat 16 valors de manera arbitrària per correspondre a les 16 entrades del meu controlador, de manera que si preferiu fer un seqüenciador amb només 1 mostra, o amb moltes més, només hauríeu de numerar els fitxers d’àudio en conseqüència i restar o afegir els números emmagatzemats a la matriu de notesList perquè coincideixin.

Si el kit 808 inclòs funciona correctament, però teniu problemes amb les vostres pròpies mostres, la solució probablement seria alterar la freqüència de mostreig dels fitxers perquè coincideixi amb la taxa de mostreig de 22, 050 kHz de PyGame i la profunditat de bits de 16. Podeu fer-ho a Audacity o qualsevol altre programari d'edició d'àudio. Haurien de funcionar perfectament a partir d’aquí.

Pas 5: referència del bloc de números

D'acord, hi ha un munt de coses que passen dins del seqüenciador, més del que inicialment tenia en ment, així que vaig aplegar bastant un número de teclat perquè coincidís amb la funcionalitat augmentada. Això en ment, l'asterisc * i el període. tots dos funcionen com a tecles de funció.

REFERÈNCIA

PRINCIPALS FUNCIONS

[8] - Activa i desactiva el metrònom

[9]: activa o desactiva el mode de gravació

[Retorn]: seqüència de reproducció / pausa

[0] - Esborra la nota actual de la seqüència

[Bloqueig numèric i *]: apagueu

[Nota MIDI i.] - No quantifiqueu a nombres parells

FUNCIONS TEMPO

[+] - Curs accelerar BPM

[-] - Curs BPM lent

[+ i *]: accelerar ràpidament el BPM

[- i *] - BPM alentit ràpidament

[+ i.] - BPM d’acceleració fina

[- i.] - BPM lent i lent

FUNCIONS DE SEQÜÈNCIA

[1-6] Recordeu la seqüència 1-6

[1-6 i.] Seqüència 1-6 de la botiga

[0 i.] Esborra la seqüència actual

CANVI DE CARPETES DE MOSTRA

[1-9 i *]: canvieu al paquet de mostra a les carpetes 1-9

[1-9 i * i.]: Canvieu a Paquet de mostra a les carpetes 10-18

CONSELLS DE SEQÜÈNCIA:

-Esborreu la seqüència actual [0 i.] I emmagatzemeu-la a les seqüències que vulgueu esborrar de la memòria.

-Recordeu una seqüència i deseu-la en un número diferent per copiar-la.

Recomanat: