Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: I'm building a browser-based DAW (signalsandsorcery.org)
179 points by stevehiehn on July 20, 2022 | hide | past | favorite | 123 comments



There have been a couple attempts at this stuff in the past years. Every time people get a bit closer. So far timing issues and performance of compute intense operations have been the killer. Good luck!


I agree. Although I'm using the term DAW it's really a loop arranger pulling from the server.


I’ve tried to build a similar thing several times over the years - once in flash and once in JS.

Timing is the hardest - especially if you’re going to try to let people record on the fly against the running track. Have two or more play at the same time… rough.

And I suggest you checkout https://www2022.thewebconf.org/PaperFiles/40.pdf there is an implementation called wam out there that lets you use VSTs in JS. It works pretty well.

Good luck! I’ll be one of the first to sign up.


Ok, Ya, I'm investigating WAM right now. This is very interesting indeed.


Oh, that's very cool. Any ability to run the server as a local service?

I know people who mix+master and sending huge project files and also have to convert between DAW formats even. Having a common web DAW that can render on a server could be a very powerful ecosystem.


I've always heard the same thing. I have some questions, if anyone has answers.

1.) Is WebAssembly better about timing + buffers?

2.) Is JS have a WebGL-esque lower-level interface with audio hardware planned?

3.) I believe Electron grants more local permissions. I know Electron has some modernization hurdles (ESM still I think) but wonder if it's any better or the Chromium process within it has higher affinity than a proper browser. Not quite "web-based" but maybe a better option as your project gets more complex.

4.) Is it possible to have a buffer that "renders" separate from any loops themselves? If you can't time a drumtrack in real-time accurately enough or "play" an instrument you could certainly have it render N millisecond ahead.


Sounds like a job for web workers. Do you have any examples? I'd love to check them out. I've seen some sequencers but never a full-blown DAW attempt. I've been toying with a couple browser-based, realtime audio ML ideas lately (mostly porting some models to Tensorflow.js), so my interest is piqued.

As far as libraries go for analysis, the only solid option I've found so far is Meyda[0]. I was drawn to it mostly because it closely maps to librosa[1], and it seems fairly mature. Does anyone have any others that may come in handy for this kind of work? This is just free-time tinkering for me. I'm completely new to the space.

[0]: https://meyda.js.org/ [1]: https://librosa.org/


Regarding timing issues, that was dead for a while because of spectre and pals, JS runtimes had to mess up the precision of timers in order to mitigate the attack. I've heard it has been enabled recently on secure contexts, though. Just my 2c.


soundtrap.com is the answer, mostly.


Audiotool? I've never used it but it looks relevant: https://www.audiotool.com/


Audiotool is surprisingly capable.


I know this is a hobby project, but who is the target user for something like this? What's the benefit of doing this in a browser?

Desktop DAW's have many benefits:

  - ASIO drivers for low latency
  - Better CPU utilization
  - Multi-channel output
  - VST plugins (essential for most composers)
  - Good MIDI support


I realize this probably isn't what the OP was aiming for, but I think a web-based DAW would be wonderful for artists collaborating over the internet.

I am currently recording an album with my band and we all have have monitoring equipment and recording interfaces at home (save for the drummer for obvious reasons) and currently we just bounce a Reaper project between each other so we can all add our respective tracks.

It's far from ideal. We don't all run the same OS. We don't all use the same commercial plugins. Result is that nobody gets the same audio out of it and sometimes the project gets mangled (eg the Linux port can't load some resources because they point towards `C:\Users\JohnDoe\Album` or something). Also, the folders get huge very fast.

A web-native DAW would solve a lot of these problems, assuming realtime audio is possible. I know that, for instance, with Pipewire or JACK/PulseAudio, you could probably pull it off, but I have no idea how it would work on Windows' audio stack which appears to be made of pixie dust.

I'm hoping the VST format dies a painful death, personally. It's a non-portable legacy solution and even in the best of cases it's a pain to work with.


I don't think you can really squeeze out enough performance out of web browser for a full-fledged DAW.

One of my complete song can push even my Intel i9 to its knees on desktop. You're talking about dozens of MIDI tracks, dozens of audio tracks, several plugins...that requires heavy duty performance.


What about the performance being backed by a beefy server machine, and web just being the (potentially collaborative) front-end for it?

Everyone works with the exact same environment. Accessible from any machine. The only concern is latency, and that will be a hard one to solve. But once it is solved, it could imo become the next big step forward for DAWs that completely changes the game.


Latency would be a huge problem. Anything over 30ms results in your timing being slightly off. Go above 60ms and recording audio becomes impossible.

On my desktop with Ryzen 5700x, 32GB Ram and a dedicated audio interface, I still get 11ms I/O latency (22ms combined) in Ableton. If I had to send this signal through a web browser to a server, I can’t see any scenario where I could keep this under 30ms. Beyond 30ms, the lag becomes noticeable.

It can work if you’re only working with MIDI tracks but any audio work requires absolutely the lowest possible latency


It really depends on what you mean by "enough". If the native audio stack does the real heavy lifting, and the plugins are compiled to WASM, it'd probably be more than enough for most use cases. People were mixing digitally decades ago on much much slower machines than yours.


Agreed! Around the time the lockdown happened my band discovered bandlab.com, another online DAW. The lag/performance is a little slow to do serious recording (though you can get by by making an audio recording and manually shifting it a few ms in the interface), but it's a fantastic way to share songs/ideas back and forth. Often what some of us do is record tracks in our own local DAWS and upload the track wavs to bandlab. At the very least it allows us to:

- mute tracks easily, change volume on parts

- add tracks where we can upload alternate/extra parts

- visualize the structural flow of a song

- general cut/splice play around :)

the company that makes bandlab also makes a desktop DAW called cakewalk. It seems to have a nice feature where you can sync it with bandlab, which would be killer. It's windows only so I've been unable to try it out though


Ableton does allow you to easily export sessions, and freeze tracks that have custom plugins. Their stock plugins are now good enough that they can rival commercial ones for many use cases (which is often good enough to the track to the final mixing stages).

Definitely agree re: VST format - PC/Mac/Linux fragmentation is annoying, old plugins often can't even be loaded, and sharing presets is a pain.


I just don't think an audio plugin should be able to bring down the entire host application due to bad memory management.


Bitwig actually has this figured out: all audio stuff is already its own separate separate process and you can even further isolate plugins to separate processes.

Probably they key reason why they get to support X86 plugins on M1.


That's extremely interesting. When a plugin crashes, what happens to the rest of the signal chain?


