NHacker Next
login
▲Cracked – Method chaining/CSS-style selector web audio librarygithub.com
88 points by stephenhandley 21 hours ago | 23 comments
Loading comments...
freeamz 19 hours ago [-]
Hmm seems like the jQuery of Web Audio API? How are the browser support on mobile?

Edit: with a bit pure data flavor mixed in... super nice!

jeremyleach 19 hours ago [-]
This is wonderful - a very immediate and intuitive way to construct and create audio graphs!
stephenhandley 21 hours ago [-]
WebAudio-based library that provides quick way to set up a web audio graph.

Desktop wrapper: https://github.com/billorcutt/Cracked

Cat examples: https://idroppedmyphonethescreencracked.tumblr.com/

xipix 18 hours ago [-]
Can it handle "nodes" that emit a different number of audio samples than they consume?

I'm thinking of time stretch effects like mine https://github.com/bungee-audio-stretch/bungee

stephenhandley 15 hours ago [-]
It's basically just a wrapper around WebAudio, I've generally just used the builtin nodes, but I think you could do sample-level processing with this? https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkle...

love the demo https://bungee.parabolaresearch.com/change-audio-speed-pitch

have you thought about wrapping it as an audio unit or vst via juce/clap/iplug so its usable in a daw?

https://juce.com/ https://cleveraudio.org/developers-getting-started/ https://github.com/iPlug2/iPlug2

chaosprint 15 hours ago [-]
if you are looking for some performant declarative web audio lib in js, check:

https://glicol.js.org/

it's ported from Rust

stephenhandley 14 hours ago [-]
looks cool but wasn't able to get audio output from the stackblitz demo
wesz 21 hours ago [-]
This is brilliant! I'm gonna use it to prototype synths for my drum patterns/bass lines website.
gravitronic 12 hours ago [-]
You should check out webaudiomodules and sequencer party.
tristanMatthias 19 hours ago [-]
Would love to plug this into https://synthia.app
stephenhandley 14 hours ago [-]
cool app. maybe its already possible but i'm missing how but would be awesome if dragging a new node between an existing connection it would automatically insert it between the nodes to avoid the steps to disconnect / reconnect
jeremyleach 17 hours ago [-]
Nice app!
18 hours ago [-]
nailer 20 hours ago [-]
Just in case you scrolled past it, the live demo was in the github website link:

https://idroppedmyphonethescreencracked.tumblr.com/

thenthenthen 8 hours ago [-]
I think i-dropped-my-phone-in-the-toilet-and-the-audio-stopped-working-and-yes-i-checked-the-mute-switch because it does not seem to generate any sound on iOS Safari, not supported?
hdjrudni 19 hours ago [-]
THese all sound awful. I don't get it.
stephenhandley 15 hours ago [-]
You didn't even like this one!? https://idroppedmyphonethescreencracked.tumblr.com/post/9350...

That said, guessing a bunch of those are meant to be concise examples.

For what its worth my quick take on a lot of the text-based sound coding environments [1] is that they provide a relatively quick way to approach creating audio programmatically differently compared to a more traditional spatial / grid-based daw.

One nice thing about Cracked is that you can treat it as an audio input in Ableton, Logic, etc. and so you could use it to generate a sound to sample / process further in a daw arrangement. I had stumbled across it originally from the author's Wikipedia page which mentions that he uses it to create longer albums / pieces https://en.wikipedia.org/wiki/Bill_Orcutt

Interview with him about it https://www.thewire.co.uk/news/41540/bill-orcutt-releases-op...

[1] https://tidalcycles.org/ https://sonic-pi.net/ https://chuck.stanford.edu/ https://supercollider.github.io/

promiseofbeans 19 hours ago [-]
I think the idea is that you can use this to build synths that you then control woth midi, etc
DrSiemer 18 hours ago [-]
Would this also work for adding effects to existing audio? A simple reverb and pitch bend on a recorded vocal would make me a lot more excited than experimental synth effects.
phantomathkg 19 hours ago [-]
Interesting library with a rather weird name.
mattigames 18 hours ago [-]
Its just social engineering to make people who drop their phones get involved in audio creation.
20 hours ago [-]
noelwelsh 15 hours ago [-]
I find the underlying premise a bit odd. I can name values in Javascript just fine:

const whatever = ...

I would rather refer to them by these names than by strings. It's both faster and safer to do so.

zamadatix 6 hours ago [-]
This provides ID + class based selection of nodes with a syntax which allows combining multiple filters. It's more akin to the methodology of selecting nodes in the DOM than just providing a name alone.
10 hours ago [-]
frshOffTheBoat 9 hours ago [-]
[dead]
gitroom 18 hours ago [-]
This is super cool, Im definitely gonna mess around with it for my own synth experiments!