Commit Graph
86 Commits
Author SHA1 Message Date
Yury Popov ead35b181b wavegen: support higher speech rate in embedded commands 2023-02-26 19:04:36 +03:00
Yury Popov 7485828984 code cleanup: next bunch of globals 2023-01-01 21:22:59 +03:00
Yury Popov 25eeddff9a code cleanup: fix -Wstrict-prototypes 2023-01-01 21:22:59 +03:00
Yury Popov 78ac6c4a88 code cleanup: do not compile mbrola if not enabled 2022-11-27 14:54:51 +03:00
Yury Popov 92beee2b4c code cleanup: remove dead code 2022-11-27 14:54:51 +03:00
Yury Popov ca1f590101 code cleanup: standartize definitions 2022-11-27 14:54:51 +03:00
Yury Popov 2ddb8ce2db code cleanup: const embedded_default 2022-11-19 17:29:16 +03:00
Yury Popov 5a37bc301b code clanup: remove unused samplerate_native 2022-11-19 17:29:16 +03:00
Yury Popov 2929b9e199 code cleanup: use statics and consts when possible 2022-11-18 17:48:04 +03:00
Yury Popov 3da51991f8 code cleanup: reduce global externs 2022-11-15 22:38:22 +03:00
Yury Popov 1e279d3cb8 Add PRNG and use it instead of rand() 2022-11-15 09:58:29 +03:00
Yury Popov 7d0b6f3019 Revert "Compensate silence duration when sonic enabled"
This reverts commit 9f0b23f49e.
2022-11-11 23:51:18 +03:00
Yury Popov 9f0b23f49e Compensate silence duration when sonic enabled 2022-11-08 17:54:49 +03:00
Yury Popov 178afb10db Flush sonic stream on rate reset 2022-11-07 15:17:01 +03:00
Juho Hiltunen 54265990b5 cleanup: reduce variable scopes in wavegen.c 2022-10-30 10:11:44 +02:00
Samuel Thibault a660fc04cc Add more const qualifiers on static arrays
So we know they are just tables, get protected from overflows, and get shared between processes
2022-06-09 08:43:50 +02:00
Samuel Thibault 3ce135ac2b Mark re-used buffers as undefined
These are global arrays reused several times. When using them msan and
valgrind thus believe they are always initialized, which reduces their
capacity to detect uninitialized values. We can however explicitly tell them
when they are reused, and thus to be considered as uninitialized.
2022-04-10 22:42:51 +02:00
Samuel Thibault 90c035c406 Fix overflow while capping to signed 16bit 2022-04-08 01:59:31 +02:00
Samuel Thibault 51af5a4155 Add KlattFiniSP
speechPlayer_terminate was never called without calling
speechPlayer_initialize right after, so there would always be a FrameManager
laying behind.
2022-03-15 21:27:44 +01:00
Reece H. Dunn 720405c5c6 Fix -Wreturn-type warnings. 2021-05-30 17:22:48 +01:00
Reece H. Dunn 53283a910a Fix -Wunused-but-set-variable warnings. 2021-05-30 17:19:54 +01:00
Juho Hiltunen 725bdda564 code cleanup: remove unused variables
this_ph_data, N_WAV_BUF, option.device, harm_sqrt_n,  max_hval, next_pause
2020-07-24 07:29:59 +03:00
Juho Hiltunen ee944700f8 code cleanup: Check all local includes with include-what-you-use
Going through files in src/libespeak-ng/, include-what-you-use removed a
few unnecessary includes and included explanations on why a certain
header should be included. This makes tracking globals and dependencies easier.

Running the codebase through IWYU should be repeated after each major
code restIncludes to standard c library weren't checked to avoid
breaking builds with other platforms.

See https://github.com/include-what-you-use/include-what-you-use
2020-07-24 07:29:47 +03:00
Juho Hiltunen a4041952c5 code cleanup: remove unused references to f_log
f_log is only used in compiledict.c.
2020-07-21 15:50:39 +03:00
Juho Hiltunen 992745508e code cleanup: pass voice_t wvoice as a parameter to Wavegen() instead of using a
global
2020-07-21 12:39:41 +03:00
Juho Hiltunen 3b4cca4832 code cleanup: combine Wavegen() and Wavegen2().
Wavegen2() only had one if-statement and then called
    Wavegen(). Wavegen() was never called directly.
2020-07-21 12:39:28 +03:00
Juho Hiltunen 9232f1911e code cleanup: remove unnecessary references to out_start.
Unsigned char *out_start is a global only used in speech.c.
2020-07-21 12:39:20 +03:00
Juho Hiltunen 388be80da7 code cleanup: pass voice_t wvoice as a parameter instead of using a global
SetSynth_Klatt() was using wvoice in two ways:
1) global wvoice was used directly
2) global wvoice was also passed in Wavegen_Klatt() as an argument "v"

Now the code only uses the function argument wvoice

