Kazalo:

Plesne rokavice: 9 korakov
Plesne rokavice: 9 korakov

Video: Plesne rokavice: 9 korakov

Video: Plesne rokavice: 9 korakov
Video: Оригами КОЛЬЦО Котик из бумаги | Origami Paper Cat Ring 2024, Julij
Anonim
Plesne rokavice
Plesne rokavice

V tej vadnici vas bom popeljal skozi oblikovanje rokavic, ki vam omogočajo interakcijo z glasbo skozi ples. Zgradili boste rokavico, ki podpira merilnik pospeška, oblikovali kompozicijo v Abletonu in jih nato povezali na tako zapleten ali preprost način, kot želite!

Zaloge

  • Ableton (ali brezplačna preizkusna različica)
  • Arduino
  • Mostični kabli
  • Spajkalnik
  • Karton
  • Pištola za vroče lepilo
  • Veliko domišljije

1. korak: Koncept

Ta projekt je zasnovan tako, da je zabaven. Če vam vzorčni projekt v tej vadnici ni zabaven, ga preoblikujte!

Priporočam, da si privoščite nekaj svojih najljubših pesmi, premaknete roke nanje in vidite, kaj se zgodi. Ali premikate roke gor in dol? Od strani do strani? Počasi ali hitro? Zaradi katerih vidikov glasbe želite premakniti roke? Če imate seznam teh zapisanih, boste verjetno lahko ugotovili nekaj načinov, kako gibe, ki jih uživate, vključiti v svoje morebitne algoritme.

Tu so gibi, ki sem jih uporabil:

  • Hitro gibanje gor in dol sproži začetek pesmi, bobnov ali basov. (To se zgodi na različnih točkah pesmi, ne nujno hkrati!)
  • Počasno in nagnjeno gibanje od strani do strani sproži bolj odmeven in visok zvok.
  • Na določenem odseku pesmi se z nagibanjem roke navzgor glasba utiša - zato sem jo »ujel« v zaprto pest.

Uporabite jih ali naredite sami!

(Upoštevajte: ta vadnica ne zajema ustvarjanja glasbe ali melodij v živo v Abletonu! Če se boste držali teh navodil, boste lahko povečali/zmanjšali glasnost skladb ali uporabo zvočnih učinkov.)

2. korak: Pripravite merilnik pospeška

Pripravite merilnik pospeška
Pripravite merilnik pospeška

Najprej ugotovite, kakšen tip merilnika pospeška imate. To sem uporabil; kateri koli triosni merilnik pospeška bo ustrezal. (Ali pa poskusite z drugo vrsto senzorja, če želite podivjati.) Poskrbite, da boste znali prebrati podatke merilnika pospeška iz Arduina. Morda boste morali prenesti knjižnico za merilnik pospeška, če uporablja kaj bolj zapletenega kot analogni vhod.

Ko ste ga preizkusili s ploščico, kratke barvno označene žice spajkajte v nožice merilnika pospeška. V napajalni vtič vstavite rdečo žico, v ozemljitveni vtič črno žico in vse druge potrebne žice za komunikacijo merilnika pospeška. (Če imate merilnik pospeška I2C, bodo to zatiči SCL in SDA. Če imate analogni merilnik pospeška, bo verjetno en pin za vsak izhod x, y in z.) Poskrbite, da je vaša spajka trdna in da se kroglice ne prekrivajo med sosednjimi zatiči.

Korak: Zgradite rokavico

Sestavi rokavico
Sestavi rokavico

Kos tankega kartona ali debelega papirja razrežite na pravokotnik, nekoliko večji od merilnika pospeška. Merilnik pospeška prilepite na karton, pri tem pazite, da lepilo nalepite na dno. Nato merilnik pospeška s kartonsko podlago prilepite na zadnjo stran rokavice. Vsako žico ohlapno prišijete do zapestja rokavice, da zmanjšate napetost na merilniku pospeška, nato pa je vaša rokavica pripravljena. Priključite ga na daljše žice, da boste imeli dovolj prostora za premikanje roke, ko je priključena.

4. korak: Komponirajte v Abletonu

