Building on Martin Wattenberg's work on arc diagrams, I created a web app that automatically generates arc diagrams from user-provided music files. These diagrams visualize the form of a piece of music by drawing arcs connecting repetitions in musical sequences. Started as a school project, but has since become a pet personal project.
A web-based combined visualization and sonification of gasoline prices in the United States from 1984-2011. The sonification is interactive - clicking on a state will toggle a concurrent sonification for that state.
This web applet automatically visualizes referral patterns within a group of physicians as a directed graph. I created this as a QlikView extension for use within Milliman presentations and data analysis tools.
marbl is a step sequencer for Windows inspired by a game of marbles. Marbles can be manipulated by manually dragging them to new locations, or by flicking them around. As each segment of the center circle is illuminated, any marbles resting on that segment will produce a unique tone.
bubl is a simple sound spectrum visualizer I built for Windows. The bubbles the program generates correspond to spikes in the FFT spectrum of your microphone input, where higher frequencies produce bubbles further to the right, and larger bubbles indicate greater quantities of that frequency. The waveform of the current microphone input is also displayed as the surface of the "water" the bubbles are drifting in.
warbl is a simple video game for Windows where you control the game with the pitch of your voice. As a spaceship flies along, you must use your voice to maneuver your ship safely through a series of obstacles in your path.
"Ambiguous News" is a piece of music that I, along with Nathan Tindall and Ludwig Schubert, wrote and performed with the Stanford Laptop Orchestra. The piece revolves around using a GameTrak controller to control the granular synthesis of a 10-second sample of a sitar. I was deeply involved with all aspects of the piece's development, including conceptualization, programming, composition, and performance.
This was a simple sound visualizer I built for a class to help familiarize myself with making virtual reality applications. When users enter the virtual world of the program, the frequency spectrum of the user's microphone input is used to generate sparkles that rise in spirals around the user.
"The Legend of ConductVR" is an interactive Virtual Reality musical conducting experience themed around the "The Legend of Zelda" video games. Using a Gametrak controller, users can direct the pace and quality of sound of virtual "performers" as they play a piece of music.
This application manages an exchange program for lichen samples run by BYU's Monte L. Bean Life Science Museum. The page linked above provides a listing of lichen samples available through the exchange program. Additional functionality is avaialble to registered users, including submissions of requests and donations, as well as general account management features. I did about half the programming for this website, focused around the page listing available lichen samples.
This website serves as a database of alumni from the Health Science department of BYU's life sciences college. The linked page is a listing of alumni who the department want to spotlight. More detailed information is displayed to users with a BYU login. I designed and programmed the large majority of this website.
This is a flashcard app designed for medical students at Brigham Young University. My responsibility in developing this app was to create a system to automatically synchronize flashcard content with our servers. Developed using Phonegap/Cordova.
This website manages a program whereby students can earn college credit for completing internships. I designed and developed a system which manages the application process, and tracks the progress of each student as their internship progresses. The system itself is not accessible to the general public, although the website does have a public-facing component.
At Stanford, I helped create an experimental musical instrument consisting of two parts. The first part, known as Synthum, uses a contact microphone designed to be attached to the throat, allowing performers to perform any arbitrary synthesized instrument by humming. The second part, known as Padorama, is a pressure-sensitive footpad capable of sensing the location and intensity of a foot standing on it, and is intended to be used in tandem with other instruments for analog control of arbitrary parameters. When these two components are used together, they are known as HumPad. I primarily focused on the development of Synthum, but I also played a significant role in the development of Padorama.
More Information (Scroll to "Humpad, Synthum, Padorama")
This is a simple ray tracer I wrote for a class as an undergraduate. It renders hard-coded scenes consisting of simple geometric shapes.
My name is Benjamin Williams, and I'm a front-end software developer specializing in music-related applications. I'm currently available for you to hire.
I recently finished my Master's in Music, Science, and Technology from Stanford's Center for Computer Research in Music and Acoustics (CCRMA). Before that, I earned a Bachelor's in Computer Science from Brigham Young University, while also working on-campus as a web developer for the BYU College of Life Sciences.
On this website, you'll find details about some projects I've worked on, as well as my résumé. You'll find demos and sample source code for many of these projects, so poke around! You may be particularly interested in my work with arc diagrams, or in reading testimonials about my work for the BYU Life Sciences Web Team.
If you're interested in hiring me, or just want to chat or ask some questions, you can drop me an email.
Master of Arts in Music, Science, and Technology
Stanford University, Stanford, CA
December 2016
Bachelor of Science in Computer Science
Brigham Young University, Provo, UT
December 2014
Earned 3.87 Major GPA (3.84 cumulative) while working 20 hours/week
Web Developer (July 2016 - January 2017)
Milliman, Inc - Windsor, CT
Insurance Analyst Intern (January - July 2015)
Milliman, Inc - Windsor, CT
Lead Web Application Developer (January 2012 - December 2014)
BYU College of Life Sciences - Provo, UT
Web Developer (June - August 2013)
Milliman, Inc - Windsor, CT
Financial Intern (October - December 2011)
Haviland & Samps, LLC - Farmington, CT
Retail Associate October - December 2011)
Michael's Arts and Crafts - Avon, CT