Contributes to #68.
2020-07-21 12:39:12 +03:00
Juho Hiltunen 1b7c3303ef code cleanup: pass WGEN_DATA wdata as a parameter instead of using a global
Contributes to #68.
2020-07-21 12:39:03 +03:00
Juho Hiltunen 516144d63a code cleanup: combine Wavegen_Klatt() and Wavegen_Klatt2().
Wavegen_Klatt2() only had one if-statement and then called
Wavegen_Klatt(). Wavegen_Klatt() was never called directly.
2020-07-21 12:38:54 +03:00
Tobias Platen a6dbed8168 add output hooks for wavegen 2020-07-07 21:53:03 +02:00
Juho Hiltunen 520a30e0b0 code cleanup: use existing defines espeakRATE_MINIMUM, espeakRATE_NORMAL and espeakRATE_MAXIMUM. 2018-10-06 11:34:25 +03:00
Reece H. Dunn 0325a42374 Revert "wavegen.c: Fix -Wunused-but-set-variable warning."
This reverts commit 6d751c93bf.

Fixes https://github.com/nvaccess/nvda/issues/8231.
2018-05-08 07:28:52 +01:00
Samuel Thibault f75c5ccbe3 Fix out of bound access when buffer size is odd
Valgrind reports

==20307== Invalid write of size 1
==20307==    at 0x4E856FE: Wavegen.part.1 (wavegen.c:880)
==20307==    by 0x4E86682: Wavegen (wavegen.c:670)
==20307==    by 0x4E86682: Wavegen2 (wavegen.c:1235)
==20307==    by 0x4E86682: WavegenFill2 (wavegen.c:1317)
==20307==    by 0x4E86CA7: WavegenFill (wavegen.c:1398)
==20307==    by 0x4E7093F: Synthesize (speech.c:442)
==20307==    by 0x4E712E0: sync_espeak_Synth (speech.c:549)
==20307==    by 0x4E8A5C0: process_espeak_command (espeak_command.c:317)
==20307==    by 0x4E8B387: say_thread (fifo.c:333)
==20307==    by 0x50E85A9: start_thread (pthread_create.c:463)
==20307==    by 0x53F5CBE: clone (clone.S:95)
==20307==  Address 0xad5e1bd is 0 bytes after a block of size 2,205 alloc'd
==20307==    at 0x4C2CABF: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==20307==    by 0x4C2EE04: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==20307==    by 0x4E70CFC: espeak_ng_InitializeOutput (speech.c:286)
==20307==    by 0x4E6176E: espeak_Initialize (espeak_api.c:67)
==20307==    by 0x10A5D8: initialize_espeak (espeak.c:303)
==20307==    by 0x109D1D: main (espeakup.c:201)
==20307==

Indeed, the out_ptr >= out_end test is not enough: it only checks that
one byte can fit the buffer, while klatt and wavegen produce two bytes.
2018-05-03 21:04:53 +02:00
Juho Hiltunen 6d751c93bf wavegen.c: Fix -Wunused-but-set-variable warning. 2018-05-01 19:02:32 +01:00
Juho Hiltunen 1bad240de8 maintainability: remove some unused variables and unnecessary extern declarations 2018-03-24 15:03:48 +02:00
Juho Hiltunen f00ff91fe4 headers: add new file wavegen.h with declarations of functions in wavegen.c 2018-03-11 11:27:56 +02:00
Juho Hiltunen d1fd650219 Replace references to USHORT, DOUBLEX and UCHAR with unsigned short, double and unsigned char.
This makes the codebase more consistent. Including speech.h is not necessary anymore in some files. Includes have been removed.
2018-03-09 21:08:38 +02:00
Juho Hiltunen 738492100a make all headers (almost) self-contained by using include guards and #include statements within headers 2018-03-09 21:08:15 +02:00
Juho Hiltunen 4f56345fb5 Use stdbool instead of int (Issue #8)
See issue #8, https://github.com/espeak-ng/espeak-ng/issues/8

There might still be some ints that could be changed to boolean.

Possible regressions in fifo.c:
int fifo_is_busy() and int fifo_is_command_enabled() used to return an int. Now they return a boolean. This might cause problems on systems where stdbool true/false is something else than 1/0.
2017-12-09 17:34:05 +02:00
Reece H. Dunn 90d53e145f Move the klatt methods from synthesize.h to klatt.h. 2017-10-25 07:12:45 +01:00
Reece H. Dunn 74f9f5e34b wavegen.c: Fix -Wmissing-prototypes warnings. 2017-10-10 21:37:46 +01:00
Reece H. Dunn 6ab1314843 Move outbuf_size to where it is actually used. 2017-05-21 10:02:27 +01:00
Reece H. Dunn 006bd842c3 Fix indentation in wavegen.c. 2017-01-14 19:16:11 +00:00
Valdis Vitolins 640f0d8160 Typo fixes 2017-01-13 21:19:59 +02:00
Ondřej Lysoněk 3817ee1e16 Moved speak_lib.h to espeak-ng directory
Moved include/espeak/speak_lib.h to include/espeak-ng/speak_lib.h and
created a symlink from the original location.
2016-08-28 10:57:10 +01:00
Reece H. Dunn 371216006f Protect against wvoice being NULL in wavegen.c.
This can occur in cases where the voice is not found, or
espeak_ng_Initialize is called more than once.
2016-03-01 07:32:02 +00:00
Reece H. Dunn 674d55e605 Remove support for pa_device in the config file (now have a device command-line option). 2016-02-07 18:16:27 +00:00
Reece H. Dunn eebb079718 Remove the Wave(Init|Open|Close)Sound functions as these are no longer used. 2016-02-06 10:51:40 +00:00
Reece H. Dunn 4cde8b6d13 option_quiet is no longer used (always set to 0), so remove it 2016-02-06 10:45:32 +00:00