Executar a função jQuery após a conclusão de outra função

Desejo executar uma função jQuery personalizada após a conclusão de outra função personalizada
A primeira função é usada para criar um efeito de "datilografia"

function Typer()
{
    var srcText = 'EXAMPLE ';
    var i = 0;
    var result = srcText[i];
    setInterval(function() {
        if(i == srcText.length) {
            clearInterval(this);
            return;
        };
        i++;
        result += srcText[i].replace("\n", "<br />");
        $("#message").html( result);
    },
    100);

}

e a segunda função toca um som

function playBGM()
{
    document.getElementById('bgm').play();
}

Estou chamando as funções uma após a outra como

Typer();
playBGM();

Mas o som começa a tocar à medida que o texto é digitado. Quero tocar o som somente APÓS a digitação terminar.

Aqui está o que eu tentei:http://jsfiddle.net/GkUEN/5/

Como posso consertar isso?

questionAnswers(4)

yourAnswerToTheQuestion