Streaming Microphone Audio To Unity WebGL

This is going to cover the steps I used to get the microphone working for the granulation demo.The GitHub repo for that demo can be found here. NOTE: Before reading further, please note that this only covers recording the microphone from the browser’s Unity WebGL app. It does NOT cover streaming audio playback or internet …

Transferring Binary Files Between Unity and Browser

In a recent post, I had a font parsing Unity WebGL application receive binary data, either by hitting an “Upload” button that would bring up a file selection dialog for upload or by dragging and dropping a file onto the app in the browser. These True Type Font (*.TFF) files are binary – so how …

Notes on Audio Granulation

Retiming audio with granulation – and a simple sample in a Unity WebGL example. If we had data for an audio clip and asked someone how to change the playback speed, we’d get a common answer for both, “change the rate we process and play the audio” or “resample the audio data to go through …

Calculating an Even Width For a Line Strip

The operation goes by several names: expanding, dilating, inflating, etc. Basically, given a series of ordered points, how do we calculate a path that’s the line strip, but with an even width? A caveat, this is not going to be an optimized solution, but given the basic intuition I hope to bring, and the resulting …

Font Viewer

A Unity WebGL tool to browse the internals of font files. It supports OTF and TTF files. Either hit the “Load” button or drag and drop a file into the Unity player. Fullscreen The font parsing library and path boolean library are still a work in progress so there are quite a few edge cases …

Basics of Representing Digital Audio

I wanted to cover how data is represented for digital audio. A lot of these concepts are highly coupled so it’s difficult to explain one thing without mentioning things that haven’t been explained yet (PCM, samples, waves, data ranges, etc.), especially without making the article several times longer. So I would suggest reading and understand …

Windows Functions For Writing Key Logging Software

Some quick notes on functions used for logging inputs on Windows, both the mouse and keyboard. I’m going to assume you’re familiar with the Windows Platform SDK or something similar where you can include Windows.h and get access to HWNDs. The classic message pump for a Windows class will let you listen to mouse and …

Examples Of Brand Specs And Visual Identity Systems

The term design language has a lot of facets to it. One of those facets is the goal of creating visually recognizable branding. When first exposed to the brand, viewers should start to build a simple schema of it without outside guidance – no one should have to explicitly give viewers directions on how to …