Mike Cirillo Title for Web

Mike Cirillo Laboratory Title image

Mike Cirillo SolarMusic
Mike Cirillo SolarMusic

You can also see the video demo on YouTube here: https://youtu.be/DQLKqWozd3s





Mike Cirillo SolarMusic

Johannes Kepler believed the universe to be designed according to musical proportions.

SolarMusic is an accurate interactive sonification of Kepler's theories
as detailed in his famous book: The Harmony of the World (1619).

I built SolarMusic with JavaScript and the Processing library.

SolarMusic requires a browser that supports HTML5 audio.

Chrome and Firefox support HTML5 audio.
Internet Explorer does not support HTML5 audio.

In my experience, Chrome has the best JavaScript engine.

The diagram above indicates how to use SolarMusic.

The icon below links to a page in this site with SolarMusic.
It make take a moment for the JavaScript to load and run.

Mike Cirillo SolarMusic

For more info click below:

Mike Cirillo SolarMusic Mike Cirillo Solar Music Mike Cirillo SolarMusic

Mike Cirill Spot

Mike Cirillo Spot

I built Spot with JavaScript and the Processing.js library.

Click on Square below to Play.

Mike Cirillo Spot


Mike Cirillo Gaussian Pollock

I built Gaussian Pollock with JavaScript and the Processing.js library.

The blobs of paint are positioned, sized, and colored according to a Gaussian/Normal distribution.

The inspiration for Gaussian Pollock came from Daniel Shiffman's book
'The Nature of Code' as reproduced on Khan Academy.

Directions:
Click on the canvas to splatter paint.
Click 'clear' to clear canvas.

Click on the link below to go to a page in this site with Gaussian Pollock.

Mike Cirillo Guassian Pollock


Mike Cirillo Mike and Paul

"Mike and Paul" (2011) is a short piece inspired by Paul Klee's "Fugue in Red" (1921).



MikeandPaulPresentationPDF.pdf

I composed this with the Mathematica programming language.

Mike Cirillo Paul Klee

Mike Cirillo Paul Klee

Mike Cirillo Paul Klee

Mike Cirillo Paul Klee

Mike Cirillo Paul Klee


Mike Cirillo Clicker

I built Clicker as a tool for training my internal clock.

The goal is to tap in time with Clicker (a metronome).
As time passes the probability of an audible click decreases.
The silence between clicks increases.
The clicks eventually disappear completely.
Try to maintain accurate time.
Gradually the clicks will return.

You need Pure Data to run Clicker.

Pure Data is a free open-source language for media creation.
It is the same kind of visual dataflow paradigm as Max/MSP/Jitter.

Here is a link to Pure Data:
http://puredata.info/

