7 ms·
Hello hackernews! I am the author! Wow, I can't believe the attention this is getting! Hopefully this proves to be useful as a tool, and not just as a JS demo!
by pantelisk 6y ago
Hello hackernews!
I am the author! Wow, I can't believe the attention this is getting! Hopefully this proves to be useful as a tool, and not just as a JS demo! :)
The next plans are
- redo drawing library to further improve performance!
- polish a bit some audio plugins (like the paragraphic EQ) since some parts feel a bit off (the limiter, paragraphic eq for example).
- Add some tutorials! Some things might not be straightforward like using Shift + [keys] for shortcuts etc.
- Easier recording mode (like the ability to open a new empty audio project)
- Multitrack mode, for more channels!
- play a bit more with the concept of having different windows that can be in different screens (check out the frequency analyzer under "view")
To answer a few questions, I plan to have a very open license this is just a fun side project for me. but I need to figure out the licenses of some libs I am using first (eg wavesurfer, lzma-wasm) and do proper attribution!
Thanks again!
PS. I wrote this in 2018, and just kept it on my hard disk until recently, so certain features might be slightly different than back then :)
- chpmrc 6y agoThis is one of the coolest web apps I've ever seen. How it handles multiple windows, docking, local drafts. Wow, well done!
- Tade0 6y agoThe next plans are - redo drawing library to further improve performance! I'm amazed that you still have ideas regarding improvements here, because at least the selection performance is buttery-smooth even on a phone. Great job, very useful product.
- BubRoss 6y agoSoundforge on a 486 100Mhz was already pretty fast at editing a single track of audio. It's amazing how much heavy frameworks have warped our perception of normal interactivity.
- Tade0 6y agoI had a 486 and did some rudimentary audio editing back then. I remember the performance to be decent, but not 60fps-decent. But aside from that phones usually have relatively infrequent touch updates, which usually results in a single repaint on every such event, so 10FPS or so.
- ssalazar 6y agoAnd took more time and expertise to develop and only worked on one computing platform. The software industry has been a cycle of trading hardware performance improvements for developer productivity since the beginning.
- padenot 6y agoHi, I work at Mozilla doing audio programming for Firefox, I see in your about page that you have issues with the Web Audio API, ping me (same nick a bit everywhere on the web, and also @mozilla.com) and we'll answer any question or fix any issue you have. Lots of things have happened in the audio space on the web since 2018! In particular, low latency (like native roundtrip latencies, so <10ms easy, but depending on the OS) no-jitter/real-real-time audio programming is now something that developers can do. Lock-free/wait-free programming and SIMD are coming in the next weeks/months. Very cool project in any case, I'll use it when I need to quickly do very high zoom on wave forms to debug things for Firefox.
- kiviuq 6y agoWhen can have we web midi (and no not sysex ;) Sooooo?
- jacquesm 6y agoSeconded, web midi is a big showstopper for Mozilla and should have more priority than the various bells and whistles that Mozilla does seem to prioritize but that ultimately are not part of a browser. Not being able to use Midi from FireFox means that for a whole raft of possible applications Chrome is the only option, which is a real pity. Please, please, pretty please, give web midi a higher priority.
- TremendousJudge 6y agoCurious, what applications need web midi?
- jacquesm 6y agoJust one example: https://sightreading.training/ https://sightreading.training/
- TremendousJudge 6y ago
- mikelpr 6y agopolitely asking for more formats too, it won't load my flacs
- TheRealPomax 6y agopresumably it loads whatever the browser can natively load. I don't think flac is one of those?
- mbrock 6y agoChrome can load FLAC.
- TheRealPomax 6y agoFair point, looks like FF also supports it.
- idreyn 6y agoAre you open to a couple of feature suggestions from someone who uses Audacity for scientific applications? 1. An port of Audacity's "Noise Reduction" filter. I have done this once [0] (with some difficulty and no doubt with errors) and I am so tempted to just translate it to JavaScript and put up a PR, but I'm slammed right now. 2. It would be very useful to be able to view the spectrograph as an alternative to the waveform, rather than having it live in a separate "spectrum analyzer" pane. Especially if zooming along the frequency axis were implemented, this would make it much more useful for, well, spectrum analysis. Thank you for making this. It's impressive in its own right but doubly so as a web application. [0] https://github.com/robin-labs/robin/blob/master/noisereduce/noisereduce.pyx https://github.com/robin-labs/robin/blob/master/noisereduce/...
- pantelisk 6y agoThose are both great ideas, especially the noise reduction function might be something that makes this tool quite useful for quick recordings! I actually tried implementing noise reduction algorithms in the past, but sadly could not get it to work properly. Maybe time to revisit! (ditto about the spectograms too)
- kevmo314 6y agoOoh, I actually was looking for a js noise reduction library recently. I might just translate it and put it up myself. :)
- SanchoPanda 6y agoWell done, and thanks for making it available so easily.
- mestelan 6y agoThis is great, thanks. Is there a way to access the menu via a key shortcut?
- pantelisk 6y agoRight now no, but it would be very useful so i 'd like to add this, since you can use the keyboard to control the menu... (except well... opening it!). Any preferred key you 'd like this assigned to?
- mestelan 6y agoGreat! No strong thoughts on a specific key. Maybe Shift-F, or Shift-F10? Or Esc-F, since another comment suggested Esc as a general prefix key?
- asiachick 6y agoVery cool. Any particular reason you're not using standard keys for cut/copy/paste/select all etc...?
- pantelisk 6y agoI did not want to bind control/command key as it is used by the browser itself (eg control + t opens a new tab). So instead I used the shift key, (so shift + A = select all, shift + C = copy, shift + V = paste, etc).
- gfxgirl 6y agointeresting choice to be different than all other webpages and user experience for no good reason.
- pantelisk 6y agoIt is a non-optimal choice, but I believe there is a very strong reason. Not competing with the browser's native functionality. Some of the most horrible web experiences, occur because websites try to take control of native functions. For example "smooth" scrolling, or highjacking the back button, or trying to abuse the clipboard! Confusing the user, breaking navigation, making the page less accessible and in some cases breaking after X months when browser or OS behavior changes. What I have now is unfortunately far from "good" and there is improvement and experimentation waiting to happen, but the straight forward approach is not much better either...
- asiachick 6y agoWhat would you be competing with? Cmd/Ctrl-C/X/V for cut copy and paste are the norm. By allowing your app to use those keys you aren't overriding the browser, you're making your app conform to the standards. Even native apps do this. The OS may provide cut/copy/paste in an OS level text widget but it doesn't provide it in Word, Excel, Photoshop, or Audacity. That's up to the app. In the same way doing the same thing is up to the web app for anything not plain text. Most web major apps do this. Office365, Google Docs/Sheets/Slides. Even Facebook/Slack/Gmail since they re-interpret the text (converting :-) into emoji and or replace with images.
- toastal 6y agoYou should make your modal/dialogs close when the escape key is pressed.
- PatrolX 6y agoNo keyboard cut, copy and paste?
- mestelan 6y agoThe keyboard shortcuts are signalled in the menu; they are Shift-C and Shift-V
- brutt 6y agoPlease, specify license of your code, e.g. GPL3.
- TheRealPomax 6y agoReally hoping you add in spectrum editing, too, because waveforms are fine, but the power of RX and tools like it is that you can view the FFT spectrum and cull parts that are entirely useless (cutting out hums, >12k painful harmonics, etc =)
- voltagex_ 6y agoWhat's RX?
- sam1r 6y agoReactive programming, possibly in js
- mkl 6y agoNot in this context. "RX 7, The industry standard for audio repair": https://www.izotope.com/en/products/rx.html https://www.izotope.com/en/products/rx.html
- TheRealPomax 6y agoNo, not even remotely. Izotope RX: https://www.izotope.com/en/products/rx.html https://www.izotope.com/en/products/rx.html
- TheRealPomax 6y agoA tool used by anyone and everyone in the audio space: https://www.izotope.com/en/products/rx.html https://www.izotope.com/en/products/rx.html - it's most important feature is that while you can work on the waveform, that's pretty much the least useful way to work with audio, and so it also lets you work directly on the spectrogram of an audio source instead, which makes editing the actual sounds you hear much, much easier.
- kennyangel 6y agoNice job. It is a very useful editor.
- maxwellito 6y agoMulti-track! That would be awesome! Take you time tho, keep the pleasure of working on it and don't say yes to all feature requests. Also, looking at the page load and see less than 80Kb transferred: this is absolutely beautiful! Amazing work!
- Havoc 6y agoCongrats!
- imvetri 6y agoSlick UI!