Wow. I just looked at the schematic on the Instructables website.
Horrible. The input should have a resistor to ground and a capacitor to isolate any DC on the input.
Worst of all, one section of the IC is not connected to anything. This is just begging for it to break into oscillation or go into SCR lockup, possibly even destroying the IC.
Funniest of all, the second section could have been used to make a Vcc/2 virtual ground. But it isn't really needed, anyway. R2 could be replaced with a 47k resistor, and another 47k resistor to Vcc. But not with the TL082, it requires too much voltage.
There should also be a resistor between the output of the Op Amp and the Arduino. With a total of 18V available, the input to the Arduino can easily swing well outside of 0V and 5V.
How about just using an LM386? It is meant to power headphones or a small speaker, but no reason you can't use it here. Use 5V to power it, put a 1k resistor after C1 before A0.