Grains4u - Blog

I'm building a web-based granular synth called Grains4u.
It'll teach you what granular synthesis is, and let you make some cool sounds too!
On this blog, I keep you updated on my progress...

Entry 2 - Deploy Flow and A Stub


Alright, so I've made a few steps today. I've set up and started pushing to the CCRMA GitLab, I've set up git-s3 as a means of easily pushing my git commit to a live AWS S3 bucket, set-up to host the site, and I've actually gotten a live site going, with a little placeholder stub hanging out there for now.


As you can see, there really isn't much going on in there right now. It does contain my first stab at writing some WebAudio code. There's a little button that will play a 440 sine wave, toggling it on and off. This was mainly just a proof-of-concept excercise, to see if I could get something WebAudio API related working.

A majority of my day went towards setting up the git-s3 deployment tool, so that I could commit changes, and in one command, push those changes out to the S3 bucket where the site it living for now. Here's some sample command line output for what a push like that looks like:


My next stop in feature-implementation land (my first stop also, I guess...) is to start digging into the MediaStreamAudioSourceNode interface, so that I can start taking in live microphone input, as well as recording that input.

Entry 1 - Hello World


Hello there! My name is Matt, and this is the blog for my 220C project, Grains4u. The idea behind Grains4u is to create a simple, web-based granular synthesizer that someone with no knowledge of how granular works can use. I remember, when I first learned what granular synthesis was, after hearing much about it, I was blown away by how rich and interesting the sounds it made could be! My hope is that people can use the utility to 1) learn what granular synthesis is, and 2) make some cool music or sound textures.

In terms of features, I'm hoping to be able to implement the following:

There's unfortunately not too much to show at this point, have been mainly digging into to the WebAudio API documentation to try and figure out all that business. My next step is to implement something that will be able to record something from live microphone input, store it into an AudioBuffer, and play it back.