[HN Gopher] Show HN: I'm building a browser-based DAW
       ___________________________________________________________________
        
       Show HN: I'm building a browser-based DAW
        
       Author : stevehiehn
       Score  : 153 points
       Date   : 2022-07-20 13:15 UTC (9 hours ago)
        
 (HTM) web link (signalsandsorcery.org)
 (TXT) w3m dump (signalsandsorcery.org)
        
       | jbverschoor wrote:
       | 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
        
       | stevehiehn wrote:
       | 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.
        
       | 12ian34 wrote:
       | but, why?
        
       | guggle wrote:
       | How come Paul Davis didn't react yet ? ;-)
        
       | pyrossh wrote:
       | 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:
        
         | stevehiehn wrote:
         | 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 :)
        
       | Yahivin wrote:
       | 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!
        
         | stevehiehn wrote:
         | This reply makes me happy. This app is great :)
        
         | glial wrote:
         | So awesome! It makes me nostalgic for Mario Paint:
         | 
         | https://youtu.be/T3MWzEgtzDU?t=442
        
       | redsummer wrote:
        
       | zmix wrote:
       | 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".
        
         | stevehiehn wrote:
         | 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?
        
         | [deleted]
        
       | capableweb wrote:
        
         | adamnemecek wrote:
        
           | capableweb wrote:
           | Haha fuck, you're joking right? Gotta say, your humor in that
           | case is right up my alley.
           | 
           | For the backstory, see a previous comment of mine:
           | 
           | > So far there are 54 mentions of ngrid.io, all by the same
           | user (adamnemecek) [https://hn.algolia.com/?dateRange=all&pag
           | e=0&prefix=false&qu...] and all for highly unrelated topics.
           | 
           | https://news.ycombinator.com/item?id=31282746
           | 
           | > And finally, anyone who have been reading comments on
           | music-related submissions here on HN for the last 4 years
           | (yeah, really! Take a look at https://hn.algolia.com/?dateRan
           | ge=all&page=0&prefix=false&qu... and go to the last page!)
           | have seen ngrid being mentioned by adamnemecek on basically
           | every single music-related submission.
           | 
           | > There is a time and place for posting your own projects.
           | Doing it on every submission that is slightly related to your
           | projects theme is not that.
           | 
           | https://news.ycombinator.com/item?id=31302876
           | 
           | In short: you're constantly spamming your project on HN.
           | People like me get tired of spammers. I'm not doubting you're
           | actively working on the project, probably all spammers who
           | spam their project is also working on their project, but that
           | doesn't make it less spammy.
           | 
           | Getting your project ready for public consumption takes time,
           | no one is "upset" about that something takes longer than
           | expected. What does upset people, is the constant spam. So if
           | you instead just wait until it's ready and then do (one) Show
           | HN, you'd end up with less upset people.
        
             | adamnemecek wrote:
             | You generally want to have an email list of people to
             | contact when you launch.
        
               | capableweb wrote:
               | 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.
        
               | adamnemecek wrote:
               | It seems like today, you did it for me.
        
               | capableweb wrote:
               | 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
        
               | adamnemecek wrote:
               | I'm close to launch so yes I can not spam until then.
        
             | pvg wrote:
             | _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.
        
           | p1esk wrote:
           | I guess it's not clear why you're posting these comments if
           | it's not ready. Just post "Show HN" when it is.
        
         | detaro wrote:
         | You don't improve signal-noise ratio by adding to the noise, so
         | please don't. Comments like this improve nothing.
        
           | capableweb wrote:
           | 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.
        
             | detaro wrote:
             | yeah, I get the frustration.
        
       | tiborsaas wrote:
       | 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.
        
         | stevehiehn wrote:
         | Thanks for pointing that out. It's still very much a WIP. I'll
         | fix that!
        
       | klntsky wrote:
       | That's interesting, but how are you going to deal with
       | unpredictability of JS timers and with GC pauses?
        
         | stevehiehn wrote:
         | 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.
        
         | breckinloggins wrote:
         | 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/
        
       | margoguryan wrote:
       | 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.
        
         | stevehiehn wrote:
         | 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.
        
       | superb-owl wrote:
       | 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
        
         | stevehiehn wrote:
         | 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.
        
         | rutierut wrote:
         | WASM and WebGPU do help a lot. WebAudio is still severely
         | limited though.
        
           | antidnan wrote:
           | Are there any projects using WASM for DAWs?
        
             | p0nce wrote:
             | https://www.webaudiomodules.org/
        
               | stevehiehn wrote:
               | This is very interesting thanks!
        
             | jcelerier wrote:
             | 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
             | :-)
        
             | capableweb wrote:
             | 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.
        
       | stevehiehn wrote:
       | ps - SOURCE CODE: https://github.com/shiehn/SignalsAndSorcery
        
         | pmayrgundter wrote:
         | 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.
        
       | rutierut wrote:
       | 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!
        
         | and0 wrote:
         | 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.
        
         | stevehiehn wrote:
         | I agree. Although I'm using the term DAW it's really a loop
         | arranger pulling from the server.
        
           | 0x20cowboy wrote:
           | 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.
        
           | and0 wrote:
           | 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.
        
         | CSSer wrote:
         | 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/
        
         | vanillaicesquad wrote:
         | soundtrap.com is the answer, mostly.
        
           | playworker wrote:
           | Audiotool? I've never used it but it looks relevant:
           | https://www.audiotool.com/
        
             | drcongo wrote:
             | Audiotool is surprisingly capable.
        
       | vanillaicesquad wrote:
       | Take soundtrap.com and make it more like Fruiti Loops (android
       | apk)
        
       | ccbccccbbcccbb wrote:
       | Will it achieve latency on par with ASIO, in the ballpark of
       | single-digit milliseconds?
        
       | tomc1985 wrote:
       | 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.
        
         | ksm1717 wrote:
         | Yea what an idiot to not make this free proof of concept of a
         | browser daw targeted at 20+ years power users
        
           | lostgame wrote:
           | 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.
        
             | Optimal_Persona wrote:
             | 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!
        
           | tomc1985 wrote:
           | > Yea what an idiot
           | 
           | You are saying this, not me.
        
             | zero_iq wrote:
             | tbf, it's pretty clear who he's calling an idiot, and it's
             | not OP.
        
             | ksm1717 wrote:
             | 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
        
               | cjaybo wrote:
               | 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.
        
               | thr0wawayf00 wrote:
               | 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."
        
               | tomc1985 wrote:
               | 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
        
               | throwaway675309 wrote:
               | 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.
        
               | BolexNOLA wrote:
               | 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.
        
         | butwhywhyoh wrote:
         | 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"
        
           | [deleted]
        
           | tomc1985 wrote:
        
             | tobr wrote:
             | 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".
        
             | all2 wrote:
        
             | RobbieGM wrote:
             | > "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.
        
         | [deleted]
        
         | crubier wrote:
         | Let's make WASM VST plugins!
        
           | mxmilkiib wrote:
           | 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
        
           | tomc1985 wrote:
           | 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?
        
             | [deleted]
        
             | mschuster91 wrote:
             | > 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.
        
               | stevenjgarner wrote:
               | 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
        
               | cheschire wrote:
               | Audacity isn't available on iOS or iPadOS. This browser
               | tool, however, is.
        
               | Arcanum-XIII wrote:
               | 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.
        
               | tomc1985 wrote:
               | 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.
        
             | npigrounet wrote:
        
             | BizarroLand wrote:
             | 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.
        
             | virgil_disgr4ce wrote:
             | What's wrong with browser apps?
        
               | fwsgonzo wrote:
               | 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.
        
               | awongh wrote:
               | 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?
        
               | duped wrote:
               | 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.
        
               | logarhythmic wrote:
               | 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
        
               | tomc1985 wrote:
               | > 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.
        
           | vnorilo wrote:
           | There's been some work on Web Audio Modules, including glue
           | for prior native plugin frameworks like Juce.
           | 
           | https://www.webaudiomodules.org/
        
       | severak_cz wrote:
       | I am working on something similar. But it's just collection of
       | instruments with limited recording capability.
       | 
       | https://severak.github.io/cyber-music-studio/
        
       | thewebcount wrote:
       | 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!
        
         | stevehiehn wrote:
         | Thanks! I wish I could afford a designer. I'm trying to do my
         | best with TailwindCss ATM.
        
           | stevehiehn wrote:
           | 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.
        
       | drchopchop wrote:
       | 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
        
         | EUROCARE wrote:
         | Locked down school computer users
         | 
         | Chromebook users
         | 
         | On-the-go users
         | 
         | Teachers where students have their own computers
         | 
         | I bet there's more
        
         | paulmd wrote:
         | 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.
        
         | stevehiehn wrote:
         | 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.
        
           | bee_rider wrote:
           | 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!
        
         | rzzzt wrote:
         | Firefox' audio backend, cubeb supports Jack, CoreAudio and
         | WASAPI output, so low latency and multi-channel playback is not
         | completely out of reach.
        
         | disintegore wrote:
         | 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.
        
           | drchopchop wrote:
           | 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.
        
             | disintegore wrote:
             | I just don't think an audio plugin should be able to bring
             | down the entire host application due to bad memory
             | management.
        
               | _flux wrote:
               | 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.
        
               | disintegore wrote:
               | That's extremely interesting. When a plugin crashes, what
               | happens to the rest of the signal chain?
        
           | spaceman_2020 wrote:
           | 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.
        
           | ajakate wrote:
           | 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
        
       ___________________________________________________________________
       (page generated 2022-07-20 23:01 UTC)