Satura rādītājs:

Dejas cimds: 9 soļi
Dejas cimds: 9 soļi

Video: Dejas cimds: 9 soļi

Video: Dejas cimds: 9 soļi
Video: БЛИНЧИКИ НОВОГОДНИЕ САМЫЕ ВКУСНЫЕ. Блины с мясом рецепт. Мясной соус с красной икрой. 2024, Novembris
Anonim
Deju cimds
Deju cimds

Šajā apmācībā es jums pastāstīšu, kā izveidot cimdu, kas ļauj jums dejot dejot ar mūziku. Jūs uzbūvēsiet cimdu ar akselerometru, izveidosit kompozīciju Abletonā un pēc tam savienosit abus tik sarežģītā vai vienkāršā veidā, kā vēlaties!

Piegādes

  • Ableton (vai bezmaksas izmēģinājuma versija)
  • Arduino
  • Jumper kabeļi
  • Lodāmurs
  • Kartons
  • Karstās līmes pistole
  • Daudz iztēles

1. solis: koncepcija

Šis projekts ir veidots tā, lai tas būtu jautrs. Ja šīs apmācības paraugprojekta darbības veids jums nav interesants, pārveidojiet to!

Es iesaku uzlikt dažas no jūsu iecienītākajām dziesmām, pārvietot rokas uz tām un redzēt, kas notiek. Vai jūs pārvietojat rokas uz augšu un uz leju? Sānos? Lēnām vai ātri? Kādi mūzikas aspekti izraisa vēlmi pakustināt rokas? Ja jums ir uzrakstīts to saraksts, jūs, iespējams, varēsit izdomāt dažus veidus, kā iepriecinātās kustības iekļaut savos iespējamajos algoritmos.

Šeit ir manis izmantotās kustības:

  • Ātra kustība uz augšu un uz leju izraisa dziesmas, bungu vai basa sākumu. (Tie notiek dažādos dziesmas punktos, ne vienmēr vienlaicīgi!)
  • Lēna, saliekta kustība no vienas puses uz otru rada atskanīgāku, augstāku skaņu.
  • Vienā konkrētā dziesmas sadaļā, pagriežot roku uz augšu, mūzika kļūst klusa - tāpēc esmu to "ieķēris" aizvērtā dūrē.

Izmantojiet šos vai izveidojiet paši!

(Lūdzu, ņemiet vērā: šī apmācība neaptver to, kā radīt mūziku vai melodijas tiešraidē Abletonā! Ja jūs ievērosit šos norādījumus, jūs varēsit tikai palielināt/samazināt ierakstu skaļumu vai audio efektu pielietojumu.)

2. solis: Sagatavojiet akselerometru

Sagatavojiet akselerometru
Sagatavojiet akselerometru

Vispirms noskaidrojiet, kāda veida akselerometrs jums ir. Es izmantoju šo; derēs jebkurš trīs asu akselerometrs. (Vai arī izmēģiniet cita veida sensoru, ja vēlaties kļūt savvaļā.) Pārliecinieties, vai zināt, kā nolasīt akselerometra datus no Arduino. Jums var būt nepieciešams lejupielādēt bibliotēku savam akselerometram, ja tas izmanto kaut ko sarežģītāku par analogo ieeju.

Pēc tam, kad esat to pārbaudījis ar maizes dēli, lodējiet akselerometra tapās īsas krāsas kodētas vadus. Ievietojiet sarkano vadu strāvas tapā, melno vadu zemējuma tapā un visus citus nepieciešamos vadus akselerometra sakariem. (Ja jums ir I2C akselerometrs, tie būs SCL un SDA tapas. Ja jums ir analogs akselerometrs, visticamāk, būs viens tapa katrai x, y un z izejai.) Pārliecinieties, vai jūsu lodmetāls ir ciets un lai krelles nepārklātu blakus esošās tapas.

3. solis: izveidojiet cimdu

Izveidojiet cimdu
Izveidojiet cimdu

Izgrieziet plānu kartona gabalu vai biezu papīru taisnstūrī, kas ir nedaudz lielāks par jūsu akselerometru. Līmējiet akselerometru pie kartona, pārliecinoties, ka apakšā uzklājat līmi. Pēc tam pielīmējiet akselerometru ar kartona pamatni cimda aizmugurē. Brīvi šujiet katru vadu pie cimda plaukstas locītavas, lai mazinātu spriedzi akselerometrā, un tad jūsu cimds ir gatavs. Pievienojiet to garākiem vadiem, lai būtu pietiekami daudz vietas, lai pārvietotu roku, kad tā ir pievienota.

