Tartalomjegyzék:
- 1. lépés: Függőségek
- 2. lépés: Konfigurálja a Midi bemeneti értékeket
- 3. lépés: Adjon hozzá további mappákat mintákkal
- 4. lépés: További minták hozzáadása és konfigurálása az új mappákban
- 5. lépés: Számbillentyűzet hivatkozás
Videó: Raspberry Pi dobgép: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Minta szekvenszer, Raspberry Pi + Python segítségével.
A szekvenáló 4 polifóniával rendelkezik, és lehetővé teszi a felhasználó számára, hogy tároljon és készítsen 6 különböző szekvenciát, amelyek között valós időben váltakozhat, és támogatja a különböző minták közötti váltást.
A forgatókönyvet úgy írtam, hogy teljesen működőképes legyen bármilyen MIDI vezérlővel és hanggal. 18 különböző hangbankot használok, egyenként 16 mintát, de a bankok és minták hozzáadása vagy kivonása egyszerű, és nem igényel sok módosítást. Ha bármilyen problémája van, írjon nekem egy e -mailt: [email protected]
Keresse meg a kódot a GitHub webhelyen:
Kérem, tudassa velem, ha használja, és különösen akkor, ha videót készít vele!
1. lépés: Függőségek
Ez a program a következő (nem beépített) Python modulokat igényli:
mido
játék
szar
A Mido azonban bonyodalmakat okoz, mivel maga a Mido néhány függőséget igényel. Annak érdekében, hogy mindegyik telepítve legyen, csak írja be a következő parancsokat a Raspberry Pi termináljába (a "$" kihagyásával), és minden rendben lesz. A többi modul normálisan telepíthető.
$ sudo apt-get frissítés
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev vagy 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 install mido
2. lépés: Konfigurálja a Midi bemeneti értékeket
A fő Python -szkriptben létezik egy noteList nevű tömb, amely 16 egész számból áll (165. sor). Ezek azok a MIDI -jegyzet -értékek, amelyeket a vezérlőnk elküld a Pi -nek a hangok kiváltására. Bár minden midi vezérlő más, ezért ha nincs Akai LPD8 -a, akkor valószínűleg módosítania kell ezeket az értékeket, hogy megfeleljen az eszközének.
A Github repo egy másik, "midihelp.py" nevű szkriptet is tartalmaz, amely kifejezetten erre a célra készült! Mindössze annyit tesz, hogy kinyomtatja a bemeneti értékeket a számítógép által felismert első MIDI -vezérlőből a konzolra. Csak annyit kell tennie, hogy lecseréli ezeket az értékeket a tömbben, ha eltérnek a noteList -ben szereplőktől.
A jegyzetek sorrendje korrelál azzal is, hogy a mappánként melyik hanghatást játssza le, ezért ezt is vegye figyelembe.
3. lépés: Adjon hozzá további mappákat mintákkal
A szkriptben található mintakészletek ugyanabban a könyvtárban található mappákon keresztül tárolódnak, pontosan úgy állítva be, hogy a 808 -as készlet hogyan található a GitHub fájlban. Így mindenféle különböző mintakészletet tárolhatok mappákban, amelyek könnyen rendszerezhetők és cserélhetők.
A szkriptben csak a foldNum változó változtatható meg, amely csak azt mondja meg a szkriptnek, hogy hány mappa van a mintákból. Jelenleg a szkriptben a foldNum értéke egy, mert csak egy almappa van ugyanabban a könyvtárban (a 808 -as készlet.) A szkript által jelenleg kezelhető maximális mappák száma 18, ennyit használok, de meglehetősen triviális változtass ezen, szólj, ha segítségre van szükséged.
A mappák neve nem igazán számít (mindaddig, amíg mindegyik más), mivel a Script csak kiolvassa az azonos könyvtárban lévő mappák mennyiségét, és így megragadja az útvonalakat. A fájlok nevei azonban fontosak, erről bővebben a következő lépésben.
4. lépés: További minták hozzáadása és konfigurálása az új mappákban
A hangok a mintavevőbe töltődnek be ugyanazon a könyvtárban található mappákon keresztül, amelyek 0-15 között számozott.wav fájlokat tartalmaznak. Lásd erre a mellékelt 808 mappát. MINDEN almintának a mintákkal azonosnak kell lennie.
A noteList tömb MIDI bemeneteinek indexe pontosan megfelel a.wav fájlnévnek.
Például:
- amikor elindítja a noteList [0] -ban tárolt MIDI -jegyzetet, a 0.wav wav fájl játszódik le.
- amikor elindítja a noteList [8] -ban tárolt MIDI jegyzetet, a 8.wav wav fájl játszódik le.
Ezt részben azért tettem, hogy minden egyes MIDI -vezérlő könnyen beállítható legyen a szkripttel való együttműködésre, valamint hogy könnyen kiterjeszthessem vagy korlátozhassam a minta- és bemeneti számot, valamint rendszerezhessem a fájlokat és a szkriptet úgy, hogy a dob dob például a hangok mindig 0.wav néven kerülnek mentésre, és az első MIDI jegyzet váltja ki őket.
16 értéket némileg önkényesen választottam ki, hogy megfeleljenek a vezérlőm 16 bemenetének, így ha inkább csak 1 mintával vagy sok más példánnyal rendelkező sorozatot szeretne készíteni, mindössze annyit kell tennie, hogy ennek megfelelően számozza az audio fájlokat, és vonja le vagy adja hozzá a noteList tömbben tárolt számokat.
Ha a mellékelt 808 készlet megfelelően működik, de problémái vannak a saját mintákkal, akkor a megoldás valószínűleg az lenne, ha a fájlok mintavételi arányát úgy módosítaná, hogy megfeleljen a PyGame 22, 050 khz mintavételi frekvenciájának és a 16 -os bitmélységnek. Ezt megteheti az Audacity vagy bármely más hangszerkesztő szoftver. Innen tökéletesen kell működniük!
5. lépés: Számbillentyűzet hivatkozás
Oké, sok minden történik a szekvenszerben, több, mint eredetileg gondoltam, ezért elég sokat zsúfoltam a Számbillentyűzeten, hogy megfeleljen a megnövelt funkcionalitásnak. Ezt szem előtt tartva, a csillag * és az időszak. mindkettő funkciógombként működik.
REFERENCIA
FŐFUNKCIÓK
[8] - A Metronóm be- és kikapcsolása
[9] - A felvételi mód be- és kikapcsolása
[Enter] - Lejátszás/Szünet
[0] - Az aktuális jegyzet törlése sorrendben
[Num Lock és *] - Kapcsolja ki
[MIDI Note és.] - Ne kvantáljon páros számokra
TEMPO FUNKCIÓK
[+] - A tanfolyam felgyorsítja a BPM -et
[-] - A tanfolyam lassítja a BPM -et
[+ és *] - Gyorsítsa fel a BPM -et
[- és *] - Gyorsan lassítja a BPM -et
[+ és.] - Finom felgyorsítja a BPM -et
[- és.] - Finom lassú BPM
SZEKVENCIA FUNKCIÓK
[1-6] Idézze fel az 1-6
[1-6 és.] Tárolja az 1-6
[0 és.] Jelenlegi sorozat törlése
MINTAMAPPÁK VÁLTOZÁSA
[1-9 és *]-Váltson mintacsomagra az 1-9 mappákban
[1-9 és * és.]-Váltson a Mintacsomagra a 10-18 mappákban
TÖBB TIPP:
-Törölje az aktuális sorozatot [0 és.], És tárolja a memóriából törölni kívánt sorozatokhoz.
-Emlékezzen egy sorozatra, és tárolja egy másik számra másoláshoz.
Ajánlott:
Egyszerű dobgép Arduino Uno -val és Mozzi -val: 4 lépés
Egyszerű dobgép Arduino Unóval és Mozzival: Argentínában élni azt jelenti, hogy a nemzetközi leveleket ellopják, vagy elakadnak a szokásokban. Add hozzá a koronavírus -karantént, és a következő projekted egy régi Arduino Uno táblára korlátozódik. Jó hírek? Ahogy a Rolling Stones nagy költője mondja: „Az idő m
Makey Makey elektromos dob / dobgép: 8 lépés
Makey Makey elektromos dobok / dobgép: Ez az elektromos dobok készítéséről szóló oktatóanyag a Makey Makey versenyben való részvétel. Anyag, a rendelkezésre állás és a személyes döntések függvényében változik. A karton tartósabb anyagokkal és rétegezett anyagokkal helyettesíthető habgal/ más textilhez
HX1 -DM - az Upcycled Arduino DUE Powered DIY dobgép (Dead Maschine MK2 -vel készült): 4 lépés
HX1 -DM - az Upcycled Arduino DUE Powered DIY dobgép (Dead Maschine MK2 -vel készült): A specifikáció. Hibrid Midi vezérlő / dobgép: Arduino DUE hajtású! 16 Sebességérzékelő párna nagyon alacsony késleltetéssel 1 > 8 gomb A felhasználó bármely Midi #CC parancshoz hozzárendelhető
Arduino szervo dobgép: 4 lépés
Arduino Servo Dobgép: Ez egy egyszerű két mikroszervó és Arduino Uno vezérelt dobgép vagy robot. A szervókat egy L alakú fatartóra szerelik fel, amelyet 4 erős mágnessel a pergőhöz tartanak. A szervókarok két pálcikához vannak csavarozva, amelyek
Super GrooveAxe: Mini dobgép: 10 lépés (képekkel)
Super GrooveAxe: Mini dobgép: Érezd az apró gémet! Érezted már úgy, hogy hiányzik néhány ütés? Kell a napod egy jobb filmzene? Érezze a fellendülést a Super GrooveAxe segítségével! Ez egy zsebméretű, elemmel működő dobgép & szekvenszer, amelyet bárhová magával vihet. Előestévé teszi