Real Time Audio Processing

MarkT:
What frequency is timer2 running at?

Assuming the typical 16 MHz clock frequency, then the interrupt is firing up at a rate of 64.25 KHz (every 15.56 microseconds).
Although with the ADC's default prescaler, effective sampling rate is more like 10 KHz or even less. Successive approximation ADCs aren't known for fast conversions; so in order to achieve high sampling rates, their clock shouldn't be too slow.

PD: the map() function is rather slow also. The CPU is 8 bits "wide" (against the 32-bit variables it uses inside), and its ALU lacks integer division support (such operation is actually done in software, and the function needs it).
Since you're scaling two power-of-two-wide ranges, the fastest way to accomplish the same result, is to move around some bits. Narrowing 10-bit values into an 8-bit input is possible simply by discarding two least significant bits (aka right shift 2 bits). In the end, it's something like this:

analogWrite(10, analogRead(A0) >> 2);

Furthermore, you may even want to change the duty cycle quicker. Instead of analogWrite(), you can set a single register to achieve the same effect.
Pin 10 belongs to the channel B of the timer1, so the correct register is called OCR1BL (ends with 'L' because that's a 16-bit timer and you only need the LSB to set the duty cycle). Improving that line even more:

OCR1BL = analogRead(A0) >> 2;

I'm suggesting all this because 15 microseconds is a quite tight time budget for an AVR microcontroller, thus having to do everything as "low level" as possible.

PD 2: I've just realized another problem: you're using a timer1 output, which defaults to a prescaler of 64 and runs in "phase-correct" mode; resulting in a carrier frequency of just 490 Hz. I don't think you'll manage to modulate like that any meaningful audio signal, do you?