[{"data":1,"prerenderedAt":373},["ShallowReactive",2],{"project-37507734":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":36,"aspects":37,"strip":48,"post_text":50,"what":51,"said":120,"maker_in_thread":235,"shape":240,"grid":244,"attempts":334,"same_week":335,"maker_shows":42,"maker_hidden":365,"reader_version":366,"card":367},"37507734","Improved freemusicdemixer","AI music demixing in the browser","title","Show HN: Improved freemusicdemixer – AI music demixing in the browser","https:\u002F\u002Ffreemusicdemixer.com\u002F","freemusicdemixer.com","sevagh",1694692676,2023,160,40,379,3109,13,"notable","ai","music source separation","web_app",[24,25,26,27,28],"music demixing","stem separation","source separation","open-unmix","free stem separation","debated",0.065,{"positive":32,"neutral":33,"mixed":34,"critical":35},9,4,1,7,21,{"idea":38,"privacy":41,"execution":43,"performance":45,"docs":46,"design":47},{"positive":39,"critical":40},5,0,{"positive":42,"critical":40},2,{"positive":34,"critical":44},6,{"positive":40,"critical":34},{"positive":40,"critical":40},{"positive":40,"critical":40},[39,39,40,39,39,40,39,40,40,39,40,40,40,34,40,40,49,40,40,49,39,39,34,34,40,39,34,40,34,40,34,34,49,40,40,40,49,49,40,40],3,"Hi HN,\n\nLast time I showed free-music-demixer, which people seemed to enjoy. It was a static website with a Javascript + WASM module to perform music demixing (or music source separation) using an AI model UMX-L (Open-Unmix) running client-side in the browser.\n\nSince then, I have overhauled the project and made several improvements:\n\n- The demixing\u002Fseparation quality is higher now, since I implemented the missing post-processing step\n\n- Memory usage is lower now by performing a custom segmented inference with a streaming LSTM, which should allow larger tracks (or, dare I say, arbitrarily-large",{"problem":52,"audience":58,"pricing":74,"motivation":84,"time_to_build":94,"stack":95,"openness":117,"stage":118,"team_size":119},{"value":53,"source":54,"evidence":55},"Separates a song into vocals, drums, bass and other stems","maker",[56],{"id":57},"post",{"value":59,"source":60,"evidence":61},"Musicians, remixers and DJs who want stems or karaoke tracks","commenter",[62,66,70],{"id":63,"by":64,"text":65},"37512781","catapart","Man, this is fucking awesome. Thank you for building this! Not just free, but local, without installation, and generalized to common use-cases too? This is a standard of…",{"id":67,"by":68,"text":69},"37514980","nre","While this might seem to be intended for DJ remixes a demixer also lets you jam along to your favorite songs. For instance you can extract only the voice, bass, and drums and…",{"id":71,"by":72,"text":73},"37511300","qingcharles","This is great, thank you. I've been using another site to do this, but it requires upload to the cloud. I use it for removing background music from movie clips so I can remix…",{"value":75,"source":54,"evidence":76},"Free to use, no registration; outputs not licensed for commercial use",[77,81],{"id":78,"by":79,"text":80},"37513479","tkp","It is very nice to be able to compute this in our browsers without limits or registration. The results are not always perfect but already allows having good time testing remixes…",{"id":82,"by":11,"text":83},"37513587","I envisioned my site would be useful for quick and dirty prototyping - especially since the outputs are not licensed for commercial use. Then, when one's project idea is…",{"value":85,"source":54,"evidence":86},"Make music demixing free and client-side without uploads",[87,90],{"id":88,"by":11,"text":89},"37509764","I'll be honest with you - I wouldn't even know what to do with user data if I collected it. I'm not great at training neural networks or understanding how to augment training…",{"id":91,"by":92,"text":93},"37509302","dylan604","\"Runs locally in your browser! Unlike similar products, it’s free to use and doesn’t store your data. All processing is done in your browser, and your files are never uploaded…",null,[96,100,104,110],{"value":97,"source":54,"evidence":98},"C++",[99],{"id":88,"by":11,"text":89},{"value":101,"source":54,"evidence":102},"WebAssembly",[103],{"id":57},{"value":105,"source":54,"evidence":106},"Eigen",[107],{"id":108,"by":11,"text":109},"37511228","My dream (and next major project) is to get Demucs (v4, Hybrid Transformer) running in WASM, similar to what I've done with Eigen\u002FC++ and Open-Unmix.",{"value":111,"source":54,"evidence":112},"Open-Unmix UMX-L model",[113,114],{"id":57},{"id":115,"by":11,"text":116},"37509715","In my first post, quite a lot of alternatives were discussed: https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=36707877 The model I'm using is called Open-Unmix…","free","launched","solo",{"praise":121,"objections":134,"requests":163,"questions":190,"alternatives":205},[122,128],{"value":123,"source":60,"evidence":124},"Runs free and locally in the browser with no upload",[125,126,127],{"id":63,"by":64,"text":65},{"id":91,"by":92,"text":93},{"id":78,"by":79,"text":80},{"value":129,"source":60,"evidence":130},"Useful for remixes, karaoke and practice",[131,132,133],{"id":63,"by":64,"text":65},{"id":78,"by":79,"text":80},{"id":67,"by":68,"text":69},[135,141,159],{"value":136,"source":60,"evidence":137},"Stems show audible generative smearing compared to non-AI separation",[138],{"id":139,"by":92,"text":140},"37514006","after finally getting some free time to play with this, i did. i've used other non-AI based programs to remove vocals. the in sound is totally different and obviously beyond…",{"value":142,"source":60,"evidence":143},"Fails or runs out of memory on longer tracks and some Chrome setups",[144,148,152,155],{"id":145,"by":146,"text":147},"37532244","jimmydroptables","I frequently use a similar online demixer and am always worried that they will eventually remove the free option, so was excited to try this one out. When uploading couple…",{"id":149,"by":150,"text":151},"37512017","phpnode","Just tried this and it seems to get stuck at the following step (for 20 mins so far) [WASM\u002FC++ 18:07:24] Getting waveforms from istft [WASM\u002FC++ 18:07:25] Copying waveforms",{"id":153,"by":150,"text":154},"37512314","ah out of memory, I'll try with a shorter track.",{"id":156,"by":157,"text":158},"37548014","airbreather","I got same, but have 40900 and 32 Gig. On multiple files.",{"value":160,"source":60,"evidence":161},"Slow or unusable on smartphones",[162],{"id":91,"by":92,"text":93},[164,169,173,180],{"value":165,"source":60,"evidence":166},"Support for longer tracks and clearer error or length-limit messages",[167,168],{"id":145,"by":146,"text":147},{"id":153,"by":150,"text":154},{"value":170,"source":54,"evidence":171},"Demucs-quality model running in WASM",[172],{"id":108,"by":11,"text":109},{"value":174,"source":60,"evidence":175},"VST plugin frontend for DAWs",[176],{"id":177,"by":178,"text":179},"37516402","whoislewys_1","Amazing work Would love a VST frontend as well so I could drop a song file into a plugin and have it spit the stems out directly into my DAW",{"value":181,"source":60,"evidence":182},"Better labels than Other for the stems",[183,187],{"id":184,"by":185,"text":186},"37515033","fragmede","Labeling the 4 parts Vocal | Melody | Bass | Drums, instead of Drums | Vocals | Bass | Other would go a long way to making it seem less programmer-y.",{"id":188,"by":11,"text":189},"37515324","Nice idea! The name 'other' comes from the traditional datasets used to train these models, but I'm open to trying to incorporate a better name.",[191,198],{"value":192,"source":60,"evidence":193},"Is this the best quality possible or a reduced model for browsers?",[194],{"id":195,"by":196,"text":197},"37509209","Spiwux","Is this the best possible demixing you can get? Or did you have to use a smaller \u002F lower quality model to make it run in browsers?",{"value":199,"source":60,"evidence":200},"Can tools add accompaniment to a vocal track?",[201],{"id":202,"by":203,"text":204},"37512887","lh15","Are there any tools that will add musical accompaniment to a vocal track? Basic strings\u002Fpiano?",[206,221,229],{"value":207,"source":60,"evidence":208},"Demucs",[209,213,217],{"id":210,"by":211,"text":212},"37511025","alok-g","For those interested, Facebook's Demucs page (https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdemucs) gives performance comparison for several models including open-unmix. See also:…",{"id":214,"by":215,"text":216},"37512380","input_sh","By my own little comparison in which I've given the same song to both, Demucs appears much better (while requiring an app and consuming far more CPU). Thanks for sharing! I had…",{"id":218,"by":219,"text":220},"37512661","adzm","demucs works far better than anything else I've used, especially with more esoteric kinds of music in my experience. plus you can run it with GPU support as well!",{"value":222,"source":60,"evidence":223},"StemRoller",[224,225],{"id":210,"by":211,"text":212},{"id":226,"by":227,"text":228},"37519149","diimdeep","Oh my god, stemroller.app is 1.85 GB (weights only 350 mb) electron python pytorch ffmpeg and 10 MB webapp. This is state of modern app development. But it works, nonetheless.",{"value":230,"source":60,"evidence":231},"umx.cpp",[232],{"id":233,"by":227,"text":234},"37519203","It didn't load weights for me, So I tried umx.cpp but it failed to compile on mac. I would recommend to polish umx.cpp and put converted weights on huggingface, make it as…",{"comments":18,"answered":34,"key":236},[237,238,239],{"id":88,"text":89},{"id":82,"text":83},{"id":108,"text":109},{"commenters":241,"max_depth":39,"maker_replies":18,"first_comment_mins":242,"lifespan_hours":243},23,126,90,[245,247,249,251,255,257,259,261,263,265,269,271,273,276,280,283,284,286,288,291,294,295,298,299,300,302,304,305,307,309,312,313,315,318,319,323,325,328,331,333],[63,40,39,246,64,40],"project\u002Fpositive\u002Fidea",[91,34,39,248,92,40],"project\u002Fpositive\u002Fprivacy",[88,34,40,250,11,34],"maker\u002Fneutral\u002Fnone",[252,34,39,253,254,40],"37511471","maker\u002Fpositive\u002Fprivacy","gabereiser",[78,34,39,256,79,40],"project\u002Fpositive\u002Fexecution",[82,34,40,258,11,34],"maker\u002Fneutral\u002Fpricing",[260,34,39,246,92,40],"37514033",[210,42,40,262,211,40],"other\u002Fneutral\u002Fnone",[108,42,40,264,11,34],"maker\u002Fneutral\u002Fidea",[266,42,39,267,268,40],"37513464","maker\u002Fpositive\u002Fnone","rrherr",[214,42,40,270,215,40],"other\u002Fcritical\u002Fperformance",[218,42,40,272,219,40],"other\u002Fneutral\u002Fperformance",[274,42,40,275,11,34],"37512843","commenter\u002Fneutral\u002Fperformance",[277,42,34,278,279,40],"37517932","project\u002Fcritical\u002Fexecution","nyanpasu64",[281,42,40,282,11,34],"37522158","maker\u002Fneutral\u002Fexecution",[226,42,40,262,227,40],[139,49,49,285,92,40],"project\u002Fmixed\u002Fperformance",[287,49,40,267,11,34],"37515226",[289,33,40,290,11,34],"37511678","maker\u002Fneutral\u002Fdocs",[292,33,49,290,293,40],"37514184","winternett",[67,39,39,246,68,40],[296,39,39,246,297,40],"37515369","npsimons",[145,44,34,278,146,40],[233,35,34,278,227,40],[301,35,40,282,11,34],"37521713",[71,303,39,246,72,40],8,[149,32,34,278,150,40],[306,32,40,282,11,34],"37512156",[153,32,34,308,150,40],"project\u002Fcritical\u002Fperformance",[310,32,40,311,11,34],"37512491","maker\u002Fneutral\u002Fperformance",[156,32,34,278,157,40],[314,32,34,278,157,40],"37552554",[195,316,49,317,196,40],10,"project\u002Fneutral\u002Fperformance",[115,316,40,311,11,34],[320,316,40,321,322,40],"37511443","commenter\u002Fneutral\u002Fnone","fdgjgbdfhgb",[324,316,40,262,11,34],"37511654",[177,326,49,327,178,40],11,"project\u002Fneutral\u002Fidea",[184,329,49,330,185,40],12,"project\u002Fneutral\u002Fdesign",[188,329,40,332,11,34],"maker\u002Fneutral\u002Fdesign",[202,18,40,262,203,40],[],[336,341,346,351,356,361],{"id":337,"name":338,"points":339,"category":340},"37558357","HyperDX",722,"infrastructure",{"id":342,"name":343,"points":344,"category":345},"37584049","ElectricSQL",617,"data",{"id":347,"name":348,"points":349,"category":350},"37507419","Nue",370,"languages",{"id":352,"name":353,"points":354,"category":355},"37538028","Every Breath You Take",348,"learning_science",{"id":357,"name":358,"points":359,"category":360},"37583219","SeaGOAT",240,"dev_tools",{"id":362,"name":363,"points":364,"category":360},"37533493","exaequOS",216,false,"v2",{"id":368,"name":5,"line":6,"ai":365,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":369,"top":18,"kw":370,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":371,"url":9,"mix":372,"praise":123,"objection":136,"sub":21},37507734,0.07,[24,25,26,27,28],"5505505005000100300355110510101130003300",[32,33,34,35],1794036641734]