Commit Graph

36 Commits

Author SHA1 Message Date
Nolan Darilek b1f60811bf Add voice support to WinRT backend. 2022-03-30 20:13:27 -05:00
Nolan Darilek 51cd84a6cd Support setting voice with Speech Dispatcher, and clarify features to indicate where getting current voice isn't supported. 2022-03-30 18:38:25 -05:00
Nolan Darilek 142f2e6b3a Use plain 'ol struct. 2022-03-30 18:07:08 -05:00
Nolan Darilek 1e55c43153 WIP: Use correct type in backend implementation. 2022-03-30 15:13:28 -05:00
Nolan Darilek e56a0da2e5 WIP: Reorganize, and try to get working with Speech Dispatcher. 2022-03-30 12:07:59 -05:00
Nolan Darilek c222c087b2 cargo fmt 2022-03-30 10:18:22 -05:00
francois-caddet 88f4598ec6 Merge branch 'master' into feature/voices 2022-03-20 13:02:37 +01:00
Nolan Darilek dc00aa427f Bump speech-dispatcher dependency and update for new return types. 2022-01-10 11:02:12 -06:00
Nolan Darilek 47e164a0c8 Support Speech Dispatcher initialization failures, and bump version. 2021-11-19 09:22:05 -06:00
Nolan Darilek 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
Nolan Darilek 29c0a8463e Pass TTS instance as first argument to utterance callbacks. 2020-11-02 22:40:30 -06:00
Nolan Darilek cf0ad2221e Derive Debug. 2020-11-02 21:44:47 -06:00
Nolan Darilek 551bb1292e Make `TTS` clonable.
Also, add other possibly useful derives.
2020-11-02 21:27:13 -06:00
Nolan Darilek 8c783205c3 Implement utterance_stop callback on most platforms. 2020-10-08 07:56:45 -05:00
Francois Caddet 8c8dc0ae9f add voices value returned by the backends 2020-09-26 23:03:56 +02:00
Nolan Darilek c2bbc5ac04 Eliminate more Clippy warnings. 2020-09-26 12:47:18 -05:00
Francois Caddet 47cbb80595 Merge branch 'develop' into feature/voices 2020-09-26 18:20:10 +02:00
Nolan Darilek ace5d2fd1f Make compatible with newly-released speech-dispatcher-rs. 2020-09-25 11:33:49 -05:00
Nolan Darilek 1f22843086 Refactor Linux, Windows, and Wasm platforms to use FnMut for callbacks, and bump version. 2020-09-25 11:08:19 -05:00
Nolan Darilek 61522610cd Implement utterance begin/end callback framework, and set up for Speech-Dispatcher. 2020-09-23 10:12:51 -05:00
Nolan Darilek 4816ec575c Make speak calls return an utterance ID, where possible. 2020-09-22 12:40:03 -05:00
François Caddet 335ac710a6 add unimplemented functions forvoices feature on every backends 2020-09-05 12:07:51 +02:00
Nolan Darilek 6c091f3284 Switch Speech-dispatcher initialization to threaded mode so callbacks work and `is_speaking` is correct. 2020-08-25 11:50:25 -05:00
Nolan Darilek 951e31b284 Implement `is_speaking` For Speech-dispatcher. 2020-08-19 21:28:30 -05:00
Nolan Darilek a1e4215ea7 Normal volume of speech-dispatcher is 100, not 0. 2020-08-18 15:19:34 -05:00
Nolan Darilek 16a6f6378a Under WinRT, recreate player completely when interruption is requested. 2020-07-06 12:52:18 -05:00
Nolan Darilek c24c1d3230 Implement support for detecting when TTS is speaking. 2020-06-02 14:53:14 -05:00
Nolan Darilek 7b4fb8dae4 Clean up speech synthesis properties, and implement everything for WinRT.
I'd previously attempted to normalize everything to `u8`, but this had some drawbacks:

 * It failed to account for some synthesis drivers defining normal as mid-range, while most define it very low.
 * It didn't track the normal value for a given synthesizer.
 * There was no clean way to map a curve between the minimum, normal, and maximum rates.

Here we track the minimum, normal, and maximum values of rate, pitch, and volume. Sanity checks are done on set.

Also, as a further proof-of-concept, all properties are now implemented for the WinRT driver.
2020-05-18 18:12:59 -05:00
Nolan Darilek f4b4ba5184 Clippy and fmt. 2019-12-23 07:37:48 -06:00
Nolan Darilek 7488dcbe3a For single-character text, set punctuation to all so the text is spoken. 2019-09-30 10:36:51 -05:00
Nolan Darilek ac4ebea05a Create list of supported features and check them before a method is called. 2019-03-24 21:30:45 +00:00
Nolan Darilek e82a10ba16 cargo fmt 2019-01-03 16:16:54 +00:00
Nolan Darilek 4fadad9d36 Add Web backend and refactor API. 2018-12-30 17:13:48 +00:00
Nolan Darilek 863ae0e8c3 Implement `stop()`. 2018-12-28 14:49:02 +00:00
Nolan Darilek e24ed9a3a3 Add support for volume and pitch. 2018-12-15 15:56:13 +00:00
Nolan Darilek bac4b7555f Initial commit. 2018-12-14 19:35:49 +00:00