[{"data":1,"prerenderedAt":382},["ShallowReactive",2],{"project-8405443":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":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":86,"maker_in_thread":205,"shape":214,"grid":218,"attempts":345,"same_week":346,"maker_shows":34,"maker_hidden":374,"reader_version":375,"card":376},"8405443","JuliusJS","Speech recognition in JavaScript","title","Show HN: JuliusJS – Speech recognition in JavaScript","https:\u002F\u002Fgithub.com\u002Fzzmp\u002Fjuliusjs","github.com","zzmp",1412343357,2014,202,52,99,2272,5,"notable","ai","speech recognition","library",[21,24,25,26,27],"javascript","emscripten","offline speech","julius","loved",0.385,{"positive":31,"neutral":32,"mixed":33,"critical":34},13,10,0,1,24,{"performance":37,"idea":38,"design":39,"execution":41,"privacy":42,"docs":43},{"positive":33,"critical":34},{"positive":18,"critical":33},{"positive":40,"critical":33},2,{"positive":34,"critical":33},{"positive":34,"critical":33},{"positive":34,"critical":33},[33,45,33,45,33,45,18,33,18,45,18,18,33,18,33,45,33,18,18,18,33,45,33,18,33,45,33,33,33,45,45,33,18,34,18,33,33,33,33,33],3,null,{"problem":48,"audience":58,"pricing":46,"motivation":63,"time_to_build":46,"stack":67,"openness":83,"stage":84,"team_size":85},{"value":49,"source":50,"evidence":51},"Brings offline speech recognition to the browser with an abstracted API.","maker",[52,55],{"id":53,"by":11,"text":54},"8405636","pocketsphinx.js looks amazing, but there's definitely a barrier to entry if you've never worked with speech recognition before. That was my biggest goal in porting this tool - a…",{"id":56,"by":11,"text":57},"8405490","Creator here - I ported this over from the open-source Julius using emscripten. AMA",{"value":59,"source":60,"evidence":61},"Web developers wanting speech recognition in JavaScript.","inferred",[62],{"id":53,"by":11,"text":54},{"value":64,"source":50,"evidence":65},"Make Julius accessible with an easy JavaScript API, unlike pocketsphinx.js.",[66],{"id":53,"by":11,"text":54},[68,72,79],{"value":69,"source":50,"evidence":70},"JavaScript",[71],{"id":56,"by":11,"text":57},{"value":73,"source":50,"evidence":74},"C (Julius, transpiled with emscripten)",[75,76],{"id":56,"by":11,"text":57},{"id":77,"by":11,"text":78},"8406273","True. Transpiled, with a few abstractions written over the transpiled code (such as a worker script), and some tweaks to the transpiled code to fake multithreading so that it can…",{"value":80,"source":50,"evidence":81},"Web Audio API",[82],{"id":77,"by":11,"text":78},"open_source","beta","unknown",{"praise":87,"objections":114,"requests":135,"questions":164,"alternatives":179},[88,100,110],{"value":89,"source":90,"evidence":91},"Much easier to set up and use than pocketsphinx.js","commenter",[92,96],{"id":93,"by":94,"text":95},"8405590","jergason","I've played with pocketsphinx.js a fair amount, but this looks WAAAAAAAAAY easier to set up and consume. Nice work.",{"id":97,"by":98,"text":99},"8407528","hardwaresofton","This is absolutely amazing, great work. This will open up a whole new world of possibilities. In my time using offline speech-recognition tech, I never was able to use julius…",{"value":101,"source":90,"evidence":102},"Runs fully client-side with no server needed",[103,107],{"id":104,"by":105,"text":106},"8406165","yeukhon","Pretty cool! When I did my project I had to use https:\u002F\u002Fgithub.com\u002Fkn\u002Fspeak.js which is an amazing library. The library still works on Firefox 30, 31 by the time I finished my…",{"id":108,"by":11,"text":109},"8406997","Right, it's all done on the client, so it is server agnostic.",{"value":111,"source":90,"evidence":112},"Brings Julius into usable territory",[113],{"id":97,"by":98,"text":99},[115,125],{"value":116,"source":90,"evidence":117},"Demo vocabulary is too limited and misrecognizes words",[118,122],{"id":119,"by":120,"text":121},"8409044","borplk","Genuinely not sure if the demo is a joke or not. I said \"hello\" it said \"DIAL OH OH\". I said \"Apple\" it said \"GET KENT\". WTF?",{"id":123,"by":11,"text":124},"8409801","In order to get a more comprehensive vocabulary\u002Fgrammar, you need to substitute out the sample that it comes with. There are instructions in the README. For the demo, it just…",{"value":126,"source":90,"evidence":127},"Browsers should adopt a better language instead of JavaScript",[128,132],{"id":129,"by":130,"text":131},"8406006","kelvin0","This is the kind of technological challenge which must be fun to complete. And it must be quite satisfying for the author. However, whenever I see a 'XYZ in pure javascript', I…",{"id":133,"by":130,"text":134},"8416027","My point exactly. The end result being we are solidly entrenching Javascript into browsers, not the contrary. So instead of starting with a proper hammer for nails, we are slowly…",[136,147,154],{"value":137,"source":90,"evidence":138},"Simple demo page",[139,143],{"id":140,"by":141,"text":142},"8405751","Gonzih","Is there online demo anywhere on the web?",{"id":144,"by":145,"text":146},"8405583","cjbprime","Sounds good, thanks! Also, I think you'd get more interest here if there were a simple demo page that people could click through to -- that's the nice thing about JS, after all.…",{"value":148,"source":90,"evidence":149},"Confidence scores",[150],{"id":151,"by":152,"text":153},"8406561","bubee","Nice work. Can it return confidence scores? Say I want to load 3 commands in my page: 1. Click blue button 2. Scroll down in the yellow text area 3. Expand image of man I feed…",{"value":155,"source":90,"evidence":156},"Better English acoustic model",[157,161],{"id":158,"by":159,"text":160},"8405822","ar7hur","Thanks for sharing, nice work! Quick question the Julius website says there is no English acoustic model available [1], how did you solve this? Do you provide a default acoustic…",{"id":162,"by":11,"text":163},"8406060","I used voxforge[1], a project made specifically to solve this problem: > VoxForge was set up to collect transcribed speech for use with Free and Open Source Speech Recognition…",[165,172],{"value":166,"source":90,"evidence":167},"Does it need a Node.js backend?",[168],{"id":169,"by":170,"text":171},"8406854","cue232s","Does your application need a nodejs backend for this library to work?",{"value":173,"source":90,"evidence":174},"Can CMUSphinx language models be used?",[175],{"id":176,"by":177,"text":178},"8409176","sunsu","Can you use any of the CMUSphinx compatible language models with this, or is there a tool to convert them to something Julius supports?",[180,187,198],{"value":181,"source":90,"evidence":182},"pocketsphinx.js",[183,186],{"id":184,"by":11,"text":185},"8405555","No, but I think it's a great idea. If you end up using JuliusJS for this, please let me know. I still need to make some example applications to showcase what JuliusJS can do -…",{"id":93,"by":94,"text":95},{"value":188,"source":90,"evidence":189},"Annyang (wraps HTML5 speech API)",[190,194],{"id":191,"by":192,"text":193},"8406794","danso","This is sweet...to get an idea of how much fun this could be for web apps, check out the Annyang library (https:\u002F\u002Fwww.talater.com\u002Fannyang\u002F), which wraps around the Google Web…",{"id":195,"by":196,"text":197},"8407125","_pius","Strictly speaking, Annyang wraps the HTML5 speech recognition API, not Google's specifically.",{"value":199,"source":90,"evidence":200},"Chrome speech recognition API",[201],{"id":202,"by":203,"text":204},"8406480","moron4hire","I'm using Chrome's speech recognition engine for a virtual reality in WebGL thing I'm building. It's a bit annoying, as it requires a network connection, and is rather buggy (I…",{"comments":206,"answered":207,"key":208},15,7,[209,212,213],{"id":210,"text":211},"8406729","There is now a (very rudimentary) demo on the GitHub page: zzmp.github.io\u002Fjuliusjs Much thanks to @iffy for writing the first pass. It uses voxforge's sample vocabulary, so…",{"id":162,"text":163},{"id":56,"text":57},{"commenters":215,"max_depth":18,"maker_replies":206,"first_comment_mins":216,"lifespan_hours":217},29,9,73,[219,221,223,224,226,229,231,233,237,241,244,245,249,252,253,254,256,259,263,265,267,270,273,275,278,280,281,282,284,287,290,291,293,297,301,303,306,309,311,313,316,318,321,324,325,328,330,334,336,339,343,344],[210,33,33,220,11,34],"project\u002Fneutral\u002Fdocs",[158,34,45,222,159,33],"project\u002Fneutral\u002Fperformance",[162,34,33,222,11,34],[56,40,33,225,11,34],"project\u002Fneutral\u002Fnone",[227,40,45,228,145,33],"8405533","project\u002Fneutral\u002Fidea",[184,40,33,230,11,34],"maker\u002Fpositive\u002Fidea",[144,40,45,232,145,33],"project\u002Fneutral\u002Fdesign",[234,40,18,235,236,33],"8405649","project\u002Fpositive\u002Fdesign","WhitneyLand",[238,40,18,239,240,33],"8405744","project\u002Fpositive\u002Fidea","Raphmedia",[242,40,33,243,159,33],"8405841","other\u002Fneutral\u002Fnone",[202,40,18,239,203,33],[246,40,45,247,248,33],"8405806","maker\u002Fneutral\u002Fexecution","binarymax",[250,40,33,251,11,34],"8407282","maker\u002Fpositive\u002Fexecution",[97,40,18,239,98,33],[191,45,18,239,192,33],[195,45,33,255,196,33],"commenter\u002Fneutral\u002Fnone",[104,257,18,258,105,33],4,"project\u002Fpositive\u002Fprivacy",[260,18,18,261,262,33],"8406055","project\u002Fpositive\u002Fnone","hugozap",[264,18,33,255,170,33],"8406906",[151,266,45,222,152,33],6,[268,266,33,269,11,34],"8406718","maker\u002Fpositive\u002Fperformance",[271,266,33,272,11,34],"8406767","project\u002Fpositive\u002Fperformance",[274,266,18,261,152,33],"8406893",[276,266,18,251,277,33],"8407924","bdevani",[279,266,33,255,11,34],"8407948",[93,207,18,235,94,33],[53,207,33,235,11,34],[140,283,45,220,141,33],8,[285,283,33,286,11,34],"8405758","maker\u002Fneutral\u002Fdocs",[288,283,18,289,141,33],"8405783","maker\u002Fpositive\u002Fdocs",[176,216,45,228,177,33],[292,216,33,220,11,34],"8409794",[294,32,45,295,296,33],"8406375","project\u002Fneutral\u002Fprivacy","bikamonki",[298,32,33,299,300,33],"8406406","other\u002Fneutral\u002Fprivacy","crimsonalucard",[302,32,33,299,159,33],"8406443",[304,32,33,299,305,33],"8407046","aanchan",[307,32,33,299,308,33],"8408350","woodson",[310,32,33,299,159,33],"8408440",[169,312,45,232,170,33],11,[314,312,45,232,315,33],"8406878","prezjordan",[108,312,33,317,11,34],"maker\u002Fneutral\u002Fdesign",[319,312,18,320,170,33],"8410216","maker\u002Fpositive\u002Fnone",[119,322,34,323,120,33],12,"project\u002Fcritical\u002Fperformance",[123,322,33,286,11,34],[326,31,18,239,327,33],"8409549","cssandjs",[329,31,33,243,11,34],"8410179",[331,332,33,243,333,33],"8406983",14,"CmonDev",[129,206,33,335,130,33],"other\u002Fcritical\u002Fidea",[337,206,33,255,338,33],"8406021","evan_",[340,206,33,341,342,33],"8406238","commenter\u002Fneutral\u002Fexecution","dubcanada",[77,206,33,247,11,34],[133,206,33,335,130,33],[],[347,352,357,361,366,370],{"id":348,"name":349,"points":350,"category":351},"8416693","Nightmare",429,"dev_tools",{"id":353,"name":354,"points":355,"category":356},"8423825","postgres_vectorization_test",332,"data",{"id":358,"name":359,"points":360,"category":351},"8422408","ReadMe.io",266,{"id":362,"name":363,"points":364,"category":365},"8427086","Sail boat simulation",229,"learning_science",{"id":367,"name":368,"points":369,"category":351},"8426558","DevTools tips",212,{"id":371,"name":372,"points":373,"category":351},"8400265","GoldenLayout",211,false,"v2",{"id":377,"name":5,"line":6,"ai":374,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":378,"top":18,"kw":379,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":380,"url":9,"mix":381,"praise":89,"objection":116,"sub":21},8405443,0.39,[21,24,25,26,27],"0303035053550503055503050300033051500000",[31,32,33,34],1794036523410]