1
0
mirror of https://github.com/ndarilek/tts-rs.git synced 2024-09-29 02:09:36 +00:00
Commit Graph

190 Commits

Author SHA1 Message Date
2ea472e196 Bump Windows dependency, crate version, and remove Debug derive. 2021-12-28 10:09:54 -06:00
Malloc Voidstar
bed6cfa206
Exit Android initialization loop with error when stuck
500ms is fairly arbitrary; my emulator took 35 to run that loop.
2021-12-10 10:47:12 -08:00
47e164a0c8 Support Speech Dispatcher initialization failures, and bump version. 2021-11-19 09:22:05 -06:00
119678ae55 Update to windows 0.27 and bump version. 2021-11-16 11:13:31 -06:00
92538fbdb8 Upgrade windows-rs to 0.23. 2021-11-01 10:36:15 -05:00
c4038149a8 Remove a conditional that blocked playback in some circumstances on the WinRT backend. 2021-05-20 17:07:55 -05:00
ca7789f157 Bump version and Tolk dependency. 2021-05-20 13:59:02 -05:00
d85d56c3ee Bump version to work around Tolk crash. 2021-05-11 23:53:15 -05:00
ef96042b12 Bump Windows dependency and update accordingly. Also, fix an acronym Clippy warning. 2021-03-31 10:38:32 -05:00
fb7f1dddfc *sigh* Fix stupid M1/ARM casting issue. I hate Apple. 2021-03-15 14:02:05 -05:00
50528ce2d1 Another comparison check fix. 2021-03-15 13:47:41 -05:00
8c2aae7afd Try another initialization fix. 2021-03-15 13:46:22 -05:00
ed2d2e76c3 And this is what happens when I don't test on actual hardware. 2021-03-15 13:06:49 -05:00
45255a8049 Fix another possibly broken comparison. 2021-03-15 13:04:38 -05:00
c65c0022d8 (Hopefully) initialize utterances correctly. 2021-03-15 13:03:41 -05:00
bd8e2ee20a Compare against ObjC NO to ensure correctness. 2021-03-15 13:02:51 -05:00
cdfb7ddb77 Even more bloody logging. 2021-03-12 06:59:49 -06:00
290eb06d02 Even more trace logging. 2021-03-12 06:38:46 -06:00
e91637a67c Add even more trace logging. 2021-03-12 06:28:02 -06:00
81eba99594 Add cast to (hopefully) get AppKit compiling on M1 macs. 2021-03-12 06:20:05 -06:00
1f510120a5 Add trace logging in AVFoundation backend. 2021-03-12 05:58:30 -06:00
1d075f7ece When speech is interrupted on AVFoundation, only stop if already speaking. May address a possible deadlock. 2021-03-12 05:50:08 -06:00
a22ee53727 Fix Clippy warnings. 2021-03-12 05:48:14 -06:00
c21d4a6a38 Eliminate separate winrt_bindings crate since it no longer seems necessary for fast builds. 2021-03-11 13:21:41 -06:00
42879dfa1f Refactor to new windows crate. 2021-01-22 11:28:42 -06:00
296fa89f5d Bump version, and use automatically-provided feature provided by optional tolk dependency. 2021-01-21 10:49:11 -06:00
06eb32b6d4 Make module imports more consistent. 2020-12-30 14:23:31 -06:00
8d6f40b1a5 Finish callback implementation. 2020-12-30 12:19:44 -06:00
0ea46b29b2 Partially implement callbacks. Unfinished due to lazy_static inconsistencies. 2020-12-30 11:37:46 -06:00
c92b67127c Support is_speaking. 2020-12-30 10:15:37 -06:00
733b17fe2c Log TTS initialization failures. 2020-12-30 10:10:49 -06:00
440154502b Clear some unused variable warnings. 2020-12-30 10:07:27 -06:00
2120de8756 Support pitch. 2020-12-30 10:06:18 -06:00
e1c2171833 Support stopping. 2020-12-30 09:49:13 -06:00
22ee9863d6 Return utterance IDs when speech succeeds. 2020-12-30 09:44:47 -06:00
5634fdb393 Block initialization until TTS finishes initializing from Android. 2020-12-30 09:24:13 -06:00
1ac0b91981 Add ugly hack to prove that speech works. 2020-12-29 19:25:56 -06:00
32f57d8578 Speak calls pass to Java, but don't work since something isn't bound to the engine. 2020-12-29 17:25:58 -06:00
f58f875fdf Guess I don't need a global VM. 2020-12-29 15:48:18 -06:00
84926ea110 Store the TTS object in the struct. 2020-12-29 15:47:11 -06:00
da8260cba8 Store the TTS object in the struct. 2020-12-29 15:45:56 -06:00
965bea0adf TTS seems to initialize now. 2020-12-29 14:10:39 -06:00
fc20431916 Refactor Android example to full, self-contained app. 2020-12-29 11:15:24 -06:00
5849e340c9 Add initial Android stubs. 2020-12-27 09:41:34 -06:00
d8f2b3fb00 I'll do my own queuing, MediaPlaybackList is either the wrong tool for the job or way too buggy. 2020-12-07 21:35:07 -06:00
a905439d9c Add strategic backoff in WinRT backend to (hopefully) eliminate a deadlock. 2020-12-07 14:58:59 -06:00
f4952ad132 UWP tweaks and optimizations.
* Initialized TTS `MediaPlayer` in real-time mode.
* Set media category to speech.
* More aggressively drop locks to prevent deadlocks.
* Remove checks of queued items that are no longer necessary.
* Made `is_speaking` check both media player state and queued item count.
* Return eagerly from `stop` if speech isn't in progress, thus eliminating more locks.
2020-11-25 10:07:28 -06:00
669c94af36 We don't need autoplay. 2020-11-23 17:20:55 -06:00
d97796fff7 Eliminate a Clippy warning. 2020-11-17 16:03:03 -06:00
590d6369fb Remove debugging printlns. 2020-11-17 10:25:21 -06:00
6a706f36ab Fix double-speaking bug for good, hopefully. 2020-11-11 10:27:03 -06:00
031e0ff23f Fix more queuing issues under WinRT. 2020-11-03 12:02:16 -06:00
6b74afe503 Remove unused variable. 2020-11-03 11:24:09 -06:00
289a35dc83 Don't double-speak previous item when not flushing queue. 2020-11-03 11:20:02 -06:00
9c98026978 Don't re-initialize a player, just clear the item list. 2020-11-03 11:11:49 -06:00
d3e05b5a7a Revert "Pass TTS instance as first argument to utterance callbacks."
This appears to break callbacks, and is of limited utility.

This reverts commit 29c0a8463e.
2020-11-03 11:03:55 -06:00
29c0a8463e Pass TTS instance as first argument to utterance callbacks. 2020-11-02 22:40:30 -06:00
cf0ad2221e Derive Debug. 2020-11-02 21:44:47 -06:00
551bb1292e Make TTS clonable.
Also, add other possibly useful derives.
2020-11-02 21:27:13 -06:00
565aa6d654 Fix issue where is_speaking always returns true under WinRT, and bump version. 2020-11-02 13:30:39 -06:00
5feede0b8f Remove unnecessary debug logs. 2020-11-02 10:11:53 -06:00
0bbda0a90f Remove WinRT code for handling paused player state, which caused issues with queued speech. 2020-10-30 10:23:24 -05:00
fa216a534e Gate Tolk behind use_tolk feature to support compilation on UWP. 2020-10-08 19:07:07 -05:00
88ec7db075 Eliminate accidental deadlock. 2020-10-08 09:44:46 -05:00
0c13c43a77 Fix incorrect error code name. 2020-10-08 08:16:01 -05:00
6f12974ce4 Implement stop callback on MacOS. 2020-10-08 08:07:33 -05:00
8c783205c3 Implement utterance_stop callback on most platforms. 2020-10-08 07:56:45 -05:00
174011bbb4 Make UtteranceId use u64 on most platforms, and add additional derives. 2020-10-08 07:16:10 -05:00
François Caddet
d2c42d97f5 the voices::Backend trait is almost stable 2020-09-28 11:18:54 +02:00
François Caddet
3294a82485 some fixes
now build on macOS
2020-09-27 20:35:40 +02:00
François Caddet
e19eb56169 first implementation of a voice trait for macOS
WARN: not tested
2020-09-27 20:04:12 +02:00
François Caddet
f78aed211f fix conflicts 2020-09-26 23:36:15 +02:00
Francois Caddet
8c8dc0ae9f add voices value returned by the backends 2020-09-26 23:03:56 +02:00
c2bbc5ac04 Eliminate more Clippy warnings. 2020-09-26 12:47:18 -05:00
dbac8a3fe0 Eliminate some Clippy warnings. 2020-09-26 12:43:16 -05:00
Francois Caddet
47cbb80595 Merge branch 'develop' into feature/voices 2020-09-26 18:20:10 +02:00
ace5d2fd1f Make compatible with newly-released speech-dispatcher-rs. 2020-09-25 11:33:49 -05:00
589c613bbe Implement FnMut callbacks on AV Foundation, and fix warnings. 2020-09-25 11:14:26 -05:00
1f22843086 Refactor Linux, Windows, and Wasm platforms to use FnMut for callbacks, and bump version. 2020-09-25 11:08:19 -05:00
96e5d21e24 Implement callbacks for WinRT. 2020-09-24 17:56:46 -05:00
a22242af50 Implement callbacks for web backend. 2020-09-24 14:26:30 -05:00
532d5d9b58 Tighten up access. 2020-09-23 12:23:46 -05:00
251fb8d8c1 Implement callbacks on AVFoundation. 2020-09-23 12:21:05 -05:00
bd57075d53 Implement unused framework for AVFoundation callbacks. 2020-09-23 11:28:56 -05:00
36a12597de Merge branch 'v0.7' of https://github.com/ndarilek/tts-rs into v0.7 2020-09-23 11:00:41 -05:00
6788277a4d Implement framework for utterance callbacks in Windows backends, though they aren't currently called. 2020-09-23 10:31:21 -05:00
61522610cd Implement utterance begin/end callback framework, and set up for Speech-Dispatcher. 2020-09-23 10:12:51 -05:00
f5f11b7cdf Switch to using MediaPlaybackItem as WinRT utterance ID. 2020-09-22 14:51:59 -05:00
017aa8863b Remove unused import and fix i~~OS builds. 2020-09-22 14:30:17 -05:00
6b023c3071 Add AV Foundation support for returning utterance IDs. 2020-09-22 14:08:19 -05:00
4816ec575c Make speak calls return an utterance ID, where possible. 2020-09-22 12:40:03 -05:00
d6508edd12 Remove workaround for incorrect Tolk string handling, pin minimum working version, and bump version. 2020-09-21 15:13:22 -05:00
François Caddet
97f1de5724 Merge branch 'develop' into feature/voices 2020-09-05 12:27:19 +02:00
François Caddet
335ac710a6 add unimplemented functions forvoices feature on every backends 2020-09-05 12:07:51 +02:00
François Caddet
b238c8c938 fix return type of AVSpeechSynthesisVoice:new 2020-09-05 11:30:11 +02:00
François Caddet
0fb6c62d83 fix some parameters types and implement set_voice
We have an ilegal hardware instruction in
backend::av_foundation::voices::AVSpeechSynthesisVoice::new(identifier)
when sending voiceWithIdentifier. Is it because the runLoop is not
runing when it's called?
2020-09-04 15:48:56 +02:00
François Caddet
6ed94686f3 implement set_voice for AVFoundation backend
- TODO: test the implementation
- fixed: set_voice mutability of self parameter
2020-09-03 18:40:32 +02:00
François Caddet
5b0d1b6621 Add voices feature
Implemented for AVFoundation backend but set_voice has no effect for now
Warning: does not build on Linux or windows for now
2020-09-03 16:50:11 +02:00
665013fdff Split text sent to Tolk backend to account for some sort of length limit.
Tolk seems to fail on strings larger than 325 characters in length. Here we:
* Send any strings with 300 or fewer characters through directly.
* For larger strings, split on whitespace boundaries, then create and send buffers of 300 or fewer characters.

This may not handle internationalized text, and may not handle someone bombarding TTS with a giant word. PRs for either welcome.
2020-09-02 11:40:08 -05:00
6c091f3284 Switch Speech-dispatcher initialization to threaded mode so callbacks work and is_speaking is correct. 2020-08-25 11:50:25 -05:00