← Back to context

Comment by pantelisk

6 years 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 :)

Hi, 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.

  • When can have we web midi (and no not sysex ;)

    Sooooo?

    • Seconded, 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.

      13 replies →

  • Will we get jack support back on Linux one day ? :/

    • The mess with audio servers is one of the main reasons I could never stand Linux as my primary laptop OS. Jack, ALSA, OSS, Pulse, etc. Far too often the answer to my problem was that it didn't work on that specific audio server, or that I needed to compile my own server/kernel/app from source.

      Easily, reliably, and quickly playing audio is table stakes for Windows and Mac OS. They've been doing it for years. But instead of improving one or two audio APIs, on Linux it is time for a new audio server that will, but doesn't, solve all of the problems of every predecessor.

      21 replies →

    • It's already enabled and lots of people use it, although it's not compiled in on the mozilla-provided builds (but downstream builders enable it).

      1 reply →

Are 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/...

  • Those 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)

  • Ooh, I actually was looking for a js noise reduction library recently. I might just translate it and put it up myself. :)

The 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.

  • Soundforge 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.

    • I 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.

    • And 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.

Very cool.

Any particular reason you're not using standard keys for cut/copy/paste/select all etc...?

  • I 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).

Multi-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!

This is one of the coolest web apps I've ever seen. How it handles multiple windows, docking, local drafts. Wow, well done!

Really 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 =)

This is great, thanks. Is there a way to access the menu via a key shortcut?

  • Right 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?

    • Great! 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?