Obsah:

Keytar Hero (použití kytarového ovladače Wii jako syntetizátoru): 7 kroků (s obrázky)
Keytar Hero (použití kytarového ovladače Wii jako syntetizátoru): 7 kroků (s obrázky)

Video: Keytar Hero (použití kytarového ovladače Wii jako syntetizátoru): 7 kroků (s obrázky)

Video: Keytar Hero (použití kytarového ovladače Wii jako syntetizátoru): 7 kroků (s obrázky)
Video: Bad Reputation Inspired Red and Black Smokey Eye Makeup Tutorial (NoBlandMakeup) 2024, Červenec
Anonim
Image
Image
Krok 1: Raspberry Pi (počáteční nastavení)
Krok 1: Raspberry Pi (počáteční nastavení)

Hry Guitar Hero byly před dvanácti lety v módě, takže se kolem hromady prachu povaluje spousta starých kytarových ovladačů. Mají spoustu tlačítek, knoflíků a páček, tak proč je znovu dobře nevyužít? Kytarový ovladač sám o sobě obvykle nevydává žádný zvuk, ale v tomto tutoriálu vám ukážu, jak převést ovladač Wii Guitar Hero, aby jej bylo možné hrát jako syntetizér.

Zásoby

  • Guitar Hero Wii ovladač
  • Nunchucky breakout board (k dispozici na Adafruit zde)
  • 4ea propojovací vodiče (žena na ženu)
  • 2ea krimpovací konektory (volitelně)
  • Raspberry Pi (preferováno 3 B+ nebo 4)
  • 16GB karta MicroSD

Krok 1: Krok 1: Raspberry Pi (počáteční nastavení)

Raspberry Pi je mozek a mozek tohoto projektu, takže první věc, kterou budeme muset udělat, je nastavit si ho pro náš projekt. Zkoušel jsem tento projekt na Raspberry Pi 3 B+ a 4 a zdá se, že oba fungují dobře.

Raspberry Pi's jsou mikropočítače, které místo pevného disku ukládají vše na kartu microSD … včetně operačního systému. Typickým způsobem, jak je použít, je stáhnout nejnovější operační systém a vypálit jeho obrázek na kartu microSD následujícím způsobem:

  • Na samostatném počítači nebo notebooku přejděte na
  • Stáhněte si nejnovější Raspbian OS. (Buster v době psaní tohoto článku). Na stránce je k dispozici více verzí, které poskytují více či méně zahrnutý software v závislosti na vašich preferencích. Všechny by měly fungovat dobře, ale já rád používám možnost „Raspbian Buster s desktopem a doporučeným softwarem“, protože obsahuje některá programovací IDE a další šikovné aplikace. Nejjednodušší je stáhnout si zip verzi.
  • Vypálit obrázek Raspbian na kartu microSD. Existuje mnoho aplikací, které můžete použít k vypálení obrazu Raspbian na kartu microSD, ale já jsem použil program balenaEtcher, který můžete získat zde. Vložte kartu microSD do počítače a spusťte balenaEtcher. Jako obraz disku vyberte stažený soubor zip, poté vyberte kartu SD a stiskněte flash. Nástroj rozbalí obrazové soubory disku a vypálí je na kartu SD. DŮLEŽITÉ: Ujistěte se, že vybraná jednotka je karta microSD … nástroj přepíše jakoukoli jednotku, kterou zadáte, takže se ujistěte, že jste vybrali správnou.
  • Zapalte si Raspberry Pi. Vložte kartu microSD do svého Raspberry Pi. Připojte napájení, myš, klávesnici a reproduktory. Pokud budete postupovat podle pokynů, je to docela samozřejmé … nastavte svou polohu/čas, nastavte heslo a připojte se k WiFi.

Toto je standardní nastavení pro Raspberry Pi, takže pokud potřebujete další podrobnosti, najdete je zde. Zbytek kroků provedeme na Raspberry Pi.

Krok 2: Krok 2: Povolte I2c

Krok 2: Povolte I2c
Krok 2: Povolte I2c

