Terry Riley's "In C"

A Journey Through a Musical Possibility Space

Posted on by Tero Parviainen

In early 2015 I came across a piece of music that was unlike anything I'd ever heard before. It was called "Africa Express Presents: Terry Riley's In C Mali," which didn't ring any bells for me at the time, though it involved a number of musicians I like, including Brian Eno.

When I hit "play," I was surrounded by a cloud of music that seemed to contradict itself at every turn — as if it was in a state of suspended animation, but it kept changing all the time. It was filled with energy and forward motion, yet it was somehow calming. It was highly repetitive but organic. It was rhythmically intricate but it grooved. It was often hard to pin down, but it didn't seem very complicated.

Read more →


SVG and Canvas Graphics in Angular 2

Posted on by Tero Parviainen

Most Angular applications are built using good old HTML and CSS. But it just so happens that HTML is only one of the four main rendering pipelines made available on the web platform, the three other ones being SVG, the 2D Canvas, and the 3D WebGL Canvas.

These alternative rendering technologies can be very useful when you are building something highly visual. Icons, charts and other data visualizations, mapping apps, and games are all examples of things that can be difficult to build using just HTML, but relatively easy to accomplish with SVG or Canvas.

In this guide I will describe how you can incorporate SVG and 2D Canvas graphics into Angular applications, and how you can avoid potential problems along the way. I will also describe how to add motion to SVG and Canvas graphics by animating them. We will look at the various options available and learn about their strengths and weaknesses.

Read more →


Additive Synthesis And the Harmonic Series

Posted on by Tero Parviainen

Sine waves are simple things and provide a nice entry point to learning audio signal processing. So far we've been able to discuss things like frequency and amplitude using nothing but individual sine wave oscillators.

But the thing is, a solitary sine wave is not very interesting to listen to. It's a blank slate, devoid of any color, character, or drama.

Things start to get much more interesting when we have multiple sine wave oscillators at our disposal. What we can do is combine them to produce more complex sound waves. This technique is called additive synthesis.

Read more →



What Is the Web Audio API?

Posted on by Tero Parviainen

Using the Web Audio API you can create and process sounds in any web application, right inside the browser.

The capabilities of the Web Audio API are governed by a W3C draft standard. It was originally proposed by Google and has been under development for several years. The standard is still being worked on, but the API is already widely implemented across desktop and mobile browsers. It is something we can use in our applications today.

Read more →