Sisukord:

Keytar Hero (Wii kitarrikontrolleri kasutamine süntesaatorina): 7 sammu (piltidega)
Keytar Hero (Wii kitarrikontrolleri kasutamine süntesaatorina): 7 sammu (piltidega)

Video: Keytar Hero (Wii kitarrikontrolleri kasutamine süntesaatorina): 7 sammu (piltidega)

Video: Keytar Hero (Wii kitarrikontrolleri kasutamine süntesaatorina): 7 sammu (piltidega)
Video: Keytar Hero (Using a Wii Guitar as a Synthesizer) 2024, Juuli
Anonim
Image
Image
Samm: Raspberry Pi (esialgne seadistamine)
Samm: Raspberry Pi (esialgne seadistamine)

Guitar Hero mängud olid tosin aastat tagasi moes, nii et tolmu kogudes lebab kindlasti palju vanu kitarrikontrollereid. Neil on palju nuppe, nuppe ja hoobasid, nii et miks mitte neid uuesti hästi kasutada? Kitarrikontroller ei tee tavaliselt heli iseenesest, kuid selles õpetuses näitan teile, kuidas teisendada Wii Guitar Hero Controller, et seda saaks mängida süntesaatorina.

Tarvikud

  • Guitar Hero Wii kontroller
  • Nunchucky Breakout Board (saadaval Adafruit'is siit)
  • 4ea hüppaja juhtmed (naissoost naissoost)
  • 2ea pressimispistikud (valikuline)
  • Vaarika Pi (eelistatud 3 B+ või 4)
  • 16 GB MicroSD -kaart

1. samm: 1. samm: Raspberry Pi (esialgne seadistus)

Vaarika Pi on selle projekti ajud ja nina, nii et esimene asi, mida peame tegema, on see meie projekti jaoks valmis seada. Olen seda projekti proovinud nii Raspberry Pi 3 B+ kui ka 4 -ga ja tundub, et mõlemad töötavad hästi.

Vaarika Pi -d on mikroarvutid, mis salvestavad kõvaketta asemel kõik microSD -kaardile … sealhulgas operatsioonisüsteemi. Tüüpiline viis nende kasutamiseks on alla laadida uusim operatsioonisüsteem ja põletada selle pilt microSD -kaardile järgmiselt.

  • Minge eraldi arvutis või sülearvutis aadressile
  • Laadige alla uusim Raspbian OS. (Buster selle kirjutamise ajal). Lehel on saadaval mitu versiooni, mis pakuvad sõltuvalt teie eelistustest enam -vähem kaasasolevat tarkvara. Nad peaksid kõik hästi töötama, kuid mulle meeldib kasutada valikut "Raspbian Buster koos töölaua ja soovitatud tarkvaraga", kuna see sisaldab mõningaid programmeerimise IDE -sid ja muid käepäraseid rakendusi. Lihtsaim viis on alla laadida zip -versioon.
  • Põletage Raspbiani pilt microSD -kaardile. Raspbiani pildi oma microSD -kaardile põletamiseks saate kasutada palju rakendusi, kuid ma kasutasin balenaEtcheri programmi, mille leiate siit. Sisestage microSD -kaart arvutisse ja käivitage balenaEtcher. Kettapildi jaoks valige allalaaditud zip -fail, seejärel valige oma SD -kaart ja vajutage välku. Tööriist pakib ketta pildifailid lahti ja põletab need SD -kaardile. TÄHTIS: veenduge, et teie valitud draiv on microSD -kaart … tööriist kirjutab teie määratud draivi üle, nii et veenduge, et valisite õige.
  • Pane oma Raspberry Pi põlema. Sisestage microSD -kaart oma Raspberry Pi -sse. Ühendage toide, hiir, klaviatuur ja kõlarid. Kui järgite juhiseid, on see üsna iseenesestmõistetav … määrake oma asukoht/aeg, määrake parool ja ühendage WiFi.

See on Raspberry Pi standardseade, nii et kui vajate rohkem üksikasju, leiate need siit. Teeme ülejäänud sammud Raspberry Pi peal.

2. samm: 2. samm: lubage I2c

Samm: lubage I2c
Samm: lubage I2c

Guitar Hero Controller kasutab suhtlemiseks i2c -d (i2c on üsna tavaline protokoll, mida elektroonilised seadmed kasutavad üksteisega rääkimiseks), seega peame selle funktsiooni Raspberry Pi -s lubama:

  • Installige teegid i2c jaoks. Tundub, et i2c teegid on osa Busteri standardversioonist, kuid igaks juhuks käivitame nende jaoks installiprogrammi. Avage kest (selle ülaosas oleval tegumiribal on selle ikoon) ja tippige järgmine tekst:

    • sudo apt-get install -y python-smbus
    • sudo apt-get install -y i2c-tools
  • Luba i2c Raspberry Pi -s. Kesta tüübis: sudo raspi-config. See avab teie konfiguratsiooniakna. Seadme i2c lubamiseks liikuge noolega alla InterfacingOptions-> I2C. Aknast väljumiseks seadete salvestamiseks paremnool tagasi ja seejärel nuppu Lõpeta.
  • Taaskäivitage. Tippige oma kesta sisse: sudo reboot
  • Määrake kohandatud i2c parameetrid. Vaikimisi i2c baudrate (100k) ajab kitarri aeg -ajalt segadusse, seega aeglustame selle 50k -ni järgmiselt:

    • Kesta tüübis: sudo nano /boot/config.txt
    • See avab teie konfiguratsioonifaili tekstiredaktoris. Nool alla ja leidke rida, mis ütleb dtparam = i2c_arm = on. Kui seda kommenteeritakse, tühistage see. Kui teil seda rida pole, lisage see. Selle rea alla lisage ka järgmine:

      • dtparam = i2c1 = sisse lülitatud
      • dtparam = i2c1_baudrate = 50000
    • Konfiguratsioonifaili salvestamiseks vajutage Ctrl + O ja väljumiseks vajutage Ctrl + X.
  • Taaskäivitage. Tippige oma kesta sisse: sudo reboot

Samm: installige Pure Data

Samm: installige Pure Data
Samm: installige Pure Data
Samm: installige Pure Data
Samm: installige Pure Data

Süntesaatori helide jaoks kasutame programmi nimega Pure Data. See on generatiivse heli ja interaktiivse kuvamise tööriist, mis on juba mõnda aega olemas olnud. Sellel on paar funktsiooni, mis muudavad selle selle projekti jaoks ideaalseks … sellel on sõlmepõhine kasutajaliides, mida on üsna lihtne kasutada, ja see võib vastu võtta signaale välistest allikatest, näiteks pythoni skriptidest.

  • Installige Pure Data. Kesta tüüpi: sudo apt-get install puredata
    • See peaks tarkvara teie Raspberry Pi -sse installima, kuid kui see kurdab, et ei suuda leida kõiki vajalikke faile, proovige seda:

      • sudo apt-get update
      • Seejärel käivitage uuesti installikäsk: sudo apt-get install puredata
    • Installimise ajal küsib see, kas soovite laienditele katalooge luua, võite öelda Jah.
  • Käivitage Pure Data. Kui see on õigesti installitud, peaksite nägema programmi, mis on loetletud töölaua Start -menüüs jaotises Heli ja video. Käivitage see, et veenduda selle käivitamises.
  • Seadistage Pure Data heli. Pure Data heli pole tavaliselt vaikimisi sisse lülitatud, nii et peate selle lubama.

    • Valige heliväljundiks ALSA. Kui Pure Data käivitub, peaksite nägema selle konsoolakent. Minge meediumimenüüsse ja valige väljundiks ALSA. Konsooli kestas võite näha hoiatusteateid, mis ütlevad, et see ei leia teatud faile, kuid võite seda ignoreerida.
    • Lülitage DSP -heli sisse. Märkige konsooli aknas märkeruut DSP.
  • Testige heliväljundit. Avage Pure Data konsooli aknas jaotis Media-> Test Audio & MIDI. See avab testfaili, mille abil saame veenduda, et Pure Data töötab ja et me kuuleme heli. Lülitage kõlarid sisse, kuid hoidke neid esialgu vaiksel helitugevusel (mõnikord võib heli vaikimisi olla väga vali). Testifailis peaksite vasakul küljel nägema jaotist Test Tones. Klõpsake kõigepealt kastil 60 ja vaadake, kas kuulete kõlaritest heli. Kui ei, proovige klõpsata kasti 80 ja keerake kõlarid üles, kuni kuulete heli. Kui kuulete heli, proovige lohistada testtoonidest paremal asuvat kasti Pitch, kus saate muuta toonide sagedust ja vaadata, mis juhtub.

Kui teil on võimalik käivitada Pure Data ja kuulda testplaastri heli, olete valmis järgmise sammu juurde liikuma. Kuid Pure Data võib esmakordselt heliväljundi osas pisut keerukas olla, nii et kui te ikkagi heli ei saa, proovige järgmist.

  • Võimalik, et heli suunatakse läbi HDMI -kaabli, sundides seda kasutama kõrvaklappide pesa:

    • Kesta tüüpi: sudo raspi-config
    • Minge jaotisse Täpsemad suvandid-> Audio-> Force 3.5mm ('kõrvaklappide') pesa
  • Proovige taaskäivitada. Mõnikord teeb see asja ära.
  • Kontrollige oma kõlareid ja ühendust Raspberry Pi -ga.

4. samm: 4. samm: kitarri ühendamine

Samm: kitarri ühendamine
Samm: kitarri ühendamine
Samm: kitarri ühendamine
Samm: kitarri ühendamine
Samm: kitarri ühendamine
Samm: kitarri ühendamine

Lihtsaim viis kitarrikontrolleri ühendamiseks Raspberry Pi -ga on odava läbimurdeplaadiga, näiteks Nunchucky*. See plaat võimaldab teil pääseda juurde kitarrist tulevale signaalile ilma pistikut katkestamata või kitarri lahti löömata. Tahvli ühel küljel on lamedad jäljed, mis sobivad suurepäraselt kitarrist tuleva pistikuga. Samuti on kaks väikest sälku, mis võimaldavad pistikul oma kohale klõpsata, vältides selle lahtitulekut. Jäljed viivad laua vastasküljele nelja päisepoldini.

Märkus: Nunchucky on varustatud päise tihvtidega, kuid need ei ole joodetud, nii et peate seda ise tegema. Minu jaoks kasutasin selle asemel 90 -kraadiseid päise tihvte, mis võimaldab tal lõppprojektis lamedaks jääda.

Nunchucky ühendamiseks Raspberry Pi -ga vajate nelja juhtmest. Ühendage juhtmed Nunchucky päise tihvtidest Raspberry Pi GPIO tihvtidega järgmiselt.

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

Oma projektis kasutasin juhtmete jaoks presspistikuid, nii et need ei kerkinud nii lihtsalt välja. Kuid kui teil pole pressimispistikuid, töötavad neli eraldi naissoost naissoost hüppajajuhet hästi. Kui kasutate pressimispistikuid, pöörake kindlasti tähelepanu päise ja GPIO tihvtide juhtmete järjekorrale. Pange tähele ka seda, et GPIO tihvtidel jätame tihvti 7. Selle arvestamiseks kasutasin ühes otsas viiejuhtmelist pressimispistikut ja jätsin ühe pesa vahele.

Veendumaks, et teie Raspberry Pi tuvastab kitarrikontrolleri, avage kest ja tippige: sudo i2cdetect -y 1

See peaks trükkima kestasse ruudustiku, milles on enamasti topeltkriipsud. Kui arvuti suudab kitarri tuvastada, peaksite nägema kitarri ID -numbrit 52 ühes pesas… minu masinal ilmus see veeru 2 reale 5… kuid pole vahet, millist, kui näete number 52 kusagil seal.

Kui arvuti ei suuda seda tuvastada, proovige järgmist.

  • Veenduge, et teie juhtmed on tihedalt ühendatud.
  • Veenduge, et kõik oleks ühendatud õigete tihvtidega.
  • Keerake kitarri pistik ümber. Nunchucky ei takista teil pistikut tagurpidi ühendada, nii et see võib olla tagurpidi.
  • Veenduge, et i2c oleks Raspberry Pi -s lubatud (nagu näidatud 2. sammus)

*Kui kitarrikontrolleri pistik tundub tuttav, siis sellepärast, et see on sama mis tavalise Wii Nunchucki kontrolleri puhul … siit ka nimi Nunchucky! See tähendab ka seda, et saate kasutada seda sama purunemisplaati ka nunchuck -kontrolleritega ühenduse loomiseks.

5. samm: 5. samm: pange see kõik kokku

Samm: pange see kõik kokku
Samm: pange see kõik kokku
Samm: pange see kõik kokku
Samm: pange see kõik kokku

Nüüd, kui Raspberry Pi on kõik seadistatud, vajame selle toimimiseks lihtsalt natuke koodi. Koodi ja muud vajalikud failid saate alla laadida järgmiselt.

  • Koodi ja muude failide Raspberry Pi -le allalaadimiseks avage uus kest ja tippige järgmine käsk (võib -olla peate selle ette panema sudo): git kloon
  • See loob teie kodukataloogi kataloogi nimega keytarHero (st/home/pi/keytarHero) ja laadib sellesse failid.

Selles paketis on kolm peamist faili:

  • WiiGHController.py: see on pythoni skript, mis avab kitarriga i2c ühenduse ja tagastab erinevate juhtelementide väärtused. Vaikimisi prindib see ka shellile loetud väärtused, et saaksite näha, mida see teeb.
  • keytarHero.pd: See on puhas andmete plaaster, mille lõin kuuldava muusika loomiseks. See on seadistatud lugema kitarrist saabuvaid väärtusi ja suunama need helide genereerimiseks erinevatesse sõlmedesse. Järgmisel etapil arutan plaastri üksikasju, kuid lõpuks saate seda muuta, et teha siit kõike, mida soovite.
  • keytarHero.py: See on skript, mis käivitab kogu protsessi ja liimib kõik kokku. See käivitab Pure Data ja avab plaastri keytarHero.pd. See avab ühenduse plaastriga ja edastab väärtused kitarrilt plaastrile.

Tõe hetk! Veenduge, et kitarr on Raspberry Pi -ga ühendatud ja seejärel töövalmis. Selle käivitamiseks peate lihtsalt käivitama skripti keytarHero.py. Selleks tehke järgmist.

  • Avage uus kest ja tippige: cd keytarHero
  • Seejärel käivitage käsk: python keytarHero.py

See on kõik! Kui kõik töötab õigesti, peaks Pure Data käivitama ja plaastrit mängima hakkama. Peaksite kuulama mängitavat nootide järjestust ja kui vajutate kitarri nuppe, peaks see sellele reageerima.

Tõrkeotsing

Kui see ei tööta, peate kontrollima järgmist.

  • Pure Data plaaster ei käivitu või kuvatakse viga failide leidmata jätmise kohta? Skriptil keytarHero.py on tee Pure Data plaasterfailile, mis on kõvakoodiga „/home/pi/keytarHero/keytarHero.pd”. Kui olete oma kausta keytarHero või selle parandusfaili kuhugi mujale teisaldanud, peate oma tee kasutamiseks skripti värskendama. Selleks avage fail keytarHero.py ja otsige üles muutuja nimega PD_PATCH_PATH ning muutke see nii, et see osutaks kataloogi, kus teie fail keytarHero.pd elab. Salvestage skript ja käivitage see uuesti ning peaksite minema.
  • Kas kitarr annab signaali? Skript peaks printima signaali, mida ta kitarrist kesta juurde saab, pidevalt numbrite jadana, millest igaüks tähistab kitarri juhtelemendi väärtust. Kui kasutate kitarri juhtnuppu, peaks see muutma neid numbreid. Kui ei, siis kontrollige, kas olete i2c seadistamise ja kitarriühendused õigesti teinud.
  • Kas Pure Data heli on sisse lülitatud? Selles paketis sisalduv Pure Data plaaster peaks heli automaatselt sisse lülitama, kuid veenduge, et Pure Data konsooli DSP märkeruut oleks märgitud. Kontrollige ka oma heliseadeid, nagu on näidatud 3. sammus.
  • Kas Pure Data võtab kitarrist signaali vastu? Plaastri paremas ülanurgas on hunnik sõlme, mis vastutavad kitarrist tuleva signaali lugemise ja selle edastamise eest ülejäänud plaastrile. Kitarri nuppe vajutades peaksid ka selle jaotise numbrid uuenema, öeldes, et see võtab signaali korralikult vastu.
  • Muutujate initsialiseerimine plaastris. Pure Data võib plaastri väärtuste esialgse vormistamise osas pisut keerukas olla. Olen lisanud mehhanisme muutujate käivitamiseks selle avamisel, kuid võib -olla tasub lihtsalt klõpsata mõnel sõnumikastil (nendel, mis näevad välja nagu neist oleks hammustus eemaldatud). See põhjustab nende initsialiseerimise ja võib neid äratada.

6. samm: ringkäik Pure Data Patchis

Ringkäik Pure Data Patchis
Ringkäik Pure Data Patchis
Ringkäik Pure Data Patchis
Ringkäik Pure Data Patchis
Ringkäik Pure Data Patchis
Ringkäik Pure Data Patchis
Ringkäik Pure Data Patchis
Ringkäik Pure Data Patchis

Selles õpetuses seni kirjeldatud seadistus aitab teil asju teha, kuid üks toredaid asju selle projekti jaoks Pure Data kasutamisel on see, et seda saab kohandada nii, nagu soovite. Kui plaaster on avatud ja vajutate klahvikombinatsiooni Ctrl + E, viib see plaadi redigeerimisrežiimi ja saate plaastrit muuta. Pure Data kasutamise üksikasjad jäävad selle õpetuse raamest välja (selle kohta on Internetis palju õpetusi), kuid sellega nokitsemine võib olla lõbus, nii et siin on üldine ülevaade sellest, mis toimub plaastris keytarHero.pd. soovite seda kohandada:

  • Kitarriside: plaastri paremas ülanurgas on sõlmede puu, mis vastutab kitarrist tuleva signaali eest. Kitarri väärtused on pikad stringid, nii et need sõlmed lõhuvad stringi iga juhtelemendi jaoks individuaalseteks väärtusteks, teisendavad need numbriteks ja edastavad need seejärel „saatmis” sõlmedele (need, mis algavad s -ga). Saatmissõlmedele määratakse nimi ja nad saadavad signaali samanimelistele sõlmpunktidele. Näiteks „s whammy” sõlm kiirgab kitarri whammy -ribalt tulevaid väärtusi ja „r whammy” sõlm plaastri keskel võtab selle signaali vastu ja kasutab seda signaali järjestuse peatamiseks. Saatmis-/vastuvõtusõlmed aitavad vähendada plaastri ühendusliinide segadust. Ma ei soovita selle jaotisega jama ajada, sest õigeks saamine on kuidagi tülikas, kuid kindlasti saate vajadusel lisada täiendavaid vastuvõtusõlme kogu plaastri ulatuses, et sealt vajadusel signaale saada.
  • Sekventeerija sektsioon: Plaastri keskmine osa juhib järjestust. Vasakul küljel on riba liikuva musta ruuduga, mis näitab teile, millist 16-noodilise jada nooti ta mängib. Strumiklahv kontrollib, kas jada mängib edasi või tagasi. Pluss-/miinusnupud suurendavad/vähendavad kiirust. Paremal küljel on viis numbrikomplekti, mis kontrollivad, millised noodid iga sammu ajal mängivad. Iga jada on määratud mängima, kui vajutatakse ühte viiest nupust. Need numbrid on MIDI väärtused ja saate neid muuta, et mängida mis tahes noote … lihtsalt andke neile väärtused vahemikus 0 kuni 127.
  • Ostsillaatori/FX sektsioon: vasakus alanurgas on ostsillaator ja FX sõlmed, mis tegelikult heli teevad. Esmane ostsillaator asub vasakul. Sekventeerija sektsiooni midi väärtused teisendatakse sagedusteks ja suunatakse ostsillaatorisse. See on segatud teise ostsillaatoriga, mis tuleb paremalt poolt. Selle sagedust kontrollivad ka midi väärtused, kuid täiendava sageduse nihkega, mida juhib juhtkangi X-telg. Kui juhtnuppu vasakule või paremale liigutate, tekitab see viletsa või vileva efekti. Paremas alanurgas on ka madalpääsfiltrisõlm, mille katkestussagedus on seotud juhtkangi Y-teljega. Madalpääsfilter määrab, kui palju kõrgsageduslikku heli helist eemaldatakse. Kui juhtkangi nihutatakse allapoole, katkestab see suure osa kõrgsagedustest, mille tulemuseks on summutatud heli. Kui see liigutatakse ülespoole, läbib see kõik sagedused, andes heledama heli.
  • Initsialiseerimine: plaastri vasakus ülanurgas on rida sõlme, mis plaastri käivitamisel lähtestavad, näiteks heli sisse lülitamine ja nende äratamiseks erinevate sõlmede puudutamine. Jällegi ei pea te tõenäoliselt selle jaotisega jama, kuid kui plaastri käivitamisel soovite juhtuda, ühendage need sõlmega nimega „loadbang”.
  • Olen proovinud plaastrit dokumenteerida plaastri enda kommentaaridega, nii et loodetavasti annab see teile piisavalt teavet, et uurida siit erinevaid võimalusi.

Nautige!

Samm: täiendavad asjad, mida proovida

Kitarri mängimine "peata"

Kui käivitasite oma Raspberry Pi sobiva kaasaskantava toiteallikaga, peaks olema võimalik seda projekti käivitada ilma monitori/klaviatuuri/hiirega ühendamata. Raspberry Pi ei mahu kitarri tagaküljel olevasse avasse, kuid kui tunnete end vapralt, võite selle parandamiseks kitarrisse muudatusi teha … või lihtsalt kinnitage Pi kruvidega taha ja laske see kleepuda natuke välja. Internetis on palju õpetusi selle kohta, kuidas skripte Raspberry Pi peata käivitada, kuid põhimõtteliselt tahaksite käivitamisel käivitada käsu „python /home/pi/keytarHero/keytarHero.py&”. Teoreetiliselt oleks teil kitarr, mille kõlarisse tuleks välja ainult üks kaabel … nagu tõeline elektrikitarr!

Täiendavad Pure Data muudatused

Mul oli muid ideid selle kohta, kuidas kitarr saaks Pure Data plaastrit juhtida, kuid ei jõudnud proovida. Need on plaastri muudatused, millega võib olla lõbus katsetada:

  • Whammy -riba: praeguses plaastris peatab whammy -riba lihtsalt järjestuse taasesituse, kuid ma arvan, et oleks parem, kui ka whammy -riba tõstaks samal ajal sagedust täpselt nagu tõeline whammy -riba. Püüdsin mõnda aega toimima panna, kuid see oli keerulisem, kui arvasin. Ma arvan, et see võib olla lihtsalt ostsillaatori sektsiooni avaldise lisamine, mis lisab ostsillaatorile natuke kõrgema sageduse, tuginedes whammy ribalt tulevale väärtusele.
  • Strum -riba: praegu mängib nöörriba jada alla vajutamisel ettepoole ja ülespoole vajutades tagasi, kuid võib -olla oleks parem, kui see liigutaks läbi erinevaid järjestamisvalikuid, nagu juhuslik samm jne.
  • Pluss-/miinusnupud: pluss-/miinusnupud muudavad lööke minutis, kuid see on natuke ebausutav, kui te neid mitu korda ei taba. Oleks hea, kui see suureneks iga kord suurema summa võrra. Või lase tal lülitada järjestus 16-taktilise, 8-taktilise, 4-taktilise ja kolmiktaasesituse vahel.

Soovitan: