Obsah:

Keytar Hero (použitie gitarového ovládača Wii ako syntetizátora): 7 krokov (s obrázkami)
Keytar Hero (použitie gitarového ovládača Wii ako syntetizátora): 7 krokov (s obrázkami)

Video: Keytar Hero (použitie gitarového ovládača Wii ako syntetizátora): 7 krokov (s obrázkami)

Video: Keytar Hero (použitie gitarového ovládača Wii ako syntetizátora): 7 krokov (s obrázkami)
Video: Jesse Cale - Keytar Hero 2024, Júl
Anonim
Image
Image
Krok 1: Raspberry Pi (počiatočné nastavenie)
Krok 1: Raspberry Pi (počiatočné nastavenie)

Hry Guitar Hero boli pred dvanástimi rokmi v móde, takže tu bude určite ležať veľa starých gitarových ovládačov, ktoré budú zbierať prach. Majú veľa tlačidiel, gombíkov a páčok, prečo ich teda znova nevyužiť? Gitarový ovládač sám o sebe bežne nevydáva žiadny zvuk, ale v tomto tutoriále vám ukážem, ako previesť ovládač Wii Guitar Hero Controller tak, aby sa dal hrať ako syntetizátor.

Zásoby

  • Ovládač Guitar Hero Wii
  • Nunchucky breakout board (k dispozícii na Adafruit tu)
  • 4ea prepojovacie vodiče (žena - žena)
  • 2 krimpovacie konektory (voliteľné)
  • Raspberry Pi (uprednostňuje sa 3 B+ alebo 4)
  • 16 GB karta MicroSD

Krok 1: Krok 1: Raspberry Pi (počiatočné nastavenie)

Raspberry Pi je mozgom a mozgom tohto projektu, takže prvá vec, ktorú musíme urobiť, je nastaviť ho pre náš projekt. Skúsil som tento projekt na Raspberry Pi 3 B+ a 4 a zdá sa, že fungujú dobre.

Raspberry Pi's sú mikropočítače, ktoré ukladajú všetko na kartu microSD namiesto pevného disku … vrátane operačného systému. Typickým spôsobom ich použitia je stiahnutie najnovšieho operačného systému a jeho vypálenie na kartu microSD nasledovne:

  • Na samostatnom počítači alebo prenosnom počítači prejdite na stránku
  • Stiahnite si najnovší operačný systém Raspbian. (Buster v čase tohto písania). Na stránke je k dispozícii niekoľko verzií, ktoré v závislosti od vašich preferencií poskytujú viac alebo menej zahrnutý softvér. Všetky by mali fungovať dobre, ale rád používam možnosť „Raspbian Buster s počítačom a odporúčaným softvérom“, pretože obsahuje niektoré programovacie IDE a ďalšie praktické aplikácie. Najjednoduchším spôsobom je stiahnuť si verziu zip.
  • Napaľujte obrázok Raspbian na kartu microSD. Existuje mnoho aplikácií, ktoré môžete použiť na napálenie obrazu Raspbian na kartu microSD, ale použil som program balenaEtcher, ktorý nájdete tu. Vložte kartu microSD do počítača a spustite balenaEtcher. Ako obrázok disku vyberte stiahnutý súbor zip, potom vyberte kartu SD a kliknite na tlačidlo flash. Tento nástroj rozbalí súbory s obrázkami disku a napáli ich na kartu SD. DÔLEŽITÉ: Uistite sa, že zvolenou jednotkou je karta microSD … nástroj prepíše akúkoľvek zadanú jednotku, takže sa uistite, že ste vybrali správnu.
  • Zapálte si Raspberry Pi. Vložte kartu microSD do svojho Raspberry Pi. Pripojte napájanie, myš, klávesnicu a reproduktory. Ak sa budete riadiť pokynmi, je to celkom samozrejmé … nastavte svoju polohu/čas, zadajte heslo a pripojte sa k WiFi.

Toto je všetko štandardné nastavenie pre Raspberry Pi, takže ak potrebujete viac podrobností, nájdete ich tu. Ostatné kroky urobíme na Raspberry Pi.

Krok 2: Krok 2: Zapnite I2c

Krok 2: Povoliť I2c
Krok 2: Povoliť I2c

