Rendered at 23:48:43 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
kirbysayshi 23 hours ago [-]
looks at code, sees safety closures, function assignments, sequential var declaration
Ahh I see you are one of the old ways, of the lost knowledge :)
I am very nostalgic for this style of development, even though I do not miss it in a team setting at all!
Super cool app you’ve made!
fagnerbrack 18 hours ago [-]
Let's make it modern again, just write a blog post on <famous-company> tech blog
JKCalhoun 24 hours ago [-]
So want something like this but where the tracks are in the cloud.
I want to "check out" someone's drum loop and add a guitar riff. Check it into a branch.
Someone else checks out the drum+guitar, adds a bass line. Checks in.
"Jamming" with other people is one of the most fun things. To the degree that you can "get close" on the web…
RiffHub, anyone?
coldcity_again 13 hours ago [-]
For a realtime-ish solution I wonder if you've seen Ninjam[1]? It used to be that most evenings one could find various populated rooms; the serverlist[2] shows that the infrastructure's all sat there ready for people to come.
You play over the most recent (eg) 16 bar repeat. At the end of each repeat, everyone gets the updated loop. It's easier to experience than describe but is surprisingly effective and bypasses a whole class of latency issues.
I recently saw a talk of the developer who basically bootstrapped this. Open source and all, and he talked about the idea of collaboration and showed some features and forks that sounded like what you want.
I’m working on something close to that. At the moment it’s just for ableton. The idea is to be able to sync a daw project, binaries will be saved on cloudflare and then use git for certain cases where it’s possible to merge. In case one person is working on a bass line and another is working on a guitar part. I’ve been using git for this workflow but the idea to have use interface that’s legible for non git users
whycome 8 hours ago [-]
Apple will certainly jump on this. They already have GarageBand and they are making the hardware more accessible in the form of the Neo MacBooks. They are good at capitalizing on that FOMO power. And by making it a part of GarageBand (which already makes use of iCloud), they can keep it in their ecosystem. Collaboration is already doable with shared files, but I’m sure they can streamline the process
Edit: and another comment alerted me to the existence of live jam sessions, so this would be a possible extension of it
16bitvoid 23 hours ago [-]
Bandlab Studio, maybe? Never used it, but might be what you're looking for. There's a web version and a mobile app.
Bandlab is decent enough for this, yeah. It's not "version control" in the way that programmers are used to, not by any means. More like "Google Docs" but for a DAW session. Certainly good enough for "my brother who plays keys lives in a different city but we want to collaborate on something".
pantelisk 20 hours ago [-]
I think this git but for music you are suggesting is quite interesting (or more like a figma for music maybe).
My musician friends still use dropbox and google drive to push around files to each other. Honestly, I would be all for it but I have a feeling that musicians are a tough crowd when it comes to these services. So maybe if somebody like Bandcamp who has already demonstrated good will with the community steps up and builds something that would be a delight.
Griffinsauce 18 hours ago [-]
This is roughly the idea but the platform is very clunky. My band also somehow lost access to some tracks due to permissions vagueries and in general the experience is very enshittified. I would not recommend it.
someguyiguess 23 hours ago [-]
Yes. I’ve wanted something like this for a while. I’ve always wondered why there isn’t version control for DAWs. So many times I’ve spent hours editing a track and accidentally saved it without specifying a unique file name. Only to open it later and wish I could go back to before the changes that fucked it up.
PaulDavisThe1st 21 hours ago [-]
The good version controls used for code & text are line-oriented; most DAW session file formats are semantically scoped, and so the VC tools won't work well.
Most DAWs allow you to "snapshot" a session at any time, and return to it as you want to. Certainly Ardour does that.
Griffinsauce 18 hours ago [-]
Reaper makes periodical autosaves.
empressplay 18 hours ago [-]
Logic Pro allows you to revert to previous saves / auto-saves.
conradfr 14 hours ago [-]
If that's just "turn-based collaboration" use the same DAW and a shared Drive/Dropbox/Whatever.
dwa3592 10 hours ago [-]
this is exactly what i thought - but i guess the discoverability is missing. where you can say, "hey, i have this guitar riff, any drummers?". it's more of a community + access to the same daw.
JKCalhoun 5 hours ago [-]
Yeah, discoverability and convenience.
conradfr 5 hours ago [-]
Oh ok, I thought it was more in the spirit of "doing a track with my friends".
sporkl 24 hours ago [-]
I think that's what Soloist[1] is trying to do (unaffiliated, but I've met the founder)
As a side note, is there any online community where you find people willing to do this? I’ve always struggled most with finding people eager to play and create music, especially as I get older. What you describe sounds like fun.
notThrowingAway 18 hours ago [-]
Out of all web-based apps I've tried, audiotool matches your description the closest.
esikich 19 hours ago [-]
Idk if the GitHub analogy really works for music.
With software, the code is a tool. And you can give the code away and still make money on hosting, support, enterprise sales, consulting, recruiting, whatever.
With music, the stem is the product.
If the drum loop is mediocre, nobody cares. If it's actually good, the creator usually wants ownership, licensing, royalties, exclusivity, or at minimum, attribution. But even at that level, it's trivial. Once you remove the triviality of it, it becomes art, which is the product.
People absolutely want cloud collaboration though. Shared sessions, async recording, version history, stem exchange, all of that makes sense.
But public forks of high quality musical material don't really compound the way software tools do. Most musicians are not trying to maximize downstream reuse of their riffs by strangers on the internet.
radarsat1 11 hours ago [-]
Not everything is about making money.
Also I don't get the impression the idea is intended for "most musicians".
whateveracct 7 hours ago [-]
some people liked github because it was fun to share code. it wasn't all a funnel to compensation..
import 17 hours ago [-]
Yes if you’re collaborating with 10 people in the same project, otherwise non sense.
antoniojtorres 21 hours ago [-]
That reminds me of what Splice used to do
ajs1998 22 hours ago [-]
Could be pretty easy to do with atproto accounts. Users could save/share their music as a tangled.sh repo and other people could contribute or fork as they please. A nice UI could hide all of that and make it fun to collaborate on music.
Too bad I'm lazy. RiffHub looks neat.
mickmister 19 hours ago [-]
[dead]
epicsagas 10 hours ago [-]
The PWA/offline mode is underrated. Just stored it locally and now I have a full audio editor that works without internet, lives in a tab, and doesn't ask me to update. This is what the web platform was supposed to feel like.
marc_g 5 hours ago [-]
I was editing some audio last week and I just picked the first thing in Google that didn't look like shit and didn't try to take my first born child (which I don't even have), to use any feature of it. Turns out it was this! Thanks, it's been a pleasure using your tool and I'll definitely do it again!
Asterism 4 hours ago [-]
Looks awesome! Had some trouble using it though. I double clicked a sample and got stuck there. Nothing in the view menu or any way I could see to get back to the initial overview screen.
pantelisk 3 hours ago [-]
oh to go back to multitrack, there is a button at the top right (multitrack beta). Maybe it feels abit disconnected being there
cocodill 20 hours ago [-]
It feels like cool edit pro 2 before it was turned to shit by adobe. Your app has a pretty good and intuitive UX. And that's the most important thing in an audio editor.
coldcity_again 13 hours ago [-]
Ahh THAT's what it was reminding me of. Thanks! CEP2 was great indeed.
sam1r 23 hours ago [-]
Significant props for accepting .flac files out of the bat. Incredible work.
sgallant 1 days ago [-]
This is great. I need to do audio work this coming week and was dreading Audacity.
timc3 1 days ago [-]
Try Ocenaudio - I’ve used pretty much every audio editor free and paid for and this is my go to for a free editor.
I also cannot understand why anyone would recommend Audacity.
hootz 23 hours ago [-]
Ocenaudio is closed source, that may be one of the reasons someone might recommend Audacity over it.
jrm4 23 hours ago [-]
Hehe ditto
I get flak for this, but Audacity is my "proof" that GIMP's name is why people don't use it, not the UI.
Like GIMP, Audacity's UI is awful, but people still use it. :)
Jaxan 17 hours ago [-]
I used audacity 20 years ago and the interface is still the same. That is also worth something.
em-bee 21 hours ago [-]
people use gimp too. and i bet there are more gimp users than audacity.
as for the UI, i don't get it. what's so bad about it? and how is this one better? i looked at both and ardour too. so far audacity is the only one that has a feature to detect silence and label it. it's pretty easy to use too. i use this to detect chapters and create a chapter index for audio books. last one i did this week took only a few minutes, and most of the time was typing the chapter titles into audacity. i could not figure out how to do this in ardour or audiomass
darkstarsys 13 hours ago [-]
I spend a lot of time doing this too -- cutting up band rehearsal tapes into songs and exporting all. As weird as Audacity's UI is, I haven't found anything better than it at this.
jrm4 7 hours ago [-]
Again, try Ocenaudio. I'm old enough to have used Cool Edit/Adobe Audition. Similar flow to those.
em-bee 4 hours ago [-]
i tried it. i could not find any functionality to detect silence. also no way to label selections. or do i use regions for that? it says mp3 does not support regions. no way to export a list of regions with timestamps.
i spent about 15 minutes trying to figure out the above. in audacity the whole book was done in 5 minutes.
also, i really don't get what is supposed to be better about that interface. both apps have text menus with lots of functions, and you have to know what the functions do by their name. that makes ocenaudio no easier than audacity in my opinion. and it's not even FOSS.
jrm4 7 hours ago [-]
Have you tried Ocenaudio (which is roughly the same as old school Cool Edit/Audition?)
Far more intuitive, I think. Keyboard shortcuts and cutting and pasting similar to what you'd get in e.g. Word.
throawayonthe 1 days ago [-]
when have you last tried audacity? it's been getting friendlier
Forgeties79 1 days ago [-]
Agreed but it’s still not a proper DAW and suffers from those limitations. It gets very rickety when you go beyond a basic stereo mix.
amelius 1 days ago [-]
How much work would it be to compile Audacity for the web?
Have you tried Ardour? It's like a superset of Audacity.
serious_angel 1 days ago [-]
It seems like the inspiration went from Audacity, and with great changes to the design and feel of calmness and solidity!
I've tried loading a file with XM format, yet the current state of the import logic stated "Unsupported". Is there any chance you'll support the format?
For example, the following artwork is radiating charmingly in VLC:
- https://cable.ayra.ch/modplayer/mods/!Others/DYNAMITE_-_Winamp_5.0RC8_crk.xm
And, thank you! very much for the experiments, effort, miracles... art you do...
pantelisk 1 days ago [-]
Thank you :) I 'll look into it, I am a little cautious of bloating up the filesize (right now it's at 98kb of js and 10kb of css), but if I can make something work efficiently I 'll give it a go.
On an unrelated note, I'm a little surprised there is no good open source web audio tracker (like Renoise but for the web) out there yet...
Oh.. I 'm mindblown! I was wrong, this is the great tracker we were missing
dspillett 1 days ago [-]
For that much functionality 98kb is hardly bloated at all by modern standards, impressively slight in fact, it could probably cope with some more.
Unless part of your fun is keeping it so very trim, of course!
pantelisk 23 hours ago [-]
Yes, it's part of the fun. Original version was 65kb (with just the single editor mode and all the filters, mp3/wav export etc). But then having to add flac codec, tempo estimators and finally the multitrack mode, made it closer to 100.
When I started developing I was a little frustrated with how bloated the web felt back then so I took that direction, it's much better today though and it's no longer an issue, but I still find it fun to impose these constraints and try to work within or around them (there's this fascinating concept of constrained creativity)
jamwise 23 hours ago [-]
I appreciate the attention to efficiency and avoiding bloat. As a frequent audacity user I'm thinking I might end up using this for a lot of simpler tasks.
That said the web offers such great techniques to maintain this. Passive loading of plugins for example could keep things snappy and light and load things when you need them.
If you want the perspective of a prospective long term user: I'd be very comfortable using your app even at tens of megabytes. You could probably keep your initial load pretty light but pull in larger modules as needed. There are certain effects and audio layering I often use in Audacity that would keep me there, but your modern interface and browser access are huge selling points. If your vision includes moving to a bigger editor I guarantee you you'll find a huge base who wouldn't even notice megabytes of code.
pantelisk 22 hours ago [-]
All very good points, not much to say I agree with you. With loading plugins on demand it could grow in size without affecting load and experience (and since offline mode is a separate link that would still be fine to be a little larger since it's fetching the app locally).
ammar_x 15 hours ago [-]
This looks great for quick audio operations without the need to use heavy apps.
One question: I tried the "Fade In" effect; is there a way to control its timing (i.e. the part of the clip where the effect is applied) ?
pantelisk 15 hours ago [-]
you can click and drag to select part of the audio (and then drag the edges of the selection region that has appeared if you want to adjust it), and then apply the effect. All effects prioritize the current selection first, and if no selection is present then get applied on the entire track.
algoth1 1 days ago [-]
Getting the 2002 Cool Edit Pro 2.0 vibes!
TheCipster 12 hours ago [-]
Very cool! Congrats OP.
How would you compare it to OpenDAW?
OpenDAW is different beast in the same field. It's a full music editor and suite, where you can write notes down on a piano roll (or record with midi), then use synthesizers and samples to turn that into a song.
Audiomass is an audio editor, meaning that it works with already existing files that might need to be cut, edited, cleaned, or filtered, or in case where one has multiple stems put together to be mixed.
Think of it a bit like vector vs pixel editing. OpenDAW is vectors (music info), audiomass is pixels (music data)
the_arun 9 hours ago [-]
I need an Audio tool to remaster old songs. Basically to bring old songs to modern crystal clear quality. I would be happy pay subscription fees. Is there a tool for that?
andrew_kwak 16 hours ago [-]
Tried it out for a bit. Really smooth for a web app, especially with multitrack editing. Do you know if it can handle MIDI files too, or just audio?
sailingcode 16 hours ago [-]
Impressive, congratulations for the nice work.
pantelisk 16 hours ago [-]
Hey HN. Thanks again for featuring this project :) this is my favorite community on the internet and my go to site to visit, almost by reflex, when I have idle time, so it feels me with joy to have made something well received here.
I 'll be heading off soon, so decided to write some features included in this release that might not be apparent right away (still working on improving the UX).
- Drag n drop multiple audio files into multitrack = multiple channels automatically created
- Double click on a waveform box in multitrack, opens it in the original audio editor (for more precise editing)
- Copying (command+c, or shift+c) works between multitrack and regular editor. So for example, you can open a file in original editor tweak it, and then copy all or part of it and paste it in multitrack in a specific channel.
- Most effects have already pre-made presets to make them easier to use
- You can make your own effect presets by clicking the 3 dots after having made a modification in an effect (stored in localstorage)
- Zero crossing selection is under "Edit"
- There is a tempo tools section in View. You can automatically detect tempo of a track, tap to guess a tempo and play with metronome
- There is also an id3 tag viewer (for mp3 files) there as well
- You can right click or press M to add markers (makes it easier to highlight sections of a track, especially when working with longer audio tracks)
- Seamless Loop tool (under Edit): crossfade preview, silence trim, repeat loop, open loop in a new editor tab.
- Offline/PWA support: Help > store offline version, will open a new page that will trigger a service worker that will make the site work offline as well.
- Session export as .amss file for multitrack. If you aren't done working on a session you can export all of its audiofiles and configuration in an LZMA compressed container file (will still be pretty big though). For single audio mode, mp3/wav/flac export is available.
- Pressing X in multitrack when 2 waveform boxes overlap, makes them crossfade smoothly (denoted by an "XF" label at the top right - undocumented behavior but can be quite useful, will keep improving it)
- You can open the menu by pressing the ~ key and then navigate it with arrow keys (left/right for sections, bottom up for selections, enter to trigger an action and esc to close) for a tiny bump in speed of getting things done. Similarly the time controls are clickable and open a mini menu where a time can be specified to jump quickly to it (arrow keys to go between minutes/s/ms)
And finally my favorite feature of them all (though not a new one per se),
- In "View" select "Frequency analyzer" or "Multitrack mixer" and then press the dock button. Audiomass supports the ability to extract elements of it into new pop up windows. So you could have parts of the application on a different monitor keeping the main app in the main tab. It's a very old trick, but I find it kinda cool :)
Thanks again and hope you enjoyed the sample music! (edit: formatting)
Intermernet 14 hours ago [-]
This is awesome. Congratulations!
As others on this thread have commented, you haven't specified a license. Don't jump on the first thing you think of. Consider the various OSS licenses and decide which one suits you best.
croisillon 9 hours ago [-]
does it have to be dark mode?
gunapologist99 18 hours ago [-]
Is this open source? No license.
boje 14 hours ago [-]
I'm surprised no one has noticed this yet.
boje 14 hours ago [-]
Digging further, this has been shown before in 2020:
The author mentions in the thread that he eventually plans to have a proper license for it and needs to figure out the licensing of some of the dependencies, but that was six years ago.
This is not directed at the quality of the project itself, however, which seems to be good.
pantelisk 14 hours ago [-]
Author here. License is pretty much do whatever you want with it (free as in free information and free beer), I suppose the closest one to that would be MIT, but I don't like its serious legalese tone. I prefer the whimsical "free as in..." phrase
conradfr 14 hours ago [-]
Cool work, the weird part is effects being item based instead of track based and that selecting an effect stops the playing and you apply it blind.
pantelisk 14 hours ago [-]
Thanks for your comment :) you can press "preview" (and there is a little on/off) in the effect's modal window. But I agree with you, an automation type system that operates on the entire track might be better
conradfr 10 hours ago [-]
Ah yes I miss the preview + space to play.
keithluu 21 hours ago [-]
Awesome tool. Is this the a new version? I used this few weeks ago and it looked a bit different.
Abhi0501 8 hours ago [-]
Really cool project! Been looking for a browser-based audio editor. How does it handle large file sizes?
pantelisk 7 hours ago [-]
I just tried it with a 2 hour podcast file, since more people asked about long files. It is performs great on chrome on my pretty powerful macbook. Some operations are a little slow and zooming in to max level starts to be slow, default things like cut/paste, apply fade effect and volume controls to areas of the file feel ok.
nocodeg 10 hours ago [-]
Brilliant project and great execution. Well done!
djfobbz 21 hours ago [-]
This is a very impressive undertaking. Great job!!!
genericacct 1 days ago [-]
Very nice. One feature id like to see is import of stem bundles as produced by various tools like suno or stemsplitter
shuaibird 21 hours ago [-]
Looks cool. It feels like an early web-based Logic Pro-style editor.
codingconstable 14 hours ago [-]
Well done you!
ugh123 1 days ago [-]
Is there midi support and vst support? I know that's asking for a lot =)
RobotToaster 22 hours ago [-]
Doesn't seem to support midi currently unfortunately. I was hoping for the same.
hbwang2076 14 hours ago [-]
The browser-based audio space is tough — latency and format support are always the hard parts. How are you handling those?
subhashp 17 hours ago [-]
Super Amazing!
ZeWaka 1 days ago [-]
Not sure why you remove the tooltips from deactivated buttons
vandyswa 24 hours ago [-]
What's a waveform box and how does one select it?
pantelisk 24 hours ago [-]
It's the audio track in a channel. A channel is the horizontal strip, a waveform box is a piece of audio somewhere across that strip. You can double click on one to enter single editor mode, or single click to make it active (once it's active you can drag it around, apply effects to it, move it on a different channel etc etc).
There is a little [ + ] button next to CHANNELS in the sidebar, it has no limit but right now so add as many as you like :)
It's using dom to render the multitrack waveform boxes currently so I would assume after a certain point it might start to slow down a bit. In the future might switch it all to be webgpu based to avoid such limits.
m0nit0r 1 days ago [-]
Looks promisimg. Must try the next days.
jdw64 22 hours ago [-]
Cool!!
macwhisperer 1 days ago [-]
this is cool thanks for making it!
argimenes 1 days ago [-]
Makes me think of Quatermass ...
24 hours ago [-]
enannnn 8 hours ago [-]
this is coool
codingconstable 14 hours ago [-]
well done you!
yesbut 1 days ago [-]
what is the theoretical file size / project size limit? what happens when the browser crashes?
pantelisk 1 days ago [-]
I usually use it to edit audio tracks quickly up to 10 minutes long, though I have received nice emails from people who have used for 1hr+ podcasts successfully (though certain heavy operations wouldn't be very fun to use).
For multitrack sessions, there is the ability to export to a .amss file that contains all the settings, markers, tracks etc. For single track edit... it would just crash right now. There is already a feature for caching audio tracks in indexeddb (it's under >File), but honestly it's not a web api I have found to be super reliable. I don't blame the browser developers, because I 'm sure if it was more reliable certain websites would put it to use storing gigabytes of trackers on the user's machine :). For this reason, I haven't made it auto-save the session automatically yet, trying to be a good citizen on the user's computer, maybe that will change in the future if there's a strong need for it.
Also, right now there is no backend, once it loads there are no more requests made to the server, so it's bound to frontend limitations. This is by design, I want it to be an app that respects users, doesn't upload or leak information, no ads, etc, even if it means getting a small hit in functionality in other areas.
I think of it like photopea/pixlr are to photoshop. Quick and easy to use, get you at 90% of the way. If somebody wants to do a serious operation, then by all means go for a paid desktop pro-daw solution :)
edit: reason
em-bee 21 hours ago [-]
i managed to load a 12 hour book. it took some time to load, but once loaded the UI remained snappy, so i guess it is usable. the only problem is that the waveform does not scale when i zoom in.
pantelisk 21 hours ago [-]
Oh, that's fantastic to know.
Did you load it into multitrack, or the regular editor? (in multitrack it does not scale currently, but working on it). On regular editor it should in theory try to zoom.
There is a pyramid cache mechanism for long files, basically it tries to optimize with simple heuristics how many peak-lines to show for every zoom level. The renderer is pretty dumb right now - just old-school 2d canvas "ctx.lineTo" calls - no gpu, so enormous files can really make it slow, this is the reason for the drops (to ease load).
So it might be dropping way too many samples in this case and then not switching properly to the next cache level because the zoom to duration/length ratio is enormous.
I 'll look into it. Thanks again
coldcity_again 13 hours ago [-]
Great to see how far this has come on. Brilliant work!
Ahh I see you are one of the old ways, of the lost knowledge :)
I am very nostalgic for this style of development, even though I do not miss it in a team setting at all!
Super cool app you’ve made!
I want to "check out" someone's drum loop and add a guitar riff. Check it into a branch.
Someone else checks out the drum+guitar, adds a bass line. Checks in.
"Jamming" with other people is one of the most fun things. To the degree that you can "get close" on the web…
RiffHub, anyone?
You play over the most recent (eg) 16 bar repeat. At the end of each repeat, everyone gets the updated loop. It's easier to experience than describe but is surprisingly effective and bypasses a whole class of latency issues.
[1] https://www.cockos.com/ninjam/
[2] http://autosong.ninjam.com/server-list.php
I recently saw a talk of the developer who basically bootstrapped this. Open source and all, and he talked about the idea of collaboration and showed some features and forks that sounded like what you want.
The talk: https://youtu.be/BD7jQcuUOaA
Edit: and another comment alerted me to the existence of live jam sessions, so this would be a possible extension of it
https://www.bandlab.com/creation-features
Most DAWs allow you to "snapshot" a session at any time, and return to it as you want to. Certainly Ardour does that.
[1]: https://www.soloistapp.com/
https://support.apple.com/en-us/guide/garageband-ipad/chsf2f...
With software, the code is a tool. And you can give the code away and still make money on hosting, support, enterprise sales, consulting, recruiting, whatever.
With music, the stem is the product.
If the drum loop is mediocre, nobody cares. If it's actually good, the creator usually wants ownership, licensing, royalties, exclusivity, or at minimum, attribution. But even at that level, it's trivial. Once you remove the triviality of it, it becomes art, which is the product.
People absolutely want cloud collaboration though. Shared sessions, async recording, version history, stem exchange, all of that makes sense.
But public forks of high quality musical material don't really compound the way software tools do. Most musicians are not trying to maximize downstream reuse of their riffs by strangers on the internet.
Also I don't get the impression the idea is intended for "most musicians".
Too bad I'm lazy. RiffHub looks neat.
I also cannot understand why anyone would recommend Audacity.
I get flak for this, but Audacity is my "proof" that GIMP's name is why people don't use it, not the UI.
Like GIMP, Audacity's UI is awful, but people still use it. :)
as for the UI, i don't get it. what's so bad about it? and how is this one better? i looked at both and ardour too. so far audacity is the only one that has a feature to detect silence and label it. it's pretty easy to use too. i use this to detect chapters and create a chapter index for audio books. last one i did this week took only a few minutes, and most of the time was typing the chapter titles into audacity. i could not figure out how to do this in ardour or audiomass
i spent about 15 minutes trying to figure out the above. in audacity the whole book was done in 5 minutes.
also, i really don't get what is supposed to be better about that interface. both apps have text menus with lots of functions, and you have to know what the functions do by their name. that makes ocenaudio no easier than audacity in my opinion. and it's not even FOSS.
Far more intuitive, I think. Keyboard shortcuts and cutting and pasting similar to what you'd get in e.g. Word.
(I'm a bit behind on web technologies nowadays)
On an unrelated note, I'm a little surprised there is no good open source web audio tracker (like Renoise but for the web) out there yet...
Unless part of your fun is keeping it so very trim, of course!
When I started developing I was a little frustrated with how bloated the web felt back then so I took that direction, it's much better today though and it's no longer an issue, but I still find it fun to impose these constraints and try to work within or around them (there's this fascinating concept of constrained creativity)
That said the web offers such great techniques to maintain this. Passive loading of plugins for example could keep things snappy and light and load things when you need them.
If you want the perspective of a prospective long term user: I'd be very comfortable using your app even at tens of megabytes. You could probably keep your initial load pretty light but pull in larger modules as needed. There are certain effects and audio layering I often use in Audacity that would keep me there, but your modern interface and browser access are huge selling points. If your vision includes moving to a bigger editor I guarantee you you'll find a huge base who wouldn't even notice megabytes of code.
One question: I tried the "Fade In" effect; is there a way to control its timing (i.e. the part of the clip where the effect is applied) ?
https://opendaw.org
Audiomass is an audio editor, meaning that it works with already existing files that might need to be cut, edited, cleaned, or filtered, or in case where one has multiple stems put together to be mixed.
Think of it a bit like vector vs pixel editing. OpenDAW is vectors (music info), audiomass is pixels (music data)
I 'll be heading off soon, so decided to write some features included in this release that might not be apparent right away (still working on improving the UX).
- Drag n drop multiple audio files into multitrack = multiple channels automatically created
- Double click on a waveform box in multitrack, opens it in the original audio editor (for more precise editing)
- Copying (command+c, or shift+c) works between multitrack and regular editor. So for example, you can open a file in original editor tweak it, and then copy all or part of it and paste it in multitrack in a specific channel.
- Most effects have already pre-made presets to make them easier to use
- You can make your own effect presets by clicking the 3 dots after having made a modification in an effect (stored in localstorage)
- Zero crossing selection is under "Edit"
- There is a tempo tools section in View. You can automatically detect tempo of a track, tap to guess a tempo and play with metronome
- There is also an id3 tag viewer (for mp3 files) there as well
- You can right click or press M to add markers (makes it easier to highlight sections of a track, especially when working with longer audio tracks)
- Seamless Loop tool (under Edit): crossfade preview, silence trim, repeat loop, open loop in a new editor tab.
- Offline/PWA support: Help > store offline version, will open a new page that will trigger a service worker that will make the site work offline as well.
- Session export as .amss file for multitrack. If you aren't done working on a session you can export all of its audiofiles and configuration in an LZMA compressed container file (will still be pretty big though). For single audio mode, mp3/wav/flac export is available.
- Pressing X in multitrack when 2 waveform boxes overlap, makes them crossfade smoothly (denoted by an "XF" label at the top right - undocumented behavior but can be quite useful, will keep improving it)
- You can open the menu by pressing the ~ key and then navigate it with arrow keys (left/right for sections, bottom up for selections, enter to trigger an action and esc to close) for a tiny bump in speed of getting things done. Similarly the time controls are clickable and open a mini menu where a time can be specified to jump quickly to it (arrow keys to go between minutes/s/ms)
And finally my favorite feature of them all (though not a new one per se),
- In "View" select "Frequency analyzer" or "Multitrack mixer" and then press the dock button. Audiomass supports the ability to extract elements of it into new pop up windows. So you could have parts of the application on a different monitor keeping the main app in the main tab. It's a very old trick, but I find it kinda cool :)
Thanks again and hope you enjoyed the sample music! (edit: formatting)
As others on this thread have commented, you haven't specified a license. Don't jump on the first thing you think of. Consider the various OSS licenses and decide which one suits you best.
https://news.ycombinator.com/item?id=23337091
The author mentions in the thread that he eventually plans to have a proper license for it and needs to figure out the licensing of some of the dependencies, but that was six years ago.
https://news.ycombinator.com/item?id=23338538
This is not directed at the quality of the project itself, however, which seems to be good.
Sorry still working on improving the UX :)
EDIT: There's a short video here - https://x.com/pkalogiros/status/2053492761350046032
It's using dom to render the multitrack waveform boxes currently so I would assume after a certain point it might start to slow down a bit. In the future might switch it all to be webgpu based to avoid such limits.
For multitrack sessions, there is the ability to export to a .amss file that contains all the settings, markers, tracks etc. For single track edit... it would just crash right now. There is already a feature for caching audio tracks in indexeddb (it's under >File), but honestly it's not a web api I have found to be super reliable. I don't blame the browser developers, because I 'm sure if it was more reliable certain websites would put it to use storing gigabytes of trackers on the user's machine :). For this reason, I haven't made it auto-save the session automatically yet, trying to be a good citizen on the user's computer, maybe that will change in the future if there's a strong need for it.
Also, right now there is no backend, once it loads there are no more requests made to the server, so it's bound to frontend limitations. This is by design, I want it to be an app that respects users, doesn't upload or leak information, no ads, etc, even if it means getting a small hit in functionality in other areas.
I think of it like photopea/pixlr are to photoshop. Quick and easy to use, get you at 90% of the way. If somebody wants to do a serious operation, then by all means go for a paid desktop pro-daw solution :)
edit: reason
Did you load it into multitrack, or the regular editor? (in multitrack it does not scale currently, but working on it). On regular editor it should in theory try to zoom.
There is a pyramid cache mechanism for long files, basically it tries to optimize with simple heuristics how many peak-lines to show for every zoom level. The renderer is pretty dumb right now - just old-school 2d canvas "ctx.lineTo" calls - no gpu, so enormous files can really make it slow, this is the reason for the drops (to ease load). So it might be dropping way too many samples in this case and then not switching properly to the next cache level because the zoom to duration/length ratio is enormous.
I 'll look into it. Thanks again