Sisukord:
- Samm: arvuti asjad
- 2. samm: klaver
- 3. samm: kokkupanek
- 4. samm: tehnilised väljakutsed ja tulevased kaalutlused
Video: Sünteesia mängija klaver: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
See mängijaklaver mängib värviratta ja kaamera abil muusikat! Pildid jäädvustab kaamera, töödeldakse ja tõlgendatakse nootidena. Praegu on see programmeeritud mängima lasteaia riime, mida saab muuta, laadides üles uue arduino visandi, mis määrab, milliseid noote tuleb esitada (milliseid värve tuleks kaamerale näidata).
Sisseehitatud Linuxi arvuti käivitab käivitamisel teenuse, mis teeb kaameraga pilti, arvutab pildi RGB väärtuste funktsiooni ja väljastab funktsiooni tagasiväärtuse põhjal heli. Enne heli esitamist saadab see signaali, mis käsib Arduino'l servot pöörata, esitades järgmisele esitatavale noodile vastava värvi. Seejärel algab tsükkel uuesti, tehakse pilt, pööratakse värviratast ja esitatakse lõpmatult heli.
See projekt on lõbus viis muusika integreerimiseks, kaasaegsete Linuxi süsteemide programmeerimine, mikrokontrollerite programmeerimine, tindimaastiku joonistamine, laserlõikamine ja mõne rämpspappkasti ümbertöötamine.
Kõik koodi- ja inkScape -SVG -d on saadaval githubis aadressil:
github.com/melvyniandrag/pyMusic
Kasutatud materjalid:
- Tühjad valged sildid
- Pappkast
- Veebikaamera
- Värvipliiatsid
- Arduino
- Beagleboard-xM
- Juhtmed
- Seeriakaabel
- Põhiteadmised pilditöötlusest ja muusikast
Samm: arvuti asjad
Pardal on vaja väikest Linuxi toega arvutit, näiteks Raspberry Pi. Ma kasutasin vana BeagleBoard-xM-i, kuna juhtusin, et see asub ja mul oli SD-kaardil juba operatsioonisüsteem. Saate kasutada ükskõik mida, kui see suudab veebikaamerat käsitseda, käivitada OpenCV -d (arvuti nägemisraamatukogu, mida kasutatakse värviratta piltide tegemiseks ja töötlemiseks) ja millel on heliväljundi pesa.
Seadistasin operatsioonisüsteemi nii, et see käivitaks süsteemi käivitamisel pilte salvestava python -koodi. Skripti käivitamiseks peate näidatud raamatukogude hankimiseks käivitama sudo apt-get install python-pyaudio python-opencv. Nende raamatukogude hankimiseks peate installima ka numpy pyserial. pyaudio -d kasutatakse helide esitamiseks, opencv -d kasutatakse piltide tegemiseks ja töötlemiseks, numpy -d kasutatakse ka pilditöötluseks ning pyseria on vajalik Arduinoga suhtlemiseks.
Arduinot kasutatakse servomootori pööramiseks, millele värviratas on paigaldatud. Kui teil oleks Raspberry Pi, saaksite kasutada seal olevaid GPIO -tihvte ja jätta Arduino välja, kuid peate Pythoni koodi muutma.
Piltidel on näha operatsiooni tehnoloogilised sisikonnad ja paar koodilõiku.
2. samm: klaver
Tegin klaveri papist mõnest vanast karbist, mis mul oli. Mul on õnn elada tegijaruumi lähedal, kus on laserlõikur. Terve aasta olen mõelnud, milleks kuradi jaoks laserlõikurit soovida, ja tuleb välja, et lõpuks leidsin sellele kasutusvõimaluse.
Mõõtsin arvuti, arduino ja servo, nii et teadsin, kui palju ruumi vajan, joonistasin klaveri osad tindimaastikku ja lõikasin need laserlõikurilt välja. (Redigeerimine: mul sai papp otsa, et panna korpus arvutit ja arduinot hoidma ja seega ei pannud ma neid sisse. Need on korpuse välisküljel. Pole tähtis, oleks võinud kuskilt teise karbi saada, aga ei lõpuks pole oluline.)
Tükid pandi kokku epoksiidiga.
3. samm: kokkupanek
Siin on mõned pildid klaveri kokkupanekust ja värvimisest. Printeril oli tint otsas, nii et ma ei saanud värve valgetele siltidele printida, nagu olin plaaninud. Nii et ma kasutasin oma tütre värvipliiatseid. Ja ma ei leidnud xacto nuga, et lõigata etikett papi kujule, nii et kasutasin lihtsalt praadinoa ja panin köögiletile midagi kaitsvat. Kasutage seda, mis teil on!
4. samm: tehnilised väljakutsed ja tulevased kaalutlused
Selle projekti väljakutsuv osa oli saada õiged RGB väärtused, mida kaamera peaks lugema. Minu veebikaameral on mõned uskumatult eredad LED -id, mida ma ei tea, kuidas Linuxis välja lülitada. Ma arvan, et on olemas Windowsi draiver, mis võimaldab teil neid sisse ja välja lülitada. Katsetasin LED -ide elektrilindiga lindistamist ja nende sisselülitamist. Samuti testisin tarkvara vastupidavust, näidates sellele mitte ainult värvilist paberit, vaid kirjutades ka väikese veebisaidi, mis näitab värve.
Arvuti tekitatud helides on vahel hüppamist ja krõbinat ning see tuleneb asjaolust, et mul on Linuxi heliprogrammeerimisel väga vähe kogemusi. Pyaudio raamatukogu sülitab terve hulga kaebusi selle kohta, et JACK pole arvutisse installitud, kuid vaikimisi ei taha JACK ilma peata töötada (ilma gui töölaua ja kuvarita). See on programmeerimisülesanne, mida pidasin täpsustuseks, kuid ei olnud vajalik, et väljendada klaverimängija olemust, mida ma silmas pidasin.
Olin kaalunud värvide muutmiseks käsivänta kasutamist ja võib -olla ka taignarulli külge panemist, kuid see toob endaga kaasa komplikatsioone. Servo on natuke mürarikas, kuid töötab praegu hästi.
Klaverimängija on praegu programmeeritud ainult 4 noodi esitamiseks. Seda seetõttu, et servo liigub ainult 180 kraadi, enamikku lasteaiariime saab mängida vaid 3-4 noodiga ja ma ei tahtnud, et värviratas värvipiirkondadega segamini läheks, mis võib kaamera segadusse ajada. Nii et tänu muusikaõnne ja tehniliste piirangute kombinatsioonile sobib hästi 4 nooti.
Soovitan:
Arduino Piezo summeri klaver: 5 sammu
Arduino Piezo Buzzer Piano: Siin valmistame Arduino klaveri, mis kasutab kõlarina piesosummerit. See projekt on hõlpsasti skaleeritav ja võib sõltuvalt sinust töötada enam -vähem märkmetega! Lihtsuse huvides ehitame selle ainult nelja nupu/klahviga. See on lõbus ja lihtne projekt
Lihtne Arduino klaver: 8 sammu
Lihtne Arduino klaver: Täna loome lihtsa ühe oktavi Arduino klaveri, mis võib olla suurepärane lähtepunkt teistele projektidele. See projekt tutvustab keskkooli tasemel Arduino põhikomponente ja programmeerimist. Kuigi kood on ette valmistatud üksikisikutele
Arduino klaver käsitsi ja 7 eelseadistatud lauluga: 7 sammu
Arduino klaver käsitsi ja 7 eelseadistatud lauluga: Arduino klaveriklaviatuuri ühendamisel LCD -ga on 2 režiimi. Käsitsi režiim & Eelseadistatud režiim. Kasutasin 7 nupuvajutust lihtsa 7 klahvi klaveri jaoks ja 1 nuppu seadistusrežiimis, et lülituda 7 eelseadistatud loole. Eelseadistatud režiimis laulud: klõpsake seadistusrežiimi nuppu fi
Arduino klaver: 3 sammu
Arduino klaver: see " Klaver " oskab mängida tõelise klaveri oktavi. Nuppude vajutamine tähistab klaveri klahvivajutust. Heli edastatakse Piezo kõlari kaudu
Klahvistik Klaver: 3 sammu
Klahvpilliklaver: see õpetus näitab, kuidas luua 4 -klahvistiku ja passiivse helisignaali abil põhiline 8 -noodiline klaver. Selles projektis mängivad klahvid 1 kuni 8 klaveril noote ja A-D nupud mängivad etteantud meloodiaid