Need Help - Using Poly(??) for multiple sensors

Everett Wimberly's icon

Hi there!

I am currently working on an undergrad project that utilizes Max for much of the processing. It is a homemade version of the Moog Pianobar. There are 88 sensors (CNY70) connected to a bar sitting on top of the keys, those sensors being read by multiplexors and an Arduino, thus allowing the reading of of each key's action.

On of my features is the ability to calibrate each key individually using the trough and peak objects. These would toggled using a gate to set the highest and lowest levels for each key individually.

My problem right now is figuring out how to efficiently run 88 iterations of this calibration/processing chain. I have tried using the poly~ object (which I assume isn't super efficient), and even then I couldn't get it to work. Whatever processing I use, ideally it needs to be able to calibrate all keys individually with one button and for it recognize what voice it is receiving along with it's sensor data. This would then be turned into MIDI data after some scaling and formatting.

I just started learning Max this year, so I am not as knowledgeable as I'd like to be. I can share my calibration patcher so far for any pointers.

Thanks,

Source Audio's icon

you could post arduino code, to see how keys are routed.

CNY70 being IR sensor will also be affected by ambient light

which would make it more difficult to precisely calibrate.

You measure speed between key up -> key down to set velocity ?