Projects

CMake Template for VST Audio Plug-ins

After developing two domain-specific language prototypes for music composition (older, newer solo venture), I decided to get back into the signal processing side of music by developing audio plugins. JUCE is easily the most popular platform for this because you can create cross-platform plugins for VST, Audio Units, AAX, and RTAS from the same codebase. However this functionality requires using their own build tool, and the documentation for JUCE can be a little sparse or misleading in some places.

Read more...

Voder - A Web Audio Experiment

I’m a huge fan of the 99% Invisible podcast, and one of the first episodes that got me into the series was Vox Ex Machina. The episode was about the Voder, an early example of voice synthesis that Bell Laboratories demonstrated at the 1939 New York World’s Fair. Operating the Voder required almost a year a training, as each formant and syllable is formed by hand at the same rate as human speech. You can see the Voder being operated by Helen Harper from this YouTube video. Helen Harper went on to run a school instructing 300 students on how to use the Voder, only 30 of whom became skilled enough to produce fluid speech.

Read more...

Vim Syntax Highlighting for Faust

I have become quite fond of the Faust programming language, it’s a functional programming language that lets you quickly design audio processing and synthesis algorithms. What makes it interesting as a programming language is that signals are treated as discrete functions of time, so when you write a function it becomes second-order function over the signal. Plus it compiles to super-efficient C++ code with support for CoreAudio, Qt, GTK, VST, and Audio Units!

Read more...

Michalak Project Update

It has been a busy year since I last mentioned the Michalak Project and a lot has happened since then. The Michalak Project is a collaboration with Loyola University Chicago’s Center for Textual Studies and Digital Humanities to provide greater access to the Loyola Archive’s Michalak Collection. Apple’s release of iOS 7 forced a few interface changes such as the new flat design, and there have been a few under-the-hood improvements. We are currently adding and annotating other broadsides from the Michalak Collection.

Read more...

Michalak Project

The Library Archives at Loyola University Chicago has a collection of over 1,000 artifacts from the eighteenth and nineteenth centuries, including broadside prints and satirical cartoons. This collection was donated to LUC by Thomas J. Michalak, and the Center for Textual Studies and Digital Humanities has been digitizing these prints and making them available to other scholars. In an effort to expand the reach and utility of these artifacts, I was invited by the CTSDH to develop a mobile application capable of viewing annotated high-resolution prints from the collection. Below are some images from the prototype that I developed over the Spring ’13 semester; all functionality and appearances are subject to change as this application is still far from completion.

Read more...

Designing Instruments for Folding Laptops

This is one of my latest creations: a kalimba-esque synthesizer called KalFMba. No physical modelling (yet…), rather it works based off a simple FM synthesis algorithm. I started this project because I was given a nearly-dead Dell XT2 tablet PC which I resurrected and beefed up. At the time I had recently purchased Max 6 and was intrigued by the idea of creating unique touch screen interfaces for software instruments. A few ideas were played with but nothing came to complete fruition until I decided to further KalFMba as a project for my human-computer interaction course.

Read more...

3D Printed Audio Waveforms

Instructables is a fantastic place to lounge around in. It was in their email newsletter that I saw this project and loved the idea of taking a sound and giving it tactile presence and to see the dynamics of a favorite piece of music. At first I just wanted to recreate the Instructables project as a gift but I knew that assembling small paper discs would be a pain, and paper was not going to be a tough enough material. After stowing the thought away for a while, I realized I had all of tools available to develop this individual’s idea into another direction.

Read more...