Music 147 assignment for Thursday June 5, 2014

Solve the following problem in the form of a computer program in Max, Java or C.

Given a sensor input that goes linearly from 0.0 to 1.0, what is the expression that will convert that into a linear change from -100 dB to 0 dB (i.e. an exponential change from 0.00001 to 1.0)?

And three “extra credit questions”:

1) An exponential curve will only truly reach 0 when the dB reaches -infinity. What should we do about that?
2) Is -100 dB the best value to use as the minimum nonzero amplitude? Why or why not? If not, what might be better? Explain.
3) Ideally, we should interpolate to each new amplitude value to avoid clicks. How should that be implemented?

The patch provided here gives the pertinent formula, and creates a template for making and testing your solution in Max.

Deposit your solution in the EEE DropBox called, “DecibelControl”.


In class we will work together to solve any problems we’re encountering with our programming projects. Come to class ready to work on your own project—either by bringing your own computer or by bringing the files you need to work on your project on one of the lab computers—as well as to help others with their project. If you are struggling with any aspect of your program, be prepared to explain it succinctly to others so that they can suggest improvements. If you’re not struggling with any aspect of your program, that’s great, and you should therefore make yourself available to help others. (And if nobody needs help, then you’ll have plenty of time to continue working on your own project.)