Sadržaj:

Raspberry Pi bubanj mašina: 5 koraka
Raspberry Pi bubanj mašina: 5 koraka

Video: Raspberry Pi bubanj mašina: 5 koraka

Video: Raspberry Pi bubanj mašina: 5 koraka
Video: Тонкости работы с монтажной пеной. То, что ты не знал! Секреты мастеров 2024, Novembar
Anonim
Mašina za bubnjeve Raspberry Pi
Mašina za bubnjeve Raspberry Pi

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

Konfigurirajte Midi ulazne vrijednosti
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

Dodajte i konfigurirajte dodatne uzorke unutar novih mapa
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: