The basic Arduino boards are very bad with sound. Making a sine wave is already a major task for an Arduino Uno.
There are sound libraries for the Due and the Arduino Zero and M0, but that is just a small start.
The Teensy boards have more possibilities for sound.
My suggestion is to use a Raspberry Pi, that is a computer and you have all the linux tools that you want.
Perhaps there is an app for Android, but I doubt it.
I don't know if measuring the impedance of the speaker will work. The speaker itself has resonance peaks (both in sound and impedance). I think you need a measurement microphone.
Using noise is a step further than a speaker and a measurement microphone. You can test the theory, but in practice it might be a step too far.