Tables & Waves

About: WTF is This?

WhoTF?

SM makes makes electronic makes music electronic with makes music music computers electronic computers with SM makes electronic music with music computers computers SM electronic with computers SM with SM SM

WhatTF?

Tables & Waves is an electronic music project. This site is intended to document and demonstrate a few of the musical algorithms employed in Tables & Waves music.

This site is like a blog in which the posts are highly interactive. Observations about the algorithms are written down and the sources of inspiration are referenced and linked. However, the main point is that the algorithms here should make sounds you can hear and should be played and played with via parameters you can change. The goal is to provide simple menus and options for changing the inputs to simple algorithm implementations so you can interact with them. Algorithms, if we are to think of them like instruments for creative expression, should be poked and prodded just as strings are plucked, drums are hit and keys are pressed, etc. The only difference is that algorithms should be poked by data rather than appendages.

WhenTF?

This site was launched in early 2022.

WhereTF?

On the Internet, of course. This site is simply an open source code repository published at GitHub.com via their GitHub Pages features.

WhyTF?

This site aims to share "open source music" techniques, sharing creative processes used to generate musical ideas, experiments and compositions at levels of technical detail where other people might be able to replicate the work.

Bonus: HowTF?

This is a static website using core HTML Web Standards, primarily HTML, CSS, JavaScript, along with SVG and Web Audio. All functionality for the site is implemented in JavaScript, including the sound examples that turn your web browser into a synthesizer. My code that builds this site is MIT-licensed if anyone is interested in grabbing the examples for further use, possibly for musical or educational purposes.

JavaScript is Amazing These Days...

The piano roll visualizations on this site that mimic the visual interface of DAW software were created using the D3.js library. This JavaScript library is amazing. The piano rolls themselves are built to purpose. I have kept them as simple as possible for my needs, which is simply to render the minimal range on a piano roll horizontally (time) and vertically (pitch). See the PianoRoll class if it might be helpful in your work.

The sound the plays from this site is generated using the Tone.js Web Audio framework. This JavaScript library is amazing. My use of it is rudimentary and in know way indicative of its capabilities.

The site builds using esbuild.