So, um, myfavoritetypeofprogrammingisattemptingthingsthat I'veneverdonebefore, whichisanextrareasonwhy I shouldn't be a fulltimesoftwareengineer.
Because I lovethewholeprocessoffailingandlearningfromit, which I thinkisreallyimportant.
Especiallyadmittingthatinfrontofhundredsofpeople, Um, soastheartistresidency, um, I did a serieswhere, um, ofartworksthatwerecalledNewromanceand I tookAh, playit.
Well, itwas a playonNeuromancerbyWilliamGibson, Obviously, but, um, thereasonthat I didthisprojectwasbecause I wantedtoblendspecialeffectsmakeupintechnologytogethertobetter, um, visualizewhatmoderncyberneticaugmentationcouldlooklike.
And I didthisinthesensethatthisisdigitalizedmakeup.
Andwhen I hadtheshowtoshowpeoplethis, theywerelike, Well, that's reallycool, butit's alsoweird, and I don't wanttogonearit, buttheyalsodidn't knowhow I didit.
So I gottotalktothemaboutnobots, becausethisisjustrunningonanArduino, andit's a simplecircuitthat I startedtogether.
And, um, thefaceisAngelinaFabbroifit's makingyouoddlylikefamiliarwithit, butyoucan't put a fingeronit.
Um, yeah.
SoweirdArtandtechnology, stufflikethat.
Andsothatleadsmetowhatwe'retalkingabouttoday.
Um, I dovisualsunderthename M s paint.
MissPage, Um, thiswas a showthat I justplayedinJanuaryat a festivalcalledMagFast.
Yeah, um, when I starteddoingvisuals, I wasusingtoolsthatotherpeoplehadmadealready.
And I waslike, Whynotmakethisharderonmyselfandbuildmyowntools?
So I do a lotofthesetriptuneshows, and I wantedsomethingtoeworkformyself.
Thethingthat I hadbeenworkingwithbeforewascalledLumen.
Andexcuseme, I wasusingthisfor a while.
It's onlyavailableforMac.
Whatitisisit's anoldschooltypeofvideosynthesizerthathas, like, patchboardstuffthatyoupackedaround, anditwasreallycool, but, umItwasveryspecific, and I'm gonnashowyouwhatitlookslike.
Soithas a bunchofthesepatchessothatyoucanpickdifferentkindsofemulationSzeofhoweverthey'realteringthewavesandyoucanchangeitinhereandyoucouldhookitupThio a midiinputandDavidAndthenyoucangetreallywildbackhere.
I don't evenknow.
I read.
I readtheinstructions a littlebit, but I gaveupbecause I waslikethis.
That's justwaytoomuch.
Andso I waslike, I gotit.
I gottodosomethingmyselfgreatandthensearlike, Why?
Whywouldyoudothatyourself?
Um, so I alreadywasdoingvisuals, soitseemedlike a validtimeandeffortoutputto, youknow, doitmyself.
Anaand I alsolovechallengingmyself.
Like I said, I lovetryingthingsthat I'veneverdonebefore.
So, um, myprocessgoingthroughwhen I makethingsisprobablysimilartolikehow a lotofotherpeopleputthingsthrough.
Um I thinkofitseparately.
I'm like, Okay, cool.
So I havethis.
I hadanideaofhow I wantedtocontrolthatinputbecause I wantedtolookcoolerthanjustlikestandinguponstagewith a laptopandpushingbuttons.
I waslike, I wanttolookevencoolerThisthisiscalled a midifighter.
Itis, ah, midiinputthroughusbe.
There's a bunchofbuttons.
There's a potentialometerinsideThere's buttonsonthesideand I waslike, I waswaycooleruponstagewithoneofthesethingsinjust a laptop.
So I havemybuttonsand I know I wantedtodosomethinginthebrowsersothat I couldbuildthat.
Andthen I waslike, Allright, sohowam I gonnadothis?
And, um, that I hadfiguredouthowtoputthemtogetherthehardway?
Essentially, andthatwas, youknow, learning a wholenew A P I.
Somaybeweallknowabout I'm togiveyou a littlebitof a historyoftheprotocol.
Andsoit's anacronymthatstandsformusicalinstrumentdigitalinterface, andit's a waytoconnectdevicesthatmakeit, uh, makingcontrolsound.
Sosomepeoplethinkthatlikewhen I talkaboutMickey, I'm gonnabetalkingaboutthesoundthatgetsout.
I'm soit's a protocolthatallowsElektronikinstrumentsandsynthesizerstocommunicate, meaning a usercontrolmultipleelectronicinstrumentsfromonesynthesizeror a computer.
Andsothefollowingyeartheydisplayedthefruitsoftheirlabor, anditwas a demonstrationonhowmanyworkedonhowitwasborn, andthentheywant a technicalGrammyforitin 2013 whichiscool.
Andwhenthathappens, youplaynotesonthesynthesizer, andallofthephysicalactionsaretransmittedasmanymessagestothecomputersequencingsoftware, whichrecordsthemessagesandsomanymessagesorbriefnumericdescriptionsoftheaction, which I'm gonnashowyouwiththeWeb.
NittiAP I When I pushthebuttonsonthesothatcouldbekeypresses, joystickwiggles, knobturns, they'reallencodedandknowyouareinterpretingwhatthosemessagesmean.
Butsinceitdoesn't transmitaudio, ifyouwantedtomake a drummachineusingthewebgiddyAP, I wouldjustuseaudioattacksimplesoyoucouldbuildyourowndrummachineifyoulike.
Sotheweatherman e a p I specssupportsmaybeprotocolbyallowingWebAPStoenumeratedselectinputandoutputdevicesontheclientsystemandsuddenlyreceivedmanymessageson.
Putthetheobjectthat I wastellingyouaboutbeforethattalkstoyouaboutbiddyinputsinthemiddieoutputs.
Becausenotonlyis a buttonpress, it's thepress.
Theholdontherelease, dependingonthemiddiedevice.
Soyouhavethatoutputsallthatmessagingandthenthisonealsotheonebadthingaboutitissinceit's a potentiallyometerlikeeverysinglemovementisjustgonnakeepongivingmemessagestoyou.
Soletmeclearthisoutandlet's openoneoftheseup.
Allright, soinhere, youcanseethatmyMIDIdeviceis a minifighter, buttheEllisoneofthemWait.
Herewego.
Sothisis a midifighter, Freedy.
Itismadeby D j Techtools.
Uh, thisisnot a sponsorAndtalk.
I justshowstheirdevicebecause I likeitonDDE.
Thenwhenyougoin a littlebitfurther.
There's a dataDougrighthere, anditgivesyouanarraythatidentifies a lotofdifferentthings.
It's basedoffofthespeckthatyougetfortheMIDIcontroller, butforformeatleast, I knowthattheindexzeroiteminallofthedataiscontributingto a specificbuttonthatisonthedevice.
Sothat's how I'm abletocontroltheworkthat I'm goingtoshowyou, Um, in a second.
Thenitalsoallowsyoutodofunthingslike, Hello, Sothat's what I mean.
Like, youdon't havetodomusic.
Youdon't havetodiolikegames.
Youcanevenjustuseittocontrolsimpleelementson a Webpage.
Allright, whenyougetbacktokeynote.
Sowhat I built, I decidedtocall a video.
Um, I originallywasgoingtodolikeShaderis.
I waslike, thatwouldhavebeenreallycool, Butshootersarehard.