Ovladač Guitar Hero používá ke komunikaci i2c (i2c je poměrně běžný protokol používaný elektronickými zařízeními k vzájemné komunikaci), proto musíme tuto funkci povolit na Raspberry Pi:

  • Nainstalujte knihovny pro i2c. Knihovny i2c se nyní zdají být součástí standardní verze Buster, ale pro případ, že pro ně spustíme instalační program. Otevřete shell (nahoře na hlavním panelu je jeho ikona) a zadejte následující:

    • sudo apt-get install -y python-smbus
    • sudo apt-get install -y i2c-tools
  • Povolte i2c na Raspberry Pi. Ve vašem typu shellu: sudo raspi-config. Zobrazí se konfigurační okno. Šipkou dolů na InterfacingOptions-> I2C povolíte i2c pro zařízení. Chcete -li se dostat ven z okna, uložte nastavení šipkou doprava na Zpět a poté na Dokončit.
  • Restartujte. Do svého shellu zadejte: sudo reboot
  • Nastavte vlastní parametry i2c. Výchozí i2c baudrate (100k) vypadá, že kytaru občas zaměňuje, takže ji zpomalíme na 50k následovně:

    • V typu shellu: sudo nano /boot/config.txt
    • Tím se váš konfigurační soubor otevře v textovém editoru. Šipkou dolů najděte řádek, který říká dtparam = i2c_arm = on. Pokud je to komentováno, odkomentujte to. Pokud tento řádek nemáte, přidejte jej. Pod tento řádek také přidejte následující:

      • dtparam = i2c1 = zapnuto
      • dtparam = i2c1_baudrate = 50 000
    • Stiskněte Ctrl + O pro uložení konfiguračního souboru a poté stiskněte Ctrl + X pro ukončení.
  • Restartujte. Do svého shellu zadejte: sudo reboot

Krok 3: Krok 3: Nainstalujte Pure Data

Krok 3: Nainstalujte Pure Data
Krok 3: Nainstalujte Pure Data
Krok 3: Nainstalujte Pure Data
Krok 3: Nainstalujte Pure Data

Pro zvuky syntetizátoru použijeme program s názvem Pure Data. Jedná se o generativní zvukový a interaktivní zobrazovací nástroj, který existuje již nějakou dobu. Má několik funkcí, díky nimž je ideální pro tento projekt… má uživatelské rozhraní založené na uzlech, které se poměrně snadno používá, a může přijímat signály z externích zdrojů, jako jsou skripty pythonu.

  • Nainstalujte si Pure Data. V typu shellu: sudo apt-get install puredata
    • To by mělo nainstalovat software na váš Raspberry Pi, ale pokud si ve skořápce stěžuje, že nemůže najít všechny potřebné soubory, zkuste toto:

      • sudo apt-get update
      • Potom znovu spusťte příkaz install: sudo apt-get install puredata
    • Během instalace se zobrazí výzva, pokud chcete vytvořit adresáře pro rozšíření, můžete říci Ano.
  • Spusťte Pure Data. Pokud je nainstalován správně, měli byste vidět program uvedený v nabídce Start na ploše v části Zvuk a video. Spusťte jej, abyste se ujistili, že se spustí.
  • Nastavte zvuk Pure Data. Zvuk v Pure Data obvykle není ve výchozím nastavení zapnutý, takže jej budete muset povolit.

    • Nastavte zvukový výstup na ALSA. Když se Pure Data spustí, měli byste vidět jeho okno konzoly. Přejděte do nabídky Média a jako výstup vyberte ALSA. V prostředí konzoly se mohou zobrazit varovné zprávy, které říkají, že nemůže najít určité soubory, ale toto můžete ignorovat.
    • Zapněte zvuk DSP. V okně konzoly zaškrtněte políčko DSP.
  • Otestujte zvukový výstup. V okně konzoly Pure Data přejděte na Media-> Test Audio & MIDI. Otevře se testovací soubor, pomocí kterého se můžeme ujistit, že Pure Data funguje a že můžeme slyšet zvuk. Zapněte reproduktory, ale nejprve je udržujte na nízké hlasitosti (někdy může být zvuk ve výchozím nastavení velmi hlasitý). V testovacím souboru byste na levé straně měli vidět sekci nazvanou Testovací tóny. Klikněte nejprve na pole s nápisem 60 a zkontrolujte, zda z reproduktorů neuslyšíte žádný zvuk. Pokud ne, zkuste kliknout na pole 80 a poté zapněte reproduktory, dokud neuslyšíte zvuk. Pokud uslyšíte zvuk, zkuste přetáhnout pole s nápisem Pitch napravo od testovacích tónů, kde můžete změnit frekvenci tónů a zjistit, co se stane.

