1
0
mirror of https://github.com/ndarilek/tts-rs.git synced 2024-11-17 22:29:38 +00:00
Commit Graph

83 Commits

Author SHA1 Message Date
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
1507527175 Add Default implementation for Features so backends need only specify features they actually support. 2020-08-24 16:44:00 -05:00
7bcbda15b3 Update supported platforms. 2020-08-18 15:22:12 -05:00
2f85c3b2bf Add iOS build. 2020-08-18 15:16:30 -05:00
cce1569c72 Sync supported synths in README and lib.rs. 2020-08-13 11:15:23 -05:00
ff877acd87 Eliminate warning in non-MacOS builds. 2020-08-13 11:11:38 -05:00
c5b1ff1944 Add AVFoundation backend, used automatically on MacOS 10.14 and above. 2020-08-13 11:08:00 -05:00
cc2a4c12f7 Rename ns_speech_synthesizer backend to appkit. 2020-08-13 06:46:16 -05:00
af678d76d1 Update documentation with supported backends. 2020-08-12 15:45:16 -05:00
753f6c5ecd WIP: Initial support for MacOS/NSSpeechSynthesizer.
* Add necessary dependencies, build script, and `NSSpeechSynthesizer` backend.
* Get very basic speech working.

Needs a delegate to handle queued speech, and currently segfaults if one is set.
2020-08-11 12:11:19 -05:00
16a6f6378a Under WinRT, recreate player completely when interruption is requested. 2020-07-06 12:52:18 -05:00
4f011e6895 Get Tolk working again.
Two Tolk instances were being created. One checked for the presence of a screen reader. The other actually performed the speech, and was returned as part of the `TTS` instance.

Unfortunately, Tolk doesn't seem to appreciate being called twice. So here we check if a screen reader is detected and, if one is, return the instance that did the detection. Otherwise, error out and return the WinRT backend.
2020-06-11 13:00:24 -05:00
d46b886875 Remove JavaScript error from non-JavaScript builds. 2020-06-02 14:57:21 -05:00
c24c1d3230 Implement support for detecting when TTS is speaking. 2020-06-02 14:53:14 -05:00
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
3198a537f0 Initial WinRT backend.
* Add WinRT backend
 * Refactor to use thiserror and unify error-handling
 * If a screen reader is detected. use Tolk. Otherwise, use the WinRT backend.
2020-05-18 15:14:09 -05:00
f4b4ba5184 Clippy and fmt. 2019-12-23 07:37:48 -06:00
36745f9850 Eliminate deprecation warning. 2019-09-30 10:36:20 -05:00
071eefbe0e Resolve merge conflict. 2019-03-25 19:21:02 +00:00
3bda7bcff4 Add Tolk backend. 2019-03-25 19:15:08 +00:00
e388934e5e Support dynamic feature selection/use in example. 2019-03-25 16:34:30 +00:00
ac4ebea05a Create list of supported features and check them before a method is called. 2019-03-24 21:30:45 +00:00
f9558263ab Implement Send and Sync for TTS. 2019-01-03 17:20:04 +00:00
e82a10ba16 cargo fmt 2019-01-03 16:16:54 +00:00
44f6c489cb Indicate support for WebAssembly. 2018-12-30 17:20:03 +00:00
4fadad9d36 Add Web backend and refactor API. 2018-12-30 17:13:48 +00:00
96722d7032 Add basic documentation. 2018-12-28 15:39:50 +00:00
863ae0e8c3 Implement stop(). 2018-12-28 14:49:02 +00:00
e24ed9a3a3 Add support for volume and pitch. 2018-12-15 15:56:13 +00:00
bac4b7555f Initial commit. 2018-12-14 19:35:49 +00:00