mira yo probe con un 
 Código HTML:
 <iframe id="contenido" src="sonido.html" id="sonido" name="sonido2"></iframe> 
 que se activaba con un   
 Código HTML:
 <script>window.parent.sonido2.location.reload();</script> 
 
pero lo hice con sessiones 
y cada vez que hacia la peticion  preguntaba 
 la id de la tabla en donde se inserto y lo colocaba en un input de tipo hidden  
despues hacia la comparacion con la session y si era diferente de la session actual pues  
y como la peticion era constante cada 500 milisegundos
ejecutaba el scrip de refrescado de iframe que reproducia el sonido  
 Código HTML:
 if (xmlhttp.readyState==4) {
		
		document.getElementById("chatwindow").innerHTML = xmlhttp.responseText;
		
		zeit = new Date(); 
		ms = (zeit.getHours() * 24 * 60 * 1000) + (zeit.getMinutes() * 60 * 1000) + (zeit.getSeconds() * 1000) + zeit.getMilliseconds(); 
		intUpdate = setTimeout("ajax_read('chat.txt?x=" + ms + "')", waittime)
		}
	}
 
sonido.html 
 Código HTML:
 <bgsound src="Ring Ring 1.mid"> 
 y el contenido del chat


 asi es