[{"data":1,"prerenderedAt":482},["ShallowReactive",2],{"project-40719782":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":34,"aspects":35,"strip":45,"post_text":47,"what":48,"said":71,"maker_in_thread":230,"shape":243,"grid":247,"attempts":445,"same_week":446,"maker_shows":46,"maker_hidden":475,"reader_version":476,"card":477},"40719782","Billard","Generate music from ball collisions in 2D space","title","Show HN: Billard – Generate music from ball collisions in 2D space","https:\u002F\u002Fbillard.medusis.com\u002F","billard.medusis.com","bambax",1718729145,2024,306,73,197,3515,6,"legend","creative","generative music","web_app",[21,24,25,26,27],"physics music","ball collisions","web music toy","midi generator","loved",0.32,{"positive":31,"neutral":32,"mixed":18,"critical":33},20,11,4,41,{"execution":36,"design":38,"idea":41,"docs":44},{"positive":33,"critical":37},3,{"positive":39,"critical":40},2,0,{"positive":42,"critical":43},7,1,{"positive":43,"critical":40},[40,40,37,40,37,40,46,46,37,40,37,40,37,37,46,37,46,37,46,43,46,37,43,40,40,43,46,37,40,46,46,43,46,46,46,46,46,46,46,40],5,"Hello HN! Here's Billard. It combines music and physics into a unique creative tool, as I explore various unconventional methods for generating music.\n\nMost traditional music composition tools revolve around the idea of a repeatable pattern. Billard is a webapp that never repeats itself. It generates music automatically based on the collisions of balls in a 2D space. Collisions trigger notes (or chords) in a given key. One can add balls or move them (y-position is pitch); the app remembers its state between reloads; or it can be reset with the 'init' button on the top left. Gravity can be adju",{"problem":49,"audience":55,"pricing":55,"motivation":56,"time_to_build":55,"stack":60,"openness":69,"stage":70,"team_size":69},{"value":50,"source":51,"evidence":52},"Music that never repeats, generated from ball collisions","maker",[53],{"id":54},"post",null,{"value":57,"source":51,"evidence":58},"Explore unconventional methods for generating music; inspired by Brian Eno and Erik Satie",[59],{"id":54},[61,65],{"value":62,"source":51,"evidence":63},"plain JavaScript",[64],{"id":54},{"value":66,"source":51,"evidence":67},"Tone.js",[68],{"id":54},"unknown","launched",{"praise":72,"objections":105,"requests":135,"questions":175,"alternatives":197},[73,93],{"value":74,"source":75,"evidence":76},"Relaxing, fun generative sandbox","commenter",[77,81,85,89],{"id":78,"by":79,"text":80},"40721061","dt23","Wow, this is super cool. The whole experience of interacting\u002Fwatching\u002Flistening to it is very relaxing and harmonious-feeling. Thanks for sharing! :)",{"id":82,"by":83,"text":84},"40722006","quercusa","Very fun. Reminds me of the old Flash game Boomshine [0] [0] https:\u002F\u002Fwww.albinoblacksheep.com\u002Fgames\u002Fboomshine",{"id":86,"by":87,"text":88},"40721485","jcims","This is a lot of fun! Reminds me of the 'polyrhythm' genre of videos on youtube (eg. LucidRhythms) One fun thing to do is load the canvas up with a bunch of balls really close to…",{"id":90,"by":91,"text":92},"40724844","Ylpertnodi","Had this open on three different browsers, and three different modes - for the adventurous. \"Trapping the balls\", has never been so much fun. Fantastic - thanks.",{"value":94,"source":75,"evidence":95},"Trapping balls is fun",[96,100,101],{"id":97,"by":98,"text":99},"40722091","otherayden","This is awesome lol, very fun to trap the ball in a corner",{"id":90,"by":91,"text":92},{"id":102,"by":103,"text":104},"40722999","windows2020","Nice. I trapped them all in a corner.",[106,117,128],{"value":107,"source":75,"evidence":108},"Sounds like random noise rather than music",[109,113],{"id":110,"by":111,"text":112},"40720740","bogwog","Cool, but it really does just sound like a bunch of random noises. I think it'd be more interesting if the balls were regular polygons instead of actual circles, since the…",{"id":114,"by":115,"text":116},"40722499","parpfish","“Music” or just “pleasant background noise”",{"value":118,"source":75,"evidence":119},"Audio doesn't play on iOS Safari unless silent mode is off",[120,124],{"id":121,"by":122,"text":123},"40721001","groovity","Doesn’t make any sound on Safari iOS. Yea I clicked the loudspeaker",{"id":125,"by":126,"text":127},"40726785","ErneX","It’s not intuitive at all when other apps like video playback do reproduce audio when you are in silent mode, so yeah.",{"value":129,"source":75,"evidence":130},"Notes sound delayed on Firefox mobile",[131],{"id":132,"by":133,"text":134},"40722035","Biganon","On Firefox mobile, the note resonates 0.5 second after the collision, making the experience very frustrating",[136,143,154,162,169],{"value":137,"source":75,"evidence":138},"Export MIDI clip",[139],{"id":140,"by":141,"text":142},"40723086","dinglestepup","Great tool! One feature that I miss in many generative music experiments is the ability to export the generated MIDI clip. Could be a different target audience, not sure, but…",{"value":144,"source":75,"evidence":145},"Save or share configurations via URL or file",[146,150],{"id":147,"by":148,"text":149},"40825304","thinkling","Nice work! (and hi, long time no see.) Feature request: if changing a setting added a parameter to the URL (?count=XX&speed=YY), one could save a link to a config one likes and…",{"id":151,"by":152,"text":153},"40754988","gurjeet","I've been playing it in the background for about 2 days now, so I think I'll use it in the long term. Hence making these following 2 requests, in case you're still following up.…",{"value":155,"source":75,"evidence":156},"Keep playing when screen locks or tab is inactive",[157,158],{"id":151,"by":152,"text":153},{"id":159,"by":160,"text":161},"40727484","Liftyee","Fun little sandbox. Interesting how when in \"yin\u002Fyang\" mode, the balls seem to stop changing state when the tab is not in focus - is this a feature? I only found this by filling…",{"value":163,"source":75,"evidence":164},"Accelerometer input for phones",[165],{"id":166,"by":167,"text":168},"40721193","bozhark","Could you add accelerometer as input method for phones?",{"value":170,"source":75,"evidence":171},"VST3 plugin version",[172],{"id":173,"by":91,"text":174},"40721758","Fantastic. On mobile atm, so midi ill investigate later. Have you considered making a .vst3 plugin?",[176,183,190],{"value":177,"source":75,"evidence":178},"How to enable MIDI output in the browser",[179],{"id":180,"by":181,"text":182},"40731773","o_v_o","I can't seem to enable MIDI output or export any MIDI data; I've never used something that can output MIDI data from a browser. Any help\u002Fadvice on how to do this?",{"value":184,"source":75,"evidence":185},"Why sound stops when balls are trapped",[186],{"id":187,"by":188,"text":189},"40722798","hkon","What is happening when I lock some of the balls inside and then the sounds just stop. Is something overloading?",{"value":191,"source":75,"evidence":192},"Whether source code will be shared",[193],{"id":194,"by":195,"text":196},"40721726","breck","Love it. Any chance you are going to share the source code?",[198,205,209,216,223],{"value":199,"source":75,"evidence":200},"Droplets",[201],{"id":202,"by":203,"text":204},"40721759","pierrec","This genre of musical sandbox is a really satisfying and fun rabbit hole. You can even take it to production (mainly ambient music production, that is). My favorite for usage…",{"value":206,"source":75,"evidence":207},"Bitwig Ricochet",[208],{"id":202,"by":203,"text":204},{"value":210,"source":75,"evidence":211},"Electroplankton",[212],{"id":213,"by":214,"text":215},"40720818","riedel","Reminds me a bit of the 3DS Electroplankton game. Wasn't quite so addictive though. Would be great to have a bit more control to generate repetitive patterns.",{"value":217,"source":75,"evidence":218},"Otomata",[219],{"id":220,"by":221,"text":222},"40738892","interglossa","I am surprised no one mentioned otomata: https:\u002F\u002Fearslap.com\u002Fpage\u002Fotomata.html",{"value":224,"source":75,"evidence":225},"Op-1 Tombola",[226],{"id":227,"by":228,"text":229},"40729938","erwincoumans","Nice! Reminds me of the Op-1 Tombola sequencer: https:\u002F\u002Fyoutube.com\u002Fwatch?v=SHoDUCAd4-I&pp=ygUMb3AtMSB0b21ib2xh that triggered midi notes on collision",{"comments":231,"answered":232,"key":233},12,8,[234,237,240],{"id":235,"text":236},"40722114","Yeah, I knew about Droplets -- it's is really well executed, but maybe a little too predictable for my taste. Didn't know about Ricochet (not a Bitwig user), but it's very…",{"id":238,"text":239},"40722129","Wow. Really close concept indeed. Thanks for sharing.",{"id":241,"text":242},"40722534","Glicol is absolutely amazing!!",{"commenters":244,"max_depth":46,"maker_replies":231,"first_comment_mins":245,"lifespan_hours":246},52,109,244,[248,250,251,254,256,260,261,264,267,269,272,274,276,279,281,285,287,290,292,295,299,301,304,308,310,312,314,318,320,323,326,329,333,335,337,340,342,344,346,350,352,354,356,358,360,363,364,369,371,374,378,381,383,387,389,391,395,399,402,405,408,411,414,416,419,422,424,428,433,435,437,439,443],[202,40,40,249,203,40],"other\u002Fneutral\u002Fnone",[235,40,40,249,11,43],[252,43,40,249,253,40],"40721944","zeristor",[238,43,40,255,11,43],"maker\u002Fpositive\u002Fidea",[257,39,37,258,259,40],"40721613","project\u002Fmixed\u002Fexecution","chaosprint",[241,39,40,249,11,43],[262,39,40,249,263,40],"40724166","SushiHippie",[265,37,40,249,266,40],"40721728","dekhn",[213,33,37,268,214,40],"project\u002Fmixed\u002Fdesign",[270,33,40,249,271,40],"40724873","nox101",[147,46,46,273,148,40],"project\u002Fpositive\u002Fdesign",[151,18,46,275,152,40],"project\u002Fpositive\u002Fexecution",[277,42,40,249,278,40],"40722707","w_for_wumbo",[82,232,46,280,83,40],"project\u002Fpositive\u002Fidea",[282,283,40,249,284,40],"40722513",9,"EZ-Cheeze",[140,286,37,268,141,40],10,[288,286,40,289,11,43],"40726130","commenter\u002Fneutral\u002Fnone",[291,286,40,249,141,40],"40741318",[293,286,40,249,294,40],"40727382","diggan",[296,32,37,297,298,40],"40720856","project\u002Fneutral\u002Fidea","mock-possum",[300,32,40,297,11,43],"40721600",[302,231,37,258,303,40],"40720922","ameesdotme",[305,306,40,249,307,40],"40723477",13,"gcanyon",[227,309,40,249,228,40],14,[159,311,37,258,160,40],15,[86,313,46,280,87,40],16,[315,316,40,249,317,40],"40722855",17,"tombert",[220,319,40,249,221,40],18,[180,321,37,322,181,40],19,"project\u002Fneutral\u002Fexecution",[324,31,46,280,325,40],"40720733","block_dagger",[78,327,46,328,79,40],21,"project\u002Fpositive\u002Fnone",[330,331,37,297,332,40],"40722419",22,"cantSpellSober",[90,334,46,328,91,40],23,[187,336,37,322,188,40],24,[132,338,43,339,133,40],25,"project\u002Fcritical\u002Fexecution",[341,338,40,322,11,43],"40722146",[173,343,46,280,91,40],26,[345,343,40,297,11,43],"40722073",[347,348,37,297,349,40],"40726147",27,"bergwerf",[351,348,40,322,11,43],"40726328",[121,353,43,339,122,40],28,[355,353,40,289,126,40],"40721122",[357,353,40,289,167,40],"40721214",[359,353,40,289,122,40],"40722147",[361,353,40,289,362,40],"40722306","corobo",[125,353,43,339,126,40],[365,366,37,367,368,40],"40722613",29,"project\u002Fneutral\u002Fdesign","dr_kiszonka",[370,366,40,367,11,43],"40722696",[372,366,46,373,368,40],"40724965","maker\u002Fpositive\u002Fdocs",[375,376,37,367,377,40],"40722202",30,"riiii",[379,376,37,367,380,40],"40722222","sneak",[382,376,40,367,11,43],"40722258",[384,385,46,328,386,40],"40724293",31,"fallinditch",[166,388,37,297,167,40],32,[390,388,40,297,11,43],"40721577",[392,393,46,328,394,40],"40724519",33,"DidYaWipe",[396,397,40,249,398,40],"40725645",34,"makach",[110,400,43,401,111,40],35,"project\u002Fcritical\u002Fidea",[403,400,46,280,404,40],"40721079","CamperBob2",[406,400,37,367,407,40],"40721535","tanseydavid",[409,400,37,410,91,40],"40724864","project\u002Fneutral\u002Fnone",[412,400,46,280,413,40],"40728468","ferfumarma",[194,415,46,328,195,40],36,[417,415,40,418,11,43],"40722307","maker\u002Fneutral\u002Fnone",[420,415,46,421,195,40],"40722577","maker\u002Fpositive\u002Fnone",[102,423,46,275,103,40],37,[425,426,46,273,427,40],"40721552",38,"qwertox",[429,430,46,431,432,40],"40723524",39,"maker\u002Fpositive\u002Fexecution","doubloon",[97,434,46,275,98,40],40,[114,34,37,436,115,40],"project\u002Fmixed\u002Fidea",[438,34,46,280,91,40],"40724739",[440,441,40,249,442,40],"40721076",42,"teleforce",[444,441,40,249,91,40],"40724758",[],[447,452,457,462,466,471],{"id":448,"name":449,"points":450,"category":451},"40694254","MUREX Robotics network switch",666,"hardware",{"id":453,"name":454,"points":455,"category":456},"40717398","Radius",351,"consumer_social",{"id":458,"name":459,"points":460,"category":461},"40669337","Shpool",323,"dev_tools",{"id":463,"name":464,"points":465,"category":461},"40710154","Tokencost",268,{"id":467,"name":468,"points":469,"category":470},"40722317","RTranslator",236,"languages",{"id":472,"name":473,"points":474,"category":461},"40700343","SQLite Database Explorer",188,false,"v2",{"id":478,"name":5,"line":6,"ai":475,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":479,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":480,"url":9,"mix":481,"praise":74,"objection":107,"sub":21},40719782,[21,24,25,26,27],"0030305530303353535153100153055155555550",[31,32,18,33],1794036656451]