[{"data":1,"prerenderedAt":227},["ShallowReactive",2],{"project-5052155":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":34,"aspects":35,"strip":42,"post_text":45,"what":46,"said":76,"maker_in_thread":135,"shape":137,"grid":141,"attempts":190,"same_week":191,"maker_shows":37,"maker_hidden":219,"reader_version":220,"card":221},"5052155","Teoria.js","Music theory for JavaScript","title","Show HN: Teoria.js - Music theory for JavaScript","http:\u002F\u002Fsaebekassebil.github.com\u002Fteoria\u002F","saebekassebil.github.com","saebekassebil",1358116257,2013,77,21,326,1739,19,"notable","languages","music theory library","library",[24,25,26,27,28],"music theory","javascript","chords","intervals","scales","mixed",0.167,{"positive":32,"neutral":33,"mixed":33,"critical":33},4,2,10,{"execution":36,"idea":39,"design":40,"docs":41},{"positive":37,"critical":38},1,0,{"positive":33,"critical":37},{"positive":38,"critical":37},{"positive":37,"critical":38},[38,38,38,38,38,38,38,38,43,38,38,37,44,37,44,43,43,38,44,44,43],5,3,null,{"problem":47,"audience":45,"pricing":45,"motivation":45,"time_to_build":45,"stack":59,"openness":75,"stage":75,"team_size":75},{"value":48,"source":49,"evidence":50},"Working with music theory concepts such as notes, chords and intervals in code","commenter",[51,55],{"id":52,"by":53,"text":54},"5052964","submersible","Teoria.js does have a music theory api for working with notes, chords and intervals. I'm actually using it for a site I'm working on: http:\u002F\u002Fgroktar.com\u002F?m=kTD4PzaNwv (shameless…",{"id":56,"by":57,"text":58},"5052855","jtheory","The actual library does look like it does quite a bit more than waveforms -- it's mostly focused on relationships of notes (in scales, intervals, etc.), and perhaps only…",[60,68],{"value":61,"source":49,"evidence":62},"JavaScript",[63,67],{"id":64,"by":65,"text":66},"5052377","simmons","I took a quick look at the Javascript code on saebekassebil's GitHub, and it does seem to be the start of some sort of music theory library. The waveform visualizer demo just…",{"id":56,"by":57,"text":58},{"value":69,"source":49,"evidence":70},"Web Audio API (in a fork)",[71],{"id":72,"by":73,"text":74},"5052920","acarabott","I made a quick fork to add audio to this using the Web Audio API (webkit only, tested on Chrome and Safari). http:\u002F\u002Facarabott.github.com\u002Fteoria\u002F","unknown",{"praise":77,"objections":90,"requests":103,"questions":104,"alternatives":115},[78],{"value":79,"source":49,"evidence":80},"Useful music theory library, fun to explore",[81,82,86],{"id":52,"by":53,"text":54},{"id":83,"by":84,"text":85},"5053347","robmiller","As a once undergrad music student now working in acoustics, thanks for creating this. Something like this has been on my list of things to program, especially with libraries out…",{"id":87,"by":88,"text":89},"5052300","arielserafini","Same here, not what I expected. Looks great, though!",[91,99],{"value":92,"source":49,"evidence":93},"Demo is a frequency visualizer and doesn't show what the library is about",[94,98],{"id":95,"by":96,"text":97},"5052297","lowboy","This isn't really what I expected when I saw \"music theory\". It would be more aptly titled something like \"frequency visualizer of chords\".",{"id":64,"by":65,"text":66},{"value":100,"source":49,"evidence":101},"Name is generic and may be hard to find, since teoria.com exists",[102],{"id":56,"by":57,"text":58},[],[105],{"value":106,"source":49,"evidence":107},"Why do some note combinations sound good and others do not",[108,111],{"id":109,"by":65,"text":110},"5052346","Neat! I've been reading up and playing around with this stuff the past few weeks, from both the waveform synthesis side and the music theory side. I don't think I've quite…",{"id":112,"by":113,"text":114},"5053102","gtani","``` Why do some note combinations sound good. ``` This is a discussion of equal temperament vs. just intonation ratios…",[116,124,131],{"value":117,"source":49,"evidence":118},"Overtone and SuperCollider",[119,120],{"id":109,"by":65,"text":110},{"id":121,"by":122,"text":123},"5054591","crucialfelix","Overtone is a SuperCollider client written in Clojure. SuperCollider itself has a much larger library of useful code relevant to music theory. The guy who wrote Overtone did so…",{"value":125,"source":49,"evidence":126},"timbre.js music synthesis library",[127],{"id":128,"by":129,"text":130},"5053636","cosmikduster","You might like to check out this music synthesis library in Javascript: http:\u002F\u002Fmohayonao.github.com\u002Ftimbre",{"value":132,"source":49,"evidence":133},"teoria.com music theory website",[134],{"id":56,"by":57,"text":58},{"comments":38,"answered":38,"key":136},[],{"commenters":138,"max_depth":32,"maker_replies":38,"first_comment_mins":139,"lifespan_hours":140},16,43,23,[142,144,148,150,152,155,156,157,158,160,163,165,167,169,171,173,175,178,181,185,188],[109,38,38,143,65,38],"commenter\u002Fneutral\u002Fnone",[145,38,38,146,147,38],"5052565","other\u002Fneutral\u002Fnone","Devlin_Donnelly",[149,38,38,143,57,38],"5052818",[151,38,38,143,147,38],"5056670",[153,38,38,146,154,38],"5052962","stagas",[112,38,38,146,113,38],[128,38,38,146,129,38],[121,38,38,146,122,38],[72,37,43,159,73,38],"project\u002Fpositive\u002Fexecution",[161,37,38,146,162,38],"5053258","SoftwareMaven",[164,37,38,146,129,38],"5053651",[95,33,37,166,96,38],"project\u002Fcritical\u002Fidea",[87,33,44,168,88,38],"project\u002Fmixed\u002Fdesign",[64,33,37,170,65,38],"project\u002Fcritical\u002Fdesign",[56,33,44,172,57,38],"project\u002Fmixed\u002Fidea",[52,33,43,174,53,38],"project\u002Fpositive\u002Fidea",[176,44,43,177,88,38],"5052308","project\u002Fpositive\u002Fdocs",[179,32,38,146,180,38],"5052399","afandian",[182,43,44,183,184,38],"5053622","project\u002Fneutral\u002Fidea","DanWaterworth",[186,43,44,183,187,38],"5053699","spiralganglion",[83,189,43,174,84,38],6,[],[192,197,202,207,210,215],{"id":193,"name":194,"points":195,"category":196},"5045621","Dextro",179,"ai",{"id":198,"name":199,"points":200,"category":201},"5068547","Super Debugger",75,"dev_tools",{"id":203,"name":204,"points":205,"category":206},"5048009","This Year",70,"productivity",{"id":208,"name":209,"points":205,"category":206},"5066355","Draft",{"id":211,"name":212,"points":213,"category":214},"5057073","analytics-node",66,"data",{"id":216,"name":217,"points":218,"category":214},"5034513","appstorerankings.net",62,false,"v2",{"id":222,"name":5,"line":6,"ai":219,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":223,"top":18,"kw":224,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":225,"url":9,"mix":226,"praise":79,"objection":92,"sub":21},5052155,0.17,[24,25,26,27,28],"000000005001313550335",[32,33,33,33],1793990889814]