Understanding Input Audio

Ambience within a space changes constantly due to several factors i.e human interaction and natural elements some of which cannot be controlled. “Music is sounds, sounds heard around us, whether we are in or out of the concert halls.’ (Cox and Warner, 2004). This sound can be a disadvantage as a distraction/hindrances or it can be of advantage to sooth or pleasure audiences. “Ambient Music must be able to accommodate many levels of listening attention without enforcing one in particular; it must be ignorable as it is interesting.” (Eno 1978) as Eno discusses the attention of the audience needs to be assessed as to louder noise could cause disruption. This requires an area that ambient music/sounds or background music is going to be played to be assessed to determine the attention of an audience.

Update: Active & Passive Audiences

Processing and the library Minim allow the programmer to create an audio input of a microphone. The input is mainly used as a listening device for audio including voices or other elements in the environment around us. This feature has a limited uses as incoming audio stream as its live feed creating some problems like replaying as the data, as its extremely variable and erratic. Minim provides an example of which shows the input audio in a frequency range showing the change in audio levels.


This audio has been visualized using FFT averages a system of which has been discussed previously in a post. As you can see from a simple speech into the microphone the levels of frequency within the audio change significantly quickly. Each bar is a section of frequencies coming in from the microphone however we need to determine the total or average value for the incoming audio levels. This could be done by this piece of code below, the input audio from the microphone is iterated through the all the buffed sizes (frequency points 512) and deciphered into a total value.

for(int i = 0; i < in.bufferSize() - 1; i++) {
    if ( abs(in.mix.get(i)) > m ) {
      m = abs(in.mix.get(i)*100);

The incoming data looks something like this when a loud sound is passed through the microphone. This data could now be used as a variable to control a range of visual graphics within processing.

  • 0.0030517578
  • 0.024414062
  • 0.12817383
  • 0.32958984
  • 0.54016113
  • 0.62561035
  • 0.66833496
  • 53.659058
  • 55.0354
  • 54.992676
  • 53.97644
  • 53.28064
  • 52.801514
  • 51.538086
  • 49.00818

Installation What’s Next..?

Currently the incoming values of the microphone input have no meaning as a physical measurement in the real world. Going forward I could implement a decibel value to determine there actual value allowing the input to have real world meaning.

Update: Real World Measurements

Secondly this input can now be used in relation to the visual representation as a whole value of sound, unlike in previous visual and sound representations where visuals elements where represented by a single section of frequencies.


Cox, C, Warner, D, (2004) Audio Culture: Readings in Modern Music. Continuum.

Eno, B., 1978. Ambient. New York: EG Records.

Leave a Reply