I've heard it said that accents of towns drift over time. I find this hard to comprehend as how could an accent of a whole town change?
I think it is established that we mainly pick up our accent from our peers at school. But this is also odd, since if we are separated by age, peers in an age group should not really interact that much from other age groups, so where do their accents come from in the first place? Perhaps, maybe this is the answer, that because in schools we are separated from older children to a large degree, the accent can drift as it has no correction from older children.
But this still seems unlikely to me as universal schooling is a quite recent thing, and before then we had mainly apprenticeships which children would learn from adults and presumably pick up their accents.
Another (to me) unlikely idea is that a town's accent (e.g. Liverpudlian) has changed due to people talking over machinery in factories or mills so it gets higher pitched. Can an accent of a town really change that quickly?
But what I do see is that immigration affects accents a lot, for example the Jamaican accent changing the London cockney accent. Or the Geordie accent with lots of Scandinavian words also from immigration.
So in essence, is accent drift a real thing (has it been observed) and what is the main cause?