Pokud jste schopni spustit Pure Data a slyšet zvuk z testovacího patche, jste připraveni přejít k dalšímu kroku. Čistá data se ale mohou při audio výstupu trochu vybírat, takže pokud zvuk stále nedostáváte, zkuste následující:

  • Je možné, že je zvuk směrován kabelem HDMI, takže jej donutíte použít konektor pro sluchátka:

    • V typu shellu: sudo raspi-config
    • Přejděte na Pokročilé možnosti-> Zvuk-> Vynutit 3,5mm konektor („sluchátka“)
  • Zkuste restartovat. Někdy to dělá trik.
  • Zkontrolujte reproduktory a připojení k Raspberry Pi.

Krok 4: Krok 4: Připojení kytary

Krok 4: Připojení kytary
Krok 4: Připojení kytary
Krok 4: Připojení kytary
Krok 4: Připojení kytary
Krok 4: Připojení kytary
Krok 4: Připojení kytary

Nejjednodušší způsob, jak připojit ovladač kytary k Raspberry Pi, je levná odpočinková deska, jako je Nunchucky*. Tato deska vám umožňuje přístup k signálu přicházejícímu z kytary, aniž byste museli odpojit zástrčku nebo rozbít kytaru. Na jedné straně desky jsou ploché stopy navržené tak, aby dokonale zapadly do zástrčky vycházející z kytary. K dispozici jsou také dva malé zářezy, které umožňují zacvaknutí zástrčky na místo, a zabraňují tak uvolnění. Stopy vedou ke čtyřem kolíkům záhlaví na opačné straně desky.

Poznámka: Nunchucky jsou dodávány s kolíky záhlaví, ale nejsou připájeny, takže to budete muset udělat sami. Pro ten můj jsem místo toho použil 90 stupňové kolíkové kolíky, které mu umožňují v konečném projektu ležet naplocho.

K připojení Nunchucky k Raspberry Pi budete potřebovat čtyři vodiče. Připojte vodiče z kolíků záhlaví Nunchucky k pinům GPIO Raspberry Pi následujícím způsobem:

  • 3.3v -> Pin 1
  • Data -> Pin 3
  • Clk -> Pin 5
  • Gnd -> Pin 9

V mém projektu jsem použil krimpovací konektory pro vodiče, aby se nevytahovaly tak snadno. Pokud ale nemáte krimpovací konektory, čtyři samostatné propojovací vodiče žena-žena budou fungovat dobře. Pokud používáte krimpovací konektory, věnujte pozornost pořadí vodičů na kolících záhlaví a kolících GPIO. Všimněte si také, že na GPIO pinech přeskočíme pin 7. Abych to vysvětlil, použil jsem na jednom konci pětivodičový krimpovací konektor a přeskočil jeden slot.

Chcete -li ověřit, že váš Raspberry Pi dokáže detekovat ovladač kytary, otevřete shell a zadejte: sudo i2cdetect -y 1

Měl by vytisknout mřížku ve skořápce s většinou dvojitými pomlčkami. Pokud počítač dokáže detekovat kytaru, měli byste vidět ID kytary# 52 v jednom ze slotů … na mém počítači se zobrazilo ve sloupci 2, řádek 5 … ale nezáleží na tom, který, pokud vidíte někde tam číslo 52.

