[{"data":1,"prerenderedAt":464},["ShallowReactive",2],{"project-17930669":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":45,"post_text":47,"what":48,"said":81,"maker_in_thread":210,"shape":218,"grid":221,"attempts":421,"same_week":426,"maker_shows":318,"maker_hidden":456,"reader_version":457,"card":458},"17930669","BitMidi","Wayback machine for old-school MIDI files","title","Show HN: BitMidi – Wayback machine for old-school MIDI files","https:\u002F\u002Fbitmidi.com\u002F","bitmidi.com","feross",1536277748,2018,168,80,227,2155,11,"notable","consumer_social","midi file archive","web_app",[24,25,26,27],"midi files","midi player","browser midi","midi archive","mixed",0.145,{"positive":31,"neutral":32,"mixed":33,"critical":34},14,13,2,7,36,{"execution":37,"performance":39,"design":41,"idea":43},{"positive":33,"critical":38},5,{"positive":40,"critical":33},1,{"positive":40,"critical":42},0,{"positive":44,"critical":42},8,[42,38,46,40,46,46,46,38,42,38,38,38,42,38,46,38,40,42,42,46,42,46,46,46,42,42,46,42,40,42,38,38,46,42,40,46,46,38,40,42],3,null,{"problem":49,"audience":47,"pricing":56,"motivation":60,"time_to_build":47,"stack":64,"openness":57,"stage":79,"team_size":80},{"value":50,"source":51,"evidence":52},"Existing MIDI sites were broken or hard to use, and browsers dropped MIDI playback.","maker",[53],{"id":54,"by":11,"text":55},"17930684","Hey HN, site author here! I was asked to repost this by the HN mods (read about the second-chance queue: https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=11662380). --- So, the context for…",{"value":57,"source":51,"evidence":58},"free",[59],{"id":54,"by":11,"text":55},{"value":61,"source":51,"evidence":62},"Nostalgia for old web MIDI and frustration with existing MIDI sites.",[63],{"id":54,"by":11,"text":55},[65,71,75],{"value":66,"source":51,"evidence":67},"JavaScript",[68],{"id":69,"by":11,"text":70},"17930728","A bit more info about how BitMidi is built... First step, I needed to build a MIDI player in JavaScript. At first, I was determinted to write one from scratch in JavaScript and…",{"value":72,"source":51,"evidence":73},"WebAssembly (libtimidity compiled with Emscripten)",[74],{"id":69,"by":11,"text":70},{"value":76,"source":51,"evidence":77},"SoundFonts from FreePats General MIDI set",[78],{"id":69,"by":11,"text":70},"launched","unknown",{"praise":82,"objections":111,"requests":145,"questions":175,"alternatives":188},[83,103],{"value":84,"source":85,"evidence":86},"Nostalgic and fun idea","commenter",[87,91,95,99],{"id":88,"by":89,"text":90},"17931224","j0wy","Awesome job - I’m about to cry from the memories this brings back. I really appreciate the effort put into porting a proper MIDI player to the browser while keeping page…",{"id":92,"by":93,"text":94},"17933368","gregjw","What an amazing idea. Thanks for putting the effort in, you've given me a lot of nostalgia feels.",{"id":96,"by":97,"text":98},"17934282","arayh","Thank you, this is awesome! I used to collect my favourite MIDI tunes around the web (and I still have them on my HD). I always thought how amazing it was to have so much music…",{"id":100,"by":101,"text":102},"17931370","lalos","Reminded me of the first customizable ringtones, thanks :)",{"value":104,"source":85,"evidence":105},"Impressive technical execution and small size",[106,110],{"id":107,"by":108,"text":109},"17931244","coding123","That's a pretty amazing technical feat!",{"id":88,"by":89,"text":90},[112,131,138],{"value":113,"source":85,"evidence":114},"Playback errors and broken play button in some browsers",[115,119,123,127],{"id":116,"by":117,"text":118},"17931207","Kim_Bruning","Currently site seems to have errors: Error – this._lib is undefined Error – HTTP request error. JSON.parse: unexpected character at line 1 column 1 of the JSON data",{"id":120,"by":121,"text":122},"17933688","dmd","When I try to play anything I get: You just blew our server's mind Error – play() called after destroy() This is in Chrome 68.0.3440.106.",{"id":124,"by":125,"text":126},"17932545","bartread","I can download the midi files but I can't seem to get anything to play directly on the site. The play button is simply non-functional piece of text with an icon next to it. This…",{"id":128,"by":129,"text":130},"17931888","werber","No sound on iOS",{"value":132,"source":85,"evidence":133},"Playback speed too fast in Chromium and Firefox on Linux",[134],{"id":135,"by":136,"text":137},"17933968","blobert","Just a heads up in Chromium version 68.0.3440.106 (Official Build) (64-bit) the midi's seem to be playing back at 10x or faster. In Firefox 61.0.1 (64-bit) at 2x or so. I'm on…",{"value":139,"source":85,"evidence":140},"Sound quality differs from desktop timidity",[141],{"id":142,"by":143,"text":144},"17931941","jek0","Great job putting all this together! Brings back memories. Out of curiosity I downloaded a .mid file to compare it with my local timidity install. The quality of the later is way…",[146,157,168],{"value":147,"source":85,"evidence":148},"Add ratings and tags for browsing",[149,153],{"id":150,"by":151,"text":152},"17931673","muglug","This is incredible. Could you add ratings and\u002For play counts?",{"id":154,"by":155,"text":156},"17931262","wickedOne","love these memories :-) a category \u002F theme browsing method would be added value i think",{"value":158,"source":85,"evidence":159},"Add MIDI file contributions and archive downloads",[160,164],{"id":161,"by":162,"text":163},"17934370","ravenstine","I'm so glad this exists! The feature of playing a MIDI file in a webpage was one of the things that inspired me to learn web development when I was 10 years old. I'm especially…",{"id":165,"by":166,"text":167},"17931342","vortico","Really cool! Do you offer collection archives for download, for distributed archival purposes? It seems like this archive…",{"value":169,"source":85,"evidence":170},"Support for custom soundfonts",[171],{"id":172,"by":173,"text":174},"17931660","Mizza","Thank you, Feross! I can confirm that this sounded exactly the way it did when I last heard it in the pre-Napster days: https:\u002F\u002Fbitmidi.com\u002Fsublime-wrong-way-mid Any chance of…",[176,182],{"value":177,"source":51,"evidence":178},"Why did browsers remove MIDI support?",[179],{"id":180,"by":11,"text":181},"17931715","> I never realized midi support had declined so much all over I actually have no idea why MIDI support was removed from browsers. I understand that \u003Cbgsound> was a bad idea –…",{"value":183,"source":51,"evidence":184},"How are MIDI files categorized?",[185],{"id":186,"by":11,"text":187},"17931699","I'm interested in finding ways to better organize the MIDI files. I'm curious how you figured out which category to put each MIDI file in on your website. Was that done manually…",[189,196,203],{"value":190,"source":85,"evidence":191},"MIDI Delight",[192],{"id":193,"by":194,"text":195},"17931593","redonkulus","The tricky part with the 100k downloads is that you do not have all the meta data for each file. You just have the filename, so some are just called “index.mid”. Which I guess is…",{"value":197,"source":85,"evidence":198},"vgmusic.com",[199],{"id":200,"by":201,"text":202},"17931797","FrozenVoid","No one mentioned https:\u002F\u002Fvgmusic.com\u002F ? My favorite site for videogame midis.",{"value":204,"source":85,"evidence":205},"Van Basco's MIDI Player",[206],{"id":207,"by":208,"text":209},"17931391","gugagore","My favorite MIDI player back in the day was http:\u002F\u002Fwww.vanbasco.com\u002F It had controls for transposition and tempo. It had visualization of the individual tracks, ability to mute…",{"comments":211,"answered":44,"key":212},19,[213,214,215],{"id":54,"text":55},{"id":69,"text":70},{"id":216,"text":217},"17931364","It's heartwarming to get feedback like this. Thank you for this.",{"commenters":219,"max_depth":38,"maker_replies":211,"first_comment_mins":33,"lifespan_hours":220},46,21,[222,224,226,228,230,231,233,236,239,241,244,246,248,252,254,257,261,263,265,266,268,271,272,273,277,280,283,284,285,287,291,293,296,298,302,304,306,308,310,313,316,320,322,324,326,328,331,334,336,339,342,345,349,351,355,357,358,360,362,364,366,369,372,375,379,383,386,389,391,393,394,396,399,402,404,407,409,413,415,418],[54,42,42,223,11,40],"maker\u002Fpositive\u002Fidea",[69,42,42,225,11,40],"project\u002Fpositive\u002Fexecution",[88,42,38,227,89,42],"maker\u002Fpositive\u002Fexecution",[216,42,42,229,11,40],"commenter\u002Fneutral\u002Fnone",[107,42,38,225,108,42],[142,42,40,232,143,42],"project\u002Fcritical\u002Fperformance",[234,42,42,235,11,40],"17932004","project\u002Fneutral\u002Fperformance",[237,42,40,232,238,42],"17932007","jimbo1qaz",[240,42,42,235,11,40],"17932055",[242,42,46,235,243,42],"17932690","SmellyGeekBoy",[154,42,46,245,155,42],"project\u002Fneutral\u002Fdesign",[247,42,42,245,11,40],"17931280",[249,42,46,250,251,42],"17931332","project\u002Fneutral\u002Fnone","Bluecobra",[253,42,42,229,11,40],"17931355",[255,42,38,256,155,42],"17933274","project\u002Fpositive\u002Fdesign",[258,42,38,259,260,42],"17931584","project\u002Fpositive\u002Fidea","grawprog",[180,42,42,262,11,40],"other\u002Fneutral\u002Fnone",[264,42,42,262,243,42],"17932699",[92,42,38,259,93,42],[135,42,46,267,136,42],"project\u002Fmixed\u002Fperformance",[269,42,42,262,270,42],"17934103","pbhjpbhj",[96,42,38,259,97,42],[161,42,38,259,162,42],[274,42,38,275,276,42],"17934782","project\u002Fpositive\u002Fnone","culot",[278,42,42,262,279,42],"17937383","rewgs",[281,40,42,262,282,42],"17933728","ssharp",[193,33,38,259,194,42],[186,33,42,229,11,40],[286,33,42,229,194,42],"17932324",[288,33,46,289,290,42],"17933370","project\u002Fmixed\u002Fdesign","JTxt",[172,46,38,292,173,42],"project\u002Fpositive\u002Fperformance",[294,46,42,295,11,40],"17931675","commenter\u002Fneutral\u002Fperformance",[297,46,46,235,173,42],"17931701",[299,300,40,301,173,42],"17931759",4,"project\u002Fcritical\u002Fexecution",[303,300,42,229,11,40],"17931774",[305,300,42,229,173,42],"17931821",[307,300,42,262,11,40],"17932064",[309,300,42,262,243,42],"17932701",[311,300,42,229,312,42],"17931802","ReverseCold",[314,38,46,235,315,42],"17932801","sgt",[317,318,42,262,319,42],"17931481",6,"mysterydip",[321,318,42,262,243,42],"17932715",[165,34,46,323,166,42],"project\u002Fneutral\u002Fidea",[325,34,42,229,11,40],"17931349",[327,34,42,262,166,42],"17931394",[329,34,46,323,330,42],"17931600","david_ar",[332,34,46,250,333,42],"17932272","joshypants",[335,34,46,323,243,42],"17932704",[337,44,42,262,338,42],"17932887","petercooper",[340,44,42,262,341,42],"17933386","crtasm",[343,44,42,262,344,42],"17935902","WillKirkby",[346,347,42,262,348,42],"17931679",9,"mullikine",[350,347,42,262,276,42],"17935165",[352,353,46,250,354,42],"17931890",10,"dtjohnnymonkey",[356,353,42,262,243,42],"17932721",[200,18,42,262,201,42],[116,359,40,301,117,42],12,[361,359,42,229,11,40],"17931240",[363,359,42,229,117,42],"17931397",[365,359,42,229,11,40],"17931480",[367,32,38,259,368,42],"17932758","dvfjsdhgfv",[370,32,42,229,371,42],"17933600","mhd",[373,31,46,250,374,42],"17932096","khazhou",[376,377,38,223,378,42],"17934755",15,"TruthSHIFT",[380,381,42,262,382,42],"17932441",16,"speps",[384,385,46,323,333,42],"17932265",17,[387,385,42,388,11,40],"17932302","project\u002Fcritical\u002Fidea",[390,385,42,229,333,42],"17935891",[207,392,42,262,208,42],18,[120,211,40,301,121,42],[124,395,40,301,125,42],20,[397,220,38,275,398,42],"17931351","cindywu123",[400,220,42,401,11,40],"17932825","maker\u002Fpositive\u002Fnone",[150,403,46,323,151,42],22,[405,403,42,406,11,40],"17931682","maker\u002Fneutral\u002Fnone",[100,408,38,259,101,42],23,[410,411,42,262,412,42],"17932136",24,"purplezooey",[128,414,40,301,129,42],25,[416,414,42,417,11,40],"17932060","maker\u002Fneutral\u002Fexecution",[419,414,42,420,333,42],"17932254","commenter\u002Fneutral\u002Fexecution",[422,425],{"id":423,"t":424,"points":211,"comments":318},"17720702",1533773114,{"id":4,"t":12,"points":14,"comments":15},[427,432,437,442,447,451],{"id":428,"name":429,"points":430,"category":431},"17927200","Py-spy",286,"dev_tools",{"id":433,"name":434,"points":435,"category":436},"17952355","Hacklily",285,"creative",{"id":438,"name":439,"points":440,"category":441},"17948287","Zero",252,"infrastructure",{"id":443,"name":444,"points":445,"category":446},"17942032","Reminiscence",213,"productivity",{"id":448,"name":449,"points":450,"category":431},"17951478","Ghuser.io",157,{"id":452,"name":453,"points":454,"category":455},"17959341","Mindstamp",138,"web_saas",false,"v2",{"id":459,"name":5,"line":6,"ai":456,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":460,"top":18,"kw":461,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":462,"url":9,"mix":463,"praise":84,"objection":113,"sub":21},17930669,0.14,[24,25,26,27],"0531333505550535100303330030105530133510",[31,32,33,34],1794036569268]