Sorry for necro. I fixed this problem by creating a Wrye Bash patch checking "Cells" and all its contents. The problem was either nav mesh or idle markers inside taverns that canceled bards songs since their AI switched constantly to these near spots. Making a bashed patch fixed my problem entirely.
(By the way, my bashed patch has only Cells and Leveled Lists checked. ^_-)
I just had this issue for months, searched Google after a solution, found this forum section, and, after finding a solution myself, I created an account to answer this in hope to help others in the future. Cheers!