Ovládač Guitar Hero používa na komunikáciu i2c (i2c je pomerne bežný protokol, ktorý používajú elektronické zariadenia na vzájomnú komunikáciu), preto musíme túto funkciu povoliť na Raspberry Pi:

  • Nainštalujte knižnice pre i2c. Knižnice i2c sa teraz zdajú byť súčasťou štandardnej zostavy Buster, ale pre prípad, že im spustíme inštalátor. Otvorte shell (na paneli úloh v hornej časti je ikona) a zadajte nasledujúci príkaz:

    • sudo apt-get install -y python-smbus
    • sudo apt-get install -y i2c-tools
  • Povoliť i2c na Raspberry Pi. Vo vašom type shellu: sudo raspi-config. Zobrazí sa okno konfigurácie. Šípkou nadol na položku InterfacingOptions-> I2C povoľte pre zariadenie i2c. Ak sa chcete dostať von z okna, uložte nastavenia šípkou doprava na položku Späť a potom na položku Dokončiť.
  • Reštartovať. Do svojho shellu zadajte: sudo reboot
  • Nastavte vlastné parametre i2c. Zdá sa, že predvolená prenosová rýchlosť i2c (100 kB) príležitostne zamieňa gitaru, takže ju na 50 kB spomalíme nasledovne:

    • V type shellu: sudo nano /boot/config.txt
    • Váš konfiguračný súbor sa otvorí v textovom editore. Šípkou nadol nájdite riadok, ktorý hovorí dtparam = i2c_arm = on. Ak je komentovaný, odkomentujte ho. Ak tento riadok nemáte, pridajte ho. Pod tento riadok tiež pridajte nasledujúce:

      • dtparam = i2c1 = zapnuté
      • dtparam = i2c1_baudrate = 50 000
    • Konfiguračný súbor uložíte stlačením klávesov Ctrl + O a ukončíte ho stlačením klávesov Ctrl + X.
  • Reštartovať. Do svojho shellu zadajte: sudo reboot

Krok 3: Krok 3: Nainštalujte Pure Data

Krok 3: Nainštalujte Pure Data
Krok 3: Nainštalujte Pure Data
Krok 3: Nainštalujte Pure Data
Krok 3: Nainštalujte Pure Data

Na zvuky syntetizátora použijeme program s názvom Pure Data. Jedná sa o generatívny zvukový a interaktívny zobrazovací nástroj, ktorý existuje už nejaký čas. Má niekoľko funkcií, vďaka ktorým je ideálny pre tento projekt … má používateľské rozhranie založené na uzloch, ktoré sa veľmi ľahko používa, a môže prijímať signály z externých zdrojov, ako sú napríklad skripty python.

  • Nainštalujte Pure Data. V type shellu: sudo apt-get install puredata
    • To by malo nainštalovať softvér na váš Raspberry Pi, ale ak sa v shelli sťažuje, že nemôže nájsť všetky potrebné súbory, vyskúšajte toto:

      • sudo apt-get aktualizácia
      • Potom znova spustite príkaz install: sudo apt-get install puredata
    • Počas inštalácie vás vyzve, ak chcete vytvoriť adresáre pre rozšírenia, môžete povedať Áno.
  • Spustite Pure Data. Ak je nainštalovaný správne, mal by sa vám zobraziť program uvedený v ponuke Štart na ploche v časti Zvuk a video. Spustite ho a uistite sa, že sa spustí.
  • Nastavte zvuk Pure Data. Zvuk v Pure Data nie je štandardne zapnutý, takže ho budete musieť povoliť.

    • Nastavte zvukový výstup na ALSA. Po spustení programu Pure Data by ste mali vidieť jeho okno konzoly. Prejdite do ponuky Médiá a ako výstup vyberte ALSA. V shelle konzoly sa môžu zobrazovať varovné správy, ktoré hovoria, že nemôže nájsť určité súbory, ale toto môžete ignorovať.
    • Zapnite zvuk DSP. V okne konzoly začiarknite políčko DSP.
  • Otestujte zvukový výstup. V okne konzoly Pure Data prejdite na položku Médiá-> Testovať zvuk a MIDI. Otvorí sa testovací súbor, pomocou ktorého sa môžeme uistiť, že Pure Data funguje a že môžeme počuť zvuk. Zapnite reproduktory, ale najskôr ich nastavte na nízku hlasitosť (niekedy môže byť zvuk v predvolenom nastavení veľmi hlasný). V testovacom súbore by ste na ľavej strane mali vidieť sekciu s názvom Testovacie tóny. Kliknite najskôr na pole s číslom 60 a zistite, či z reproduktorov počujete nejaký zvuk. Ak nie, skúste kliknúť na pole 80 a potom zapnite reproduktory, kým nebudete počuť zvuk. Ak počujete zvuk, skúste potiahnuť do poľa Pitch napravo od testovacích tónov, kde môžete zmeniť frekvenciu tónov a zistiť, čo sa stane.

Ak dokážete spustiť Pure Data a počuť zvuk z testovacej záplaty, ste pripravení prejsť k ďalšiemu kroku. Pure Data však môžu pri zvukovom výstupe po prvý krát byť trochu náročné, takže ak zvuk stále nedostávate, vyskúšajte nasledujúce:

  • Je možné, že zvuk smeruje cez kábel HDMI, takže ho prinútite používať konektor pre slúchadlá:

    • V type shellu: sudo raspi-config
    • Prejdite na položku Rozšírené možnosti-> Audio-> Vynútiť 3,5 mm konektor („slúchadlá“)
  • Skúste reštartovať. Niekedy to robí trik.
  • Skontrolujte reproduktory a pripojenie k Raspberry Pi.

Krok 4: Krok 4: Pripojenie gitary

Krok 4: Pripojenie gitary
Krok 4: Pripojenie gitary
Krok 4: Pripojenie gitary
Krok 4: Pripojenie gitary
Krok 4: Pripojenie gitary
Krok 4: Pripojenie gitary

Gitarový ovládač k Raspberry Pi je možné najľahšie pripojiť pomocou lacnej odpočinkovej dosky, ako je Nunchucky*. Táto doska vám umožňuje prístup k signálu prichádzajúcemu z gitary bez prerušenia zástrčky alebo rozbitia gitary. Na jednej strane dosky sú ploché stopy navrhnuté tak, aby dokonale zapadli do konektora pochádzajúceho z gitary. K dispozícii sú tiež dva malé zárezy, ktoré umožňujú zacvaknutie zástrčky na miesto, čím sa zabráni jej uvoľneniu. Stopy vedú k štyrom kolíkom hlavičky na opačnej strane dosky.

Poznámka: Nunchucky sú dodávané s kolíkovými konektormi, ale nie sú spájkované, takže to budete musieť urobiť sami. Pokiaľ ide o môj, namiesto toho som použil kolíky 90 stupňovej hlavičky, ktoré mu umožnili v konečnom projekte ležať naplocho.

Na pripojenie Nunchucky k Raspberry Pi budete potrebovať štyri vodiče. Pripojte vodiče z kolíkov konektora Nunchucky k pinom GPIO Raspberry Pi nasledovne:

  • 3.3v -> Kolík 1
  • Údaje -> Pin 3
  • Clk -> Pin 5
  • Gnd -> Pin 9

V mojom projekte som použil krimpovacie konektory na vodiče, aby sa nevyťahovali tak ľahko. Ak však nemáte krimpovacie konektory, budú fungovať štyri samostatné prepojovacie vodiče medzi ženami a ženami. Ak používate krimpovacie konektory, dbajte na poradie vodičov na kolíkoch záhlavia a kolíkoch GPIO. Upozorňujeme, že na kolíkoch GPIO preskočíme kolík 7. Na tento účel som použil päťvodičový krimpovací konektor na jednom konci a preskočil jeden slot.

Ak chcete overiť, že váš Raspberry Pi dokáže rozpoznať ovládač gitary, otvorte shell a napíšte: sudo i2cdetect -y 1

Mal by vytlačiť mriežku v škrupine s väčšinou dvojitými čiarkami. Ak počítač dokáže rozpoznať gitaru, v jednom zo slotov by ste mali vidieť identifikátor gitary č. 52 … na mojom počítači sa zobrazil v stĺpci 2, riadku 5 … ale nezáleží na tom, ktorý, pokiaľ vidíte niekde tam je číslo 52.