Click here to download Clicker
(Windows: right click and "save target as" to desktop.

Open Pure Data and then use Pure Data to open Clicker.

Mike Cirillo Clicker


Mike Cirillo Oscillators

I built Ocsillators with JavaScript and the Processing.js library.

Directions: Click on Canvas to add Oscillators

Click on the link below to go to a page in this site with Oscillators.


Mike Cirillo Ocillators


Mike Cirillo Ghost Drama

The inspiration for Ghost Drama came from Daniel Shiffman's book
'The Nature of Code' as reproduced on Khan Academy.

I built Ghost Drama with JavaScript and the Processing.js library.

This is a small digital ecosystem with vectors and a particle system.

click below to observe.

Mike Cirillo Ghost Drama


Mike Cirillo Saucers

Mike Cirillo Saucers

I built this as a coding exercise in JavaScript and the Processing.js library.
I used only basic shapes to evoke a 1980s video game console look.

Click Blue 'Spaceship' Below to Play

Mike Cirillo Saucers


Mike Cirillo Stange Matter

Mike Cirillo Strange Matter

I made this short film to teach myself about CGI and Blender 2.5.

All Music Composed, Performed and Engineered by Mike Cirillo
All Modeling, Compositing, Animation, and Video Editing by Mike Cirillo
Created with Blender 2.5
Base human mesh created with MakeHuman.



Here is a PDF of a presentation I gave on the making of Strange Matter:

Mike-Cirillo-Strange-Matter-Presentation-PDF.pdf

click on images below to enlarge.

Mike Cirillo Stange Matter Mike Cirillo Starnge Matter
Mike Cirillo Strange Matter Mike Cirillo Strange Matter
Mike Cirillo Strange Matter Mike Cirillo Strange Matter
Mike Cirillo Strange Matter Mike Cirillo Strange Matter
Mike Cirillo Strange Matter


Mike Cirillo Flatt Scruggs and Markov
Mike Cirilo Flatt Scruggs and Markov

You can also watch the demo video on YouTube here: https://youtu.be/KUU2frAHrvM



Lester Flatt and Earl Scruggs had a bluegrass band in the 20th century.
It was called the Foggy Mountain Boys.

Andrey Markov was a 19th century Russian mathematician who worked on stochastic processes.

Flatt, Scruggs and Markov is a virtual bluegrass band featuring:
FSaM is easy to use:

Mike Cirillo Flatt Scruggs and Markov

FSaM is written in Java
FSaM uses the jMusic library.
FSaM runs on both Windows and Macintosh.
You will need the Java Runtime Environment (JRE) to run the FSaM program.
You can download the JRE for free on the Java site.
They make it pretty simple. The link is below.

www.java.com

Running FSaM is a bit tricky, but not too bad.
  1. Click on the robot icon below to download the compressed "zip" file.
  2. You will probably want to use the "save as" option and save it to your desktop.
  3. Uncompress the "zip" file (this can be done natively in Windows or Mac) and open the folder.
  4. Double click on the "jar" file called: Mike-Cirillo-Flatt-Scruggs-Markov-Jar.jar
This will launch Flatt, Scruggs and Markov.

Mike Cirillo Flatt Scruggs and Markov

Windows users:
Java does not include a sound bank with the Windows version of the JRE download.
The JRE should fallback to internal MIDI but Windows users may need to install the sound banks.
It is a little complicated, but manageable.

Follow the link below.
http://www.oracle.com/technetwork/java/soundbanks-135798.html

Other platforms:
A low quality sound bank is automatically installed with the JRE on platforms other than Windows.
You may also want to visit the link above for better quality sound banks.

More info on FSaM...
PDF of Flatt, Scruggs, and Markov Presentation
PDF of Presentation I gave on John Cage (tangential interest)

Mike Cirillo Flatt Scruggs and Markov

Mike Cirillo Flatt Scruggs and Markov

Mike Cirillo Flatt Scruggs and Markov


Mike Cirillo Harmony Calculator
Mike Cirillo Harmony Calculator

Legend has it that Pythagoras made a discovery while walking past a blacksmith shop.
He noticed that hammers of different sizes sounded different pitches.

He determined that all perfect intervals can be constructed using proportions of 1, 2, 3, and 4.
The Pythagoreans called these numbers the tetraktys, symbolized as a triangle of ten dots.

I built Harmony Calculator with JavaScript and the Processing library.

Harmony Calculator requires a browser that supports HTML5 audio.

Chrome and Firefox support HTML5 audio.
Internet Explorer does not support HTML5 audio.

In my experience, Chrome has the best JavaScript engine

The icon below links to a page in this site with the Harmony Calculator.

Safety Tip: Reduce the volume on your headphones before starting sound.
Do not hurt your ears!

Mike Cirillo Harmony Calculator

Mike Cirillo Harmony Calculator


Mike Cirillo Fourier Device

Mike Cirillo Fourier Device Documentation

Joseph Fourier was a French physicist and mathematician.
In 1822 he published a book called The Analytical Theory of Heat.
Fourier showed that any periodic function can be separated into simple sine functions.
Although Fourier's interest was heat conduction, his series is also applicable to sound.

Fourier Series

The Fourier Device was written in C# and XAML.

The Fourier Device will run on both Windows and Macintosh.

You will need the most recent Microsoft Silverlight browser plug-in to run this simulation.
The link is below:

http://www.microsoft.com/silverlight/get-started/install/default.aspx

The icon below links to a page in this site with an in-browser version of the Fourier Device.

Mike Cirillo Fourier Device download icon

Sound, Trigonometry, and Fourier Mathematics by Mike Cirillo (PDF)


Michael Cirillo Fun with Formants

Complex periodic waves can be expressed as the summation of simple sine and cosine waves.
This is called the Fourier series.

The sine/cosine combination that establishes the perception of pitch is defined as the fundamental frequency.
Outside the fundamental is a superstructure of frequencies, integral multiples of the fundamental frequency.
These are often called the harmonic series.

The tone depends on the relative amplitudes of each of the sine and cosine waves of the harmonic series.

Spectral analysis of spoken vowel sounds reveals bands of relatively high amplitude frequencies.
These bands are called formants.
Formants play a large role in shaping the tonal characteristics of spoken sounds.

I have sampled me, speaking a string of vowels (a,e,i,o,u). The sample rate is 44100 Hz with a bit depth of 24.

First, we will listen to vowel sounds with the formants unaltered.

Vowels with unaltered formants: Listen

I will then shift the formants down.

The bands of high amplitude have been shifted from their natural position to lower in the frequency spectrum.
Because I am using black box formant shifter, I do not know the algorithm used.
I assume that logarithmic scaling is used to maintain the relative perceptual distance between the formants.

Vowels with formants shifted down: Listen

I will now shift the formants up.
This means that the bands of high amplitude have now been shifted to higher in the frequency range.

Vowels with formants shifted up: Listen

Here is a formant sweep from low to high, then high to low.

Formant Sweep Low to High: Listen

Formant Sweep High to Low: Listen

If we allow the formants to shift upward with all the other frequencies, we get a 'chipmunk' effect.
The voice is thin and cartoonish.
This would seem to be because defining bands of high amplitude are now high in the frequency spectrum.

pitch shift/no formant adjustment: Listen

pitch shift/no formant adjustment: Listen

pitch shift/no formant adjustment: Listen

pitch shift/no formant adjustment: Listen

pitch shift/no formant adjustment: Listen

You will notice that the vowels 'e' and 'u' do not pitch shift well.
The pitch shifted vowels are very distorted.
This is because the pitch shifter has trouble identifying the fundamental frequency. We will address this issue shortly.

Before dealing with the 'e' and 'u' distortion issue, let us try moving the formants down as we move the pitch up.
That way, even though the overall frequency is higher, those bands of frequency that are emphasized do not change.

pitch shift/formant adjusted: Listen

pitch shift/formant adjusted: Listen

pitch shift/formant adjusted: Listen

pitch shift/formant adjusted: Listen

pitch shift/formant adjusted: Listen

This sounds much more natural.

Vocal formants result from the resonant characteristics of the vocal mechanism.
The vocal chords may stretch and relax resulting in a raising and lowing of the voice,
but the size of the head and nasal cavities, and their resonant frequencies, remains the same.

Keeping the formants in the same place in the frequency spectrum help maintain the original tonal quality of the voice.

Lastly, what do we do about 'e' and 'u'?

The pitch shifter I use continually misidentifies one of the upper harmonic series as the fundamental frequency.
Therefore, application of the pitch shifting algorithm results in a weird restructuring of the harmonics.

Here is how I fixed it:

I figured out the frequency confusing the pitch shifting software and used a parametric equalizer to remove it.
I hypothesized that the pitch/formant shifting module, when not misdirected, would identify the correct fundamental.
As you will hear, I was right. I did this for both the 'e' and 'u' vowels.
After doing this, the distortion was no longer a problem.

pitch shift/pre equalized/no formant adjustment: Listen

pitch shift/pre equalized/formant adjusted: Listen

pitch shift/pre equalized/no formant adjustment: Listen

pitch shift/pre equalized/formant adjusted: Listen


Mike Cirillo Bayes Vase Bayesian Probability

Thomas Bayes (1702-1761) was a British minister and mathematician.
Bayes' Theorem deals with problems of inverse probability.

Bayes' Equation

A simple example of Bayesian Probability:

Two identical looking vases sit on a table.
Each vase is filled with ten marbles: red and green
You know the ratio of red to green in each vase.
Your friend hands you a vase. You don't know which one.
You randomly pick a marble from the vase.
You replace the marble and randomly pick another.
You replace and sample again.
Can you figure out which vase you hold?

Mike Cirillo Bayes Vases Documentation Bayesian Probability

Bayes' Vases was written in C# and XAML.
Bayes' Vases runs on both Windows and Macintosh.

You will need the most recent Microsoft Silverlight browser plug-in to run this simulation.
The link is below:

http://www.microsoft.com/silverlight/get-started/install/default.aspx

Click on icon below to link to Bayes' Vases.

Mike Cirillo Bayes Vases Icon Bayesian
Below is a short PDF explanation of Bayes' Vases and Bayesian Probability.

Mike Cirillo Bayesian Paper Link

Mike Cirillo Empirical Helmholtz Banner

Mike Cirillo Empirical Helmholtz Documentation

Empirical Helmholtz was written in C# and XAML.

Empirical Helmholtz runs on both Windows and Macintosh.

You will need the most recent Microsoft Silverlight browser plug-in to run this simulation.
The link is below:

http://www.microsoft.com/silverlight/get-started/install/default.aspx

Click on icon below to link to Empirical Helmholtz.

Mike Cirillo Fourier Device Download