Commit Graph

112 Commits

Author SHA1 Message Date
Nolan Darilek d6508edd12 Remove workaround for incorrect Tolk string handling, pin minimum working version, and bump version. 2020-09-21 15:13:22 -05:00
Nolan Darilek 14a721c837 Depend on `build_ios` for releasing. 2020-09-02 17:13:03 -05:00
Nolan Darilek c8fd02b448 Bump version. 2020-09-02 16:51:25 -05:00
Nolan Darilek 03ea2602bc Don't link against AppKit if building on iOS. 2020-09-02 16:37:07 -05:00
Nolan Darilek dac58539c9 Merge branch 'master' of https://github.com/ndarilek/tts-rs 2020-09-02 16:03:08 -05:00
Nolan Darilek 0d61dc258f Set up conditional compilation for iOS. 2020-09-02 16:03:04 -05:00
Nolan Darilek 2cfd2ea09e Merge branch 'master' of https://github.com/ndarilek/tts-rs into master 2020-09-02 15:52:43 -05:00
Nolan Darilek d3ca27c707 Force Rust toolchain update, and separate out iOS build. 2020-09-02 15:52:11 -05:00
Nolan Darilek 81b23330e9 Move iOS build into separate CI run to see if this odd bug is triggered. 2020-09-02 15:37:34 -05:00
Nolan Darilek 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
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 d3ffd5078f cargo fmt 2020-08-24 16:46:57 -05:00
Nolan Darilek 1507527175 Add `Default` implementation for `Features` so backends need only specify features they actually support. 2020-08-24 16:44:00 -05:00
Nolan Darilek 951e31b284 Implement `is_speaking` For Speech-dispatcher. 2020-08-19 21:28:30 -05:00
Nolan Darilek 045b80c921 Don't scream if winrt_bindings fails to build. 2020-08-18 15:27:07 -05:00
Nolan Darilek 907b828315 Add iOS test to release builds. 2020-08-18 15:26:23 -05:00
Nolan Darilek bdace524b9 Bump version. 2020-08-18 15:22:46 -05:00
Nolan Darilek 7bcbda15b3 Update supported platforms. 2020-08-18 15:22:12 -05:00
Nolan Darilek a1e4215ea7 Normal volume of speech-dispatcher is 100, not 0. 2020-08-18 15:19:34 -05:00
Nolan Darilek 2f85c3b2bf Add iOS build. 2020-08-18 15:16:30 -05:00
Nolan Darilek 3b3be830c6 Update iOS build targets. 2020-08-18 14:59:48 -05:00
Nolan Darilek 65eeddc1ad Remove missing targets. 2020-08-18 14:24:00 -05:00
Nolan Darilek 27e9aaf034 Add iOS build. 2020-08-18 14:17:06 -05:00
Nolan Darilek abe5292868 Bump version. 2020-08-13 11:15:52 -05:00
Nolan Darilek cce1569c72 Sync supported synths in README and lib.rs. 2020-08-13 11:15:23 -05:00
Nolan Darilek 4d980270be Merge branch 'master' of https://github.com/ndarilek/tts-rs 2020-08-13 11:12:25 -05:00
Nolan Darilek d199a6e8ee Update supported synthesizers. 2020-08-13 11:12:15 -05:00
Nolan Darilek ff877acd87 Eliminate warning in non-MacOS builds. 2020-08-13 11:11:38 -05:00
Nolan Darilek c5b1ff1944 Add AVFoundation backend, used automatically on MacOS 10.14 and above. 2020-08-13 11:08:00 -05:00
Nolan Darilek 2d0ab8889a Eliminate a warning. 2020-08-13 06:58:16 -05:00
Nolan Darilek cc2a4c12f7 Rename ns_speech_synthesizer backend to appkit. 2020-08-13 06:46:16 -05:00
Nolan Darilek 1d7018a558 Build MacOS releases and explicitly specify task dependencies. 2020-08-12 15:56:10 -05:00
Nolan Darilek d95eed63c5 Add MacOS CI test builds. 2020-08-12 15:48:38 -05:00
Nolan Darilek af678d76d1 Update documentation with supported backends. 2020-08-12 15:45:16 -05:00
Nolan Darilek 75fd320d3f Implement rate/volume-setting for `NSSpeechSynthesizer`, along with other tweaks.
Unfortunately, there seems to be a difference in how the `hello_world` example processes rate and volume changes. I'm not sure if it doesn't adjust rate for samples while speaking. In any case, arguably there are just going to be differences in platforms that I can't account for, so this may just have to be. Hopefully it doesn't interfere with actual usage.
2020-08-12 15:41:57 -05:00
Nolan Darilek dc1c00f446 Good news: `NSSpeechSynthesizer` speech now queues. Bad news: my brain bleeds. 2020-08-12 15:14:17 -05:00
Nolan Darilek 7eccb9f573 Clean up `println!` and comparison calls. 2020-08-12 09:54:25 -05:00
Nolan Darilek 427ca027be Add `Drop` implementation. 2020-08-12 09:52:16 -05:00
Nolan Darilek 47bfe768e6 Get delegates working so speech interruption/queuing should now be possible.
* Fix broken delegate method signature.
* Add `NSRunLoop` into `hello_world` example so delegates are called. Presumably, MacOS apps already run one of these, but the example didn't.
2020-08-12 09:49:51 -05:00
Nolan Darilek faadc0e3b7 Still doesn't work, but at least it doesn't segfault now. 2020-08-11 14:44:52 -05:00
Nolan Darilek 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
Nolan Darilek 73786534dc Bump version. 2020-07-07 09:09:18 -05:00
Nolan Darilek e1bb6741a9 Correctly indicate that WinRT supports detection of speaking. 2020-07-07 09:08:44 -05:00
Nolan Darilek 742daf332b Ensure wasm32-unknown-unknown target builds when releasing as well. 2020-07-06 13:35:17 -05:00
Nolan Darilek 770bdd3842 Add necessary target. 2020-07-06 13:13:17 -05:00
Nolan Darilek 61edbce301 Make sure we can build wasm32-unknown-unknown target. 2020-07-06 13:00:17 -05:00
Nolan Darilek 7ae3faac63 Bump version. 2020-07-06 12:52:39 -05:00
Nolan Darilek 16a6f6378a Under WinRT, recreate player completely when interruption is requested. 2020-07-06 12:52:18 -05:00
Nolan Darilek 1d7c668a4a Sanity-check value to prevent overflow. 2020-07-06 12:14:50 -05:00
Nolan Darilek eb936a4ae0 Bump version. 2020-06-17 19:00:57 -05:00