Todays problem I have been looking at was how to “translate” the velocity of a player’s movement in the room into the sample rate of the sound he/she is controlling.
At the same time, I ask: What if i were a teacher and posed this problem to the class. Well aware that I did not have the answer myself. This is the method described by Jacques Rancière in “The ignorant schoolmaster”.
Changes in the sample rate will change the perceived pitch of a sound. Think of an old record player, when you change the speed of the turntable, the pitch will change. – Like scratching.
So I wanted to find out how to make the speed of a person in the room, equal the sample rate of the sound. Which is the same to say as standing still will mean no sound. And moving fast will mean a high pitch, – slow equals low pitch.
The movement of the person is fed into the computer via a smartphone.
I want the computer to calculate the stream of xy values and find out how fast the point moves between pairs of xy.
While calculating velocity on a single line wouldn’t pose me a lot of problem, the movement on a diagonal way in a 2d setting posed me problems.
So: I googled it. And found out that my problem has a name: Vectors! The formula I found was simple enough for me to ‘translate’ into MAXMSP in its object based programming language. (Please check out PureData, please, and help me work in that open source environment, so we can get the schools started, for free (kids need to learn programming!!))
Now I had the translation of 2d movement into distance. And from distance, I could calculate a relative speed, by adding an object (clocker) that starts counting ms everytime its hit by a bang. A larger amount of ms equals slower velocity.
Next problem: How to translate velocity into sample rate? Theoretically simple, but in practice difficult, because it requires a smooth transition between math world (MAX) and signal world (MSP).
Using a scale object, I succeeded in making a smoothly changing sine wave, that would stop when the person stands still. The transition from no sound to sound is quite smooth, however, it reaches its maximum very fast, and there are practically no perceptible pitch changes when the person moves slowly or fast.
Maybe the result is fine, when we start testing it with real sound. Simplicity is important, when it comes to this kind of tool. It is a never before tried way of working for most, and therefore the degree of complexity must be low.