Now we come to consider the various ways in which we can filter the audio stream to extract its spectral data.
I know I'm jumping around a bit here, but I've got all sorts of ideas buzzing around in my mind. As a starting point, let's assume that we are working with a mono audio stream, and that we will present the lower frequencies on the left side of the display and the higher frequencies on the right.
Let's further assume we will use the entire column to represent the amplitude. One possibility is to divide the columns into four colored bands, as illustrated in (a) below. Another option is to keep the same bands but make the entire column the highest-amplitude color, as shown in (b).
An alternative is to make the signals grow out from the middle, as illustrated in (c). A variation on this theme would be to make the signals grow up from the bottom and down from the top, as illustrated in (d).
Of course, the (c) and (d) versions could be used to display the two channels from a stereo audio stream, but I want to keep things reasonably simple in this first iteration of the display, so I'm sticking with mono. Actually, this raises a question. To drive my display, I will use my iPod or my iPad, both of which have stereo outputs. Thus, I will need to combine the two stereo channels into a single mono channel. Remember that I've not really played with audio like this before, so I'm going to need to work out how to do this.
Two more questions that pop into my mind at this point are how we scale the horizontal and vertical axes. Let's start with the horizontal axis. We will divide the audio spectrum into 16 buckets. Let's say that the lowest bucket includes anything equal to or less than 50 Hz, while the highest bucket includes anything equal to or greater than 16 KHz. How do we divide the frequencies across the remaining buckets? Do we go linear and partition things into equal chunks, or should we perform the split in a logarithmic manner?
The same question applies to the vertical axis. When it comes to presenting amplitude, my knee-jerk reaction is that a logarithmic presentation is the way to go. Once again, however, audio signal processing and display is not my area of expertise; perhaps the amplitude should be presented in a linear manner.
To Page 3 >