Sisukord:
- Tarvikud
- 1. samm: kontseptsioon
- Samm: valmistage kiirendusmõõtur ette
- Samm: ehitage kinnas
- Samm 4: Koostage Abletonis
- Samm: alustage Firmata kasutamist
- 6. toiming: testige firmataate
- Samm: mõjutage muusikat käeliigutustega
- 8. samm: jäljeklass (boonus!)
- 9. samm: raja pikkus, löögid ja palju muud (boonus!)
Video: Tantsukindad: 9 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Selles õpetuses juhendan teid kinda kujundamisel, mis võimaldab teil tantsuga muusikaga suhelda. Ehitate kiirendusmõõturiga kinda, kujundate Abletonis kompositsiooni ja ühendate need kaks nii keerulisel või lihtsal viisil, nagu soovite!
Tarvikud
- Ableton (või tasuta prooviversioon)
- Arduino
- Jumper kaablid
- Jootekolb
- Papp
- Kuum liimipüstol
- Palju kujutlusvõimet
1. samm: kontseptsioon
See projekt on loodud lõbusaks. Kui selle õpetuse näidisprojekti töö pole teie jaoks lõbus, kujundage see ümber!
Soovitan panna mõned oma lemmiklaulud, liigutada käed nende poole ja vaadata, mis juhtub. Kas liigutate käsi üles-alla? Küljelt küljele? Aeglaselt või kiiresti? Millised muusika aspektid panevad sind kätt liigutama? Kui teil on nende nimekiri kirja pandud, saate tõenäoliselt välja mõelda mõned viisid, kuidas oma liigutusi oma võimalikesse algoritmidesse kaasata.
Siin on liigutused, mida ma kasutasin:
- Kiire üles-alla liikumine käivitab laulu, trummide või bassi alguse. (Need juhtuvad laulu erinevates punktides, mitte tingimata samaaegselt!)
- Aeglane, kallutav küljelt-küljele liikumine tekitab kajakama ja kõrgema heli.
- Laulu ühel konkreetsel lõigul muudab käe ülespoole kallutamine muusika vaiksemaks - nii et olen selle "oma suletud rusikasse" kinni püüdnud.
Kasutage neid või tehke ise!
(Pange tähele: see õpetus ei hõlma muusika või meloodiate loomist Abletonis! Kui järgite neid juhiseid, saate ainult suurendada/vähendada lugude helitugevust või heliefektide rakendamist.)
Samm: valmistage kiirendusmõõtur ette
Kõigepealt selgitage välja, mis tüüpi kiirendusmõõtur teil on. Ma kasutasin seda; sobib iga kolmeteljeline kiirendusmõõtur. (Või proovige teist tüüpi andureid, kui soovite metsistuda.) Veenduge, et teate, kuidas lugeda Arduino kiirendusmõõturi andmeid. Võimalik, et peate kiirendusmõõturi jaoks teegi alla laadima, kui see kasutab midagi keerukamat kui analoogsisend.
Pärast leivalauaga katsetamist jootke kiirendusmõõturi tihvtidesse lühikesed värvikoodiga juhtmed. Pange toitepistikusse punane juhe, maandusnõelale must juhe ja muud kiirendusmõõturi sideks vajalikud juhtmed. (Kui teil on I2C kiirendusmõõtur, siis on need SCL- ja SDA -tihvtid. Kui teil on analoogkiirendusmõõtur, on tõenäoliselt iga x-, y- ja z -väljundi jaoks üks tihvt.) Veenduge, et teie joodis oleks kindel ja et helmed ei kattuks külgnevate tihvtide vahel.
Samm: ehitage kinnas
Lõika õhuke papp või paks paber tükk kiirendusmõõturist veidi suuremaks ristkülikuks. Liimige kiirendusmõõtur papile, veendudes, et panete põhjale liimi. Seejärel liimige papist toega kiirendusmõõtur kinda tagaküljele. Õmble iga traat lõdvalt kinnase randme külge, et leevendada kiirendusmõõturi pingeid, ja siis on kinnas valmis. Ühendage see pikemate juhtmetega, et teil oleks piisavalt ruumi käe liigutamiseks, kui see on ühendatud.
Samm 4: Koostage Abletonis
Nüüd on aeg koostada lugu, mille juhtimiseks lõpuks kinda kasutate. Soovitan Abletoni silmuseid, et kõik kõlaksid koos hästi, kuid neid saaks kasutada järk -järgult ülesehitamiseks: proovige meloodiat, akorde, bassi ja löökpille. Saate oma kinda abil kontrollida, kas iga silmus mängib või mitte.
Kui mõtlete mõnele huvitavale helile, mida aeg -ajalt loosse lisada, nagu imelik heliefekt või ebatavaline instrument, proovige lisada ka üks või kaks neist! Saate need siduda vähem levinud käeliigutustega, et aeg-ajalt midagi huvitavat sisse tuua.
Siin on link minu Arduinoga ühilduvale kompositsioonile juhuks, kui te ei soovi ise kirjutada:
(Kahjuks ei kuulu Abletoni õpetamine õpetuse alla. Siiski on seal palju häid juhiseid ja Abletonil on 90-päevane tasuta prooviperiood! Soovitan seda videot.)
Samm: alustage Firmata kasutamist
Selleks, et teie Arduino saaks Abletoniga suhelda, peate kasutama raamatukogu nimega Firmata. Samuti peate alla laadima Abletoni ühenduskomplekti.
Abletonis klõpsake vasakus ülanurgas asuvas menüüs Paketid> Ühenduskomplekt> Seadmed ja topeltklõpsake selle lisamiseks esimest seadet (Arduino). Pidage kindlasti meeles, millisele Abletoni rajale seadme lisasite!
6. toiming: testige firmataate
Esiteks testime ja veendume, et teie Arduino suhtleb Abletoniga. Laadige see koodilõik oma Arduinole üles ja käivitage see:
#include void analogWriteCallback (baidi tihvt, int väärtus) {if (IS_PIN_PWM (tihvt)) {pinMode (PIN_TO_DIGITAL (tihvt), OUTPUT); analogWrite (PIN_TO_PWM (tihvt), väärtus); }} tühine seadistus () {Firmata.setFirmwareVersion (FIRMATA_FIRMWARE_MAJOR_VERSION, FIRMATA_FIRMWARE_MINOR_VERSION); Firmata.attach (ANALOG_MESSAGE, analogWriteCallback); Firmata.begin (57600);} void loop () {Firmata.sendAnalog (0, 800);}
See on Firmataga suhtlemiseks vajalik miinimum. See saadab pidevalt väljundi 800 (1024 -st) Firmata seadme porti 0 Abletonis. Kui laadite selle koodi oma Arduinole üles, kui teil on Abletonis Firmata seade avatud, peaks see välja nägema ülaltoodud pildil. (Väärtuste nägemiseks kaardistage port 0 mis tahes Abletonis.)
Võite klõpsata nupul Kaart ja seejärel Abletonis mis tahes Firmata-ühilduva seadmega, et lisada kaardistus sellele pordile vastuvõetud sisendi ja selle Abletoni seadme väärtuse vahel. Lihtsad näited hõlmavad mis tahes pala helitugevust või heliefekti piirangut. Uurige ja vaadake, mida saate kaardistada!
Samm: mõjutage muusikat käeliigutustega
Selleks ajaks peaks teil olema Abletonis muusika, teie Arduino Firmata skript ja kiirendusmõõturi kinnas. Teeme natuke muusikat!
Kaardistage Abletonis asuva Arduino seadme pordid erinevatele asjadele (soovitan raja helitugevust) ja lisage seejärel koodiridad, et saata andmed igale Arduino pordile.
Firmata.sendAnalog (port, volumeLevel);
Kasutage iga Firmata pordi jaoks sellist koodi.
Kui soovite midagi lihtsat teha, võite kiirendusmõõturi väärtused töötlemata saata Abletoni sadamatesse ja sealt need kaardistada. Keerukama kogemuse saamiseks võite otsustada: millised kiirendusmõõturi väärtused peaksid helisid vallandama, kuidas ja millal?
Seejärel mängige kõiki oma Abletoni silmuseid, käivitage oma Arduino kood ja tantsige minema!
(Vastutusest loobumine: kui kavatsete oma loole luua mis tahes keeruka algoritmi, võib peenhäälestamine võtta palju aega. „Tants ära” võib olla oodatust vähem täpne.)
8. samm: jäljeklass (boonus!)
Kui te ei pahanda helitugevust või teil on mõni muu viis selle leevendamiseks, jätke see samm vahele. Muidu loe edasi!
Märkasin, et helitugevuse muutmine vaigistatud täisväärtuselt korraga loob mõningaid ebameeldivaid hüppavaid helisid ja on tore, kui helitugevust saab järk -järgult hääbuda. Arduino sünkroonprogrammeerimiskeskkonnas on seda aga raske teha. Niisiis, siin on mõned koodid, mis aitavad hüppamisel kaduda:
klass Rada {avalik: int maht; int volumeGoal; int updateSpeed; Rada () {maht = 0; volumeGoal = 0; updateSpeed = 0; } void setVolumeGoal (int eesmärk) {volumeGoal = eesmärk; } int getVolumeGoal () {return volumeGoal; } void setUpdateSpeed (int fastness) {updateSpeed = kiirus; } int getVolume () {return volume; } void updateVolume () {if ((volume> volumeGoal) && ((volume - volumeGoal)> = updateSpeed)) {volume - = updateSpeed; } else if ((volume = updateSpeed)) {volume += updateSpeed; }} tühi vaigistamine (int kiirus) {volumeGoal = 50; updateSpeed = kiirus; } tühi täis (int kiirusega) {volumeGoal = 950; updateSpeed = kiirus; }};
Igal rajal on praegune maht, eesmärgi maht ja kiirus, millega see selle eesmärgi mahu suunas liigub. Kui soovite pala helitugevust muuta, helistage setVolumeGoal (). Iga kord, kui käivitate funktsiooni Arduino loop (), helistage igal rajal updateVolume () ja saatke see teave Firmatale koos getVolume () -ga. Muutke värskenduskiirust kiiremaks või järkjärguliseks hääbumiseks! Samuti vältige võimaluse korral helitugevuse seadmist väärtusele 0; selle asemel määrake see väga madalale väärtusele (vaikimisi vaigistamisel () on 100).
9. samm: raja pikkus, löögid ja palju muud (boonus!)
Saate teha palju asju, et teie projektist tulenevat heli oleks lihtsam kuulata. Siin on mõned võimalused.
Saate jälgida, kui kaua lugu on käinud. Selleks peate välja mõtlema, millal laul algas; Soovitan setup () funktsioonis mõnda aega, mis viivitab teie koodi töötamise kuni käe liikumise tajumiseni. Salvestage laulu algusaeg millis () abil muutujaga ja kontrollige, kui kaua see on kestnud iga kord (). Seda saate kasutada teatud funktsioonide lubamiseks või keelamiseks laulu teatud aegadel.
Kui teate, kui pikad on teie silmused millisekundites, saate laulu struktuuri nüansirikkamaks mõistmiseks jälgida ka seda, kui palju silmuseid olete läbinud!
Teine võimalik probleem, millega võite kokku puutuda, on loo esitamise alustamine ja peatamine. Lahendasin selle, jälgides, millise taktimõõduga lugu parajasti sisse kuulub. Seejärel võisin pärast žesti esitada lugusid suvalise arvu löökide jaoks, selle asemel, et see kohe katkestada. See muudab asjad palju sujuvamaks. Siin on näide:
if (millis () - lastLoop> = 4000) {silmused += 1; lastLoop = millis (); jaoks (int j = 0; j <8; j ++) {beatNow [j] = vale; }} löök = (millis () - lastLoop) / 250; if (beat! = lastBeat) {lastBeat = beat; beatsLeft -= 1; }
Veenduge, et värskendate helitugevusi vastavalt beatNow [beat] ja/või beatsLeft väärtustele. Näidiskood, mis sisaldab peaaegu kõike selles õpetuses, lisaks mõned, on lisatud juhuks, kui soovite seda praktikas näha.
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust