I believe I've done that before with an instance variable. When it was due to fade out I set a the variable to Time. Each tick when that variable was set, it would set the volume of the sound to Volume-(Variable-Time) or something like that. (resetting the variable when sound was low enough.) But I can't find where I did that ATM to be specific.
Another method, since it is a white noise, would be to play a separate fade out rain sound, and stop the original sound.