[{"data":1,"prerenderedAt":473},["ShallowReactive",2],{"project-25845002":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":47,"post_text":50,"what":51,"said":113,"maker_in_thread":237,"shape":247,"grid":251,"attempts":435,"same_week":436,"maker_shows":44,"maker_hidden":465,"reader_version":466,"card":467},"25845002","SOUL Language 1.0","A platform for writing and running audio code","title","Show HN: SOUL Language 1.0 – A platform for writing and running audio code","https:\u002F\u002Fsoul-lang.github.io\u002FSOUL\u002Fdocs\u002FSOUL_V1_Release.html","soul-lang.github.io","julesrms",1611141075,2021,119,81,435,2533,18,"notable","creative","audio programming language","library",[24,25,26,27],"audio dsp language","realtime audio code","jit audio plugins","audio plugin development","curious",0.059,{"positive":31,"neutral":32,"mixed":33,"critical":34},14,30,0,11,55,{"idea":37,"pricing":39,"performance":42,"execution":43,"design":45,"docs":46},{"positive":38,"critical":33},4,{"positive":40,"critical":41},1,7,{"positive":40,"critical":33},{"positive":44,"critical":33},2,{"positive":33,"critical":44},{"positive":40,"critical":44},[48,40,40,40,40,49,40,49,48,40,49,49,33,49,49,48,49,49,49,40,33,48,48,48,40,49,48,48,49,48,49,48,49,49,40,49,48,48,49,40],5,3,null,{"problem":52,"audience":60,"pricing":67,"motivation":77,"time_to_build":50,"stack":84,"openness":110,"stage":111,"team_size":112},{"value":53,"source":54,"evidence":55},"Audio code is complex and non-portable; plugin development requires heavy expertise","commenter",[56],{"id":57,"by":58,"text":59},"25845954","Tade0","Current tools for audio coding are complex and non-portable Thank you for addressing this. I was meaning to get into making VST plugins of my own, but currently in order to do…",{"value":61,"source":62,"evidence":63},"Audio developers writing DAWs, plugins, and audio hardware or drivers, plus end-user developers writing SOUL patches","maker",[64],{"id":65,"by":11,"text":66},"25847182","We have two user-bases in mind: - end-user developers. This is kind of like being a user of any other language, there's no EULA, nothing to sign, you just write SOUL code, test…",{"value":68,"source":62,"evidence":69},"Core public source ISC licensed; some JIT and rewriting components closed source; plans to license back-end drivers and IP to hardware vendors",[70,74],{"id":71,"by":72,"text":73},"25845480","rectang","https:\u002F\u002Fsoul-lang.github.io\u002FSOUL\u002Fdocs\u002FSOUL_FAQ.html > What is the licensing\u002Fbusiness model? > Our intention is to make SOUL entirely free and unencumbered for developers to use.…",{"id":75,"by":11,"text":76},"25847150","Joke answer: the bits that aren't in there. Real answer: Mainly the JIT engine, and the very complex rewriting algorithms that turn multi-threaded soul code into a form that can…",{"value":78,"source":54,"evidence":79},"Make audio coding simpler and portable, similar to how OpenGL unified graphics",[80],{"id":81,"by":82,"text":83},"25847351","hogliux","IMHO SOUL is a game changer in audio just like OpenGL\u002FDirect3D\u002Fetc. was a game changer in the graphics world. Think of all of the graphics technologies that were enabled by…",[85,91,101],{"value":86,"source":62,"evidence":87},"LLVM (JIT)",[88],{"id":89,"by":11,"text":90},"25847822","Right now, we haven't got an official position on how we'll handle the back-end licensing, but it's a sensible assumption is that we'll have an open-source reference…",{"value":92,"source":62,"evidence":93},"C++",[94,98],{"id":95,"by":96,"text":97},"25845899","jarmitage","Congrats Jules :) What's the latest on using SOUL with platforms like Faust and Bela?",{"id":99,"by":11,"text":100},"25845931","We've had it running on Bela for ages now. This year we'll be releasing the SOUL network protocol, so that we can properly control remote \"SOUL venues\" on hardware like Bela (our…",{"value":102,"source":62,"evidence":103},"COM interface",[104,107],{"id":105,"by":11,"text":106},"25847299","Full support for wide streams (i.e. streams of overlapping windowed blocks, suitable for frequency-domain work) is still to-do (though we've planned for it all along!) We've…",{"id":108,"by":11,"text":109},"25847587","Why COM? Well, I hate COM in general, but it was a much better fit for this particular API than flat C functions. It comes with a bunch of C++ helper classes to make it easy to…","open_source","launched","company",{"praise":114,"objections":126,"requests":160,"questions":189,"alternatives":217},[115,119],{"value":116,"source":54,"evidence":117},"Seen as a potential standard for audio like OpenGL was for graphics",[118],{"id":81,"by":82,"text":83},{"value":120,"source":54,"evidence":121},"Embedding API and examples make it approachable",[122,123],{"id":105,"by":11,"text":106},{"id":124,"by":11,"text":125},"25845398","Well, that's just a press release page, but it does have a link to the examples: https:\u002F\u002Fsoul.dev\u002Fexamples\u002F You can also browse the example code on the github:…",[127,142,153],{"value":128,"source":54,"evidence":129},"Licensing of closed-source parts and future monetisation feels risky",[130,134,138],{"id":131,"by":132,"text":133},"25845749","QuadDamaged","been bit by another audio engine that had the same license and pulled a bait and switch. No thanks.",{"id":135,"by":136,"text":137},"25846843","an_d_rew","Sadly, I’ve been bitten by this before, too, and even if I love the product, I stay away. It isn’t that I don’t trust you or your intentions now, it’s that intentions (and…",{"id":139,"by":140,"text":141},"25859082","justforyou","Great ideas, and a road paved with good intentions. A lot of people have been down this road before, and it doesn't end well for the users. At least your lawyers are happy.",{"value":143,"source":54,"evidence":144},"EULA and closed JIT components are a dealbreaker for some",[145,149],{"id":146,"by":147,"text":148},"25846795","devenblake","Disclaimer: *I'm not your target audience*; I don't plan to use your product even if you made it public domain. I never want to agree to an EULA before starting to develop…",{"id":150,"by":151,"text":152},"25848486","jdmoreira","The JIT for a language must be licensed? I was totally onboard and super excited before I read this thread.",{"value":154,"source":54,"evidence":155},"Playground site unusable on small screens",[156],{"id":157,"by":158,"text":159},"25845372","Gys","‘ This site uses a code editor which is not suitable for small screens. Please view on desktop\u002Ftablet.’ I was curious to see some code, but I guess that has to wait.",[161,168,172,182],{"value":162,"source":54,"evidence":163},"Matrix operations and SVD support",[164],{"id":165,"by":166,"text":167},"25847250","thatsadude","Does it support matrix multiplication, matrix inversion, SVD, etc.? These are very important operations for array processing. I cant seem to find them in SOUL's documents.",{"value":169,"source":54,"evidence":170},"Open-source the closed JIT and rewriting components",[171],{"id":75,"by":11,"text":76},{"value":173,"source":54,"evidence":174},"Clearer answers on licensing for open hardware",[175,178],{"id":176,"by":140,"text":177},"25846424","Please answer the above questions.",{"id":179,"by":180,"text":181},"25846800","naewonawonga","Very important questions, deserving of an answer.",{"value":183,"source":54,"evidence":184},"OSC message support",[185],{"id":186,"by":187,"text":188},"25847034","tgirod","Interesting! I wonder if the patch format has support for OSC messages for external interactions - so far I only found MIDI support, but maybe I missed something...",[190,197,204,211],{"value":191,"source":54,"evidence":192},"Is it similar to Faust?",[193],{"id":194,"by":195,"text":196},"25851310","emmanueloga_","Is SOUL similar to https:\u002F\u002Ffaust.grame.fr\u002F ? The marketing looks similar: \"Faust (Functional Audio Stream) is a functional programming language for sound synthesis and audio…",{"value":198,"source":54,"evidence":199},"Why a new language instead of Python or Lua?",[200],{"id":201,"by":202,"text":203},"25849540","anticristi","I'm definitely not the target audience for this, but I can't help wonder: Why introduce a new turing-complete language, instead of building on top of an existing language…",{"value":205,"source":54,"evidence":206},"Support for STFT and wide streams",[207],{"id":208,"by":209,"text":210},"25847154","hctaw","I tried out SOUL back when it was first unveiled and I have some questions for the 1.0 release: - Is time\u002Ffrequency analysis and its analogs a first class citizen? (STFT,…",{"value":212,"source":54,"evidence":213},"Can it be used for live coding like Pure Data?",[214],{"id":215,"by":72,"text":216},"25845800","A few questions which spring to mind: * Can I use SOUL to create freestanding interactive performance environments a la Pure Data? * What prospects are there for beefing up…",[218,226,233],{"value":219,"source":54,"evidence":220},"Faust",[221,222],{"id":194,"by":195,"text":196},{"id":223,"by":224,"text":225},"25863620","sletz","Some comments on Faust and SOUL: - you can compile Faust code to SOUL, and export it (as the .soul and .soulpatch files) from the Faust Web IDE https:\u002F\u002Ffaustide.grame.fr\u002F (or…",{"value":227,"source":54,"evidence":228},"Vult",[229],{"id":230,"by":231,"text":232},"25846582","Mizza","Cool! For those interested in audio-specific languages, I've had some success with Vult, a transpiled language which runs everywhere, compiles to Pure Data and runs on the…",{"value":234,"source":54,"evidence":235},"JUCE",[236],{"id":135,"by":136,"text":137},{"comments":18,"answered":238,"key":239},12,[240,241,244],{"id":65,"text":66},{"id":242,"text":243},"25860994","sigh... The JIT engine in your graphics driver stack will contain millions of lines of heavily-licensed, patent-riddled code. But that doesn't stop you as a developer from freely…",{"id":245,"text":246},"25861025","We've been using a BSD-style license to make sure we don't stop those people using it if they want to.",{"commenters":248,"max_depth":41,"maker_replies":18,"first_comment_mins":249,"lifespan_hours":250},37,38,97,[252,254,258,260,262,266,268,269,270,271,272,275,276,277,279,281,283,286,289,291,293,294,296,299,301,303,306,308,310,311,313,316,319,321,324,328,330,331,334,335,338,342,344,347,350,351,353,357,360,364,365,368,372,375,378,382,384,386,388,391,393,396,398,400,401,403,404,405,406,407,409,411,413,416,418,420,422,424,428,430,432],[81,33,48,253,82,33],"project\u002Fpositive\u002Fidea",[255,33,33,256,257,33],"25852336","commenter\u002Fneutral\u002Fnone","pjmlp",[71,40,49,259,72,33],"project\u002Fneutral\u002Fpricing",[131,40,40,261,132,33],"project\u002Fcritical\u002Fpricing",[263,40,49,264,265,33],"25845864","maker\u002Fneutral\u002Fpricing","cesaref",[267,40,40,261,180,33],"25846785",[146,40,40,261,147,33],[65,40,33,259,11,40],[150,40,40,261,151,33],[242,40,33,259,11,40],[273,40,49,259,274,33],"25855698","noahadavis",[245,40,33,259,11,40],[135,40,40,261,136,33],[278,40,33,259,11,40],"25847389",[280,40,49,259,151,33],"25848560",[282,40,33,256,265,33],"25848811",[284,40,48,285,136,33],"25850206","maker\u002Fpositive\u002Fnone",[287,40,49,259,288,33],"25846886","nextaccountic",[75,40,33,290,11,40],"project\u002Fneutral\u002Fnone",[292,40,40,261,140,33],"25859108",[223,44,49,290,224,33],[194,49,49,295,195,33],"project\u002Fneutral\u002Fidea",[297,49,49,295,298,33],"25852494","pierrec",[230,38,33,300,231,33],"other\u002Fneutral\u002Fnone",[302,38,33,300,265,33],"25847353",[304,48,33,300,305,33],"25848873","dang",[201,307,49,295,202,33],6,[309,307,33,295,11,40],"25884939",[215,41,49,290,72,33],[312,41,33,295,11,40],"25845912",[314,41,48,315,265,33],"25845987","project\u002Fpositive\u002Fperformance",[317,41,49,318,265,33],"25846207","project\u002Fneutral\u002Fperformance",[165,320,49,290,166,33],8,[322,320,49,323,265,33],"25847400","project\u002Fneutral\u002Fexecution",[325,326,49,290,327,33],"25891280",9,"hootbootscoot",[208,329,49,290,209,33],10,[105,329,33,323,11,40],[332,329,49,333,209,33],"25847403","project\u002Fneutral\u002Fdesign",[108,329,33,333,11,40],[336,329,40,337,209,33],"25848083","project\u002Fcritical\u002Fdesign",[339,329,33,340,341,33],"25849249","commenter\u002Fneutral\u002Fdesign","p0nce",[343,329,33,340,257,33],"25852365",[345,34,48,253,346,33],"25847594","djaychela",[348,34,33,349,11,40],"25847630","maker\u002Fneutral\u002Fdocs",[57,238,48,253,58,33],[352,238,49,323,265,33],"25846090",[354,355,48,285,356,33],"25848179",13,"jckl",[358,355,33,359,11,40],"25849421","maker\u002Fneutral\u002Fnone",[361,31,40,362,363,33],"25845291","project\u002Fcritical\u002Fdocs","samuell",[124,31,33,349,11,40],[366,31,40,362,367,33],"25845461","skohan",[369,31,48,370,371,33],"25845534","project\u002Fpositive\u002Fnone","CamperBob2",[373,31,48,370,374,33],"25846328","tgv",[376,31,48,377,363,33],"25847281","project\u002Fpositive\u002Fdocs",[379,380,48,253,381,33],"25846359",15,"offtop5",[383,380,33,323,11,40],"25846663",[385,380,49,323,381,33],"25846729",[387,380,33,323,11,40],"25847933",[389,380,48,390,381,33],"25848221","project\u002Fpositive\u002Fpricing",[392,380,49,290,341,33],"25849537",[394,380,49,323,395,33],"25850298","maxpollack",[397,380,33,256,381,33],"25851913",[95,399,48,285,96,33],16,[99,399,33,359,11,40],[402,399,49,259,96,33],"25846022",[176,399,49,359,140,33],[179,399,49,359,180,33],[89,399,33,259,11,40],[139,399,40,261,140,33],[408,399,49,290,265,33],"25845945",[410,399,49,290,96,33],"25845977",[412,399,49,323,265,33],"25846017",[414,399,48,415,96,33],"25846051","project\u002Fpositive\u002Fexecution",[417,399,49,323,265,33],"25846264",[419,399,48,415,96,33],"25846427",[186,421,49,290,187,33],17,[423,421,33,290,11,40],"25847227",[425,18,49,426,427,33],"25846829","project\u002Fneutral\u002Fdocs","ellis0n",[157,429,40,337,158,33],19,[431,429,33,349,11,40],"25845412",[433,429,49,333,434,33],"25845590","schwartzworld",[],[437,442,447,452,456,460],{"id":438,"name":439,"points":440,"category":441},"25848278","Beeper",962,"consumer_social",{"id":443,"name":444,"points":445,"category":446},"25846347","Vim",667,"learning_science",{"id":448,"name":449,"points":450,"category":451},"25821873","Turquoise Health",447,"data",{"id":453,"name":454,"points":455,"category":446},"25836395","Tejotron",409,{"id":457,"name":458,"points":459,"category":441},"25848793","Sundayy",215,{"id":461,"name":462,"points":463,"category":464},"25786640","Vmctl\u002FVmcli",198,"dev_tools",false,"v2",{"id":468,"name":5,"line":6,"ai":465,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":469,"top":18,"kw":470,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":471,"url":9,"mix":472,"praise":116,"objection":128,"sub":21},25845002,0.06,[24,25,26,27],"5111131351330335333105551355353533135531",[31,32,33,34],1794036601621]