HackerTrans
TopNewTrendsCommentsPastAskShowJobs

pantelisk

878 karmajoined 7 anni fa
Say hi to me @pkalogiros on twitter.

In the sidelines buiding open-source:

- https://audiomass.co (a full-blown audio editor in just 60kb of frontend js) ::: - https://pantel.is/projects/css3d/ (an old timey 3d adventure rendered entirely in CSS)

Submissions

Show HN: PocketTTS-raven – fast local in-browser TTS with voice cloning

pantel.is
4 points·by pantelisk·5 giorni fa·4 comments

Show HN: Audiomass – a free, open-source multitrack audio editor for the web

audiomass.co
553 points·by pantelisk·2 mesi fa·120 comments

comments

pantelisk
·4 giorni fa·discuss
Really fun project, but doesn't take ageism into account, it gets easier the further you get whereas it should get be getting harder in certain ways
pantelisk
·4 giorni fa·discuss
There are also solutions for sharing your homelab with others (basically tunneling from your machine->server (internet accessible) <-> client. Though, if your machine would go to sleep that whole chain would fall apart. A few good automatic solutions out there that solve the problem (no "just replace dropbox with ftp" type of argument).

However, I see the appeal of this. Kind of surprised it hasn't happened yet to be honest.
pantelisk
·5 giorni fa·discuss
Yes, you can see an early demo video in the page, of a very early version (I decided not to post the final wip yet).

I’m building an AI gaming companion. Essentially an AI NPC (a speaking dog, think dogmeat of fallout on steroids) that is grounded in the game world, can perceive what’s happening, perform actions, follow complex multi-step instructions, and strategize with the player. I want it to feel natural, so I 'm aiming for real audio conversationality (no push to talk & wait), so audio is important, but also... every millisecond trimmed from audio can be dedicated to heavier AI systems (caching helps heavily there, but extracting player's intent before it even reaches an LLM is probably the biggest trick).

Budgets are pretty tight, ~400ms for everything. I have optimized qwen-3-asr and added streaming detection to it, as well as pocket-tts (this) and qwen-3-tts, with a goal of ~70ms for audio for both detection/creation and then ~350ms for the planning.

It's interesting that gpt-live was just announced today, planning to make more things open source as well as the learnings while building this.
pantelisk
·5 giorni fa·discuss
Hi HN — I’ve been working on a real-time conversational AI, and one of the biggest problems is speech latency. As I was experimenting with various TTS systems I stumbled upon Pocket-TTS by Kyutai. It runs on the CPU which made it a great candidate since it keeps speech synthesis away from GPU resources.

As I was using it I noticed that it didn't solve the latency issues fully due to leading silence and artifacts generation (quite common with all these systems). So I started poking under the hood with the help of agents to try and improve it.

On m4 max, the new browser build runs around ~14x realtime on longer utterances, and around ~3.5x realtime on an iPhone 16 Pro. The native CPU path is faster still: roughly 32–33x realtime warm, with first useful audio around 30ms on my benchmarks. Other systems will vary; my Windows browser results were slower but still usable. This does not introduce a new model or claim better voice quality. The goal was to preserve the intended PocketTTS quality while making it fast enough for low-latency interactive scenarios.

I decided to open source it in case it's useful for anyone else, or at least as a demo of what things that are finally possible now that the barrier of trying stuff has been lowered.

EDIT: Keep in mind it downloads 67mb of data on load.
pantelisk
·23 giorni fa·discuss
And I think both have seen these much older handcrafted css3d engines

- https://pantel.is/projects/css3d/

- https://keithclark.co.uk/labs/css-fps/ (the original)

but quake and doom took it to the next level :)
pantelisk
·2 mesi fa·discuss
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)
pantelisk
·2 mesi fa·discuss
oh to go back to multitrack, there is a button at the top right (multitrack beta). Maybe it feels abit disconnected being there
pantelisk
·2 mesi fa·discuss
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.
pantelisk
·2 mesi fa·discuss
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
pantelisk
·2 mesi fa·discuss
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
pantelisk
·2 mesi fa·discuss
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.
pantelisk
·2 mesi fa·discuss
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)
pantelisk
·2 mesi fa·discuss
Oh.. I 'm mindblown! I was wrong, this is the great tracker we were missing
pantelisk
·2 mesi fa·discuss
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.
pantelisk
·2 mesi fa·discuss
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
pantelisk
·2 mesi fa·discuss
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).
pantelisk
·2 mesi fa·discuss
> https://news.ycombinator.com/item?id=23337091
pantelisk
·2 mesi fa·discuss
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)
pantelisk
·2 mesi fa·discuss
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).

Sorry still working on improving the UX :)

EDIT: There's a short video here - https://x.com/pkalogiros/status/2053492761350046032
pantelisk
·2 mesi fa·discuss
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