Ak to počítač nedokáže zistiť, vyskúšajte niekoľko vecí:

  • Uistite sa, že sú vaše vodiče pevne spojené.
  • Uistite sa, že máte všetko prepojené so správnymi kolíkmi.
  • Otočte gitarovú zástrčku. Nunchucky vám nebráni v pripojení zástrčky hore nohami, takže môže byť obrátená.
  • Uistite sa, že je na Raspberry Pi povolený i2c (ako je uvedené v kroku 2)

*Ak sa vám konektor na gitarovom ovládači zdá známy, je to preto, že je rovnaký ako štandardný ovládač Wii Nunchuck … odtiaľ názov Nunchucky! To tiež znamená, že rovnakú oddeľovaciu dosku môžete použiť aj na pripojenie k ovládačom nunchuck.

Krok 5: Krok 5: Dajte to všetko dohromady

Krok 5: Dajte to všetko dohromady
Krok 5: Dajte to všetko dohromady
Krok 5: Dajte to všetko dohromady
Krok 5: Dajte to všetko dohromady

Teraz, keď je všetko nastavené na Raspberry Pi, potrebujeme už len trochu kódu, aby fungoval. Kód a ďalšie potrebné súbory si môžete stiahnuť nasledovne:

  • Ak chcete stiahnuť kód a ďalšie súbory na Raspberry Pi, otvorte nový shell a zadajte nasledujúci príkaz (pred ním možno budete musieť dať „sudo“): git clone
  • Tým sa vo vašom domovskom adresári vytvorí adresár s názvom keytarHero (t.j./home/pi/keytarHero) a stiahnete do neho súbory.

Tento balík obsahuje tri hlavné súbory:

  • WiiGHController.py: Toto je skript pythonu, ktorý otvára spojenie i2c s gitarou a vracia hodnoty rôznych ovládacích prvkov. V predvolenom nastavení tiež vytlačí hodnoty, ktoré číta, do shellu, aby ste videli, čo robí.
  • keytarHero.pd: Toto je opravný súbor Pure Data, ktorý som vytvoril na vytvorenie hudby, ktorú budete počuť. Je nastavený tak, aby čítal hodnoty prichádzajúce z gitary a smeroval ich do rôznych uzlov, aby generoval zvuky. V nasledujúcom kroku prediskutujem detaily opravy, ale v konečnom dôsledku to môžete upraviť tak, aby ste odtiaľto robili čo chcete.
  • keytarHero.py: Toto je skript, ktorý naštartuje celý proces a zlepí všetko dohromady. Spustí Pure Data a otvorí opravu keytarHero.pd. Otvára spojenie s opravou a prenáša hodnoty z gitary na opravu.

Okamžik pravdy! Uistite sa, že je gitara pripojená k Raspberry Pi a potom ste pripravení ísť. Na spustenie programu je potrebné spustiť skript keytarHero.py. Robiť to:

  • Otvorte nový shell a zadajte: cd keytarHero
  • Potom spustite príkaz: python keytarHero.py

To je všetko! Ak všetko funguje správne, Pure Data by sa malo spustiť a začať hrať opravu. Mali by ste počuť sekvenciu prehrávaných tónov a keď stlačíte tlačidlá na gitare, malo by na to reagovať.

Riešenie problémov

