TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Wavvy – web-based audio editor (Audacity port)

530 点作者 ahilss超过 2 年前
I originally developed a WASM port of wxWidgets for <a href="https:&#x2F;&#x2F;dj.app&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dj.app&#x2F;</a>. 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.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;ahilss&#x2F;wxWidgets-wasm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ahilss&#x2F;wxWidgets-wasm</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;ahilss&#x2F;portaudio-wasm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ahilss&#x2F;portaudio-wasm</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;ahilss&#x2F;wavvy" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ahilss&#x2F;wavvy</a>

38 条评论

antoineMoPa超过 2 年前
This is awesome, and also awesome is this:<p>&gt; I originally developed a WASM port of wxWidgets<p>I had some fun looking at the commits here[1] and I can imagine a lot of classic wxWidgets apps are going to be ported to wasm now. Congrats, that a lot of dedication!<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;wxWidgets&#x2F;wxWidgets&#x2F;compare&#x2F;master...ahilss:wxWidgets-wasm:master" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;wxWidgets&#x2F;wxWidgets&#x2F;compare&#x2F;master...ahil...</a>
评论 #32690613 未加载
nu11ptr超过 2 年前
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.
ilitirit超过 2 年前
&gt; Audacity seemed like the obvious choice<p>Tangential question, but why did Audacity seem like the obvious choice? Not a knock on the product - I use it often - but I&#x27;m just curious about why it was chosen.
评论 #32689460 未加载
评论 #32692941 未加载
fareesh超过 2 年前
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 like there are very few components that meet this type of requirement.
flanbiscuit超过 2 年前
This is awesome! Bookmarking this for sure!<p>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&#x27;s built using QT instead of wxWidgets. Anyways, now that I know there&#x27;s a similar web-app available I might start trying dj.app out! thanks!<p>1. <a href="https:&#x2F;&#x2F;mixxx.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mixxx.org&#x2F;</a> 2. <a href="https:&#x2F;&#x2F;github.com&#x2F;mixxxdj&#x2F;mixxx" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mixxxdj&#x2F;mixxx</a>
squarefoot超过 2 年前
I&#x27;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 display which uses a smaller resolution, probably not to slow down too much the UI.
bluelightning2k超过 2 年前
This seems like a really impressive technical work. Well done! I&#x27;d be interested in a write up of the process
评论 #32691283 未加载
paulgb超过 2 年前
Cool! The UI even works on iPhone (alas, playback doesn’t work, so my dreams of multitrack audio editing with just my thumbs are dashed &#x2F;s)<p>I’m curious what porting wxwidgets involved — are you rendering them with the 2D canvas API, WebGL, or is all the rendering done by WxWidgets and you just have to send a framebuffer into a canvas?
评论 #32689473 未加载
评论 #32692882 未加载
评论 #32690525 未加载
tgv超过 2 年前
Wow. How much work was the porting of audicity? It seems there&#x27;s no commit history for wavvy.
miduil超过 2 年前
OMG, finally a audacity version that won&#x27;t crash my Wayland window manager. Unfortunately the recorded audio is really weird. Basically it tunes down the audio once I&#x27;m speaking, maybe some weird autogain racecondition between PulseAudio&#x2F;Pipewire and Firefox?
评论 #32692869 未加载
chaosprint超过 2 年前
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?<p>One thing I can learn from your work is to how the canvas is rendered. For my project Glicol (<a href="https:&#x2F;&#x2F;glicol.org" rel="nofollow">https:&#x2F;&#x2F;glicol.org</a>) I use the Web Audio Analyser Node for visualisation but I am considering to use SAB to send even non-audio channels and render the canvas in real-time. It would be great to explore the process if you can write more on your GH repo.
alkonaut超过 2 年前
What other options exist for &quot;complex native-ish browser interfaces&quot; in this style? E.g. if you wanted to develop a new app which is a traditional desktop GUI app with tons of menus and buttons that need to be custom rendered (so wasm&#x2F;canvases presumably, rather than html), what options exist aside from this effort with wxWidgets?<p>For example, say you wanted to make a 3D editor&#x2F;CAD program or full-featured DAW from scratch - what would you use?
评论 #32690429 未加载
评论 #32690109 未加载
arendtio超过 2 年前
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 problems and buttons that didn&#x27;t work (probably related to the widgets), with other version the whole sound system didn&#x27;t work.
pippy360超过 2 年前
Can you comment on how difficult this was? and how much time it took?<p>I&#x27;ve thought about doing something similar with some open source games but have just never had the time.<p>The work is fantastic! I hope you enjoyed making it!
elevaet超过 2 年前
Bravo! This is fantastic!<p>I was excited to see Dr. Jeep&#x27;s Hardcore mix of Dissociate in the default library for dj.app - that&#x27;s been my jam lately, really niche track to come across in the wild :)
jbverschoor超过 2 年前
I feel so productive with this 90s type UI, and crisp mouse pointer
DustinBrett超过 2 年前
Awesome work, I love these kinds of ports! As someone working on a desktop environment in the browser, it&#x27;s great seeing more apps coming to the browser.
smrtinsert超过 2 年前
Feels very similar to the real app. Zooming in with key macros isn&#x27;t as accurate for some reason. Blown away by wasm. Truly the next frontier.
fuzzy2超过 2 年前
It leaks HTML elements (div + canvas) for every dialog (or maybe just <i>About</i>?), but I have to say, it is fucking impressive. Good work!
nmstoker超过 2 年前
It&#x27;s really impressive. Playback seems not to work in Firefox Nightly on Android but Chrome on Android works great.
ycombinete超过 2 年前
Is there a way to record the output audio? Audacity on windows has the WASAPI option, which my wife has to use a lot.
评论 #32690264 未加载
qolop超过 2 年前
Are there terminal based keyboard first audio&#x2F;video editors? Sort of like vim but for multimedia.
评论 #32695398 未加载
tambourine_man超过 2 年前
This is amazing. I’m sure many HN would appreciate an in depth exploration of the porting process.
elviejo超过 2 年前
I bow my head to you sir... You have done what I&#x27;ve dreamed of many times. Thank you.
ycuser2超过 2 年前
Wow! It feels like the native app.
realyashnag超过 2 年前
Thank you for this. I&#x27;ve been looking for something like this for quick audio editing.
shaicoleman超过 2 年前
For me it plays back audio during recording, causing audio feedback screeches
swyx超过 2 年前
i use Audacity -daily- for my podcast mixtape. its a bit buggy, occasionally crashes, and i have to reboot it everytime i plug in&#x2F;out a different mic. hoping this solves my problems!
futhey超过 2 年前
This is amazing work. Very well done. Congrats on the launch!
thement_超过 2 年前
Very well done! Thanks!
squeaky-clean超过 2 年前
Wow, it loads so quickly for me.
poisonarena超过 2 年前
its crazy how this works better in my browser than on my macbook air M1
paskozdilar超过 2 年前
This is so awesome :)
chaosprint超过 2 年前
impressive.<p>everything looks very smooth.<p>did you manually manage the sharedarraybuffer?
bfors超过 2 年前
Excellent work!
imposter超过 2 年前
woah dude
stevehiehn超过 2 年前
very nice
kethinov超过 2 年前
Now we just need to wrap this in Electron so we can run it on desktop! ;)
评论 #32690792 未加载
评论 #32690507 未加载
评论 #32691573 未加载
评论 #32690846 未加载
评论 #32690372 未加载
评论 #32697159 未加载