Pokud to počítač nedokáže detekovat, zkuste následující věci:

  • Ujistěte se, že jsou vaše vodiče pevně spojeny.
  • Ujistěte se, že máte vše připojeno ke správným kolíkům.
  • Otočte kytarovou zástrčku. Nunchucky vám nebrání připojit zástrčku vzhůru nohama, takže může, ale obráceně.
  • Ujistěte se, že je na Raspberry Pi povolen i2c (jak je znázorněno v kroku 2)

*Pokud vám konektor na ovladači kytary připadá povědomý, je to proto, že je stejný jako standardní ovladač Wii Nunchuck… odtud název Nunchucky! To také znamená, že můžete stejnou odpojovací desku použít také k připojení k ovladačům nunchuck.

Krok 5: Krok 5: Dát to všechno dohromady

Krok 5: Dát to všechno dohromady
Krok 5: Dát to všechno dohromady
Krok 5: Dát to všechno dohromady
Krok 5: Dát to všechno dohromady

Nyní, když je vše nastaveno na Raspberry Pi, potřebujeme jen trochu kódu, aby fungoval. Kód a další potřebné soubory si můžete stáhnout následovně:

  • Chcete -li stáhnout kód a další soubory na Raspberry Pi, otevřete nový shell a zadejte následující příkaz (před něj možná budete muset zadat 'sudo'): git clone
  • Tím ve svém domovském adresáři vytvoříte adresář s názvem keytarHero (tj./Home/pi/keytarHero) a stáhnete do něj soubory.

V tomto balíčku jsou tři hlavní soubory:

  • WiiGHController.py: Toto je skript pythonu, který otevírá připojení i2c ke kytaře a vrací hodnoty různých ovládacích prvků. Ve výchozím nastavení také vytiskne hodnoty, které čte, do shellu, abyste viděli, co dělá.
  • keytarHero.pd: Toto je opravný soubor Pure Data, který jsem vytvořil pro vytvoření hudby, kterou uslyšíte. Je nastaven tak, aby četl hodnoty přicházející z kytary a směroval je do různých uzlů, aby generoval zvuky. V příštím kroku budu diskutovat o podrobnostech opravy, ale nakonec to můžete upravit tak, abyste odtud mohli dělat, co chcete.
  • keytarHero.py: Toto je skript, který odstartuje celý proces a všechno slepí. Spustí Pure Data a otevře opravu keytarHero.pd. Otevírá spojení s patchem a předává hodnoty z kytary do patche.

Okamžik pravdy! Ujistěte se, že je kytara připojena k Raspberry Pi a pak jste připraveni jít. Chcete -li to spustit, stačí spustit skript keytarHero.py. Udělat toto:

  • Otevřete nový shell a zadejte: cd keytarHero
  • Poté spusťte příkaz: python keytarHero.py

A je to! Pokud vše funguje správně, Pure Data by se měla spustit a začít hrát opravu. Měli byste slyšet posloupnost přehrávaných not a když stisknete tlačítka na kytaře, měla by na ni reagovat.

Odstraňování problémů