Ak to nefunguje, je potrebné skontrolovať niekoľko vecí:

  • Oprava Pure Data sa nespustí alebo sa zobrazuje chyba, že nenájdete súbory? Skript keytarHero.py má cestu k súboru opravy Pure Data napevno kódovaný na '/home/pi/keytarHero/keytarHero.pd'. Ak ste priečinok keytarHero alebo súbor s opravou presunuli niekam inam, budete musieť skript aktualizovať, aby ste namiesto neho použili cestu. Ak to chcete urobiť, otvorte súbor keytarHero.py a vyhľadajte premennú s názvom PD_PATCH_PATH a zmeňte ju tak, aby smerovala do adresára, v ktorom žije váš súbor keytarHero.pd. Uložte skript a znova ho spustite a mali by ste ísť.
  • Vydáva gitara signál? Skript by mal nepretržite tlačiť signál, ktorý sa dostáva z gitary do škrupiny, ako reťazec čísel, z ktorých každé predstavuje hodnotu ovládacieho prvku na gitare. Keď na gitare použijete ovládací prvok, malo by dôjsť k zmene týchto čísel. Ak nie, skontrolujte, či ste správne vykonali nastavenie i2c a pripojenia gitary podľa vyššie uvedených krokov.
  • Je zvuk Pure Data zapnutý? Oprava Pure Data poskytovaná v tomto balíku by mala automaticky zapnúť zvuk, ale overiť, či je začiarknuté políčko DSP v konzole Pure Data. Skontrolujte tiež svoje zvukové nastavenia podľa kroku 3.
  • Prijíma Pure Data signál z gitary? V pravom hornom rohu opravy je zväzok uzlov zodpovedných za čítanie signálu z gitary a jeho prenos do zvyšku patche. Keď stlačíte tlačidlá na gitare, čísla v tejto časti by sa mali aktualizovať a tiež vám oznámiť, že správne prijíma signál.
  • Inicializácia premenných v záplate. Čisté údaje môžu byť trochu náročné na hodnoty v záplate, ktoré sa neinicializujú. Pridal som mechanizmy na spustenie premenných pri ich otvorení, ale možno stojí za to kliknúť na niektoré zo schránok správ (tie, ktoré vyzerajú, že ste si z nich zobrali sústo). To spôsobí ich inicializáciu a môže ich to prebudiť.

Krok 6: Prehliadka záplaty Pure Data

Tour of the Pure Data Patch
Tour of the Pure Data Patch
Tour of the Pure Data Patch
Tour of the Pure Data Patch
Tour of the Pure Data Patch
Tour of the Pure Data Patch
Tour of the Pure Data Patch
Tour of the Pure Data Patch

Nastavenie, ktoré bolo doteraz popísané v tomto návode, vám zaistí bezproblémové fungovanie, ale jednou z príjemných vecí, ktoré v súvislosti s týmto projektom spočívajú v použití čistých údajov, je to, že je možné ho prispôsobiť tak, aby robil čokoľvek chcete. Keď je oprava otvorená, stlačením Ctrl + E prepne opravu do režimu úprav a môžete opravu zmeniť. Podrobnosti o používaní Pure Data presahujú rámec tohto tutoriálu (na to je veľa online návodov), ale baviť sa s ním môže byť zábava, a preto vám prinášame všeobecnú prehliadku toho, čo sa deje v záplate keytarHero.pd v prípade, že chcete ho prispôsobiť:

  • Komunikácia na gitare: V pravom hornom rohu opravy je strom uzlov zodpovedných za spracovanie signálu z gitary. Hodnoty z gitary sú dlhý reťazec, takže tieto uzly rozdelia reťazec na jednotlivé hodnoty pre každý ovládací prvok, prevedú ich na čísla a potom ich odošlú do uzlov „odoslať“(tie, ktoré začínajú na s). Odosielajúcim uzlom je priradené meno a vysielajú signál „príjemcom“s rovnakým názvom. Napríklad uzol „whammy“vysiela hodnoty prichádzajúce z whammy baru gitary a uzol „r whammy“v strede patice prijíma tento signál a používa tento signál na zastavenie sekvencera. Uzly odosielania a prijímania pomáhajú obmedziť neporiadok spojovacích vedení v záplate. Neodporúčam zahrávať sa v tejto sekcii, pretože je to trochu namáhavé, aby ste sa správne zorientovali, ale určite môžete do opravy pridať ďalšie prijímacie uzly podľa potreby na príjem signálov z nej podľa potreby.
  • Sekvencia sekvenceru: Stredná časť opravy riadi sekvencer. Na ľavej strane je lišta s pohyblivým čiernym štvorcom, ktorá vám ukazuje, akú notu zo 16-notovej sekvencie práve hrá. Kláves brnkania určuje, či sa sekvencia prehráva dopredu alebo dozadu. Tlačidlá plus/mínus zvyšujú/znižujú rýchlosť. Na pravej strane je päť sád čísel, ktoré určujú, ktoré noty sa prehrávajú v každom kroku. Každá sekvencia je priradená k prehrávaniu stlačením jedného z piatich tlačidiel na pražci. Tieto čísla sú MIDI hodnoty a môžete ich zmeniť tak, aby hrali akékoľvek noty, ktoré chcete … dajte im hodnoty od 0 do 127.
  • Sekcia oscilátora/efektu: Vľavo dole sú oscilátory a uzly FX, ktoré v skutočnosti vydávajú zvuk. Primárny oscilátor je vľavo. Midi hodnoty zo sekcie sekvencera sú prevedené na frekvencie a privádzané do oscilátora. Je zmiešaný s druhým oscilátorom prichádzajúcim z pravej strany. Jeho frekvencia je tiež riadená hodnotami midi, ale s ďalším frekvenčným posunom riadeným osou X joysticku. Pri posúvaní joysticku doľava alebo doprava to spôsobuje rozladený alebo pískajúci efekt. V pravom dolnom rohu je tiež dolnopriepustný uzol filtra, ktorého medzná frekvencia je viazaná na os Y joysticku. Dolnopriepustný filter určuje, ako veľmi je zo zvuku odstránený vysokofrekvenčný zvuk. Keď sa joystick posunie do dolnej polohy, preruší väčšinu vysokých frekvencií, čo spôsobí tlmený zvuk. Keď sa presunie do polohy nahor, prejde všetkými frekvenciami, čo má za následok jasnejší zvuk.
  • Inicializácia: V ľavom hornom rohu opravy je niekoľko uzlov, ktoré po spustení opravy inicializujú, napríklad zapnutím zvuku a dotykom rôznych uzlov ich prebudia. V tejto sekcii si opäť nemusíte robiť starosti, ale ak existujú veci, ktoré by ste chceli, aby sa stali pri spustení opravy, pripojte ich k uzlu s názvom „loadbang“.
  • Pokúsil som sa dokumentovať opravu s komentármi v samotnej záplate, takže dúfajme, že vám to poskytne dostatok informácií na preskúmanie rôznych možností tu.

