adds WithNoise option.
GetSoundData revamped to work with functional sound.