Do you have a Stata script that runs forever?
Then save this ado file in the ado personal folder, in C:

program sound
version 14
args n_beeps
if missing(“`n_beeps'”) {
local n_beeps= # /* # : times the sound will be repeated */
}
forvalues n= 1/`n_beeps’ {
!”C:\Program Files\Windows Media Player\wmplayer” C:yourownpath/xxxx.mp3 /* xxxx : name of the mp3 file with the sound that you like*/
sleep yyyy /* yyyy : this is the time elapsed between the sound repeats, i.e. 100 to 1000 */
}
shell pause
end

Then, within the do file do:
cap noisily {
command
}
sound

Or more simply:
command
sound

Stata will play # times the sound you want when your command is finally ended.

The idea for this ado came from these sources:

http://www.stata.com/statalist/archive/2013-04/msg00112.html ; http://www.stata.com/support/faqs/programming/personal-ado-directory/ ; http://www.stata.com/statalist/archive/2012-09/msg01183.html

Note that you could have your computer do anything to warns you the Stata script is done, not only sound. You can manipulate the line << !”C:\Program Files\Windows Media Player\wmplayer” C:yourownpath/xxxx.mp3 >> as it pleases you (i.e. you could tell Stata to open a short video)