Cracked - method chaining/CSS-style selector web audio library

https://news.ycombinator.com/rss Hits: 15
Summary

I Dropped My Phone The Screen Cracked I Dropped My Phone The Screen Cracked is a web audio library that uses method chaining and CSS-style selectors to simplify creating, configuring and connecting audio nodes in the browser. Here's hello world: //create and connect sine and system out. start the sine __ ( ) . sine ( ) . dac ( ) . play ( ) ; and a slightly more complex example: //create and connect a sine oscillator (frequency of 180), lowpass, //compressor and system output (level of .5). __ ( ) . sine ( 180 ) . lowpass ( { frequency : 160 , q : 5 , id : "lp1" } ) . compressor ( ) . dac ( .5 ) ; //select the sine using its type and change the detune to 10 __ ( "sine" ) . detune ( 10 ) ; //use the id to get a reference to the lowpass //filter and set the frequency to 600 __ ( "#lp1" ) . frequency ( 600 ) ; //create and connect a sawtooth oscillator, waveshaper & compressor //and connect the compressor to the existing dac we created above. __ ( ) . saw ( 800 ) . waveshaper ( ) . compressor ( ) . connect ( "dac" ) ; //change the ratio of both compressors to 12 __ ( "compressor" ) . attr ( "ratio" , 12 ) ; //start the sine and the sawtooth __ ( "sine,saw" ) . start ( ) ; Audio node chains can be encapsulated as units using macros //define a simple macro named "microsynth" __ ( ) . begin ( "microsynth" ) . sine ( ) . gain ( ) . end ( "microsynth" ) . dac ( ) ; //change the frequency of the sine __ ( "microsynth" ) . frequency ( 100 ) ; //start it up __ ( "microsynth" ) . start ( ) ; and macros can be wrapped in simple factory functions to create plugins, making it possible to instantiate instances, connect them to other nodes, address them individually or as a group, nest them within other macros, etc. //define a plugin called microsynth cracked . microsynth = function ( params ) { //pass any params to begin() so they can associated with the instance __ ( ) . begin ( "microsynth" , params ) . sine ( ) . gain ( 0 ) . end ( "microsynth" ) ; //return cracked so we can chai...

First seen: 2025-05-16 03:42

Last seen: 2025-05-16 17:44