Cuprins:
- Pasul 1: Dependențe
- Pasul 2: Configurați valorile de intrare Midi
- Pasul 3: Adăugați foldere suplimentare cu eșantioane
- Pasul 4: Adăugați și configurați mostre suplimentare în dosare noi
- Pasul 5: Numărul de referință al tastaturii
Video: Mașină de tambur Raspberry Pi: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Sample Sequencer, prin intermediul unui Raspberry Pi + Python.
Secvențierul are 4 polifonii și permite utilizatorului să stocheze și să aleagă 6 secvențe diferite pe care le pot alterna în timp real și sprijină capacitatea de a schimba între diferite eșantioane.
Am scris scenariul într-un mod care este complet operabil cu orice controler MIDI și sunete. Folosesc 18 bănci de sunet diferite, câte 16 eșantioane, însă adăugarea sau scăderea băncilor și eșantioanelor este ușoară și nu necesită multe modificări. Dacă aveți probleme, trimiteți-mi un e-mail: [email protected]
Găsiți codul pe GitHub la:
Vă rog să-mi spuneți dacă îl utilizați și mai ales dacă creați un videoclip cu el!
Pasul 1: Dependențe
Acest program necesită următoarele module Python (non built in):
mido
pygame
neclintit
Cu toate acestea, Mido prezintă unele complicații, deoarece Mido în sine necesită câteva dependențe. Pentru a vă asigura că toate sunt instalate, introduceți următoarele comenzi în terminalul Raspberry Pi (omițând „$”) și totul va fi bine. Celelalte module pot fi instalate normal.
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev sau 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 instalează python-rtmidi
$ sudo pip instalează mido
Pasul 2: Configurați valorile de intrare Midi
În Scriptul principal Python există o matrice numită noteList care este alcătuită din 16 numere întregi (linia 165.) Acestea sunt valorile note MIDI pe care controlerul nostru le trimite către Pi pentru a declanșa sunetele. Fiecare controler midi este diferit, deci, cu excepția cazului în care aveți și un Akai LPD8, cel mai probabil va trebui să modificați aceste valori pentru a se potrivi cu dispozitivul dvs.
Repoziția Github include, de asemenea, un alt script numit „midihelp.py”, care este creat special în acest scop! Tot ce face este să imprime valorile de intrare de la primul controler MIDI recunoscut de computer către consolă. Tot ce va trebui să faceți este să înlocuiți aceste valori în matrice dacă acestea diferă de cele incluse în noteList.
Ordinea notelor se corelează, de asemenea, cu efectul de sunet pe care este redat fișierul, așa că rețineți acest lucru.
Pasul 3: Adăugați foldere suplimentare cu eșantioane
Kituri de probă din script sunt stocate prin foldere în același director, configurează exact modul în care este setul 808 în fișierul GitHub. În acest fel pot avea tot felul de seturi de eșantioane diferite stocate în foldere care sunt ușor organizate și înlocuite.
Singurul lucru de modificat în scriptul în sine este variabila foldNum, care doar spune scriptului câte dosare de mostre există. În prezent, scriptul are foldNum setat la unul, deoarece există un singur subfolder în același director (kitul 808). Folderele maxime pe care scriptul le poate gestiona în acest moment sunt 18, care sunt câte le folosesc, cu toate acestea este destul de banal pentru modificați acest lucru, anunțați-mă dacă aveți nevoie de ajutor.
Numele folderelor nu contează cu adevărat (atâta timp cât sunt toate diferite), deoarece Scriptul citește doar cantitatea de foldere din același director și apucă căile în acest fel. Numele fișierelor în sine sunt importante, totuși, mai multe despre asta în pasul următor.
Pasul 4: Adăugați și configurați mostre suplimentare în dosare noi
Sunetele sunt încărcate în eșantionator prin foldere din același director care conține fișiere.wav cu nume numerotate între 0-15. Consultați folderul 808 inclus pentru un exemplu în acest sens. FIECARE subfolder cu mostre ar trebui să arate identic unul cu celălalt.
Indexul intrărilor MIDI din matricea noteList corespunde exact cu numele fișierului.wav.
De exemplu:
- atunci când declanșați nota MIDI stocată în noteList [0] se va reda fișierul wav 0.wav.
- când declanșați nota MIDI stocată în noteList [8], fișierul wav 8.wav va fi redat.
Am făcut acest lucru parțial, astfel încât fiecare controler MIDI să poată fi configurat cu ușurință pentru a lucra cu scriptul, și, de asemenea, pentru a putea extinde sau limita cu ușurință eșantionul și numărul de intrare, precum și pentru a organiza fișierele și scriptul astfel încât kick drum sunetele, de exemplu, ar fi salvate întotdeauna ca 0.wav și ar fi declanșate de prima notă MIDI.
Am ales 16 valori oarecum arbitrar pentru a corespunde celor 16 intrări de pe controlerul meu, așa că, dacă preferați să creați un secvențiator cu doar 1 eșantion, sau cu multe altele, tot ce trebuie să faceți este să numerotați fișierele audio în consecință și scade sau adaugă numerele stocate în matricea noteList pentru a se potrivi.
Dacă kitul 808 inclus funcționează corect, dar aveți probleme cu propriile probe, soluția ar fi cel mai probabil să modificați rata de eșantionare a fișierelor pentru a se potrivi cu rata de eșantionare PyGame 22, 050khz și adâncimea de biți de 16. Puteți face acest lucru în Audacity sau orice alt software de editare audio. Ar trebui să funcționeze perfect de acolo!
Pasul 5: Numărul de referință al tastaturii
Ok, se întâmplă o mulțime de lucruri în cadrul secvențierului, mai mult decât mi-am gândit inițial, așa că m-am înghesuit destul de mult pe un tampon numeric pentru a se potrivi cu funcționalitatea sporită. Asta în minte, Asteriscul * și Perioada. ambele funcționează ca taste funcționale.
REFERINŢĂ
FUNCTII PRINCIPALE
[8] - Activați și dezactivați metronomul
[9] - Activați și dezactivați modul de înregistrare
[Enter] - secvența Redare / Pauză
[0] - Ștergeți nota curentă în secvență
[Num Lock și *] - Opriți
[Notă MIDI și.] - Nu cuantificați la numere pare
FUNCȚII TEMPO
[+] - Curs accelerează BPM
[-] - BPM curs lent
[+ și *] - Accelerați rapid BPM
[- și *] - BPM încetini rapid
[+ și.] - BPM accelerează fin
[- și.] - BPM încetinit fin
FUNCȚII DE SECVENȚĂ
[1-6] Reamintim secvența 1-6
[1-6 și.] Secvența de stocare 1-6
[0 și.] Ștergeți secvența curentă
MODIFICAREA FOLDERELOR EȘANTIOANE
[1-9 și *] - Schimbați pachetul de probe în folderele 1-9
[1-9 și * și.] - Schimbați în Sample Pack din folderele 10-18
SFATURI DE SECVENȚĂ:
-Stergeți secvența curentă [0 și.] Și stocați-o în orice secvență pe care doriți să o eliminați din memorie.
-Revocați o secvență și stocați-o pe un număr diferit pentru a o copia.
Recomandat:
TR 808 Bass Tambur. Sunet analog !: 5 pași (cu imagini)
TR 808 Bass Tambur. Sunet analog !: Sunet analog de la clasica mașină de tobe. Acest proiect datează de la sfârșitul anilor '90, când lucram ca tehnician electronic și, de obicei, obțineam un sortiment schematic pentru un preț. TR 808 era pe acele scheme și în acel moment eu, deși eu
Micro: bit - Micro tambur: 10 pași (cu imagini)
Micro: bit - Micro Drum Machine: Acesta este un micro: bit micro tambur, care în loc să genereze doar sunetul, acționează cu tobe. Este greu inspirat de iepurii din orchestra micro: bit. Mi-a luat ceva timp să găsesc niște solenoizi ușor de utilizat cu mocro: bit
HX1-DM - Mașina de tambur DIY Arduino reciclată Upcycled (fabricată cu un Dead Maschine MK2): 4 pași
HX1-DM - Mașina de tambur DIY Upcycled Arduino DUE (fabricată cu un Dead Maschine MK2): Spec. Controler / tambur Midi hibrid: alimentat cu Arduino DUE! 16 tampoane de detectare a vitezei cu latență foarte scăzută 1 > ms 8 butoane de utilizator alocabile oricărei comenzi Midi #CC 16ch Built-in sequencer (nu este nevoie de computer !!) MIDI in / out / thru functio
O mașină de tambur alimentată cu Raspberry Pi: 15 pași (cu imagini)
O mașină de tambur alimentată cu Raspberry Pi: acest manual vă va arăta cum să faceți o mașină de tambur robotizată cu Raspberry Pi. Este într-adevăr un proiect distractiv, creativ, interactiv. Vă voi arăta cum să faceți funcționarea internă, dar tobe reale vor depinde de dvs., oferindu-vă
Mașină de tambur servo Arduino: 4 pași
Arduino Servo Drum Machine: Acesta este un robot simplu cu două micro-servo și Arduino Uno controlat cu tambur sau robot. Servo-urile sunt montate pe un suport de lemn în formă de L care este ținut de tamburul cu 4 magneți puternici. Brațele servo sunt fixate la două bețișoare care servesc ca