The track goes quiet, other tracks keep working. I suppose if the track has other ways to make sound (e.g. the plugin is just one of the many instruments it's playing) then it's just that part of the processing graph, but I haven't tried experimenting with that so deeply.

You need to restart the plugin manually.


Checkout audio movers!

https://audiomovers.com/wp/


Firefox' audio backend, cubeb supports Jack, CoreAudio and WASAPI output, so low latency and multi-channel playback is not completely out of reach.


Locked down school computer users

Chromebook users

On-the-go users

Teachers where students have their own computers

I bet there's more


The platform is really about uploading strictly annotated loops and stems to the server and have them exposed via an API. The DAW thing your looking at is really just away to preview the content. So I'm trying to see how far I can push it.


That seems like a really cool idea, and I'd be curious to see how far it can go.

I'm sure you aren't aiming your project at, like, totally upending the record publishing industry. But it would be cool if someday artists could upload snippets, mix them together, publish the result for sale on a site. And somehow have it sort out the contributors so that royalties can be trickled down elegantly so that, like, the internet-equivalent of a session artist gets a fair cut.

Uh... not to set the bar too high or anything. Good luck!


Yeah latency and timing seems like the killer, it's practically hard to imagine a worse possible environment for this.

Especially, btw, with the Spectre/meltdown mitigations that coarsen the browser's clock resolution/etc.



That's interesting, but how are you going to deal with unpredictability of JS timers and with GC pauses?


The web audio platform has approaches that purport to work around this [0]. We'll see how that pans out (no pun intended).

[0] For example: https://web.dev/audio-scheduling/


It's not real-time. The backend is fed heavily annotated loops. It merges all the audio buffers before playback. I regret using the term DAW. It's a bit disingenuous. It's really a loop preview/arranger for people looking for royalty free loops. (Not unlike Splice) HOWEVER - I am experimenting with an arpegiator and seeing where that goes.


Sadly the performance limitations of doing serious work in the browser seem to be holding back web-based DAWs.

I'd love to see a set of bindings come out that allow us to build web DAWs with the WebAudio API, but utilize native C/C++ when run locally via e.g. Electron


Agreed, I'm trying to work the angle where you quickly arrange loops and midi then download a bundle to import into your favorite desktop DAW.


WASM and WebGPU do help a lot. WebAudio is still severely limited though.


Are there any projects using WASM for DAWs?


It's still alpha but https://ossia.io/score-web is the whole https://ossia.io (C++ / Qt) compiled to WASM. I haven't implemented file import at all yet though and there are enough UI bugs and latency / performance is too poor to make this nothing more than a fun but useless experiment... but it'll come as soon as I have some time to spend on it :-)


Not sure how much WASM would help, except for very complicated effects and/or sound generators. It would introduce latency as JS<>WASM still needs to communicate since you can't play audio directly from WASM.

The problem with DAWs in browsers is more around latency and precise timing, which browsers don't exactly excel at compared to desktop applications.



This is very interesting thanks!



Aha! This is the main feature for me.. not necessarily that I'm going to start hacking, but it signals the right mental model... which is, friends jamming online, minimal to no-strings attached.

Must haves:

  - Compose a draft and share with friends, so that they can contribute

  - No install/login required.. just too much of a drag to keep track of when we're evaluating new things all the time.
All the music features are less important

backstory is my band broke up after we all moved around the country and too far for live jams due to latency. Since, we've been after an async composer just to screw around again.


Interesting looking tool. I'm probably not the target audience, but could see how it could be useful. Here's my take on what I saw:

The fonts make everything really hard to read. (Full disclosure, I'm old and my eyes suck, but I was wearing glasses while trying it out.) Personally, they also remind me of old Mac 128k adventure games. (Which I guess makes sense given the name, but isn't what I want when working with a tool.)

I ran it in Orion (WebKit-based, similar to Safari) and couldn't get more than one segment of music to play at a time.

Pressing the large play button at the bottom left did nothing, as did pressing the "Render" button.

The switches in the top row only look like switches once you mouse over them (at least in Orion). Otherwise they look like a small off-center circle and had me scratching my head. Some additional contrast in the background color of the switch might help.

I hope that helps!


Thanks! I wish I could afford a designer. I'm trying to do my best with TailwindCss ATM.


Regarding browser compatibility: I want to see whats possible on chrome followed by mobile. I don't really know exactly how portable the WebAudioApi is tbh.


I am working on something similar. But it's just collection of instruments with limited recording capability.

https://severak.github.io/cyber-music-studio/


Neato, I did something similar at https://danielx.net/composer/

Web audio has come a long way. MIDI and SoundFont support was an adventure. Good luck!


So awesome! It makes me nostalgic for Mario Paint:

https://youtu.be/T3MWzEgtzDU?t=442


This reply makes me happy. This app is great :)


It's pretty slow to open a page. Saw this in the console, (index):62 cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI:


Honestly still trying to figure out what I'm even building, but I agree, the load time is pretty bad. Also I'm using the smallest instance of Postgress Google Cloud Run offers and I've never stress-tested it before :)


There's an issue with the clip looping, it doesn't repeat seamlessly at the start of a new bar. The DAW BPM and the clip's BPM is matching.

I'm using the latest Chrome on OSX.


Thanks for pointing that out. It's still very much a WIP. I'll fix that!


I think I fixed it. TBH I was cheating and just checking the mark position every 25millis lol. But the looping should be sample accurate now.


