Sadržaj:

Mašina za bubnjeve Raspberry Pi: 5 koraka
Mašina za bubnjeve Raspberry Pi: 5 koraka

Video: Mašina za bubnjeve Raspberry Pi: 5 koraka

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

Sample Sequencer, putem Raspberry Pi + Python.

Sekvencer ima 4 polifonije i omogućuje korisniku pohranjivanje i postavljanje 6 različitih nizova 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 stvarno 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 koristite li ga, a posebno ako s njim snimite video!

Korak 1: Ovisnosti

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. Kako biste bili sigurni da se svi instaliraju, samo upišite sljedeće naredbe u terminal vašeg Raspberry Pi -a (izostavite '$') i sve će biti u redu. Ostali moduli mogu se normalno instalirati.

$ sudo apt-get ažuriranje

$ 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 instalirajte 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 (redak 165.) To su MIDI notne vrijednosti koje naš kontroler šalje Pi -u za pokretanje zvukova. 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 također uključuje drugu skriptu pod nazivom "midihelp.py" koja je napravljena posebno za tu svrhu! Sve što radi je ispis ulaznih vrijednosti s prvog MIDI kontrolera koje računalo prepoznaje na konzolu. Sve što trebate učiniti je zamijeniti ove vrijednosti u nizu ako se razlikuju od onih uključenih u noteList.

Redoslijed bilješki također je u korelaciji s zvučnim efektom po mapi, pa imajte i to na umu.

Korak 3: Dodajte dodatne mape s uzorcima

Primjeri setova unutar skripte pohranjuju se putem mapa u istom direktoriju, točno postavite kako je komplet 808 unutar datoteke GitHub. Na ovaj način mogu imati sve vrste različitih skupova uzoraka pohranjenih u mape koje se lako organiziraju i zamjenjuju.

Jedino što se može promijeniti u samoj skripti je varijabla foldNum koja samo govori skripti koliko mapa uzoraka postoji. Trenutno skripta ima foldNum postavljenu na jednu jer postoji samo jedna podmapa u istom direktoriju (komplet 808.) Maksimalno mapa koje skripta trenutno može obraditi je 18, koliko ih ja koristim, no prilično je trivijalno promijenite ovo, javite mi ako trebate pomoć.

Nazivi mapa zapravo nisu važni (sve dok su svi različiti) jer Skripta samo čita količinu mapa u istom direktoriju i na taj način hvata putanje. Imena samih datoteka važna su, 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 uzorkivač putem mapa u istom direktoriju koje sadrže.wav datoteke s nazivima numeriranim 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], reproducirat će se wav datoteka 0.wav.
  • kada aktivirate MIDI notu pohranjenu u noteList [8] reproducirat će se wav datoteka 8.wav.

To sam djelomično učinio 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 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 mojem 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 zbrojiti brojeve pohranjene u nizu noteList kako bi se podudarali.

Ako priloženi komplet 808 radi ispravno, ali imate problema s vlastitim uzorcima, rješenje bi najvjerojatnije bilo promijeniti 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 raditi!

Korak 5: Referenca numeričke pločice

U redu, puno se stvari događa unutar sekvencera, više nego što sam na početku imao na umu, pa sam se poprilično natrpao na numeričku ploču kako bih odgovarao povećanoj funkcionalnosti. Imajte to na umu, zvjezdicu * i razdoblje. obje djeluju kao funkcijske tipke.

LITERATURA

GLAVNE FUNKCIJE

[8] - Uključivanje i isključivanje Metronoma

[9] - Uključivanje i isključivanje načina snimanja

[Enter] - Reproduciraj/pauziraj slijed

[0] - Brisanje trenutne bilješke u nizu

[Num Lock i *] - Isključite

[MIDI bilješka i.] - Nemojte kvantizirati u parne brojeve

TEMPO FUNKCIJE

[+] - Ubrzanje tečaja BPM

[-] - Uspori tečaj BPM

[+ i *] - Brzo ubrzavanje BPM -a

[- i *] - Brzo usporavanje BPM -a

[+ i.] - Fino ubrzanje BPM -a

[- i.] - Fino usporavanje BPM -a

FUNKCIJE SEKVENCIJE

[1-6] Opoziv sekvence 1-6

[1-6 i.] Niz pohrane 1-6

[0 i.] Očisti trenutni slijed

PROMJENA FAPICA UZORAKA

[1-9 i *]-Promjena na Uzorak paketa u mapama 1-9

[1-9 i * i.]-Promijenite se u paket uzoraka 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čeni: