{"id":947,"date":"2014-08-26T20:40:04","date_gmt":"2014-08-26T20:40:04","guid":{"rendered":"http:\/\/charlie-roberts.com\/gibber\/?p=947"},"modified":"2014-08-26T23:30:18","modified_gmt":"2014-08-26T23:30:18","slug":"gibber-lib-js-p5-gibber-js","status":"publish","type":"post","link":"http:\/\/charlie-roberts.com\/gibber\/gibber-lib-js-p5-gibber-js\/","title":{"rendered":"Gibber.lib.js &#038; p5.gibber.js"},"content":{"rendered":"<p>I&#8217;ve had requests from a couple of faculty members at different universities to bring the audio portion of Gibber into its own library so that it could be used outside of http:\/\/gibber.mat.ucsb.edu. I had always intended <a href=\"http:\/\/www.charlie-roberts.com\/gibberish\">Gibberish<\/a> to fill this role, but Gibberish is fairly low-level and doesn&#8217;t come with a number of Gibber&#8217;s features that make it easy to get started making music:<\/p>\n<ul>\n<li>Basic music theory<\/li>\n<li>Synth presets<\/li>\n<li>Simple sequencing<\/li>\n<\/ul>\n<p>I think those three elements in Gibber really do speed up the process of making music, as opposed to making DSP graphs. With that in mind, I&#8217;ve gone ahead and created <a href=\"http:\/\/www.charlie-roberts.com\/gibber\/gibber-lib-js\">Gibber.lib.js<\/a>, which can be used inside of any web page. It can also be used inside of node.js thanks to the excellent <a href=\"https:\/\/www.npmjs.org\/package\/web-audio-api\">web-audio-api module<\/a> by <a href=\"http:\/\/www.funktion.fm\/#contact\">S\u00e9bastien Piquemal<\/a>.<\/p>\n<p>While I was at it, I performed some very (very) slight modifications to make Gibber.lib.js play nice with <a href=\"http:\/\/p5js.org\">p5.js<\/a>, the newly released port of Processing to JavaScript. Although there already is a <a href=\"http:\/\/p5js.org\/reference\/#\/libraries\/p5.sound\">p5.sound.js library<\/a>, I&#8217;d argue that, like Gibberish, it&#8217;s too low-level for music making; it lacks the elements I listed previously: theory, synth presets, and easy sequencing. However, it&#8217;s better for sound effects and whatnot as it uses buffer-processing with browser-native audio nodes, while Gibber performs per-sample processing using JavaScript and is thus less efficient (although arguably more flexible).<\/p>\n<p>Please try out <a href=\"http:\/\/charlie-roberts.com\/gibber\/p5-gibber\/\">p5.gibber.js<\/a> and <a href=\"http:\/\/www.charlie-roberts.com\/gibber\/gibber-lib-js\">Gibber.lib.js<\/a> and let me know what you think!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve had requests from a couple of faculty members at different universities to bring the audio portion of Gibber into its own library so that it could be used outside of http:\/\/gibber.mat.ucsb.edu. I had always intended Gibberish to fill this role, but Gibberish is fairly low-level and doesn&#8217;t come with a number of Gibber&#8217;s features [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/posts\/947"}],"collection":[{"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/comments?post=947"}],"version-history":[{"count":4,"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/posts\/947\/revisions"}],"predecessor-version":[{"id":952,"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/posts\/947\/revisions\/952"}],"wp:attachment":[{"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/media?parent=947"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/categories?post=947"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/charlie-roberts.com\/gibber\/wp-json\/wp\/v2\/tags?post=947"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}