As someone who uses very minimal freeware DAWs (literally, LMMS and Audacity- I am now a big fan of FL Studio Mobile with the Samsung S Pen as well), I would probably use this a lot!

Have you considered a sample market? I'd love to be able to sell loops that I can't really find much of a use for, or drum samples that I made myself but don't need.


ya, so that was the original Idea for this project (and still is-ish): A user generated sample platform. Then I decided I need a slick way for folks to preview the samples and am now trending towards building a composition tool.

Also feel free to download and use the samples. They are 100% royalty free.


How come Paul Davis didn't react yet ? ;-)


I mean I guess it depends on what it does, if it’s like a sequencer that’s fine. If it’s a live recording, live performance with synth plugins and filters and such yeah… I’m highly skeptical.


ps - all the samples/loops are royalty free. I created REAPER daw scripts in LUA to quickly create beats/loops which are machine annotated and then upload directly to the backend.


Take soundtrap.com and make it more like Fruiti Loops (android apk)


We started writing a web-based DAW prototype that relies on the Webaudio Modules version 2.0 (a standard for plugins/hosts on the Web, that can be developed using a large variety of languages/approaches). For the moment, the DAW has very limited features but 1) Each track is written as an AudioWorklet, and sample accurate processing is being done for playing each track. That means, that from the processor part of each track player, we can schedule events (automation, midi, etc) to plugins. We can also loop and edit the audio track with a sample accuracy (this is not done yet, but everything is ready for that. We will add this soon). 2) Each track is associated with a plugin chain. Plugins are WAM plugins (webaudiomodules), and can be automated. 3) There are quite a lot of plugins already available in the WAM format, most effects, instruments. The WAM distribution comes with a set of example plugins + the FAUST IDE can generate WAM2 plugins in seconds. All running DSP in WASM. We (WAM designers, implementers and maintainers) can be reached on a slack channel (#webaudiomodules, subchannel of the #webaudio channel. Get incitation here: https://web-audio-slackin.herokuapp.com/

The WebAudioModules distro is 4 GitHub repos, it is also available as npm modules. (https://github.com/webaudiomodules, start by building the wam-example one and run the examples). You can find some presentations on youtube (such as: https://www.youtube.com/watch?v=8G3we8dikq8).

DAW prototype (should be included soon in the wam-example repo): Picture : https://i.ibb.co/mBdNGqk/WAM2-DAW.jpg online version: https://wam-openstudio.vidalmazuy.fr/, current repo (work in progress, as I said, this work is active and we do plan to add all missing functionnalities the upcoming months) https://github.com/TER-M1/wam-openstudio

There are also professional, commercial DAWs, not open source ones, such as https://ampedstudio.com/ that is also capable of loading WAM plugins, and is developed using the same approach as our DAW proto (host as AW), bandlab.com or soundtrap.com.

Michel


I see no use in this incarnation.. I expected a DAW, and most of all something that's multi-user/collaborative.

But it's probably fun to work on


Now with the clap plugin format and wasm its possible to have open audio and processesing plugins that could be used in the browser.


Nice. While I still favor native clients over web apps, stuff like this will make music production much more accessible.


Using Vivaldi, a chrome based browser, and this doesn't seem to load/work. What's up with that?


Will it achieve latency on par with ASIO, in the ballpark of single-digit milliseconds?


The website's design reminds me of Windows Vista in a very positive way.


but, why?


Do any of these browser projects support existing plug-ins?

A lot of people making music have spent $$$ on plugins, and just on the sheer R&D they've received, are going to sound considerably better than anything someone who is focused on writing a DAW can make.

Plus, from my own experience, I have 20+ years working with FLStudio and know the program inside and out. Abandoning that plus my investments in VSTs is simply a no-go.

So, good luck, but you've got some significant barriers to overcome.


Would you give this same critique to someone who was building a go-kart in their backyard for fun?

"Car companies like Honda and Ford have been around for decades, and those vehicles are going to drive considerably better than anything someone working in their backyard could make.

Plus, from my own experience, I've been driving these cars for the past 20 years, and abandoning that experience in how they feel and handle is a no-go.

So good luck, but you've got significant barriers to overcome"


[flagged]


https://news.ycombinator.com/showhn.html

“Show HN is for something you've made that other people can play with”. It doesn’t have to be a product, and I can’t see anything in the guidelines that precludes sharing “toy projects”. On the contrary, a “Show HN needn't be complicated or look slick.”

It’s up to the community to use upvotes to determine what’s interesting to the audience, not individual self-censorship of what might offend those “grognards”.


> "Do it in a browser" is not interesting enough.

I disagree. DAWs are huge pieces of software to begin with and doing high-performance audio work in the browser would be very impressive.


Yea what an idiot to not make this free proof of concept of a browser daw targeted at 20+ years power users


tomc1985 made an extremely valid point here, as any serious DAW user would agree - they did not imply the creator was an idiot, but that any DAW without plug-in support is, at best - a toy, and I will personally add that the concept of using a browser to record audio when latency and playback quality is already an issue with fully OS-native DAW’s.

Other than some side project just for fun, I absolutely see no practical use, application, or function the app can provide that Ardour (which is already open-source and free if you compile it) isn’t going to do infinitely better.

The author isn’t an idiot, quite the opposite, it takes a lot of effort to write even a simple DAW.

But the product makes no sense. The target platform is totally in opposition to the needs the tool requires to fulfill its purpose.

It’s like those people who run DOOM on their smart fridge. The creator isn’t an idiot, it’s just a waste of time outside of saying ‘I did this’ and nobody is ever actually going to choose to seriously play the game with that way.

There’s no need to be snarky like you’re being, it’s possible to make points without coming off like an asshole.


Thanks, you basically wrote what I was going to. In audio-production-land, the term DAW is generally understood to mean "real-time (single-digit ms latency) capable audio plugin host and audio/MIDI sequencer". Anything not checking all those boxes is interesting, but likely won't be "able to(n)" get a whole lot of "tracktion" from "avid" users. ;-D

I also need to note that users of free/cheap audio software can be some of the brattiest, most entitled and actively hostile users I've seen anywhere, based in my 20+ years on KVR, GearSpace, and other forums. Every dev in the space needs to have a thick skin and be ready for the "it would be great if only it..." to start rolling in.

Great to see people pushing the "envelope" of browser-based tech!


>> Anything not checking all those boxes is interesting, but likely won't be "able to(n)" get a whole lot of "tracktion" from "avid" users. ;-D

They probably wouldn’t find that “Logic—al”…

(I couldn’t help myself, I’m a Logic user and you wrote it for me :P)


Have to applaud the Traktor reference in particular


> Yea what an idiot

You are saying this, not me.


Yea I’m mocking you because if you couldn’t tell how annoying your obvious “constructive” criticism was going to sound, you’ve got some significant barriers to overcome


Not sure why you are being so hostile with this user, especially given his question/concern is valid (source: media production for over a decade).

Plug-ins are often the secret sauce for our workflows and styles, and prosumers/hobbyists dip into them as well. If your browser based DAW doesn't have, say, Izotope RX support, then that's a non-starter for a ton of people (especially podcasters). I'm not going to round trip between software on my computer and a browser based software, that's for sure. I don't have time for that nonsense.

Regardless of your opinion or how you feel about the above, your tone is needlessly hostile and unproductive.


The difference is that you're coming across as needlessly aggressive and insulting... which is fine for Reddit but not so appropriate on hacker news.

Both they and I would both love to know if the developer behind this DAW has given any thought to how they might integrate with existing plug-ins such as VSTs, not an easy feat.


If you know anything about music production, you'd know it's a very valid critique. Not sure why you took it so personally, though.


It's also such an obvious question though, isn't it? You think that the developer pouring so much of their free time into a browser-based DAW wouldn't have considered the idea of supporting plug-ins at all?

People far too often approach projects like this with "this app is only useful for me if it does x..." and I think that framing is poor when someone is just exercising their passion on a project. I'd personally respond with "great, go build your own that supports your plug-ins. Have fun."


> It's also such an obvious question though, isn't it?

Is it? I’m genuinely asking as someone who works in audio production. Plenty of people create tools for us in the podcast space, AI transcriptions for spoken word (premiere has a good one), new ways to automate typically manual processes for mastering, you name it. The thing is it is not a given that the person creating a solution has an audio production background and properly weighs the needs.

Plenty of engineers do work for or work directly for hospitals. Are you going to tell me that they might not overlook something a nurse or doctor might need? Because I assure you it happens in every industry when people come up with new tools and solutions, often because many actually don’t come from a strong background in the industry they’re making tools for. I value an outside perspective, don’t get me wrong. But it has its issues too.

It’s not uncommon and it’s fair for us technicians, the people these solutions are designed for, to ask questions.


A lot of people have dropped their side-project in-browser "DAW" projects on HN, several of them did seem like they wanted to be taken seriously


Yea its obviously valid.. you think the dude just bossed up and made a daw for this crazy hostile build target without knowing how people use them?

I took it personally because all these hacker news retards want to nitpick a hobby project when a post like this (really cool, non-axios.com-tech-guy-libertarian-shit) shows up to feel like they have a big dick despite not being able to build something half as cool themselves


tbf, it's pretty clear who he's calling an idiot, and it's not OP.


Well, native vs Web, we already has this conversation about Word vs Google Docs ans now even Word is a web app built with web technologies, and can run in a browser. I'm part of the W3C WebAudio Working group, the core team that is making the WebAudio API at the heart of web apps that can do real time audio processing. Since 2011 we saw more and more impressive applications, and with ASM.js in 2015 and its successor, WASM in 2018, people started to port VST plugins, to compile very efficient DSP code written using some DSP like FAUST to WASM, etc. A Plugin format exists since 2015 (Web Audio Modules aka WAM), and some DAW that can record real time audio, support audio effects, instruments, etc. are now available. While they are not as feature complete as native DAWS, thousands of users record multitrack songs everyday and use many built in or external plugins. AmpedStudio can even use your native VSTs. I wrote some WAM plugins (guitar amp simulators) that are usable in AmpedStudio. It is possible to create very efficient WAM plugins in a minute using the FAUST IDE + some existing FAUST code (there are hundreds of examples on the IDE + on diverse open source GitHub Repos). You will find most effects, some instruments such as MOOG recreations etc.

Of course, the Web based DAWs and plugins are young, but some big actors like Roland (see https://roland50.studio/), Ableton (see https://learningsynths.ableton.com/), Propellerheads (they ported to the Web their VST synth Europa), Antares (the real autotune VST is available in the online DAW soundtrap.com).

Real time recording is operational without any hassle on Mac OS, and with some driver configs on Windows or Linux. You need to calibrate "latency compensation", that will automatically adjust the live recording audio to existing tracks.

Yes, online DAWs are close to GarageBand for example, in terms of features. But they also have some advantages : automatic sharing of projects, some DAWS even allow synchronous collaboration à la Google Docs, sharing a project is just sharing a link, and working together on the same project becomes really easy, no hassle for storing the audio files. Publication to spotify/deezer/youtube/apple Music is a click on a button. Most DAWS can be used for free. Etc. It's just the target user profile that is different: while Pro Tools/Logic/Ableton will target studios and pro users, these online DAWS are more for less exigent, more online connected people. Most projects are electronic music, etc.

I use Logic Audio, and I also use online DAWs. I heavily used ampedstudio during the covid lock down with remote friends... Then we roughly recorded / mixed some song projects, then I polished the final version by re-importing the tracks in LOGIC, but this was really for fine tuning things... AmpedStudio and soundtrap (I did not try bandlab) are very capable online DAWS.


Let's make WASM VST plugins!


My other thing is... why does something like this need to run in a browser? What's wrong with desktop apps?

I have FLStudio mobile and some other mobile DAW on my iphone and ipad. And to be honest, I never use them, other than as a tapping BPM counter. Do people actually feel productive tapping this stuff in on an iPad?


> What's wrong with desktop apps?

Shoddy support for platforms other than Windows, not to mention VSTs going out of support by the developers and then unusable when something changes (e.g. Apple dropping support for 32-bit x86 years ago).

WASM is at least a common denominator supported everywhere... basically Java just better.


Bitwig's pretty good as a cross-platform DAW, from what I hear.

There's entire ecosystems of plugins out there. Yes they can be reimplemented but if the authors use the same quick algorithms as everyone else it's going to sound plastic-y and dull. IMO plugin dev is one of those things where every hour spent makes a cumulative difference in output quality.

WASM may be great, but unless they can run as their own binary in their own windows you're going to have browser overhead for each window, nevermind those of us that spread our DAWs out across multiple screens.


Ummm ... Audacity is fully cross-platform (Windows, macOS, GNU/Linux and other operating systems) and open source [0]. ProTools (the elephant in the room) was originally developed (and still) on the Mac [1]

[0] https://www.audacityteam.org/

[1] https://www.avid.com/pro-tools


Audacity isn't available on iOS or iPadOS. This browser tool, however, is.


Audacity isn’t a DAW. Powerful tool, been using it for ~15 years, but it isn’t a DAW and folks shouldn’t use it like one tbh.


> folks shouldn’t use it like one tbh

I use Audacity like a DAW. Please clarify:

"Audacity is a free and open-source digital audio editor" [0]

"A digital audio workstation (DAW) is an electronic device or application software used for recording, editing and producing audio files." [1]

You can use Audacity to record, edit and produce audio files.

[0] https://en.wikipedia.org/wiki/Audacity_(audio_editor)

[1] https://en.wikipedia.org/wiki/Digital_audio_workstation


By the strictest/most literal definition yes, it is a DAW. But it does not do what people expect of DAW’s.

* no real time effects playback

* it doesn’t support VSTi’s (long standard and expected)

* no sequences

* can’t use MIDI controllers

It’s a fantastic platform for recording audio and post-processing, it is a terrible music production program, which even the most basic DAW’s can handle.

To make a video comparison, it’d an like an NLE that can’t sync audio/multi cam, has an unintuitive and semi-bloated UI, doesn’t support captions, and can’t support multiple timelines under one project.


Except nearly all of them support both main desktop platform, so not exactly a valid critique. True Linux is often forgotten. But is there a real market there? And to my knowledge, Linux low level audio performance is quite bad, which doesn’t help.


The only thing I can think of would be that it would be great if you could easily record with people on the same interface over the internet. Maybe not live jamming or anything, since the delay would be murderous at best, but that it would be great to be able to have your drummer lay down a track at 3am and your guitarist lay down a rhythm to it at 7 and wake up and do vocals when you're ready instead of having to schedule time to all meet together.


>why does something like this need to run in a browser?

Same reason I like Squadcast and other browser-based podcast recording software - works on (virtually) every machine, no one needs to download anything, cloud storage baked into it, easy for my other producers/colleagues to hop on and check things out, etc.


What's wrong with browser apps?


Audio is real-time and performance is everything. Freezing tracks should take the least amount of time possible and no skipping should occur unless you are using the most complex modular VST out there. With WASM being like 1/3 of native and having extremely limited SIMD support I would probably expect it to not work at all for serious work.

Quite frankly, even native performance is often not enough.

That said, I can see it being relevant for learning audio, synthesis and how signal processing works. And of course, just for fun!

Source: Worked with DAWs for a decade. Also currently writing a paper on the role of native performance.


I’ve played around with ableton before- im wondering what are the high-level aspects of a DAW that take up that compute? Off the top of my head if you have like 10 channels of synths, what in there is super intensive? What does freezing tracks mean and why is it so expensive?


It's not the high level aspects, but the low level ones.

Audio DSP is doing a lot of math. CPUs are good at it, sure, but modern synths and effects are legitimately pushing up against how much math a CPU core can evaluate in the few milliseconds you have to render (in the worst case, low latency realtime rendering time is actually dominated not by how much DSP you can do, but how long it takes to move audio from userland to kernel and out to the hardware and back).

Some of the DSP algorithms are really hard to optimize with SIMD, in fact most of the common audio DSP operations can't be trivially converted to SIMD forms (and when they are, they aren't N times faster for N more lanes). Filters are especially tricky because converting the math from one form to another changes the topology of the signal flow, which is only equivalent in the steady-state of non-linear and time-invariant filters. DAWs are using non-linear time variant filters that are being modulated in realtime, so your super fast SIMD optimized biquads might not sound as good as the converted SVF that can't be trivially optimized (there are tricks, but it's a game of tradeoffs).

And there's the other aspect of the scene that there's just a lot of bad or naive code out there. There is a lot of know-how floating around, but a lot of tools are designed by folks without it to begin with. That's a good thing because it makes a lot of interesting and cool tools, but it also means that institutional knowledge is kind of locked away. It doesn't help that some of the largest examples for newcomers (JUCE's DSP module, RAFX/Aspik with the accompanying text), as well as classic (and new!) textbooks teach people to do things in the least performant way possible, and those algorithms make it into production.


Thanks for the informative comment. Are there resources you would recommend for learning more about performant algorithms? At the moment I'm just messing around with JUCE


> you have like 10 channels of synths, what in there is super intensive

The synth itself. Samplers, hardware emulations, and effects can eat a lot of memory and CPU, to say nothing of a monster 100+ voice synth patch (very easy to achieve with unison, used in supersaw-type sounds)

> What does freezing tracks mean and why is it so expensive?

Freezing tracks means recording the output of that track to a WAV and using that output as a stand-in for the real thing. Freezing tracks isn't expensive, it's what you use when another plug-in is too expensive and you want to reduce your CPU load.


The DPF framework is moving towards WASM build targets;

https://cardinal.kx.studio - web version of the VCV Rack wrapper Cardinal

https://github.com/DISTRHO/Cardinal/issues/287


There's been some work on Web Audio Modules, including glue for prior native plugin frameworks like Juce.

https://www.webaudiomodules.org/


Question; because I just don’t know - is it possible to wrap a VST host/bridge in WASM?


Why? If I want a DAW, that has extremely fair licensing conditions, a huge, passionate community, fast and steady, continious development, is highly compatible with the music recording environment and available on all three major platforms, I simply go for "Reaper".


I think the most valuable feedback I'm taking away today is to immediately stop using the term DAW. I'm building a loop arranger that exports a project to a DAW. REAPER is what I use to create samples. It's the only DAW I know of that allows scripting powerful enough to create a project, add midi, bounce the tracks, annotate them and upload to my server. I was hoping the BitWig api would allow me to do all these things but it doesn't. At least not yet?


Oh, ok :-) Cool!


[flagged]


You don't improve signal-noise ratio by adding to the noise, so please don't. Comments like this improve nothing.


Yeah, you're right, A bit strong reaction from me maybe, I'm sorry for that. I guess I just gotten really frustrated with the spamming and trying to see some humor in that, and trying to share the humor. But you're absolutely right, I shouldn't have written that comment.


yeah, I get the frustration.


[flagged]


I guess it's not clear why you're posting these comments if it's not ready. Just post "Show HN" when it is.


[flagged]


For the backstory

This has nothing to do with the posted Show HN and whatever this other user has done, bringing them up in an unrelated thread and hounding them is way worse than any kind of spamming.


You generally want to have an email list of people to contact when you launch.


Then do that instead of constantly spamming HN?

Maybe @dang / moderators needs to step in a do something about this, because it doesn't seem like you actually understand what spam is/isn't.


It seems like today, you did it for me.


Well, does this mean you'll wait until you launch, then do one "Show HN" and in the meantime stop spamming all music-related threads? If not, whatever I do is futile


I’m close to launch so yes I can not spam until then.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: