Obsah:
- Krok 1: Závislosti
- Krok 2: Konfigurujte vstupné hodnoty Midi
- Krok 3: Pridajte ďalšie priečinky so vzorkami
- Krok 4: Pridajte a nakonfigurujte ďalšie vzorky v nových priečinkoch
- Krok 5: Referencia numerickej klávesnice
Video: Bicí automat Raspberry Pi: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Ukážkový sekvencer cez Raspberry Pi + Python.
Sekvencer má 4 polyfónie a umožňuje užívateľovi uložiť a zaradiť až 6 rôznych sekvencií, medzi ktorými môže striedať v reálnom čase, a podporuje schopnosť prepínať medzi rôznymi vzorkami.
Scenár som napísal spôsobom, ktorý je úplne ovládateľný skutočne pomocou akéhokoľvek MIDI ovládača a zvukov. Používam 18 rôznych zvukových bánk, po 16 vzoriek, ale pridávanie alebo odoberanie bánk a vzoriek je jednoduché a nevyžaduje veľa úprav. Ak máte nejaké problémy, pošlite mi e -mail: [email protected]
Kód nájdete na GitHub na:
Dajte mi prosím vedieť, či ho používate, a najmä ak s ním natočíte video!
Krok 1: Závislosti
Tento program vyžaduje nasledujúce (nie vstavané) moduly Python:
mido
pygame
otupený
Mido však prináša určité komplikácie, pretože samotný Mido vyžaduje niekoľko závislostí. Aby ste sa uistili, že sú všetky nainštalované, zadajte do terminálu vášho Raspberry Pi nasledujúce príkazy (vynechajte „$“) a všetko bude v poriadku. Ostatné moduly je možné nainštalovať normálne.
$ sudo apt-get aktualizácia
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev alebo 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
Krok 2: Konfigurujte vstupné hodnoty Midi
V hlavnom skripte Python existuje pole s názvom noteList, ktoré pozostáva zo 16 celých čísel (riadok 165.) Toto sú hodnoty MIDI noty, ktoré náš ovládač posiela do Pi, aby spustil zvuky. Každý midi ovládač je však iný, takže pokiaľ nemáte aj Akai LPD8, budete pravdepodobne musieť tieto hodnoty zmeniť tak, aby zodpovedali vášmu zariadeniu.
Repo Github obsahuje aj ďalší skript s názvom „midihelp.py“, ktorý je vytvorený špeciálne na tento účel! Jediné, čo urobí, je vytlačenie vstupných hodnôt z prvého MIDI ovládača, ktorý počítač rozpozná, do konzoly. Všetko, čo musíte urobiť, je nahradiť tieto hodnoty v poli, ak sa líšia od hodnôt zahrnutých v noteList.
Poradie v notách tiež koreluje s tým, aký zvukový efekt sa prehrá v priečinku, takže na to tiež pamätajte.
Krok 3: Pridajte ďalšie priečinky so vzorkami
Ukážkové sady v skripte sú uložené v priečinkoch v tom istom adresári, presne nastavenom, ako sa súprava 808 nachádza v súbore GitHub. Týmto spôsobom môžem mať všetky druhy rôznych vzorových sád uložené v priečinkoch, ktoré sú ľahko organizované a nahraditeľné.
Jediná vec, ktorú je potrebné v samotnom skripte zmeniť, je premenná foldNum, ktorá skriptu iba hovorí, koľko priečinkov so vzorkami existuje. V súčasnosti má skript foldNum nastavený na jednu, pretože v tom istom adresári je iba jedna podpriečinok (súprava 808). Maximálny počet priečinkov, ktoré skript v súčasnosti zvládne, je 18, čo je počet, ktorý používam, je však dosť triviálne zmeňte to, dajte mi vedieť, ak potrebujete pomoc.
Na názvoch priečinkov nezáleží (pokiaľ sú všetky odlišné), pretože Script iba načíta množstvo priečinkov v rovnakom adresári a vyberie si cestu. Názvy samotných súborov sú však dôležité, o tom viac v nasledujúcom kroku.
Krok 4: Pridajte a nakonfigurujte ďalšie vzorky v nových priečinkoch
Zvuky sa načítajú do vzorkovníka prostredníctvom priečinkov v rovnakom adresári, ktoré obsahujú súbory.wav s názvami číslovanými od 0 do 15. Príklad nájdete v priloženom priečinku 808. KAŽDÁ podpriečinok so vzorkami by mal navzájom vyzerať identicky.
Register MIDI vstupov v poli noteList presne zodpovedá názvu súboru.wav.
Napríklad:
- keď spustíte MIDI notu uloženú v noteList [0], prehrá sa súbor wav 0.wav.
- keď spustíte MIDI notu uloženú v noteList [8], prehrá sa súbor wav 8.wav.
Čiastočne som to urobil tak, aby bolo možné každý jeden MIDI kontrolér ľahko nastaviť tak, aby pracoval so skriptom, a tiež aby som mohol ľahko rozšíriť alebo obmedziť vzorové a vstupné číslo, ako aj organizovať súbory a skript tak, aby kopali bubon. zvuky, napríklad, budú vždy uložené ako 0.wav a budú spustené prvou MIDI notou.
Vybral som 16 hodnôt ľubovoľne, aby zodpovedali 16 vstupom na mojom ovládači, takže ak by ste chceli vytvoriť sekvencer iba s 1 vzorkou alebo s mnohými ďalšími, všetko, čo musíte urobiť, je zodpovedajúcim spôsobom očíslovať zvukové súbory a odčítajte alebo pripočítajte čísla uložené v poli noteList, aby sa zhodovali.
Ak zahrnutá súprava 808 funguje správne, ale máte problémy s vlastnými vzorkami, riešením by bolo s najväčšou pravdepodobnosťou zmeniť vzorkovaciu frekvenciu súborov tak, aby zodpovedala vzorkovacej frekvencii 22, 050 kHz a bitovej hĺbke 16 od spoločnosti PyGame. Môžete to urobiť v programe Audacity alebo akýkoľvek iný softvér na úpravu zvuku. Odtiaľ by mali fungovať perfektne!
Krok 5: Referencia numerickej klávesnice
Ok, v sekvenceri sa deje veľa vecí, viac ako som mal pôvodne v úmysle, takže som sa dosť natlačil na numerickú klávesnicu, aby zodpovedala zvýšenej funkčnosti. Toto má na pamäti hviezdičku * a obdobie. obe fungujú ako funkčné klávesy.
REFERENCIA
MAINFUNKCIE
[8] - Zapína a vypína metronóm
[9] - Zapína a vypína režim záznamu
[Enter] - prehrávanie/pozastavenie sekvencie
[0] - Odstráňte aktuálnu poznámku v poradí
[Num Lock a *] - Vypnite
[Poznámka MIDI a.] - Nekvantifikujte na párne čísla
FUNKCIE TEMPO
[+] - Kurz Zrýchlite BPM
[-] - Kurz Spomaľte BPM
[+ a *] - Rýchle zrýchlenie BPM
[- a *] - Rýchlo spomalenie BPM
[+ a.] - Jemné zrýchlenie BPM
[- a.] - Jemné spomalenie BPM
FUNKCIE SEKVENCIE
[1-6] Pripomeňme sekvenciu 1-6
[1-6 a.] Sekvencia skladovania 1-6
[0 a.] Vymazať aktuálnu sekvenciu
VÝMENA ZLOŽIEK NA VZORKY
[1-9 a *]-Zmeňte na vzorový balíček v priečinkoch 1-9
[1-9 a * a.]-Zmeňte na vzorový balíček v priečinkoch 10-18
SEKVENČNÉ TIPY:
-Vyčistite aktuálnu sekvenciu [0 a.] A uložte ju do všetkých sekvencií, ktoré chcete vymazať z pamäte.
-Vyvolajte sekvenciu a uložte ju na iné číslo, aby ste ju mohli skopírovať.
Odporúča:
Hands-free kartónový gumový automat: 18 krokov (s obrázkami)
Hands-free kartónový gumový stroj: Vyrobili sme bezdotykový gumbalový stroj pomocou mikro: bitu, bitovej dosky Crazy Circuits, snímača vzdialenosti, serva a lepenky. Výroba a používanie bolo " BLAST "! ? ? Keď položíte ruku do spodnej časti rakety, snímač vzdialenosti
Koktejlový automat s malinou GUI: 7 krokov (s obrázkami)
Koktejlový automat s malinovým grafickým rozhraním: Máte radi technológie a večierky? Tento projekt je ako stvorený! V tomto návode vytvoríme automatizovaný kokteilový stroj s grafickým rozhraním. Všetko ovládané malinou! EDIT: odkaz som tu urobil jednoduchšie a lacnejšie
Predajný automat DIY: 8 krokov
DIY automat: Pred tromi rokmi som začal študovať na elektronickej vysokej škole technickej. Jednou z faktov, ktoré ma v tej dobe prekvapili, bol počet fajčiarov, pretože počas prestávok polovica študentov opustila steny školy, aby vybila svoje emócie po
Automat s mierkou na potvrdenie položky (Raspberry Pi): 5 krokov
Automat s mierkou na potvrdenie položky (Raspberry Pi): Vitajte, kolega tvorca, pre školský projekt som sa rozhodol vyrobiť automat na občerstvenie. Našim zadaním bolo vytvoriť obnoviteľné zariadenie, ktoré používa najmenej 3 senzory a 1 pohon. Išiel som si vyrobiť automat čiastočne preto, že som mal prístup k niektorým
Automat na odmeny: 8 krokov
Automat na odmeny: Keď niečo vložíte, stroj to automaticky vycíti a potom sa pri otáčaní motora objavia nejaké odmeny. V tomto videu je mojou odmenou Switch, takže keď umiestnim položku na správne miesto, stroj ju automaticky vycíti,