Back in 2000 I wrote a DOS program that could play a siren sound on my audio card without ever communicating with the audio card. All the program did was to configure the timer to run at a high frequency and then the program ran a loop which looked at the timer to decide whether to busy-wait or issue a HLT instruction.
This program caused variations in CPU power usage which could clearly be heard on the output from the audio card.
The reason I wrote that program in DOS was to have enough control over the hardware to get a reliable result and to prove that the phenomenon was OS independent.
Next I wrote a patch for the audio driver in Linux to get rid of the noise by telling the kernel to use the HLT instruction while the audio card was in use.