Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Audio from Scratch with Go: Extracting Breakpoints (dylanmeeus.github.io)
146 points by Insanity on Aug 8, 2020 | hide | past | favorite | 25 comments


This is exactly the type of thing I'm on HN for. Someone in a different part of the world walking us through a very specific technology with examples.


My thoughts exactly!

Great blog, love to see more


Thanks! :)


It's nice to see this sort of thing here. FWIW in computer music parlance this is usually called an envelope follower.

Here's an example of a realtime implementation: https://ccrma.stanford.edu/CCRMA/Courses/220b:1998/220b-98-0...


it's also not a very clever one. I think what the author wants to do is actually segmentation which is much more complex program. the best algorithm Ive used for doing any kind of amplitude following is a detrender with two envelopes running at different rates. next to that is Foote's audio novelty audio algorithm.


I enjoyed this and am going to take a look at the rest of the series, always wanted to learn a bit more about audio processing.


Thanks! Glad you like it :)


Great series. I always wanted to learn about audio processing. Any learning material for this? Besides this series obviously


It depends on what programming language you'd like to work in and what exactly processing means to you. Are you interested in audio analysis or writing programs that generate audio like a synthesizer for a DAW? For audio analysis I'd recommend essentia a C++ library with Python bindings. For writing plugins, I'd recommend you take a look at JUCE, which has a decent set of tutorials on their website. You'll notice that C++ is pretty standard in industry because speed and hardware access are important. If JUCE is the sort of thing you're looking for, I'd also recommend the Audio Developer Conference talks on Youtube.


I've found rust to be very capable as well, if lacking in runtime libraries with native bindings. It's not too difficult to bind into coreaudio and jack, though.


I've actually been doing a bit of research into using Rust for an upcoming project. The JUCE library is just so fully featured that it would be an undue burden to use any other language to write audio software in. Still, I think Rust is an attractive language for this space and there's definitely some talk about expanding libraries for a JUCE alternative.


[flagged]


Anything where you can write things on the internet can be a blog by definition.


One of the features blogspot, wordpress and the like offered when blogs started becoming popular was the ability to comment in addition to publishing content.

This commenting feature distinguished it from other sites with only content and no ability to comment.

I don't know if github pages have commenting ability.


It's not exactly the same, but https://keithjgrant.com/posts/2019/02/adding-webmention-supp...

Webmention's offer some ability to link comments back to your static sites?


Why not? I am quite curious, because I, too, host my blog on github: https://bollu.github.io/


I think it's because GitHub started as git hosting and people find it offensive when people use it for other things.

That being said, I'd rather read a blog on GitHub then a blog on Medium, generally speaking. I feel like it helps give a better expectation of the type of material you'll be reading.


> I think it's because GitHub started as git hosting and it's _very_ offensive when people use it for other things.

Why?

People use it for dot files, resumes, science literature, ML data sets, Python notebooks, research journals, website designs, games, assets for website designs and games, speech synthesis, speech synthesis wave files, generated visual media, film scripts, recipes, leaks, crypto, and much more.


I think I dropped a /s.

I'm editing it now.


Me too: https://weberc2.github.io/

I'm also curious what problems this presents and what platform the OP thinks we ought to use and why.

EDIT: Interestingly, I just Googled `"github is not a blog"` and the only hit was https://news.ycombinator.com/item?id=22910089 also from the OP 3 months ago where he also didn't support his position.


I think the parent commenter might have an aversion to people ubiquitously storing their ideas on a closed source platform rather than rolling their own.


That’s odd considering Github is just a CDN; you still have to generate the HTML somehow or another.


Exactly! Plus, there's no lock-in. If GitHub pages shuts down tomorrow, I still have all my static files and I can publish them to another platform.


I agree with you, but its more about the message you send when you reinforce and inadvertedly support a certain way of doing things or sharing information. Some would prefer it was 100% open down to the backend.


I think the obvious issue with that line of thinking is “where does it end?” Do you have to own the hardware, or can you rent it? Does the hardware design have to be open? What about the network? Do you have to own and design that too? Presumably the idea is “as much as possible should be open”, but of course what is possible varies from person to person, and for many of us, a GitHub CDN is the boundary of “what is possible” largely because it is dramatically easier than alrternatives. So I don’t see any coherent argument in favor of the OP’s position.


This is the only interpretation I can somewhat support. However, this applies to most blogging platforms, and therefore still seems questionable to me.




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

Search: