brailcom/speechd
`GenericMaxChunkLength` causes incomplete multibyte characters
Ouverte
#806 ouverte le 18 janv. 2023
buggood first issuehelp wanted
Métriques du dépôt
- Stars
- (325 étoiles)
- Métriques de merge PR
- (Métriques PR en attente)
Description
Steps to reproduce
Create /etc/speech-dispatcher/modules/test.conf
# GenericMaxChunkLength 300
GenericExecuteSynth "echo $DATA >> /tmp/tts.log"
GenericLanguage "en" "en" "utf-8"
GenericLanguage "zh" "zh" "utf-8"
AddVoice "en" "male1" "voice1"
Add configuration to /etc/speech-dispatcher/speechd.conf
AddModule "test-generic" "sd_generic" "test.conf"
Restart speech-dispatcher and use test-generic
$ sudo killall speech-dispatcher
$ spd-say -o test-generic "ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇"
Obtained behavior
$ cat /tmp/tts.log
ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇〇〇〇〇〇〇〇ab〇〇〇�
��〇〇〇〇〇〇
Passing incomplete multibyte characters to external commands is likely to not work properly, and subsequent chunks will not even be recognized as UTF-8 strings.
Expected behavior
Do not break down multibyte characters.
The string should be broken down into chunks of the specified length in characters (not bytes).
Behavior information
Distribution
Debian
Version of Speech-dispatcher
0.11.4