Is it possible to use tone() at the same time as running code to analyze the tone or does tone() tie up the processor?
Execution continues while a tone is sounding. If you call 'tone()' and don't stipulate a duration, it will keep sounding until you call noTone();
tone is interrupt driven. The processor spends time processing that interrupt. Your analysis may have to take that into account.
Was looking to investigate the MSGEQ7 chip and use tone() as the signal source, for a portable, all-in-one experimentation system. The MSGEQ7 timing shouldn't be very demanding but don't know how tone() might affect it.
The tone function can be used with a MSGEQ7 with no problem. However the output of this chip is only seven second order filters so it is not too accurate. Also the absolute accuracy depends on the RC free running oscillator, a change in that frequency changes the peak frequency of the filters.