I recently came across the Wiktionary page for abstemius and I was genuinely surprised by the pronunciation guide. It says that in classical Latin the B is the unvoiced /p/ instead of /b/. Is this really the case? I had always pronounced B as /b/ everywhere, including the simplest example abs. Wiktionary is not particularly reliable and I couldn't find other sources to support or refute the unvoiced pronunciation, so I have to ask here. Is the B in abs /p/ or /b/?
Indeed, Wiktionary has it right – b is not voiced before t or s, as W. Sidney Allen explains (Vox Latina, 21):
On general phonetic grounds it is highly probable that the b before t or s should stand for [p]. It is moreover expressly stated by Quintilian (i, 7, 7) and other grammarians, and clearly indicated by inscriptional spellings with p at all periods (e.g. pleps, opsides, apsoluere, suptilissima, optinebit). The distinction between spelling and speech is clearly summed up by Quintilian in the words: 'b litteram ratio poscit, aures magis audiunt p'; and on the writing of abs Velius Longus comments (K. vii, 62): 'qui originem uerborum propriam respiciunt, per b scribunt'.
He explains that b is "partially assimilated to the following t or s" in words like obsideo and urbs, becoming the voiceless /p/ as a result, but that the written b is retained because of the parallels with obeo and urbis. With respect to abs in particular, he writes:
Similarly the preposition abs owes its writing with b rather than p to the alternative form ab.
So then, the b in abs is the voiceless /p/, not voiced /b/.