[{"data":1,"prerenderedAt":414},["ShallowReactive",2],{"project-7279412":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":43,"post_text":44,"what":45,"said":86,"maker_in_thread":224,"shape":233,"grid":237,"attempts":376,"same_week":377,"maker_shows":40,"maker_hidden":407,"reader_version":408,"card":409},"7279412","freetuner","An HTML 5 Guitar Tuner","title","Show HN: I built an HTML 5 Guitar Tuner","http:\u002F\u002Fwww.freetuner.co","freetuner.co","hoddez",1393016487,2014,134,54,195,2272,9,"notable","creative","guitar tuner","web_app",[21,24,25,26],"web audio","microphone","html5 tuner","mixed",0.19,{"positive":30,"neutral":31,"mixed":32,"critical":33},10,13,2,5,30,{"execution":36,"design":37,"performance":39,"idea":42},{"positive":33,"critical":32},{"positive":38,"critical":32},3,{"positive":40,"critical":41},1,0,{"positive":41,"critical":40},[41,41,41,41,41,33,41,41,33,41,33,33,40,41,41,38,41,38,38,40,33,33,40,41,41,41,33,38,38,38,41,40,40,38,38,38,33,33,41,33],null,{"problem":46,"audience":44,"pricing":53,"motivation":44,"time_to_build":44,"stack":61,"openness":84,"stage":85,"team_size":84},{"value":47,"source":48,"evidence":49},"Tuning a guitar without a physical tuner or a flash-based online tuner.","maker",[50],{"id":51,"by":11,"text":52},"7279674","\"I tuned my guitar succesfully with it\" Cool! That's what I like to hear. Thanks for the review and feedback. The performance delay may be due to the high volume right now…",{"value":54,"source":55,"evidence":56},"free","commenter",[57],{"id":58,"by":59,"text":60},"7279617","exDM69","Good work, thank you. I have been looking for a free guitar tuner and I have had varying experiences with the ones I've used. I mostly use a linux native app called lingot. It…",[62,70,77],{"value":63,"source":48,"evidence":64},"JavaScript",[65,66],{"id":51,"by":11,"text":52},{"id":67,"by":68,"text":69},"7279643","snorkel","Yup, all client side. You can view source on the page and read the javascript code doing the Fourier Transforms on the audio sample.",{"value":71,"source":55,"evidence":72},"DSP.js library",[73],{"id":74,"by":75,"text":76},"7279926","nanidin","He's using (or at least loading) the DPS.js library: https:\u002F\u002Fgithub.com\u002Fcorbanbrook\u002Fdsp.js\u002F",{"value":78,"source":55,"evidence":79},"socket.io",[80],{"id":81,"by":82,"text":83},"7279710","kybernetikos","What's the socket.io for? Also, am I right in saying that you did your own fft rather than use the built in analyser? I tried to do one with the built in analyser a while back…","unknown","prototype",{"praise":87,"objections":126,"requests":163,"questions":185,"alternatives":204},[88,107,122],{"value":89,"source":55,"evidence":90},"Works well and accurate compared with other tuners",[91,95,99,103],{"id":92,"by":93,"text":94},"7280669","austinl","I just tested this against my Snark Clip On tuner (http:\u002F\u002Fwww.snarktuners.com\u002Ftuners\u002Foriginal-clip-on) and it's almost identical. I hope your site eventually passes the other…",{"id":96,"by":97,"text":98},"7279473","theatraine","I used this tuner to test it: http:\u002F\u002Fwww.audionotch.com\u002Fapp\u002Ftune\u002F (and this chart: http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPiano_key_frequencies) Seems to work well! Good work.",{"id":100,"by":101,"text":102},"7280707","ryanwhitney","No standalone tuner on me, and both Guitar Toolkit and GarageBand's crap hit-or-miss tuner were failing me with a bass. Remembered seeing this and got tuned up in no time. Thanks…",{"id":104,"by":105,"text":106},"7279576","yuuks","Just tried it out with my synth, worked well. Good work :)",{"value":108,"source":55,"evidence":109},"Clean design and interface",[110,114,118],{"id":111,"by":112,"text":113},"7279757","hawkharris","I don't own a guitar, so I tested this web app by making guitar-like noises. It turns out my voice produces \"C\" chords...and my neighbors probably think I'm insane. (Jokes aside,…",{"id":115,"by":116,"text":117},"7281863","skweezebox","Cool! I like the clean interface.",{"id":119,"by":120,"text":121},"7280516","jeena","Wow, great work, I will check out the code and bookmark the page. I struggle to find a program to tune my accustic guitarr because I'm often on different computers. And nice…",{"value":123,"source":48,"evidence":124},"Uses only JavaScript, no Flash needed for microphone",[125],{"id":51,"by":11,"text":52},[127,141,148,156],{"value":128,"source":55,"evidence":129},"Browser support is limited; Safari and some mobile browsers fail",[130,134,138],{"id":131,"by":132,"text":133},"7280208","plg","not supported in Safari? (7.0.1)",{"id":135,"by":136,"text":137},"7280210","donrhummy","This worked on Chrome on Android (KitKat 4.4) but not on Firefox Beta for Android. Both correctly showed the microphone sharing notification, but on Firefox, no sound ever…",{"id":139,"by":136,"text":140},"7292968","It should have worked on Firefox too but there's a bug",{"value":142,"source":55,"evidence":143},"Noisy input such as tapping on a desk gets detected as notes",[144],{"id":145,"by":146,"text":147},"7279424","a3camero","I don't have a guitar but I can tap on my desk, and that seems to result in random notes. Maybe there's a way to improve the detection so it knows it's a guitar note?",{"value":149,"source":55,"evidence":150},"High latency and stuttery needle",[151,152],{"id":58,"by":59,"text":60},{"id":153,"by":154,"text":155},"7281003","vacri","Interesting. I don't have a microphone, but it did detect my Rocksmith guitar cable as a mike. It almost worked, but didn't quite get the right tone - I'm assuming the custom…",{"value":157,"source":55,"evidence":158},"Fails on some strings such as classical guitar A",[159],{"id":160,"by":161,"text":162},"7281068","bhrgunatha","This is great. It seems to have trouble with the A on both of my classical guitars. The needle skips directly from one tick below to one tick above while never lighting up…",[164,171,178],{"value":165,"source":55,"evidence":166},"Presets for different tunings and strings",[167],{"id":168,"by":169,"text":170},"7281293","cyberjunkie","You could add presets for different tunings and strings. That would help :)",{"value":172,"source":55,"evidence":173},"Explain browser incompatibility on the page instead of an alert",[174],{"id":175,"by":176,"text":177},"7280786","freshyill","Why not explain that on the page instead of throwing an alert? When I see alerts like that, my reaction is \"this guy just doesn't know what he's doing…it's probably just shitty…",{"value":179,"source":55,"evidence":180},"Clickable tab or silence function",[181],{"id":182,"by":183,"text":184},"7280039","asimeqi","This is good, but what would be great is if I can click on that icon and silence the page. This would be useful to silence those ads that play a video automatically and don't…",[186,197],{"value":187,"source":55,"evidence":188},"Why the five minute timeout exists",[189,193],{"id":190,"by":191,"text":192},"7282015","Uehreka","This is awesome. I've bookmarked this for the next time I lose my tuner. Only question, why does it have a 5 minute timeout?",{"id":194,"by":195,"text":196},"7279527","mmastrac","Very neat. What's the timeout for?",{"value":198,"source":55,"evidence":199},"How the audio analysis works",[200],{"id":201,"by":202,"text":203},"7279636","udfalkso","Awesome. How does the audio analysis work? Is it all happening client side?",[205,209,216,220],{"value":206,"source":55,"evidence":207},"Snark clip-on tuner",[208],{"id":92,"by":93,"text":94},{"value":210,"source":55,"evidence":211},"Guitar Tuner.app on Mac OS X",[212],{"id":213,"by":214,"text":215},"7281005","aalpbalkan","Please try Guitar Tuner.app on Mac OS X. It has a neat UI so I can see where the sound falls within on the scale. Took a screenshot for you: http:\u002F\u002Fimgur.com\u002FXCge66b Personally…",{"value":217,"source":55,"evidence":218},"lingot on Linux",[219],{"id":58,"by":59,"text":60},{"value":221,"source":55,"evidence":222},"audionotch tuner",[223],{"id":96,"by":97,"text":98},{"comments":33,"answered":38,"key":225},[226,227,230],{"id":51,"text":52},{"id":228,"text":229},"7279813","Whoa cool thanks for sharing that. This could have been very helpful, and still might be. I'll have to check it out and see what they did differently and how the performance…",{"id":231,"text":232},"7281296","Wow I didn't think it was supported on Android Chrome yet or any mobile browsers. That's awesome!",{"commenters":234,"max_depth":235,"maker_replies":33,"first_comment_mins":38,"lifespan_hours":236},43,4,71,[238,242,245,249,252,254,256,260,261,264,267,269,271,273,274,275,279,282,285,287,289,291,292,294,295,300,303,304,306,308,310,313,316,319,321,325,329,331,333,335,337,339,340,343,348,350,351,352,353,356,361,363,367,371],[239,41,41,240,241,41],"7280271","other\u002Fneutral\u002Fnone","daeken",[243,41,41,240,244,41],"7280393","DannyBee",[246,41,41,247,248,41],"7280526","other\u002Fneutral\u002Fpricing","TillE",[250,41,41,240,251,41],"7280613","elektronaut",[253,41,41,240,241,41],"7280688",[255,41,41,240,244,41],"7281253",[257,40,33,258,259,41],"7279665","project\u002Fpositive\u002Fexecution","publicfig",[182,40,41,240,183,41],[262,40,41,240,263,41],"7282770","staticfish",[265,40,41,240,266,41],"7284235","joshschreuder",[111,32,33,268,112,41],"project\u002Fpositive\u002Fdesign",[58,38,38,270,59,41],"project\u002Fmixed\u002Fperformance",[51,38,41,272,11,40],"maker\u002Fneutral\u002Fperformance",[92,235,33,258,93,41],[96,33,33,258,97,41],[276,277,41,240,278,41],"7281185",6,"DougHaber",[160,280,40,281,161,41],7,"project\u002Fcritical\u002Fexecution",[283,284,41,240,75,41],"7279755",8,[228,284,41,286,11,40],"maker\u002Fneutral\u002Fnone",[288,284,41,240,75,41],"7279912",[135,18,38,290,136,41],"project\u002Fneutral\u002Fperformance",[231,18,41,286,11,40],[139,18,38,293,136,41],"project\u002Fneutral\u002Fexecution",[153,30,38,270,154,41],[296,297,38,298,299,41],"7280007",11,"project\u002Fneutral\u002Fidea","paperwork",[213,301,40,302,214,41],12,"project\u002Fcritical\u002Fdesign",[168,31,38,298,169,41],[100,305,33,258,101,41],14,[119,307,33,268,120,41],15,[145,309,40,281,146,41],16,[311,309,41,240,312,41],"7279486","normloman",[314,309,41,240,315,41],"7279487","elwell",[317,309,41,240,318,41],"7279610","tinco",[320,309,41,240,68,41],"7279612",[322,309,41,323,324,41],"7279686","commenter\u002Fneutral\u002Fnone","guynamedloren",[326,327,33,258,328,41],"7280173",17,"cdelsolar",[190,330,38,290,191,41],18,[194,332,38,290,195,41],19,[334,332,38,290,59,41],"7279622",[131,336,38,290,132,41],20,[338,336,41,272,11,40],"7280314",[175,336,40,302,176,41],[341,336,41,342,11,40],"7281201","maker\u002Fneutral\u002Fdesign",[344,345,40,346,347,41],"7281273",21,"project\u002Fcritical\u002Fidea","bijanous",[201,349,38,293,202,41],22,[67,349,38,293,68,41],[81,349,38,293,82,41],[74,349,38,293,75,41],[104,354,33,355,105,41],23,"project\u002Fpositive\u002Fperformance",[357,358,38,359,360,41],"7283513",24,"project\u002Fneutral\u002Fnone","hope1985",[115,362,33,268,116,41],25,[364,365,41,240,366,41],"7283418",26,"drasko",[368,369,41,240,370,41],"7279842",27,"OhHeyItsE",[372,373,33,374,375,41],"7279799",28,"maker\u002Fpositive\u002Fnone","ellisonleao",[],[378,383,388,393,397,402],{"id":379,"name":380,"points":381,"category":382},"7276263","ShareLaTeX",276,"productivity",{"id":384,"name":385,"points":386,"category":387},"7298195","Formspree",233,"web_saas",{"id":389,"name":390,"points":391,"category":392},"7282934","Google Music for Mac",193,"consumer_social",{"id":394,"name":395,"points":396,"category":387},"7277326","Selfie Ticket",131,{"id":398,"name":399,"points":400,"category":401},"7282164","gotofail.com",118,"security_privacy",{"id":403,"name":404,"points":405,"category":406},"7268079","ThreesJS",81,"games",false,"v2",{"id":410,"name":5,"line":6,"ai":407,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":28,"top":18,"kw":411,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":412,"url":9,"mix":413,"praise":89,"objection":128,"sub":21},7279412,[21,24,25,26],"0000050050551003033155100053330113335505",[30,31,32,33],1793990903105]