Zdaj je čas, da sestavite pesem, ki jo boste sčasoma uporabili z rokavico. Priporočam zanke Ableton, ki vse skupaj dobro zvenijo, vendar jih je mogoče uporabiti za postopno povečevanje: poskusite melodijo, akorde, bas in tolkala. Z rokavico boste lahko nadzorovali, kdaj se vsaka zanka igra ali ne.

Če se spomnite kakšne zanimive vrste zvokov, ki bi jih občasno vključili v pesem, na primer čuden zvočni učinek ali nekonvencionalen instrument, poskusite dodati tudi enega ali dva od teh! Lahko jih povežete z manj pogostimi gibi rok, da občasno prinesete kaj zanimivega.

Tukaj je povezava do moje skladbe, združljive z Arduinom, če ne želite napisati svoje lastne:

(Na žalost učenje Abletona ni v okviru vadnice. Vendar pa obstaja veliko dobrih video posnetkov z navodili in Ableton ima 90-dnevno brezplačno preskusno različico! Priporočam ta video.)

5. korak: Začnite uporabljati Firmata

Začnite uporabljati Firmato
Začnite uporabljati Firmato

Če želite Arduinu omogočiti komunikacijo z Abletonom, morate uporabiti knjižnico, imenovano Firmata. Prav tako boste morali prenesti komplet za povezavo za Ableton.

V meniju Ableton v zgornjem levem kotu kliknite Packs> Connection Kit> Devices in nato dvokliknite prvo napravo (Arduino), da jo dodate. Ne pozabite, kateri skladbi Ableton ste dodali napravo!

6. korak: Preizkusite Firmato

Preizkusite Firmato
Preizkusite Firmato

Najprej bomo preizkusili in se prepričali, da vaš Arduino komunicira z Abletonom. Naložite ta delček kode v svoj Arduino in ga zaženite:

#include void analogWriteCallback (bajtni pin, vrednost int) {if (IS_PIN_PWM (pin)) {pinMode (PIN_TO_DIGITAL (pin), OUTPUT); analogWrite (PIN_TO_PWM (pin), vrednost); }} void setup () {Firmata.setFirmwareVersion (FIRMATA_FIRMWARE_MAJOR_VERSION, FIRMATA_FIRMWARE_MINOR_VERSION); Firmata.attach (ANALOG_MESSAGE, analogWriteCallback); Firmata.begin (57600);} void loop () {Firmata.sendAnalog (0, 800);}

To je minimalni minimum, potreben za komunikacijo s Firmato. Neprekinjeno pošilja izhod 800 (od 1024) na vrata 0 naprave Firmata v Abletonu. Če to kodo naložite v svoj Arduino, medtem ko imate odprto napravo Firmata v Abletonu, bi morala izgledati kot zgornja slika. (Kartirajte vrata 0 na karkoli v Abletonu, da si lahko ogledate vrednosti.)

Lahko kliknete gumb Zemljevid in nato katero koli napravo, združljivo s Firmato, v Abletonu, da dodate preslikavo med vhodom, vnesenim v ta vrata, in vrednostjo te naprave Ableton. Enostavni primeri vključujejo glasnost katere koli skladbe ali številčnice znotraj zvočnega učinka. Raziščite in poglejte, kaj lahko najdete na zemljevidu!

7. korak: Vplivajte na glasbo z gibi rok

Vplivajte na glasbo z gibi rok!
Vplivajte na glasbo z gibi rok!

Do takrat bi morali imeti nekaj glasbe v Abletonu, skript Firmata na vašem Arduinu in pritrjeno rokavico merilnika pospeška. Ustvarjajmo glasbo!

Zemljevide vrat naprave Arduino v Abletonu preslikajte na različne stvari (predlagam količino sledi) in nato dodajte vrstice kode za pošiljanje podatkov na vsa vrata iz Arduina.

Firmata.sendAnalog (vrata, raven ravni);

Uporabite takšno kodo za vsa vrata Firmata.

Če želite narediti nekaj preprostega, lahko neobdelane vrednosti merilnika pospeška pošljete v vrata Ableton in jih od tam preslikate. Za bolj izpopolnjeno izkušnjo se lahko odločite: katere vrednosti merilnika pospeška naj sprožijo zvoke, kako in kdaj?