4. solis: rakstiet Abletonā

Tagad ir pienācis laiks sacerēt dziesmu, kuras vadīšanai galu galā izmantosiet cimdu. Es iesaku Ableton cilpas, lai visi kopā izklausītos labi, bet tos varētu izmantot pakāpeniskai veidošanai: izmēģiniet melodiju, akordus, basu un perkusijas. Jūs varēsit izmantot cimdu, lai kontrolētu, vai katra cilpa tiek atskaņota vai nē.

Ja jūs varat iedomāties kādu interesantu skaņu veidu, ko laiku pa laikam iekļaut dziesmā, piemēram, dīvainu skaņas efektu vai netradicionālu instrumentu, mēģiniet pievienot arī vienu vai divas no tām! Jūs varat tos saistīt ar retākiem roku kustībām, lai ik pa laikam ienestu kaut ko interesantu.

Šeit ir saite uz manu ar Arduino saderīgo kompozīciju, ja nevēlaties rakstīt kādu no savām:

(Diemžēl apmācība par Abletonu neietilpst apmācības jomā. Tomēr ir daudz labu pamācību videoklipu, un Abletonam ir 90 dienu bezmaksas izmēģinājuma versija! Es iesaku šo videoklipu.)

5. darbība: sāciet lietot Firmata

Sāciet lietot Firmata
Sāciet lietot Firmata

Lai jūsu Arduino varētu sazināties ar Abletonu, jums jāizmanto bibliotēka ar nosaukumu Firmata. Jums būs jālejupielādē arī savienojuma komplekts Ableton.

Ableton izvēlnē augšējā kreisajā stūrī noklikšķiniet uz Packs> Connection Kit> Devices un pēc tam veiciet dubultklikšķi uz pirmās ierīces (Arduino), lai to pievienotu. Noteikti atcerieties, kuram Abletona celiņam pievienojāt ierīci!

6. darbība: pārbaudiet firmatu

Pārbaudīt firmu
Pārbaudīt firmu

Pirmkārt, mēs pārbaudīsim un pārliecināsimies, ka jūsu Arduino sazinās ar Abletonu. Augšupielādējiet šo koda fragmentu savā Arduino un palaidiet to:

#include void analogWriteCallback (baita pin, int vērtība) {if (IS_PIN_PWM (pin)) {pinMode (PIN_TO_DIGITAL (pin), OUTPUT); analogWrite (PIN_TO_PWM (pin), vērtība); }} 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);}

Tas ir minimums, kas nepieciešams, lai sazinātos ar Firmata. Tas nepārtraukti nosūta izvadi 800 (no 1024) uz Fletata ierīces 0 portu Abletonā. Ja augšupielādējat šo kodu savā Arduino, kamēr Abletonā ir atvērta Firmata ierīce, tam vajadzētu izskatīties kā attēlā iepriekš. (Lai redzētu vērtības, kartējiet portu 0 uz jebko Abletonā.)

Jūs varat noklikšķināt uz pogas Karte un pēc tam uz jebkuru ar Firmata saderīgu ierīci Ableton, lai pievienotu kartējumu starp šajā portā saņemto ievadi un šīs Ableton ierīces vērtību. Vienkārši piemēri ietver jebkura celiņa vai jebkura skalas skaļuma skaļumu. Izpētiet un skatiet, ko varat atrast, lai kartētu!

7. solis: ietekmējiet mūziku ar roku kustībām

Ietekmējiet mūziku ar roku kustībām!
Ietekmējiet mūziku ar roku kustībām!

Līdz tam laikam jums vajadzētu būt daļai mūzikas Abletonā, Arduino Firmata skriptam un akselerometra cimdam. Uztaisīsim mūziku!

Kartējiet Arduino ierīces portus Abletonā uz dažādām lietām (es iesaku dziesmu apjomu) un pēc tam pievienojiet koda rindiņas, lai nosūtītu datus uz katru portu no Arduino.

Firmata.sendAnalog (ports, apjoma līmenis);

Izmantojiet šādu kodu katram Firmata portam.

Ja vēlaties darīt kaut ko vienkāršu, varat nosūtīt akselerometra vērtības neapstrādātas uz Abletonas ostām un kartēt tās no turienes. Lai iegūtu sarežģītāku pieredzi, varat izlemt: kādām akselerometra vērtībām vajadzētu izraisīt skaņas, kā un kad?

Pēc tam izspēlējiet visas Ableton cilpas, palaidiet savu Arduino kodu un dejojiet prom!

(Atruna: ja plānojat savai dziesmai izveidot jebkāda veida sarežģītu algoritmu, tā precizēšana var aizņemt daudz laika. "Dejošana prom" var būt mazāk precīza, nekā paredzēts.)

8. solis: dziesmu klase (bonuss!)

Ja jums nav iebildumu pret skaļuma palielināšanos vai jums ir cits veids, kā to mazināt, izlaidiet šo darbību. Pretējā gadījumā lasiet tālāk!

Es pamanīju, ka, pārslēdzot skaļumu no izslēgta uz pilnu vienā reizē, rodas nepatīkamas popping skaņas, un ir patīkami, ka var pakāpeniski samazināt skaļumu. Tomēr to ir grūti izdarīt Arduino sinhronās programmēšanas vidē. Tātad, šeit ir daži kodi, kas palīdzēs izlaist popping:

klase Track {public: int volume; int volumeGoal; int updateSpeed; Track () {volume = 0; volumeGoal = 0; updateSpeed = 0; } void setVolumeGoal (int mērķis) {volumeGoal = mērķis; } int getVolumeGoal () {return volumeGoal; } void setUpdateSpeed (int fastness) {updateSpeed = ātrums; } int getVolume () {atgriešanās apjoms; } void updateVolume () {if ((volume> volumeGoal) && ((volume - volumeGoal)> = updateSpeed)) {volume - = updateSpeed; } cits if ((apjoms = atjaunināšanas ātrums)) {skaļums += atjaunināšanas ātrums; }} void mute (int fastness) {volumeGoal = 50; updateSpeed = ātrums; } void full (int fastness) {volumeGoal = 950; updateSpeed = ātrums; }};

Katram ierakstam ir pašreizējais apjoms, mērķa apjoms un ātrums, kādā tas virzās uz šo mērķa apjomu. Ja vēlaties mainīt ieraksta skaļumu, zvaniet setVolumeGoal (). Katru reizi, kad savā Arduino palaižat funkciju loop (), katrā celiņā zvaniet uz updateVolume () un pēc tam nosūtiet šo informāciju Firmata ar getVolume (). Mainiet atjaunināšanas ātrumu, lai ātrāk vai pakāpeniski izbalētu! Tāpat, ja iespējams, izvairieties no skaļuma iestatīšanas uz 0; tā vietā iestatiet to uz ļoti zemu vērtību (noklusējuma iestatījums mute () ir 100).

9. solis: maršruta garums, sitieni un citi (bonuss!)

Jūs varat darīt daudzas lietas, lai jūsu projekta radīto skaņu būtu vieglāk klausīties. Šeit ir dažas iespējas:

Jūs varat izsekot, cik ilgi dziesma darbojas. Lai to izdarītu, jums ir jāizdomā, kad dziesma sākās; Es iesaku iestatīšanas () funkcijas cikla ciklu, kas aizkavē jūsu koda izpildi, līdz tas uztver rokas kustību. Saglabājiet dziesmas sākuma laiku mainīgā, izmantojot milis (), un pārbaudiet, cik ilgi tas ir noticis katru reizi, kad veicat cilpu (). Varat to izmantot, lai iespējotu vai atspējotu noteiktas dziesmas funkcijas noteiktā laikā.

Ja jūs zināt, cik ilgi jūsu cilpas ir milisekundēs, varat arī izsekot, cik cilpu esat izgājis, lai iegūtu niansētāku izpratni par dziesmas struktūru!

Vēl viena iespējama problēma, ar kuru var saskarties, ir, kad sākt un pārtraukt ieraksta atskaņošanu. Es to atrisināju, sekojot līdzi tam, kādā mēra ritmā dziesma pašlaik atrodas. Tad es pēc žesta varēju atskaņot dziesmas jebkuram sitienu skaitam, nevis uzreiz to pārtraukt. Tas liek lietām plūst daudz raitāk. Šeit ir piemērs:

ja (milis () - lastLoop> = 4000) {cilpas += 1; lastLoop = milis (); par (int j = 0; j <8; j ++) {beatNow [j] = nepatiess; }} sitiens = (milis () - pēdējā cilpa) / 250; if (beat! = lastBeat) {lastBeat = beat; sitieni pa kreisi -= 1; }

Noteikti atjauniniet apjomus atbilstoši beatNow [beat] un/vai beatsLeft vērtībām. Koda paraugs, kas ietver gandrīz visu šajā apmācībā, kā arī daži, ir pievienots gadījumam, ja vēlaties to redzēt praksē.

Ieteicams: