Eso no va.
Ademas, es necesario que la funcion sea leida una vez, pero no ejecutada. Es decir, tiene que ir dentro de un domready, para ejecturse recien al terminar de cargar la pagina:
Cita: $(document).ready(function(){
function infinita() {
$("#artist_1").show();
setTimeout(function(){
$("#artist_1").hide();
$("#artist_2").show();
setTimeout(function(){
$("#artist_2").hide();
$("#artist_3").show();
setTimeout(function(){
$("#artist_3").hide();
$("#artist_4").show();
}, 5000);
}, 5000);
}, 5000);
infinita();
}
});
Igual, yo super desrecomiendo un loop infinito.