Pokud to nefunguje, zkontrolujte několik věcí:

  • Čistá datová oprava se nespustí nebo se zobrazuje chyba ohledně nenalezení souborů? Skript keytarHero.py má cestu k souboru opravy Pure Data napevno zakódovaný na '/home/pi/keytarHero/keytarHero.pd'. Pokud jste složku keytarHero nebo soubor opravy přesunuli někam jinam, budete muset skript aktualizovat, aby místo toho používal cestu. Chcete -li to provést, otevřete soubor keytarHero.py a vyhledejte proměnnou s názvem PD_PATCH_PATH a změňte ji tak, aby směřovala do adresáře, kde žije váš soubor keytarHero.pd. Uložte skript a znovu jej spusťte a měli byste být v pořádku.
  • Vysílá kytara signál? Skript by měl nepřetržitě tisknout signál, který dostává z kytary do mušle, jako řetězec čísel, z nichž každé představuje hodnotu ovládacího prvku na kytaře. Když na kytaru použijete ovládací prvek, mělo by dojít ke změně těchto čísel. Pokud ne, zkontrolujte, zda jste nastavení i2c a připojení kytary provedli správně podle výše uvedených kroků.
  • Je zvuk Pure Data zapnutý? Oprava Pure Data poskytovaná v tomto balíčku by měla automaticky zapnout zvuk, ale ověřit, zda je zaškrtnuto políčko DSP v konzole Pure Data. Zkontrolujte také nastavení zvuku podle kroku 3.
  • Přijímá Pure Data signál z kytary? V pravém horním rohu patche je hromada uzlů zodpovědných za čtení signálu z kytary a jeho přenos do zbytku patche. Když stisknete tlačítka na kytaře, měla by se aktualizovat také čísla v této části, což vám říká, že přijímá signál správně.
  • Inicializace proměnných v opravě. Čistá data mohou být trochu vybíravá, pokud jde o neinicializaci hodnot v opravě. Přidal jsem mechanismy pro spouštění proměnných, když se otevírají, ale možná by stálo za to kliknout na některá pole zpráv (ta, která vypadají, jako by z nich byla vykořeněna). To způsobí, že se inicializují a mohou je probudit.

Krok 6: Prohlídka záplaty Pure Data

Prohlídka čisté datové opravy
Prohlídka čisté datové opravy
Prohlídka čisté datové opravy
Prohlídka čisté datové opravy
Prohlídka čisté datové opravy
Prohlídka čisté datové opravy
Prohlídka čisté datové opravy
Prohlídka čisté datové opravy

Nastavení dosud popsané v tomto tutoriálu vám pomůže pracovat, ale jedna z hezkých věcí, které se týkají používání Pure Data pro tento projekt, je, že jej lze přizpůsobit tak, abyste dělali, co chcete. Když je patch otevřený, když stisknete Ctrl + E, přepne patch do režimu Edit a můžete patch změnit. Podrobnosti o používání Pure Data přesahují rámec tohoto tutoriálu (na to je spousta online návodů), ale může být zábavné si s ním pohrát, takže zde je obecná prohlídka toho, co se děje v záplatě keytarHero.pd pro případ, že byste chcete jej přizpůsobit:

  • Komunikace na kytaru: V pravé horní části patche je strom uzlů zodpovědných za zpracování signálu z kytary. Hodnoty z kytary jsou dlouhý řetězec, takže tyto uzly rozdělí řetězec na jednotlivé hodnoty pro každý ovládací prvek, převede je na čísla a poté je předají do uzlů „odeslat“(ty, které začínají písmenem s). Odesílacím uzlům je přiřazeno jméno a vysílají signál do „přijímacích“uzlů stejného jména. Například uzel 's whammy' vysílá hodnoty pocházející z whammy baru kytary a uzel 'r whammy' uprostřed patche přijímá tento signál a používá tento signál k zastavení sekvenceru. Uzly odesílání/přijímání pomáhají omezit nepořádek spojovacích linek v opravě. Nedoporučuji polemizovat s touto sekcí, protože je to trochu náročné, abyste se dostali správně, ale určitě můžete přidat další přijímací uzly do celé patche podle potřeby, abyste z ní mohli přijímat signály podle potřeby.
  • Sekvencer Sekvencer: Střední sekce patche ovládá sekvencer. Na levé straně je lišta s pohyblivým černým čtverečkem, která vám ukazuje, kterou notu 16-notové sekvence hraje. Klávesa brnkání určuje, zda sekvence hraje dopředu nebo dozadu. Tlačítka plus/mínus zvyšují/snižují rychlost. Na pravé straně je pět sad čísel, která ovládají, které noty hrají během každého kroku. Každá sekvence je přiřazena ke hře, když je stisknuto jedno z pěti tlačítek na pražci. Tato čísla jsou MIDI hodnoty a můžete je změnit tak, aby hrála jakékoli noty, které chcete … stačí jim dát hodnoty mezi 0 a 127.
  • Sekce oscilátor/FX: Vlevo dole jsou oscilátor a FX uzly, které ve skutečnosti vydávají zvuk. Primární oscilátor je vlevo. Midi hodnoty ze sekce sekvenceru jsou převedeny na frekvence a přivedeny do oscilátoru. Je smíchán s druhým oscilátorem přicházejícím z pravé strany. Jeho frekvence je také řízena hodnotami midi, ale s dalším frekvenčním posunem poháněným osou X joysticku. Při pohybu joysticku doleva nebo doprava to způsobí rozladěný nebo pískavý efekt. V pravém dolním rohu je také uzel dolní propusti, jehož mezní frekvence je svázána s osou Y joysticku. Nízkoprůchodový filtr určuje, jak moc je vysokofrekvenční zvuk ze zvuku odstraněn. Když je joystick přesunut do dolní polohy, odřízne většinu vysokých frekvencí, což má za následek tlumený zvuk. Po přesunutí do polohy nahoru prochází všemi frekvencemi, což má za následek jasnější zvuk.
  • Inicializace: V levém horním rohu opravy je řada uzlů, které při spuštění opravy inicializují, například zapněte zvuk a 'dotkněte se' různých uzlů, abyste je probudili. S touto sekcí se pravděpodobně znovu nemusíte potýkat, ale pokud existují věci, které chcete, aby se staly při spuštění opravy, připojte je k uzlu s názvem 'loadbang'.
  • Pokusil jsem se dokumentovat opravu pomocí komentářů v samotné opravě, takže doufejme, že vám to poskytne dostatek informací k prozkoumání různých možností.

