Kazalo:
- 1. korak: Odvisnosti
- 2. korak: Konfigurirajte vhodne vrednosti midi
- 3. korak: Dodajte dodatne mape z vzorci
- 4. korak: Dodajte in konfigurirajte dodatne vzorce v novih mapah
- 5. korak: Sklic številčnice
Video: Bobnarski stroj Raspberry Pi: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Vzorec sekvencera prek Raspberry Pi + Python.
Sekvencer ima 4 polifonije in uporabniku omogoča shranjevanje in označevanje 6 različnih zaporedij, med katerimi se lahko spreminjajo v realnem času, in podpira možnost spreminjanja med različnimi vzorci.
Scenarij sem napisal na način, ki je popolnoma delujoč z res katerim koli MIDI krmilnikom in zvoki. Uporabljam 18 različnih zvočnih bank, po 16 vzorcev, vendar je dodajanje ali odštevanje bank in vzorcev enostavno in ne zahteva veliko sprememb. Če imate težave, mi pišite na e -naslov: [email protected]
Kodo najdete na GitHubu na:
Sporočite mi, če ga uporabljate, še posebej, če z njim posnamete video!
1. korak: Odvisnosti
Ta program zahteva naslednje (ne vgrajene) module Python:
mido
pygame
numpy
Vendar Mido povzroča nekaj zapletov, saj sam Mido zahteva nekaj odvisnosti. Če želite zagotoviti, da so vsi nameščeni, vnesite naslednje ukaze v terminal vašega Raspberry Pi (izpustite '$') in vse bo v redu. Ostale module lahko normalno namestite.
$ sudo apt-get posodobitev
$ sudo apt-get install build-bistveno
$ sudo apt-get install libasound-dev ali 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 namestite python-rtmidi
$ sudo pip namestite mido
2. korak: Konfigurirajte vhodne vrednosti midi
Znotraj glavnega skripta Python obstaja matrika, imenovana noteList, ki je sestavljena iz 16 celih števil (vrstica 165.) To so notne vrednosti MIDI, ki jih naš krmilnik pošlje Pi, da sproži zvoke. Vsak midi krmilnik pa je drugačen, zato boste morali te vrednosti, če ustrezajo vaši napravi, spremeniti tudi, če nimate tudi Akai LPD8.
Repo Github vključuje tudi drug skript, imenovan "midihelp.py", ki je izdelan posebej za ta namen! Vse, kar naredi, je, da na konzolo natisne vhodne vrednosti iz prvega krmilnika MIDI, ki ga računalnik prepozna. Vse, kar morate storiti, je, da te vrednosti zamenjate v matriki, če se razlikujejo od tistih, ki so vključene v noteList.
Vrstni red zapiskov je povezan tudi s tem, kateri zvočni učinek se predvaja v vsaki mapi, zato imejte to v mislih.
3. korak: Dodajte dodatne mape z vzorci
Vzorčni kompleti v skriptu so shranjeni prek map v istem imeniku, natančno nastavite, kako je komplet 808 v datoteki GitHub. Na ta način imam lahko v mapah shranjene vse vrste različnih vzorčnih nizov, ki jih je enostavno organizirati in zamenjati.
Edino, kar je treba spremeniti v samem skriptu, je spremenljivka foldNum, ki skriptu samo pove, koliko map z vzorci je. Trenutno je za skript nastavljeno foldNum na eno, ker je v istem imeniku samo ena podmapa (komplet 808.) Največ map, ki jih lahko skript trenutno obdeluje, je 18, koliko jih uporabljam, vendar je dokaj nepomembno spremenite to, sporočite mi, če potrebujete pomoč.
Imena map v resnici niso pomembna (če so vse različne), saj Skript samo prebere količino map v istem imeniku in na ta način zgrabi poti. Imena samih datotek so pomembna, več o tem v naslednjem koraku.
4. korak: Dodajte in konfigurirajte dodatne vzorce v novih mapah
Zvoki se naložijo v vzorčevalnik prek map v istem imeniku, ki vsebujejo datoteke.wav z imeni, oštevilčenimi med 0-15. Primer tega si oglejte v priloženi mapi 808. VSAKA podmapa z vzorci mora biti med seboj enaka.
Indeks vhodov MIDI v nizu noteList natančno ustreza imenu datoteke.wav.
Na primer:
- ko sprožite opombo MIDI, shranjeno v noteList [0], bi se predvajala datoteka wav 0.wav.
- ko sprožite opombo MIDI, shranjeno v noteList [8], bi se predvajala datoteka wav 8.wav.
To sem naredil delno, da bi lahko vsak posamezen krmilnik MIDI enostavno nastavil za delo s skriptom, prav tako pa bi lahko preprosto razširil ali omejil vzorec in vhodno številko, pa tudi organiziral datoteke in skript tako, da je udarni boben zvoki bi bili na primer vedno shranjeni kot 0.wav in bi jih sprožila prva nota MIDI.
16 vrednosti sem izbral poljubno, da ustrezajo 16 vhodom na mojem krmilniku, zato, če bi raje naredili sekvencer z enim samim vzorcem ali z veliko več, morate le ustrezno oštevilčiti zvočne datoteke in odštejte ali dodajte številke, shranjene v matriki noteList, da se ujemajo.
Če priloženi komplet 808 deluje pravilno, vendar imate težave z lastnimi vzorci, bi bila rešitev najverjetneje spremeniti frekvenco vzorčenja datotek tako, da se ujema s hitrostjo vzorčenja 22, 050 kHz PyGame in bitno globino 16. To lahko storite v Audacityju oz. katero koli drugo programsko opremo za urejanje zvoka. Od tam bi morali odlično delovati!
5. korak: Sklic številčnice
V redu, v sekvencerju se dogaja veliko stvari, več, kot sem sprva imel v mislih, zato sem se kar precej naletel na številčnico, da bi ustrezal povečani funkcionalnosti. To upoštevajte, zvezdica * in obdobje. oba delujeta kot funkcijski tipki.
REFERENCA
GLAVNE FUNKCIJE
[8] - Vklop in izklop Metronoma
[9] - Vklop in izklop načina snemanja
[Enter] - Zaporedje predvajanja/premora
[0] - Brisanje trenutne opombe v zaporedju
[Num Lock in *] - Izklopite
[Opomba MIDI in.] - Ne kvantizirajte na parne številke
TEMPO FUNKCIJE
[+] - Tečaj pospeši BPM
[-] - Upočasni tečaj BPM
[+ in *] - Hitro pospešite BPM
[- in *] - Hitro upočasnite BPM
[+ in.] - Fini pospešek BPM
[- in.] - fino upočasnitev BPM
FUNKCIJE SEKVENCIJE
[1-6] Odpoklic zaporedja 1-6
[1-6 in.] Shrani zaporedje 1-6
[0 in.] Počisti trenutno zaporedje
MENJANJE VZORČNIH MAP
[1-9 in *]-spremenite v vzorčni paket v mapah 1-9
[1-9 in * in.]-Spremenite v vzorčni paket v mapah 10-18
NAMIGI ZA SEKVENCIJO:
-Počistite trenutno zaporedje [0 in.] In ga shranite v vsa zaporedja, ki jih želite počistiti iz pomnilnika.
-Skličite zaporedje in ga shranite na drugo številko, da ga kopirate.
Priporočena:
Kako sem naredil svoj boksarski stroj?: 11 korakov (s slikami)
Kako sem naredil svoj boksarski stroj ?: Za tem projektom ne stoji neverjetna zgodba - vedno so mi bili všeč boksarski stroji, ki so bili postavljeni na različnih priljubljenih mestih. Odločil sem se, da bom zgradil svojega
Prostoročni stroj za kartonsko gumball: 18 korakov (s slikami)
Hands-Free Cardboard Gumball Machine: Naredili smo Gumball Machine brez dotika z uporabo micro: bita, bitne plošče Crazy Circuits, senzorja razdalje, servo in kartona. Izdelava in uporaba je bila " BLAST "! ? ? Ko roko položite v dno rakete, senzor razdalje
Avtomatski stroj za brizganje plastike za recikliranje plastike: 5 korakov
Avtomatiziran stroj za brizganje plastike za recikliranje plastike: Pozdravljeni :) Ta navodila govorijo o našem "avtomatiziranem stroju za brizganje plastike za recikliranje plastike". (imenovan: Smart Injector) Ideja stroja je ponuditi decentralizirano rešitev za recikliranje plastike. Recikliranje je pogosto omejeno
Napajalni bobnarski stroj z napajalnikom Raspberry Pi: 15 korakov (s slikami)
Naparen bobnarski stroj z Raspberry Pi: Ta navodila vam bodo pokazala, kako narediti robotski bobnarski stroj na pogon Raspberry Pi. To je res zabaven, ustvarjalen, interaktiven projekt. Pokazal vam bom, kako narediti notranje delovanje, toda dejanski bobni bodo odvisni od vas, kar vam bo dalo
Stroj za arkadne igre z Raspberry Pi: 7 korakov (s slikami)
Igralni stroj za arkadne igre z Raspberry Pi: Zgodba o ustvarjanju: Igralni stroj za arkadne igre z retro pi (malina pi3)