Nato zaigrajte vse svoje zanke Ableton, zaženite kodo Arduino in odplešite!

(Izjava o omejitvi odgovornosti: če nameravate ustvariti kakršen koli zapleten algoritem za svojo pesem, bo morda trajalo veliko časa, da se natančno prilagodi. "Dance away" je lahko manj natančen, kot je bilo pričakovano.)

8. korak: Razred skladb (bonus!)

Če vas ne moti povečanje glasnosti ali imate kakšen drug način za ublažitev, preskočite ta korak. Sicer pa berite naprej!

Opazil sem, da preklapljanje glasnosti iz utišanega v polni naenkrat ustvari nekaj neprijetnih zvokov in lepo je, da lahko glasnost postopoma zbledi. Vendar je v sinhronem programskem okolju Arduina to težko narediti. Torej, tukaj je nekaj kode, s katero lahko popping izgine:

class Track {public: int obseg; int volumeGoal; int updateSpeed; Skladba () {obseg = 0; volumeGoal = 0; updateSpeed = 0; } void setVolumeGoal (int cilj) {volumeGoal = cilj; } int getVolumeGoal () {return volumeGoal; } void setUpdateSpeed (trdnost int) {updateSpeed = hitrost; } int getVolume () {povratni obseg; } void updateVolume () {if ((volume> volumeGoal) && ((volume - volumeGoal)> = updateSpeed)) {volume - = updateSpeed; } else if ((volume = updateSpeed)) {volume += updateSpeed; }} void mute (int fastness) {volumeGoal = 50; updateSpeed = hitrost; } void full (int fastness) {volumeGoal = 950; updateSpeed = hitrost; }};

Vsaka skladba ima trenutno količino, obseg cilja in hitrost, s katero se premika proti temu obsegu cilja. Če želite spremeniti glasnost skladbe, pokličite setVolumeGoal (). Vsakič, ko zaženete funkcijo loop () v svojem Arduinu, pokličite updateVolume () za vsako skladbo in nato te podatke pošljite Firmati z getVolume (). Spremenite hitrost posodabljanja za hitrejše ali bolj postopno izginjanje! Izogibajte se tudi nastavitvi glasnosti na 0, če lahko; namesto tega nastavite na zelo nizko vrednost (privzeto v mute () je 100).

9. korak: Dolžina skladbe, utripi in še več (bonus!)

Lahko naredite veliko stvari, da bo zvok, ki izhaja iz vašega projekta, lažje poslušati. Tukaj je nekaj možnosti:

Sledite lahko, kako dolgo se izvaja pesem. Če želite to narediti, morate ugotoviti, kdaj se je pesem začela; Priporočam zanko while v funkciji setup (), ki upočasni izvajanje kode, dokler ne zazna gibanja roke. Začetni čas skladbe shranite v spremenljivko z uporabo millis () in preverite, kako dolgo traja ob vsaki zanki (). To lahko uporabite za omogočanje ali onemogočanje določenih funkcij v določenem času skladbe.

Če veste, kako dolge so vaše zanke v milisekundah, lahko tudi spremljate, koliko zank ste imeli, da boste bolje razumeli strukturo pesmi!

Druga možna težava, na katero lahko naletite, je, kdaj začeti in ustaviti predvajanje skladbe. To sem rešil tako, da sem spremljal, v kakšnem taktu je trenutno pesem. Potem sem lahko po gesti predvajal skladbe za poljubno število utripov, namesto da bi jih takoj odrezal. Zaradi tega stvari tečejo veliko bolj gladko. Tukaj je primer:

if (millis () - lastLoop> = 4000) {zanke += 1; lastLoop = millis (); for (int j = 0; j <8; j ++) {beatNow [j] = false; }} beat = (millis () - lastLoop) / 250; if (beat! = lastBeat) {lastBeat = utrip; beatsLeft -= 1; }

Poskrbite, da boste glasnosti ustrezno posodobili na vrednosti beatNow [beat] in/ali beatsLeft. Primer kode, ki vključuje skoraj vse v tej vadnici, skupaj z nekaterimi, je priložena, če jo želite videti v praksi.

Priporočena: