Skip to content

Commit 654750f

Browse files
committed
version 23.4.1 and the last changes.
Changed eciSynthMode from the default 0 (Sentence) to 1 (Manual): Synthesis and input clearing is controlled by commands only. Changed the name of callback to eciCallback, and the decorator was placed just before the function.
1 parent 6a8e331 commit 654750f

File tree

2 files changed

+14
-21
lines changed

2 files changed

+14
-21
lines changed

addon/synthDrivers/_ibmeci.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,9 @@ def run(self):
165165
msg = wintypes.MSG()
166166
user32.PeekMessageA(byref(msg), None, 0x400, 0x400, 0)
167167
(dll, handle) = eciNew()
168-
dll.eciRegisterCallback(handle, callback, None)
168+
dll.eciRegisterCallback(handle, eciCallback, None)
169169
dll.eciSetOutputBuffer(handle, samples, pointer(buffer))
170+
dll.eciSetParam(handle, ECIParam.eciSynthMode, 1)
170171
dll.eciSetParam(handle, ECIParam.eciInputType, 1)
171172
params[ECIParam.eciLanguageDialect] = dll.eciGetParam(handle, ECIParam.eciLanguageDialect)
172173
# loading of fallback root.dic/main.dic/abbr.dic officially removed as of 20.08-x0_personal, to make room for other languages' dictionaries.
@@ -351,9 +352,9 @@ def playStream():
351352
sendIndexes()
352353

353354
endStringReached = False
354-
Callback = WINFUNCTYPE(c_int, c_int, c_int, c_int, c_void_p)
355-
@Callback
356-
def callback (h, ms, lp, dt):
355+
356+
@WINFUNCTYPE(c_int, c_int, c_int, c_int, c_void_p)
357+
def eciCallback (h, ms, lp, dt):
357358
global audioStream, speaking, END_STRING_MARK, endMarkersCount, indexes, endStringReached
358359
if speaking and ms == ECIMessage.eciWaveformBuffer:
359360
audioStream.write(string_at(buffer, lp*2))

changelog.md

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,9 @@
1-
# version v23.02.1
2-
3-
* Fixed some bugs in some cases when loading IBMTTS libraries. The way of loading the libraries has been changed to minimize the possibility of errors.
4-
* If the driver can't load the library, an error entry will be shown in the log.
5-
* Changed the way to determine the library being used. Now dll resources (ProductName) is used to determine it.
6-
* Added the version where a documentation change was introduced (for documentation translators).
7-
* Added fixes for french.
8-
* Updated code to use language constants.
9-
* Improved the conditionals to determine the language to be used in process text.
10-
* Restored the 22 kHz sample rate option. Voices that use it have surfaced recently.
11-
* Removed outdated version of Spanish ª crash fix from spanish_ibm_fixes.
12-
* Updated spanish documentation.
13-
* Updated locale strings and documentation for Brazilian and Portugal Portuguese.
14-
* Updated french documentation.
15-
* Updated german interface and documentation.
16-
* Updated translations for italian language.
17-
* Updated english documentation.
1+
# version 23.4.1
2+
Changed eciSynthMode from the default 0 (Sentence) to 1 (Manual): Synthesis and input clearing is controlled by commands only.
3+
Tried to work around situations where IBMTTS would say 'comma hundred' or other weird things in English if numbers are separated by commas
4+
Some fixes in english_ibm_fixes should've actually applied globally. Moved the punctuation fixes formerly part of english_ibm_fixes to a new global_ibm_fixes section to improve the experience for non-English languages
5+
Fixed short pauses pronouncing the right parenthesis if IBMTTS was used. While this change will make the short pauses expression slightly less affective, it will still work in general
6+
Updated German anticrash further to catch more cases. #88
7+
More space removal changes. The expression will take into account numbers as well as letters in the negative lookahead, and added the question mark to its captured punctuation
8+
Improved the IBMTTS space removal expression so it doesn't catch false positives such as it's a .mp3 file
9+
added a log message if the selected library is not correct. It shows the exception that raised the failure.

0 commit comments

Comments
 (0)