Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Käsite
- Vaihe 2: Valmistele kiihtyvyysmittari
- Vaihe 3: Rakenna käsine
- Vaihe 4: Kirjoita Abletonissa
- Vaihe 5: Aloita Firmatan käyttö
- Vaihe 6: Testaa Firmata
- Vaihe 7: Vaikuta musiikkiin kädenliikkeilläsi
- Vaihe 8: Track -luokka (bonus!)
- Vaihe 9: Seuraa pituutta, lyöntejä ja muuta (bonus!)
Video: Tanssikäsine: 9 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tässä opetusohjelmassa opastan sinua suunnittelemaan käsineen, jonka avulla voit olla vuorovaikutuksessa musiikin kanssa tanssin kautta. Rakennat kiihtyvyysmittarilla varustetun käsineen, suunnittelet koostumuksen Abletonissa ja yhdistät nämä kaksi niin monimutkaisella tai yksinkertaisella tavalla kuin haluat!
Tarvikkeet
- Ableton (tai ilmainen kokeilu)
- Arduino
- Käynnistyskaapelit
- Juotin
- Pahvi
- Kuuma liimapistooli
- Paljon mielikuvitusta
Vaihe 1: Käsite
Tämä projekti on suunniteltu viihdyttäväksi. Jos tämän opetusohjelman esimerkkiprojekti ei ole hauskaa, suunnittele se uudelleen!
Suosittelen laittamaan päälle joitakin suosikkikappaleitasi, siirtämällä kädet niihin ja katsomaan, mitä tapahtuu. Liikutatko käsiäsi ylös ja alas? Puolelta toiselle? Hitaasti vai nopeasti? Mitkä musiikin piirteet saavat sinut liikuttamaan käsiäsi? Jos sinulla on luettelo näistä kirjoitettuna, luultavasti pystyt keksimään joitain tapoja sisällyttää liikkeet, joita nautit mahdollisiin algoritmeihisi.
Tässä ovat käyttämäni liikkeet:
- Nopea ylös- ja alas-liike laukaisee kappaleen, rummut tai basson. (Nämä tapahtuvat kappaleen eri kohdissa, ei välttämättä samanaikaisesti!)
- Hidas, kallistuva liike sivulta toiselle laukaisee kaikuvamman ja korkeamman äänen.
- Yhdessä kappaleen kohdassa käteni kallistaminen ylöspäin saa musiikin hiljentymään - joten olen "tarttunut" siihen kiinni nyrkkiini.
Käytä näitä tai tee omasi!
(Huomaa: tämä opetusohjelma ei kata musiikin tai melodioiden luomista Abletonissa! Jos noudatat näitä ohjeita, voit vain lisätä/vähentää kappaleiden tai äänitehosteiden äänenvoimakkuutta.)
Vaihe 2: Valmistele kiihtyvyysmittari
Selvitä ensin, millainen kiihtyvyysanturi sinulla on. Käytin tätä; mikä tahansa kolmiakselinen kiihtyvyysmittari tekee. (Tai kokeile toista anturityyppiä, jos haluat villiä.) Varmista, että tiedät kuinka lukea kiihtyvyysmittarin tiedot Arduinosta. Sinun on ehkä ladattava kirjasto kiihtyvyysmittarillesi, jos se käyttää jotain monimutkaisempaa kuin analoginen tulo.
Kun olet testannut sen leipälevyllä, juota lyhyet värikoodatut johdot kiihtyvyysmittarin nastoihin. Laita punainen johto virtatappiin, musta johto maadoitusnastaan ja muut tarvittavat johdot kiihtyvyysmittarin tiedonsiirtoa varten. (Jos sinulla on I2C -kiihtyvyysmittari, ne ovat SCL- ja SDA -nastoja. Jos sinulla on analoginen kiihtyvyysanturi, on todennäköisesti yksi nasta kullekin x-, y- ja z -lähdölle.) Varmista, että juotos on kiinteä ja että helmet eivät mene päällekkäin viereisten nastojen välillä.
Vaihe 3: Rakenna käsine
Leikkaa paksu pahvi tai paksu paperi suorakulmioon, joka on hieman suurempi kuin kiihtyvyysmittarisi. Liimaa kiihtyvyysmittari pahviin varmistaen, että asetat liimaa pohjalle. Liimaa sitten pahvipohjainen kiihtyvyysanturi hansikkasi takaosaan. Ompele jokainen lanka löysästi käsineen ranteeseen lievittääksesi kiihtyvyysmittarin jännitystä, ja sitten käsine on valmis. Liitä se pidempiin johtoihin, jotta sinulla on tarpeeksi tilaa liikuttaa kättäsi, kun se on kytketty.
Vaihe 4: Kirjoita Abletonissa
Nyt on aika säveltää kappale, jota hallitset lopulta käsineellä. Suosittelen Ableton -silmukoita, jotka kaikki kuulostavat hyvältä yhdessä, mutta joita voidaan käyttää rakentamaan vähitellen: kokeile melodiaa, sointuja, bassoa ja lyömäsoittimia. Voit käyttää käsineitäsi hallitaksesi, milloin jokainen silmukka soi tai ei.
Jos keksit mielenkiintoisia ääniä, joita voit joskus sisällyttää kappaleeseen, kuten outo äänitehoste tai epätavallinen instrumentti, kokeile lisätä myös yksi tai kaksi niistä! Voit sitoa ne harvinaisempiin kädenliikkeisiin tuodaksesi jotain mielenkiintoista silloin tällöin.
Tässä on linkki Arduino-yhteensopivaan koostumukseeni, jos et halua kirjoittaa omaa:
(Valitettavasti Abletonin opettaminen ei kuulu opetusohjelman piiriin. Siellä on kuitenkin paljon hyviä ohjevideoita, ja Abletonilla on 90 päivän ilmainen kokeilujakso. Suosittelen tätä videota.)
Vaihe 5: Aloita Firmatan käyttö
Jotta Arduino voi kommunikoida Abletonin kanssa, sinun on käytettävä Firmata -kirjastoa. Sinun on myös ladattava Abletonin Connection Kit.
Napsauta Abletonissa vasemmassa yläkulmassa olevasta valikosta Paketit> Yhteyspaketti> Laitteet ja lisää se sitten kaksoisnapsauttamalla ensimmäistä laitetta (Arduino). Muista muistaa, mihin Ableton -kappaleeseen lisäsit laitteen!
Vaihe 6: Testaa Firmata
Ensin testaamme ja varmistamme, että Arduino on yhteydessä Abletoniin. Lataa tämä koodinpätkä Arduinoosi ja suorita se:
#include void analogWriteCallback (tavun nasta, int -arvo) {if (IS_PIN_PWM (pin)) {pinMode (PIN_TO_DIGITAL (pin), OUTPUT); analogWrite (PIN_TO_PWM (nasta), arvo); }} mitätön asennus () {Firmata.setFirmwareVersion (FIRMATA_FIRMWARE_MAJOR_VERSION, FIRMATA_FIRMWARE_MINOR_VERSION); Firmata.attach (ANALOG_MESSAGE, analogWriteCallback); Firmata.begin (57600);} void loop () {Firmata.sendAnalog (0, 800);}
Tämä on vähimmäismäärä, joka tarvitaan kommunikointiin Firmatan kanssa. Se lähettää jatkuvasti 800 (1024: stä) ulostulon Abletonin Firmata -laitteen porttiin 0. Jos lataat tämän koodin Arduinollesi, kun Firmata -laite on auki Abletonissa, sen pitäisi näyttää yllä olevan kuvan mukaiselta. (Kartta portti 0 mille tahansa Abletonissa, jotta voit nähdä arvot.)
Voit napsauttaa Kartta-painiketta ja sitten mitä tahansa Firmata-yhteensopivaa laitetta Abletonissa lisätäksesi kartoituksen kyseiseen porttiin vastaanotetun tulon ja kyseisen Ableton-laitteen arvon välille. Helppoja esimerkkejä ovat minkä tahansa raidan tai minkä tahansa äänitehosteen valitsimen äänenvoimakkuus. Tutki ja katso, mitä löydät kartoittaaksesi!
Vaihe 7: Vaikuta musiikkiin kädenliikkeilläsi
Tähän mennessä sinulla pitäisi olla musiikkia Abletonissa, Firmata -käsikirjoitus Arduinollasi ja kiihtyvyysmittari. Tehdään musiikkia!
Yhdistä Arduino -laitteen portit Abletonissa eri asioihin (ehdotan kappaleen äänenvoimakkuutta) ja lisää sitten koodirivejä lähettääksesi tietoja jokaiseen Arduinon porttiin.
Firmata.sendAnalog (portti, volyymitaso);
Käytä tällaista koodia jokaiselle Firmata -portille.
Jos haluat tehdä jotain yksinkertaista, voit lähettää käsittelemättömät kiihtyvyysmittarin arvot Ableton -portteihin ja kartoittaa ne sieltä. Kehittyneemmän kokemuksen saamiseksi voit päättää: mitkä kiihtyvyysmittarin arvojen pitäisi laukaista ääniä, miten ja milloin?
Pelaa sitten kaikki Ableton -silmukkasi, suorita Arduino -koodisi ja tanssi pois!
(Vastuuvapauslauseke: jos aiot luoda minkä tahansa monimutkaisen algoritmin kappaleellesi, hienosäätö voi viedä paljon aikaa. "Tanssi pois" saattaa olla epätarkempi kuin odotettiin.)
Vaihe 8: Track -luokka (bonus!)
Jos et häiritse äänenvoimakkuuden lisäämistä tai sinulla on jokin muu tapa vähentää sitä, ohita tämä vaihe. Muussa tapauksessa lue!
Huomasin, että äänenvoimakkuuden vaihtaminen mykistetystä täysiin yhdellä kertaa luo epämiellyttäviä popping -ääniä, ja on hienoa, että äänenvoimakkuus voi hiljentyä vähitellen. Tätä on kuitenkin vaikea tehdä Arduinon synkronisessa ohjelmointiympäristössä. Joten tässä on koodi, jonka avulla popping poistuu:
luokka Raita {julkinen: int tilavuus; int volumeGoal; int updateSpeed; Raita () {tilavuus = 0; volumeGoal = 0; updateSpeed = 0; } void setVolumeGoal (int tavoite) {volumeGoal = tavoite; } int getVolumeGoal () {return volumeGoal; } void setUpdateSpeed (int nopeus) {updateSpeed = nopeus; } int getVolume () {return volume; } void updateVolume () {if ((volume> volumeGoal) && ((volume - volumeGoal)> = updateSpeed)) {volume - = updateSpeed; } else if ((volume = updateSpeed)) {volume += updateSpeed; }} void mute (int fastness) {volumeGoal = 50; updateSpeed = nopeus; } void full (int fastness) {volumeGoal = 950; updateSpeed = nopeus; }};
Jokaisella raidalla on nykyinen tilavuus, tavoitemäärä ja nopeus, jolla se liikkuu kohti tavoitemäärää. Jos haluat muuttaa kappaleen äänenvoimakkuutta, soita setVolumeGoal (). Joka kerta, kun suoritat silmukka () -toiminnon Arduinollasi, soita päivitykselle () kaikille kappaleille ja lähetä sitten tiedot Firmatalle getVolume () -toiminnon avulla. Muuta päivitysnopeutta nopeamman tai asteittaisen häivytyksen vuoksi! Vältä myös äänenvoimakkuuden asettamista 0: ksi, jos voit; aseta sen sijaan erittäin pieni arvo (oletus mykistyksessä () on 100).
Vaihe 9: Seuraa pituutta, lyöntejä ja muuta (bonus!)
Voit tehdä monia asioita, jotta projektisi tuottama ääni olisi helpompi kuunnella. Tässä muutamia vaihtoehtoja:
Voit seurata, kuinka kauan kappale on ollut käynnissä. Tätä varten sinun on selvitettävä, milloin kappale alkoi; Suosittelen setup () -toiminnon while -silmukkaa, joka viivästyttää koodin suorittamista, kunnes se havaitsee käden liikkeen. Tallenna kappaleen alkamisaika muuttujaan millis () -toiminnolla ja tarkista, kuinka kauan se on jatkunut joka kerta, kun silmukka (). Tämän avulla voit ottaa käyttöön tai poistaa käytöstä tiettyjä ominaisuuksia tietyillä kappaleen aikoilla.
Jos tiedät kuinka kauan silmukoidesi ovat millisekunneissa, voit myös seurata, kuinka monta silmukkaa olet käynyt läpi, jotta saat selkeämmän käsityksen kappaleen rakenteesta!
Toinen mahdollinen ongelma, jonka saatat kohdata, on milloin aloittaa ja lopettaa raidan toisto. Ratkaisin tämän seuraamalla, millä mitan kappaleella kappale oli parhaillaan. Sitten voisin toistaa kappaleita minkä tahansa lyönnin eleen jälkeen sen sijaan, että katkaisin sen välittömästi. Tämä tekee asioista paljon sujuvampia. Tässä on esimerkki:
if (millis () - lastLoop> = 4000) {silmukat += 1; lastLoop = millis (); for (int j = 0; j <8; j ++) {beatNow [j] = epätosi; }} lyönti = (millis () - lastLoop) / 250; if (beat! = lastBeat) {lastBeat = beat; beatsLeft -= 1; }
Varmista, että päivität äänenvoimakkuudet beatNow [beat] - ja/tai beatsLeft -arvojen mukaisesti. Esimerkkikoodi, joka sisältää lähes kaiken tässä opetusohjelmassa, sekä joitakin, on liitetty, jos haluat nähdä sen käytännössä.
Suositeltava:
DIY Raspberry Pi Downloadbox: 4 vaihetta
DIY Raspberry Pi Downloadbox: Löydätkö usein itsesi lataamasta suuria tiedostoja, kuten elokuvia, torrentteja, kursseja, TV -sarjoja jne., Niin tulet oikeaan paikkaan. Tässä Instructable -ohjelmassa muuttaisimme Raspberry Pi zero -laitteemme latauskoneeksi. Joka voi ladata minkä tahansa
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen