Вы можете использовать обратный вызов в вашем последнем вызове функции, чтобы, как только последний вызов функции завершился, он вызывал сам себя.
$(document).ready(function() {
speech_animation();
});
function speech_animation(){
$( "#b-block_wrap" ).delay(1000).fadeIn(500).animate({ top: 0}, {duration: 500,});
$( "#p-block_wrap" ).delay(2000).fadeIn(500).animate({ top: 0,}, {duration: 500,});
$("#first_wrap").delay(5500).fadeOut(500);
$( "#g-block_wrap" ).delay(6000).fadeIn(500).animate({ top: 0}, {duration: 500,});
$( "#y-block_wrap" ).delay(7000).fadeIn(500).animate({ top: 0}, {duration: 500,});
$("#second_wrap").delay(10500).fadeOut(500, speech_animation);//callback here
}