Hi all After upgrading Voxin from 2.2 to 3.3rc3, I noticed that all words containing German umlauts or French accented characters were no longer pronounced correctly in Emacspeak. They were pronounced, as if the non-ASCII characters were missing. The problem does not occur with the voxin-say tool or with the Voxin speech-dispatcher module. The problem can be reproduced outside of Emacs by using the outloud speech-server directly. The problem already occurs with Voxin 3.0, so it was introduced between 2.2 and 3.0. I think I tracked down the problem to a change in behavior of the eciAddText function. In ibmtts, this function expects the text to synthesize to be encoded in a specific charset depending on the input language. For western European languages like English, German or French, this is iso-8859-1. this per language charset conversion is implemented in the Emacspeak outloud speech-server. In Voxin 3.0 however, the eciAddText function apparently always expects UTF-8 encoded text. This means that Voxin 3.0 has changed the contract for the eciAddText function in the provided proxy library. On the one hand, this relieves clients from performing the language specific charset conversion themselves and gives Voxin mor flexibility by accepting text containing characters outside of iso-8859-1 for western European languages. On the other hand, it breaks existing clients. It is unclear to me if this chage was made intentionally or if it should be considered a bug. It might have been better to introduce an additional function in the proxy library (e.g. eciAddTextUtf8) and leave the behavior of eciAddText as specified by the ibmtts documentation. Of course, the pproblem can be worked around in the Emacspeak outloud speech-server by simply omitting the per-language charset conversion. Best regards Lukas
|All Past Years |Current Year|
If you have questions about this archive or had problems using it, please contact us.