[{"data":1,"prerenderedAt":583},["ShallowReactive",2],{"project-32688646":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":46,"post_text":47,"what":48,"said":87,"maker_in_thread":206,"shape":215,"grid":219,"attempts":542,"same_week":547,"maker_shows":38,"maker_hidden":575,"reader_version":576,"card":577},"32688646","Wavvy","web-based audio editor (Audacity port)","title","Show HN: Wavvy – web-based audio editor (Audacity port)","https:\u002F\u002Fwavvy.app\u002F","wavvy.app","ahilss",1662111067,2022,530,111,46,2570,2,"legend","creative","audio editor","web_app",[21,24,25,26,27],"web audio","audacity","wasm","browser audio editing","mixed",0.407,{"positive":31,"neutral":32,"mixed":33,"critical":34},21,10,4,6,41,{"execution":37,"design":39,"idea":41,"performance":44,"docs":45},{"positive":33,"critical":38},1,{"positive":18,"critical":40},3,{"positive":42,"critical":43},5,0,{"positive":40,"critical":18},{"positive":38,"critical":43},[40,43,40,43,43,43,38,43,43,38,43,42,43,43,42,42,42,40,38,42,43,42,42,18,40,43,42,33,42,42,42,42,43,43,43,43,43,43,43,43],"I originally developed a WASM port of wxWidgets for https:\u002F\u002Fdj.app\u002F.  When it came time to open source wxWidgets-wasm, I decided to port another complex app as a test case, and Audacity seemed like the obvious choice.  In the process, I also needed to write a new host API for PortAudio for playback and recording in the browser.\n\nhttps:\u002F\u002Fgithub.com\u002Fahilss\u002FwxWidgets-wasm\n\nhttps:\u002F\u002Fgithub.com\u002Fahilss\u002Fportaudio-wasm\n\nhttps:\u002F\u002Fgithub.com\u002Fahilss\u002Fwavvy",{"problem":49,"audience":55,"pricing":55,"motivation":56,"time_to_build":55,"stack":61,"openness":84,"stage":85,"team_size":86},{"value":50,"source":51,"evidence":52},"Audio editing in the browser without installing desktop software","inferred",[53],{"id":54},"post",null,{"value":57,"source":58,"evidence":59},"Test case for a WASM port of wxWidgets, following work on dj.app","maker",[60],{"id":54},[62,66,70,74,80],{"value":63,"source":58,"evidence":64},"WebAssembly",[65],{"id":54},{"value":67,"source":58,"evidence":68},"wxWidgets",[69],{"id":54},{"value":71,"source":58,"evidence":72},"PortAudio",[73],{"id":54},{"value":75,"source":58,"evidence":76},"JavaScript",[77],{"id":78,"by":11,"text":79},"32692882","It is rendering using the 2D canvas API. There's a device context class (wxDC) for each wxWidgets port that implements primitive drawing ops (DrawLine, DrawText, etc). For the…",{"value":81,"source":58,"evidence":82},"Canvas 2D API",[83],{"id":78,"by":11,"text":79},"open_source","launched","solo",{"praise":88,"objections":116,"requests":139,"questions":162,"alternatives":180},[89,105],{"value":90,"source":91,"evidence":92},"Impressive technical work and fast loading","commenter",[93,97,101],{"id":94,"by":95,"text":96},"32689531","bluelightning2k","This seems like a really impressive technical work. Well done! I'd be interested in a write up of the process",{"id":98,"by":99,"text":100},"32690224","squarefoot","I'm generally against web apps, but have to admit this one is really cool; it also loads surprisingly fast. So far the only difference with the original seems the waveform…",{"id":102,"by":103,"text":104},"32695571","squeaky-clean","Wow, it loads so quickly for me.",{"value":106,"source":91,"evidence":107},"Feels like the native app",[108,112],{"id":109,"by":110,"text":111},"32689539","ycuser2","Wow! It feels like the native app.",{"id":113,"by":114,"text":115},"32690891","smrtinsert","Feels very similar to the real app. Zooming in with key macros isn't as accurate for some reason. Blown away by wasm. Truly the next frontier.",[117,124],{"value":118,"source":91,"evidence":119},"Not accessible to screen reader users",[120],{"id":121,"by":122,"text":123},"32690613","ClawsOnPaws","I feel like I should preemptively apologize and I'm really not trying to knock the project in any way, and the achievement is pretty epic, but those who have seen my username on…",{"value":125,"source":91,"evidence":126},"Playback or recording bugs on some browsers and platforms",[127,131,135],{"id":128,"by":129,"text":130},"32689903","nmstoker","It's really impressive. Playback seems not to work in Firefox Nightly on Android but Chrome on Android works great.",{"id":132,"by":133,"text":134},"32701229","shaicoleman","For me it plays back audio during recording, causing audio feedback screeches",{"id":136,"by":137,"text":138},"32691273","miduil","OMG, finally a audacity version that won't crash my Wayland window manager. Unfortunately the recorded audio is really weird. Basically it tunes down the audio once I'm speaking,…",[140,148,155],{"value":141,"source":91,"evidence":142},"Write-up of the porting process",[143,144],{"id":94,"by":95,"text":96},{"id":145,"by":146,"text":147},"32689753","tambourine_man","This is amazing. I’m sure many HN would appreciate an in depth exploration of the porting process.",{"value":149,"source":91,"evidence":150},"Merge the WASM port back into wxWidgets",[151],{"id":152,"by":153,"text":154},"32689649","nu11ptr","Nice! Is it possible to merge this WASM port back into the wxWidgets main project? It just seems like a valuable target addition and could breathe some life back into wxWidgets.",{"value":156,"source":91,"evidence":157},"Ability to record system output audio",[158],{"id":159,"by":160,"text":161},"32689700","ycombinete","Is there a way to record the output audio? Audacity on windows has the WASAPI option, which my wife has to use a lot.",[163,173],{"value":164,"source":91,"evidence":165},"How the canvas is rendered and whether shared array buffers were managed manually",[166,170],{"id":167,"by":168,"text":169},"32690204","chaosprint","Very impressive work! I tried to play some loops and add some effects. They all went well. Did you manually handle the audio or is it wrapped in the portaudio-wasm? One thing I…",{"id":171,"by":168,"text":172},"32689789","impressive. everything looks very smooth. did you manually manage the sharedarraybuffer?",{"value":174,"source":91,"evidence":175},"Whether there is a terminal-based keyboard-first multimedia editor",[176],{"id":177,"by":178,"text":179},"32690307","qolop","Are there terminal based keyboard first audio\u002Fvideo editors? Sort of like vim but for multimedia.",[181,192,199],{"value":182,"source":91,"evidence":183},"Audacity",[184,188],{"id":185,"by":186,"text":187},"32690789","arendtio","I like this very much, especially because I love Audacity, but lately Audacity seems to be somewhat buggy as a native app on (Arch) Linux. With some versions I had rendering…",{"id":189,"by":190,"text":191},"32693152","swyx","i use Audacity -daily- for my podcast mixtape. its a bit buggy, occasionally crashes, and i have to reboot it everytime i plug in\u002Fout a different mic. hoping this solves my…",{"value":193,"source":91,"evidence":194},"Mixxx",[195],{"id":196,"by":197,"text":198},"32690391","flanbiscuit","This is awesome! Bookmarking this for sure! I really dig your dj.app, it looks a lot like an app I sometime I use called Mixxx[1], which is open source[2]. But I think it's built…",{"value":200,"source":91,"evidence":201},"wavesurfer.js",[202],{"id":203,"by":204,"text":205},"32689607","fareesh","I recently needed a crop component that allowed my users to record something and trim it to their desired size. I ended up using wavesurfer.js with the regions plugin. It seems…",{"comments":40,"answered":18,"key":207},[208,211,212],{"id":209,"text":210},"32692941","It's probably the most visible project using the wxWidgets framework and in the audio domain which fits well with my experience building the DJ app.",{"id":78,"text":79},{"id":213,"text":214},"32693077","On the M1 Mac I actually measured lower CPU usage during audio playback on WASM compared to the native desktop version which uses Rosetta. I'm not sure if the slowness is due to…",{"commenters":216,"max_depth":217,"maker_replies":40,"first_comment_mins":15,"lifespan_hours":218},83,9,340,[220,224,226,230,233,235,238,241,244,247,249,251,254,257,260,263,266,269,271,273,275,278,281,284,286,289,292,294,296,298,300,303,305,309,312,315,317,320,323,324,325,327,329,330,333,338,340,343,345,349,351,354,356,358,362,364,366,369,371,375,379,383,387,389,394,396,399,402,404,406,408,409,412,415,419,422,426,429,432,437,441,443,447,452,454,458,462,466,470,473,477,481,485,489,492,494,496,498,501,504,507,510,512,516,519,522,525,529,532,536,539],[221,43,42,222,223,43],"32690086","maker\u002Fpositive\u002Fexecution","antoineMoPa",[121,43,38,225,122,43],"project\u002Fcritical\u002Fdesign",[227,43,43,228,229,43],"32691316","commenter\u002Fneutral\u002Fnone","tssva",[231,43,43,228,232,43],"32691934","Eduard",[234,43,43,228,229,43],"32692548",[236,43,43,228,237,43],"32699398","HenrikB",[239,43,40,240,223,43],"32691517","project\u002Fmixed\u002Fdesign",[242,43,43,228,243,43],"32691524","melony",[245,43,43,228,246,43],"32691638","itsagavin",[248,43,43,228,232,43],"32692124",[250,43,43,228,246,43],"32692384",[252,43,43,228,253,43],"32692457","lukasb",[255,43,43,228,256,43],"32694325","tuckerpo",[258,43,43,228,259,43],"32695399","xnxn",[261,43,43,228,262,43],"32696651","dark-star",[264,43,43,228,265,43],"32692517","ivraatiems",[267,43,43,228,268,43],"32696703","mwcampbell",[270,43,43,228,265,43],"32697306",[272,43,38,225,232,43],"32698316",[274,43,43,228,265,43],"32698543",[276,43,43,228,277,43],"32693744","naet",[279,43,43,228,280,43],"32694479","hutzlibu",[282,43,43,228,283,43],"32694596","km3r",[285,43,43,228,280,43],"32694771",[287,43,38,225,288,43],"32695994","greggman3",[290,43,43,228,291,43],"32696286","pseudalopex",[293,43,43,228,288,43],"32787771",[295,43,43,228,291,43],"32865923",[297,43,43,228,268,43],"32696746",[299,43,43,228,265,43],"32697514",[301,43,43,228,302,43],"32700101","suby",[152,38,42,304,153,43],"project\u002Fpositive\u002Fidea",[306,18,40,307,308,43],"32689416","maker\u002Fneutral\u002Fidea","ilitirit",[310,18,43,228,311,43],"32689460","samwillis",[313,18,43,314,146,43],"32689708","other\u002Fneutral\u002Fnone",[316,18,43,314,311,43],"32689773",[318,18,43,314,319,43],"32690058","ekianjo",[321,18,43,314,322,43],"32691144","klodolph",[209,18,43,307,11,38],[203,40,43,314,204,43],[196,33,42,326,197,43],"maker\u002Fpositive\u002Fidea",[98,42,40,328,99,43],"project\u002Fmixed\u002Fperformance",[94,34,42,222,95,43],[331,34,43,228,332,43],"32691283","stjohnswarts",[334,335,42,336,337,43],"32689423",7,"project\u002Fpositive\u002Fdesign","paulgb",[339,335,43,228,311,43],"32689473",[341,335,43,314,342,43],"32690525","tobsterius",[78,335,43,344,11,38],"maker\u002Fneutral\u002Fexecution",[346,347,40,344,348,43],"32689316",8,"tgv",[136,217,38,350,137,43],"project\u002Fcritical\u002Fperformance",[352,217,43,228,353,43],"32692869","handelaar",[355,217,43,228,137,43],"32694321",[167,32,42,357,168,43],"project\u002Fpositive\u002Fexecution",[359,360,43,314,361,43],"32690054",11,"alkonaut",[363,360,43,314,168,43],"32690109",[365,360,43,314,99,43],"32690429",[367,360,43,314,368,43],"32692212","badsectoracula",[185,370,43,314,186,43],12,[372,373,40,344,374,43],"32692516",13,"pippy360",[376,377,42,304,378,43],"32689798",14,"elevaet",[380,381,42,336,382,43],"32689960",15,"jbverschoor",[384,385,42,326,386,43],"32692164",16,"DustinBrett",[113,388,40,328,114,43],17,[390,391,40,392,393,43],"32695016",18,"project\u002Fmixed\u002Fexecution","fuzzy2",[128,395,38,350,129,43],19,[159,397,40,398,160,43],20,"project\u002Fneutral\u002Fidea",[400,397,40,398,401,43],"32690264","mkl",[403,397,40,398,160,43],"32690524",[405,397,40,398,401,43],"32691116",[407,397,43,228,160,43],"32699319",[177,31,43,314,178,43],[410,31,43,314,411,43],"32695398","radarsat1",[145,413,42,414,146,43],22,"maker\u002Fpositive\u002Fdocs",[416,417,42,222,418,43],"32692970",23,"elviejo",[109,420,42,421,110,43],24,"project\u002Fpositive\u002Fperformance",[423,424,42,304,425,43],"32690160",25,"realyashnag",[132,427,38,428,133,43],26,"project\u002Fcritical\u002Fexecution",[189,430,40,431,190,43],27,"project\u002Fneutral\u002Fexecution",[433,434,42,435,436,43],"32694483",28,"maker\u002Fpositive\u002Fnone","futhey",[438,439,42,435,440,43],"32689802",29,"thement_",[102,442,42,421,103,43],30,[444,445,42,421,446,43],"32697443",31,"poisonarena",[448,449,42,450,451,43],"32697603",32,"project\u002Fpositive\u002Fnone","paskozdilar",[171,453,40,344,168,43],33,[455,456,42,435,457,43],"32691441",34,"bfors",[459,460,42,435,461,43],"32712457",35,"imposter",[463,464,42,450,465,43],"32694270",36,"stevehiehn",[467,468,40,398,469,43],"32690057",37,"kethinov",[471,468,43,228,472,43],"32690372","hrdwdmrbl",[474,468,43,475,476,43],"32690447","commenter\u002Fneutral\u002Fidea","xd1936",[478,468,43,479,480,43],"32690501","commenter\u002Fneutral\u002Fprivacy","sitkack",[482,468,43,483,484,43],"32691918","commenter\u002Fcritical\u002Fnone","lelanthran",[486,468,43,487,488,43],"32692260","other\u002Fneutral\u002Fprivacy","dspillett",[490,468,43,487,491,43],"32692921","mb7733",[493,468,43,487,190,43],"32693139",[495,468,43,487,280,43],"32694146",[497,468,43,487,256,43],"32694286",[499,468,43,487,500,43],"32695121","eurasiantiger",[502,468,43,487,503,43],"32694492","robocat",[505,468,43,506,480,43],"32695721","commenter\u002Fcritical\u002Fexecution",[508,468,43,475,509,43],"32690648","r4vik",[213,468,43,511,11,38],"maker\u002Fpositive\u002Fperformance",[513,468,43,514,515,43],"32693908","other\u002Fneutral\u002Fperformance","codetrotter",[517,468,43,314,518,43],"32695400","0xedd",[520,468,43,314,521,43],"32690507","seydor",[523,468,43,314,524,43],"32690792","highwind",[526,468,43,527,528,43],"32695716","other\u002Fpositive\u002Fnone","pinato",[530,468,43,314,531,43],"32690846","cush",[533,468,43,534,535,43],"32691573","commenter\u002Fcritical\u002Fidea","jijji",[537,468,43,228,538,43],"32693820","naikrovek",[540,468,43,314,541,43],"32694844","zeandcode",[543,546],{"id":544,"t":545,"points":217,"comments":38},"32610127",1661533694,{"id":4,"t":12,"points":14,"comments":15},[548,553,558,562,566,571],{"id":549,"name":550,"points":551,"category":552},"32690410","Openship",1335,"web_saas",{"id":554,"name":555,"points":556,"category":557},"32747067","quake_watch",692,"games",{"id":559,"name":560,"points":561,"category":557},"32717133","Zelda Breath of the Wild Street View",456,{"id":563,"name":564,"points":565,"category":20},"32738654","Bauble",252,{"id":567,"name":568,"points":569,"category":570},"32753471","TinyClock",192,"productivity",{"id":572,"name":573,"points":574,"category":570},"32732158","Chitchatter",191,false,"v2",{"id":578,"name":5,"line":6,"ai":575,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":579,"top":18,"kw":580,"maker":11,"domain":10,"tier":19,"attempts":18,"strip":581,"url":9,"mix":582,"praise":90,"objection":118,"sub":21},32688646,0.41,[21,24,25,26,27],"3030001001050055531505523054555500000000",[31,32,33,34],1794036624391]