Užívat si!

Krok 7: Další věci k vyzkoušení

Běh na kytaru „bez hlavy“

Pokud jste Raspberry Pi spustili z vhodného přenosného zdroje energie, mělo by být možné spustit tento projekt bez připojení k monitoru/klávesnici/myši. Raspberry Pi úplně nezapadá do otvoru na zadní straně kytary, ale pokud se cítíte odvážně, můžete na kytaru provést úpravy, abyste to napravili … nebo jednoduše připevněte Pi na zadní stranu pomocí šroubů a nechejte jej nalepit trochu ven. Existuje spousta online návodů, jak spouštět skripty na Raspberry Pi bez hlavy, ale v zásadě byste při spuštění chtěli spustit příkaz 'python /home/pi/keytarHero/keytarHero.py&'. Teoreticky byste tedy měli kytaru, z níž by do reproduktoru vycházel pouze jeden kabel … stejně jako skutečná elektrická kytara!

Další úpravy Pure Data

Měl jsem nějaké další nápady, jak by kytara mohla ovládat patch Pure Data, ale nedostal jsem se k vyzkoušení. To by byly změny v patchi, se kterými by mohlo být zábavné experimentovat:

  • Whammy bar: V aktuálním patchu whammy bar jednoduše zastaví přehrávání sekvence, ale myslím, že by bylo lepší, kdyby whammy bar současně zvýšil frekvenci, stejně jako skutečný whammy bar. Chvíli jsem se snažil, aby to fungovalo, ale bylo to složitější, než jsem si myslel. Myslím, že by to mohlo být jen o přidání výrazu dolů v sekci oscilátoru, který přidá trochu vyšší frekvenci oscilátoru na základě hodnoty pocházející z whammy baru.
  • Strum bar: V současné době strum bar hraje sekvenci vpřed při stisknutí dolů a dozadu při stisknutí nahoru, ale může být lepší nechat jej procházet různými možnostmi sekvencování, jako je náhodný krok atd.
  • Tlačítka plus/mínus: Tlačítka plus/mínus mění údery za minutu, ale je to trochu zdrcující, pokud je několikrát nezasáhnete. Možná by bylo dobré, kdyby se to pokaždé zvýšilo o větší částku. Nebo můžete nechat přepnout sekvencer mezi 16bitovým, 8bitovým, 4taktním a trojitým přehráváním.

Doporučuje: