Repository navigation
Add speed and pitch settings to PublicationSpeechSynthesizer - #928
Merged
Merged
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Rapid configuration changes can leave queued speech tasks suspended indefinitely, retaining the synthesizer and publication.
1 open issue
What changed in this PR
Adds configurable speech speed and pitch to the toolkit’s publication text-to-speech support, with controls in the TestApp.
Changes:
- Passes speed and pitch settings through to the speech engine, including rate interpolation and pitch clamping.
- Restarts the current utterance when configuration changes during playback.
- Updates the user guide and changelog.
| File | Description |
|---|---|
TestApp/Sources/Reader/Common/TTS/TTSView.swift |
Adds speed and pitch controls and enlarges the settings panel. |
Sources/Navigator/TTS/TTSEngine.swift |
Adds speed and pitch to speech requests. |
Sources/Navigator/TTS/PublicationSpeechSynthesizer.swift |
Exposes settings and restarts speech on configuration changes. |
Sources/Navigator/TTS/AVTTSEngine.swift |
Converts speed multipliers to speech rates and applies pitch. |
docs/Guides/TTS.md |
Documents settings and immediate restart behavior. |
CHANGELOG.md |
Records the new settings and playback behavior. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Added
Navigator
PublicationSpeechSynthesizer.Configurationhas newspeedandpitchproperties.Changed
Navigator
PublicationSpeechSynthesizer.configwhile playing restarts the current utterance with the new configuration, instead of applying it from the next utterance.