Užite si to!

Krok 7: Ďalšie veci na vyskúšanie

Prevádzka na gitare „bez hlavy“

Tento projekt by malo byť možné spustiť bez pripojenia k monitoru/klávesnici/myši, ak ste Raspberry Pi spustili z vhodného prenosného zdroja energie. Raspberry Pi celkom nezapadá do otvoru na zadnej strane gitary, ale ak sa cítite odvážne, môžete na gitare vykonať úpravy, ktoré to vyriešia … alebo jednoducho pripevnite Pi na chrbát pomocou skrutiek a nechajte ho prilepiť. trochu von. Na internete je veľa návodov, ako spúšťať skripty na Raspberry Pi bez hlavy, ale v zásade by ste pri spustení chceli spustiť príkaz „python /home/pi/keytarHero/keytarHero.py&“. Teoreticky by ste mali gitaru, z ktorej by k reproduktoru vychádzal iba jeden kábel … rovnako ako skutočná elektrická gitara!

Ďalšie úpravy Pure Data

Mal som niekoľko ďalších nápadov, ako gitara môže ovládať patch Pure Data, ale nedokázal som to vyskúšať. Toto by boli zmeny v záplate, s ktorými by mohlo byť zábavné experimentovať:

  • Whammy bar: V súčasnom patme whammy bar jednoducho zastaví prehrávanie sekvencií, ale myslím si, že by bolo lepšie, keby whammy bar súčasne zvýšil frekvenciu rovnako ako skutočný whammy bar. Chvíľu som sa snažil, aby to fungovalo, ale bolo to zložitejšie, ako som si myslel. Myslím, že by to mohlo byť len o pridaní výrazu dole v sekcii oscilátora, ktorý oscilátoru dodá trochu vyššiu frekvenciu na základe hodnoty pochádzajúcej z whammy baru.
  • Strum bar: V súčasnosti bar so strumami prehráva sekvenciu dopredu pri stlačení nadol a dozadu pri stlačení nahor, ale môže byť lepšie nechať ho prechádzať rôznymi možnosťami sekvenovania, ako napríklad náhodný krok atď.
  • Tlačidlá plus/mínus: Tlačidlá plus/mínus menia úder za minútu, ale sú trochu zdrvujúce, pokiaľ ich niekoľkokrát nestlačíte. Možno by bolo dobré, keby sa to zakaždým zvýšilo o väčšie množstvo. Alebo nechajte prepnúť sekvencer medzi 16-bitovým, 8-bitovým, 4-taktným a trojitým prehrávaním.

Odporúča: