[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacspeak] SwiftMac prosody mayhem after upgrading macOS Sonoma to Tahoe



Hello Emacspeakers,

I recently upgraded from macOS Sonoma to Tahoe 26.2, and immediately noticed an unwelcome change in the way that SwiftMac 4.3.6 (Emacspeak 60.0; emacs 30.2; using emacs-plus@30 via homebrew) handled longer sentences. All the voices I tried (Samantha, Tom, David; both enhanced and compressed) would suddenly pause at seemingly random places in a sentence, where there was no punctuation. This happened across emacs, in nov.el, org-mode, notmuch, anywhere I read text with longer sentences.

I isolated it by testing the same text three ways: in Emacs with my full config, in Emacs with emacs -Q loading only Emacspeak, and in TextEdit read by VoiceOver using the same voice. VoiceOver read smoothly; both Emacs configurations had the pauses. So it wasn't my config, and it wasn't the macOS voice engine.   

Then, using a method that I'm hesitant to admit may have included a look at the swiftmac source with the help of an AI coding tool (is this a faux pas to admit, let alone deploy? The etiquette around AI seems to be fraught at best in FLOSS-land), I discovered the chunkText function in main.swift, which as far as I can tell, splits all text into 15-word chunks, each sent as a separate AVSpeechUtterance. There's an inherent gap, my friendly tool informed me, between utterances, and Tahoe appears to have increased that gap enough to become audible, whereas it worked differently under Sonoma? VoiceOver may not chunk this way, which is why it's unaffected?

However, with the help of my confident, controversial, possibly problematic AI tool, I changed maxWords from 15 to 200 in chunkText() and rebuilt SwiftMac. This fixed the pauses for me! Wondering if anyone else had this prosody problem and if you're mad at me for using AI to troubleshoot and if this information is at all helpful.

As an aside, I had to abandon the Alex voice altogether, because after upgrading, both VoiceOver and SwiftMac have Alex pausing way too long after full stops so that problem must be a change in the TTS itself.

Off-topic epilogue: This experience of having my workflow disrupted so intensively (I read a ton of text in emacspeak for work and these random pauses really messed with my speed and comprehension) by a mere system upgrade has me considering trying out Linux as a daily driver, where e.g. Debian/Emacspeak/espeak-ng would seem to be a more stable workflow less prone to disruption by Cupertino caprice. Do you agree with this assessment?

Thanks as ever,
Andrew



|Full archive May 1995 - present by Year|Search the archive|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page