Sadržaj:
- Korak 1: Zavisnosti
- Korak 2: Konfigurirajte Midi ulazne vrijednosti
- Korak 3: Dodajte dodatne mape s uzorcima
- Korak 4: Dodajte i konfigurirajte dodatne uzorke unutar novih mapa
- Korak 5: Referenca numeričke tablice
Video: Raspberry Pi bubanj mašina: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Sample Sequencer, putem Raspberry Pi + Python.
Sekvencer ima 4 polifonije i omogućava korisniku da pohrani i postavi 6 različitih sekvenci u kojima se mogu izmjenjivati u stvarnom vremenu, te podržava mogućnost promjene između različitih uzoraka.
Napisao sam skriptu na način koji je potpuno operativan sa zaista bilo kojim MIDI kontrolerom i zvukovima. Koristim 18 različitih zvučnih banaka, po 16 uzoraka, međutim dodavanje ili oduzimanje banaka i uzoraka je jednostavno i ne zahtijeva mnogo izmjena. Ako imate bilo kakvih problema, pišite mi na e -mail: [email protected]
Pronađite kôd na GitHub -u na:
Javite mi ako ga koristite, a posebno ako s njim snimite video!
Korak 1: Zavisnosti
Ovaj program zahtijeva sljedeće (ne ugrađene) Python module:
mido
pygame
numpy
Međutim, Mido stvara neke komplikacije jer sam Mido zahtijeva nekoliko ovisnosti. Da biste bili sigurni da se svi instaliraju, samo upišite sljedeće naredbe u terminal vašeg Raspberry Pi -a (izostavljajući '$') i sve će biti u redu. Ostali moduli se mogu normalno instalirati.
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev ili 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 install python-rtmidi
$ sudo pip instalirajte mido
Korak 2: Konfigurirajte Midi ulazne vrijednosti
Unutar glavnog Python skripta postoji niz nazvan noteList koji se sastoji od 16 cijelih brojeva (red 165.) To su MIDI notne vrijednosti koje naš kontroler šalje Pi -u da aktivira zvukove. Svaki midi kontroler je ipak drugačiji, pa ako nemate i Akai LPD8, najvjerojatnije ćete morati promijeniti ove vrijednosti kako bi odgovarale vašem uređaju.
Github repo sadrži i drugu skriptu pod nazivom "midihelp.py" koja je napravljena posebno za ovu svrhu! Sve što radi je ispis ulaznih vrijednosti s prvog MIDI kontrolera koji računalo prepoznaje na konzoli. Sve što trebate učiniti je zamijeniti ove vrijednosti u nizu ako se razlikuju od onih uključenih u noteList.
Redoslijed nota takođe korelira sa zvučnim efektom po folderu, pa imajte i to na umu.
Korak 3: Dodajte dodatne mape s uzorcima
Primjeri setova unutar skripte pohranjeni su kroz mape u istom direktoriju, točno postavljeno kako je komplet 808 unutar GitHub datoteke. Na ovaj način mogu imati sve vrste različitih skupova uzoraka pohranjenih u fasciklama koje se lako organiziraju i zamjenjuju.
Jedino što se može promijeniti u samoj skripti je varijabla foldNum koja samo govori skripti koliko mapa sa uzorcima postoji. Trenutno skripta ima foldNum postavljenu na jednu jer postoji samo jedna podmapa u istom direktoriju (komplet 808.) Maksimalni broj fascikli koje skripta trenutno može obraditi je 18, koliko ih ja koristim, međutim prilično je trivijalno promijenite ovo, javite mi ako vam je potrebna pomoć.
Nazivi mapa nisu bitni (sve dok su svi različiti) jer Script samo čita količinu mapa u istom direktoriju i na taj način hvata putanje. Imena samih datoteka su ipak važna, o tome više u sljedećem koraku.
Korak 4: Dodajte i konfigurirajte dodatne uzorke unutar novih mapa
Zvukovi se učitavaju u uzorak putem fascikli u istom direktorijumu koje sadrže.wav datoteke sa imenima numerisanim između 0-15. Primjer toga pogledajte u priloženoj mapi 808. SVAKA podmapa s uzorcima trebala bi izgledati jedna s drugom.
Indeks MIDI ulaza u nizu noteList točno odgovara nazivu.wav datoteke.
Na primjer:
- kada aktivirate MIDI notu pohranjenu u noteList [0], wav datoteka 0.wav bi se reproducirala.
- kada aktivirate MIDI notu pohranjenu u noteList [8], reproducirat će se wav datoteka 8.wav.
Učinio sam to djelomično kako bi se svaki pojedini MIDI kontroler mogao jednostavno postaviti za rad sa skriptom, a također i za jednostavno proširenje ili ograničenje uzorka i ulaznog broja, kao i za organiziranje datoteka i skripte tako da bude udarni bubanj zvukovi bi se, na primjer, uvijek spremali kao 0.wav i pokrenuli bi ih prve MIDI note.
Odabrao sam 16 vrijednosti donekle proizvoljno kako bi odgovaralo 16 ulaza na mom kontroleru, pa ako biste radije napravili sekvencer sa samo 1 uzorkom ili s mnogo više, sve što trebate učiniti je numerirati audio datoteke u skladu s tim i oduzeti ili dodati brojeve uskladištene u nizu noteList kako bi se podudarali.
Ako priloženi komplet 808 radi ispravno, ali imate problema sa vlastitim uzorcima, rješenje bi najvjerojatnije bilo da promijenite brzinu uzorkovanja datoteka tako da odgovara PyGame -ovoj brzini uzorkovanja od 22, 050 kHz i dubini bita 16. To možete učiniti u Audacityju ili bilo koji drugi softver za uređivanje zvuka. Odatle bi trebali savršeno funkcionirati!
Korak 5: Referenca numeričke tablice
U redu, puno se stvari događa unutar sekvencera, više nego što sam na početku imao na umu, pa sam se prilično nagurao na numeričku ploču kako bih odgovarao povećanoj funkcionalnosti. Imajte ovo na umu, zvjezdica * i period. oba rade kao funkcijski tasteri.
REFERENCA
OSNOVNE FUNKCIJE
[8] - Uključivanje i isključivanje Metronoma
[9] - Uključivanje i isključivanje načina snimanja
[Enter] - Reprodukcija/pauziranje sekvence
[0] - Brisanje trenutne bilješke u nizu
[Num Lock i *] - Isključite
[MIDI napomena i.] - Ne kvantizujte u parne brojeve
TEMPO FUNKCIJE
[+] - Ubrzanje kursa BPM
[-] - Usporavanje kursa BPM
[+ i *] - Brzo ubrzavanje BPM -a
[- i *] - Brzo usporavanje BPM -a
[+ i.] - Fino ubrzanje BPM -a
[- i.] - Fin usporavanje BPM -a
FUNKCIJE SEKVENCIJE
[1-6] Sekvenca opoziva 1-6
[1-6 i.] Niz pohrane 1-6
[0 i.] Obriši trenutni niz
PROMJENA FAPIRA UZORKA
[1-9 i *]-Promjena na Sample Pack u mapama 1-9
[1-9 i * i.]-Promijenite u Sample Pack u mapama 10-18
SAVJETI ZA SEKVENCIJU:
-Obrišite trenutni niz [0 i.] I spremite ga u sve sekvence koje želite izbrisati iz memorije.
-Pozovite niz i spremite ga na drugi broj da biste ga kopirali.
Preporučuje se:
TR 808 bas bubanj. Analogni zvuk!: 5 koraka (sa slikama)
TR 808 bas bubanj. Analog Sound!: Analogni zvuk iz klasične bubnjarske mašine. Ovaj projekat datira iz kasnih 90 -ih kada sam radio kao elektronički tehničar i obično smo po cijeni dobivali asortiman shema. TR 808 je bio na tim shemama i u tom trenutku sam pomislio da sam
DIY Piezoelektrični muzički bubanj: 7 koraka
DIY Piezoelektrični muzički bubanj: Koraci 1-5 se uglavnom mogu izvesti bilo kojim redoslijedom, ovisno o tome šta želite prvo učiniti. Ovo je moj prvi Instructable, pa mi recite ako nešto nije u redu! Žao mi je ako se neki koraci pomiješaju, nadam se da vam ne smeta
MIDI viseći bubanj jednostavan za izradu: 4 koraka
MIDI viseći bubanj jednostavan za izradu: Bubanj za vješanje, koji se naziva i ručni štap, bubanj za spremnike ili čelični jezičak za bubnjeve, instrument je koji je napravljen od spremnika za propan (naravno prazan) s nekim jezicima izrezanim u metal. Visina nota ovisi o veličini i težini jezika
HX1 -DM - Upcycled Arduino DUE Pokretni DIY bubanj sa pogonom (napravljen sa mrtvom mašinom MK2): 4 koraka
HX1 -DM - Upcycled Arduino DUE Pogon DIY bubanj mašina (napravljena sa Dead Maschine MK2): Spec. Hibridni Midi kontroler / bubanj: Arduino DUE powered! 16 jastučića za osjetljivost brzine s vrlo malom latencijom 1 > ms 8 gumba koje korisnik može dodijeliti bilo kojoj Midi #CC naredbi 16-kanalni ugrađeni sekvencer (nije potreban računar !!) MIDI ulaz/izlaz/kroz funkciju
Arduino Servo bubanj mašina: 4 koraka
Arduino Servo Drum Machine: Ovo je jednostavna dva mikro-servo i Arduino Uno upravljana bubnjarska mašina ili robot. Servo pogoni su montirani na drveni držač u obliku slova L koji je pričvršćen za doboš pomoću 4 snažna magneta. Servo krakovi su pričvršćeni na dvije štapiće koji služe kao