[{"data":1,"prerenderedAt":304},["ShallowReactive",2],{"project-4979247":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":43,"post_text":44,"what":45,"said":79,"maker_in_thread":176,"shape":179,"grid":182,"attempts":269,"same_week":270,"maker_shows":200,"maker_hidden":297,"reader_version":298,"card":299},"4979247","Harmogram","Harmogram, Web Audio API + Canvas (Paper.js) FFT\u002FHarmonograph","title","Show HN: Harmogram, Web Audio API + Canvas (Paper.js) FFT\u002FHarmonograph","http:\u002F\u002Fharmogram.com","harmogram.com","adrianleb",1356724865,2012,105,33,205,1677,13,"notable","creative","music visualizer","web_app",[24,25,26,27,28],"harmonograph","web audio api","fft visualization","paper.js","canvas","mixed",0,{"positive":32,"neutral":33,"mixed":34,"critical":32},5,7,4,21,{"execution":37,"design":39,"performance":41,"idea":42},{"positive":30,"critical":38},3,{"positive":30,"critical":40},1,{"positive":30,"critical":30},{"positive":40,"critical":40},[40,30,30,30,30,38,38,32,40,38,30,30,30,38,38,38,40,30,30,32,30,40,30,38,38,32,32,38,38,30,40,38,32],null,{"problem":44,"audience":44,"pricing":44,"motivation":46,"time_to_build":44,"stack":53,"openness":76,"stage":77,"team_size":78},{"value":47,"source":48,"evidence":49},"Experiment with the Web Audio API, especially its analyser, on a canvas","maker",[50],{"id":51,"by":11,"text":52},"4979342","Objective was mainly to experiment with the Web Audio API, specially its analyser. Once you plug that into a 2d\u002F3d canvas theres really a lot of room for creativity. Glad you…",[54,60,64,68],{"value":55,"source":48,"evidence":56},"Web Audio API",[57,59],{"id":58},"post",{"id":51,"by":11,"text":52},{"value":61,"source":48,"evidence":62},"Canvas",[63],{"id":58},{"value":65,"source":48,"evidence":66},"Paper.js",[67],{"id":58},{"value":69,"source":70,"evidence":71},"shuffler.fm API","commenter",[72],{"id":73,"by":74,"text":75},"4979898","marcelcor","It uses the http:\u002F\u002Fshuffler.fm API. It's the blogs that pick the music.","open_source","launched","unknown",{"praise":80,"objections":104,"requests":138,"questions":153,"alternatives":161},[81],{"value":82,"source":70,"evidence":83},"Visualization looks cool and music choices are good",[84,88,92,96,100],{"id":85,"by":86,"text":87},"4979516","FuzzyDunlop","This is really cool. Only thing that confused me is the UI seems to have a mind of its own sometimes - songs suddenly change themselves, and the list scrolls, and I can't find my…",{"id":89,"by":90,"text":91},"4979824","notJim","God, this is so much cooler than my holiday project :). Nice work. In terms of critique, if you're interested in that, the UI could use some work (the interactions are weird, and…",{"id":93,"by":94,"text":95},"4979392","n1ghtfury","nice! looks legit - great music choices too :D",{"id":97,"by":98,"text":99},"4980173","thrownaway2424","Really nice work. Discovered some nice music, too :) When it's on-screen is uses two whole CPUs though (one for the chrome tab, and one for Chrome's GPU-driving process) and the…",{"id":101,"by":102,"text":103},"4980839","podrivo","beautiful!",[105,119,124,134],{"value":106,"source":70,"evidence":107},"Works only in Chrome because Web Audio API is not in other browsers",[108,112,116],{"id":109,"by":110,"text":111},"4979618","huhtenberg","``` Fuck! Sorry but this experiment works only on Google Chrome. ``` Fuck indeed.",{"id":113,"by":114,"text":115},"4979417","aioprisan","why is it chrome only?",{"id":117,"by":86,"text":118},"4979466","the web audio API isn't implemented in anything else. Firefox uses a proprietary thing that's been deprecated.",{"value":120,"source":70,"evidence":121},"UI is confusing and songs change unexpectedly",[122,123],{"id":85,"by":86,"text":87},{"id":89,"by":90,"text":91},{"value":125,"source":70,"evidence":126},"No sound on Linux Chromium without extra codecs",[127,131],{"id":128,"by":129,"text":130},"4979740","graue","No sound in Chromium on Linux (Ubuntu). Unfortunately, that often happens when I click on these experiments, due to lack of MP3 support. There is MP3.js to get around the patent…",{"id":132,"by":129,"text":133},"4980895","chromium-codecs-ffmpeg-extra did it. Thanks! Weird that no corresponding package seems to exist for Firefox.",{"value":135,"source":70,"evidence":136},"Uses a lot of CPU and visualization lags the music",[137],{"id":97,"by":98,"text":99},[139,146],{"value":140,"source":70,"evidence":141},"Add a pause button",[142],{"id":143,"by":144,"text":145},"4980034","tonetheman","Cool cool. Needs a pause button bad... or is there one already?",{"value":147,"source":70,"evidence":148},"Add microphone input as audio source",[149],{"id":150,"by":151,"text":152},"4979759","umaar","Nice work! Any plans on updating the Github repo https:\u002F\u002Fgithub.com\u002Fadrianleb\u002Fharmogram with this version? Reason I ask, I wouldn't mind contributing a feature where the user can…",[154],{"value":155,"source":70,"evidence":156},"What is the objective of the project",[157],{"id":158,"by":159,"text":160},"4979261","mwasser","Love it! What's the objective of the project?",[162,169],{"value":163,"source":70,"evidence":164},"Web Audio API sample collection",[165],{"id":166,"by":167,"text":168},"4979674","spyder","Collection of Web Audio experiments: http:\u002F\u002Fchromium.googlecode.com\u002Fsvn\u002Ftrunk\u002Fsamples\u002Faudio\u002Fsamples.html",{"value":170,"source":70,"evidence":171},"puur.tk\u002Fbetter",[172],{"id":173,"by":174,"text":175},"4981211","zan2434","Interesting, I did something similar with http:\u002F\u002Fpuur.tk\u002Fbetter",{"comments":40,"answered":40,"key":177},[178],{"id":51,"text":52},{"commenters":180,"max_depth":32,"maker_replies":40,"first_comment_mins":33,"lifespan_hours":181},26,14,[183,185,189,192,194,197,199,201,203,204,208,210,212,213,215,218,221,225,228,232,236,239,241,242,244,248,252,254,256,258,260,265,267],[109,30,40,184,110,30],"project\u002Fcritical\u002Fexecution",[186,30,30,187,188,30],"4980189","commenter\u002Fneutral\u002Fnone","sergiotapia",[190,30,30,187,191,30],"4980519","at-fates-hands",[193,30,30,187,129,30],"4980971",[195,30,30,187,196,30],"4980980","arrrg",[85,40,38,198,86,30],"project\u002Fmixed\u002Fdesign",[89,200,38,198,90,30],2,[150,38,32,202,151,30],"project\u002Fpositive\u002Fnone",[128,34,40,184,129,30],[205,34,38,206,207,30],"4979831","project\u002Fneutral\u002Fexecution","jkbyc",[209,34,30,187,129,30],"4979998",[211,34,30,187,207,30],"4980337",[132,34,30,187,129,30],[97,32,38,214,98,30],"project\u002Fmixed\u002Fperformance",[143,216,38,217,144,30],6,"project\u002Fneutral\u002Fdesign",[219,216,38,217,220,30],"4981131","RaSoJo",[222,33,40,223,224,30],"4979663","project\u002Fcritical\u002Fdesign","mikle",[166,226,30,227,167,30],8,"other\u002Fneutral\u002Fnone",[229,230,30,227,231,30],"4979478",9,"EwanG",[233,234,32,202,235,30],"4979489",10,"xwowsersx",[173,237,30,238,174,30],11,"other\u002Fneutral\u002Fidea",[113,240,40,184,114,30],12,[117,240,30,187,86,30],[243,240,38,206,174,30],"4981271",[245,18,38,246,247,30],"4981694","project\u002Fmixed\u002Fexecution","rebelnz",[249,181,32,250,251,30],"4980786","project\u002Fpositive\u002Fidea","msutherl",[93,253,32,202,94,30],15,[73,253,38,255,74,30],"project\u002Fneutral\u002Fidea",[158,257,38,255,159,30],16,[51,257,30,259,11,40],"maker\u002Fneutral\u002Fidea",[261,262,40,263,264,30],"4979648",17,"project\u002Fcritical\u002Fidea","mjcohenw",[266,262,38,255,220,30],"4981134",[101,268,32,202,102,30],18,[],[271,275,280,285,289,293],{"id":272,"name":273,"points":274,"category":20},"4977845","thegoodman",271,{"id":276,"name":277,"points":278,"category":279},"4974055","howacarworks.com",242,"dev_tools",{"id":281,"name":282,"points":283,"category":284},"4980220","Ninja Blocks",149,"hardware",{"id":286,"name":287,"points":288,"category":284},"4977548","Hacking a Raspberry Pi into a wireless airplay speaker",144,{"id":290,"name":291,"points":292,"category":279},"4997493","a small weekendish project",106,{"id":294,"name":295,"points":296,"category":20},"4980259","Nasdaq Dubstep",88,false,"v2",{"id":300,"name":5,"line":6,"ai":297,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":301,"maker":11,"domain":10,"tier":19,"attempts":30,"strip":302,"url":9,"mix":303,"praise":82,"objection":106,"sub":21},4979247,[24,25,26,27,28],"100003351300033310050103355330135",[32,33,34,32],1793990889210]