Releases: csdcorp/speech_to_text
Releases · csdcorp/speech_to_text
Android stop fix
New
- new parameter
localeId
on theSpeechToTextProvider
listen
method supports selecting a
non default languge for the recognizer when using the provider.
Fix
- A work around for a bug in Android 10(29) that made
stop
andcancel
not work. The plugin now
callsdestroy
on the AndroidSpeechRecognizer
which terminates the listen session immediately.
There is a downside to this approach in that it does not always report results that were in process
whendestroy
was called, however it does mean thatstop
works. - The example for
SpeechToTextProvider
,provider_example.dart
had an error that made it always
use the default language and ignore the drop-down selection. This has been corrected.
Doc update
Fix
- Updated the version number in the readme file, which I forget to do, every single time.
iOS final Results fix
New
- new parameter
sampleRate
on thelisten
method supports some older iOS devices by allowing
customization to support the expected hardware sample rate. 44100 works with some older devices.
Fix
pauseFor
now times out closer to the expected time and more reliably. Duplicate partial results were
causing it to extend previously.finalResult
is now reliably true on the last result on iOS whenpauseFor
orlistenFor
timeout or
stop
is called directly. Previously it would only return true when the stop happened almost immediately
Provider
New
- new parameter
onDevice
on thelisten
method enforces on device recognition for sensitive content - onSoundLevelChange now supported on iOS
- added compile troubleshooting help to README.md
SpeechToTextProvider
is an alternate and simpler way to interact with theSpeechToText
plugin.- new
provider_example.dart
example for usage ofSpeechToTextProvider
.
Fix
- on iOS handles some conflicts with other applications better to keep speech working after calls for example
iOS sound handling improvements
New
- improved error handling and logging in the iOS implementation
- added general guides for iOS to the README
- moved stress testing out of the main example
- iOS now defaults to using the speaker rather than the receiver for start /stop sounds when no headphones
Fix
- iOS now properly deactivates the audio session when no longer listening
- start and stop sounds on iOS should be more reliable when available
Error handling on Android
Breaking
listenFor
now callsstop
rather thancancel
as this seems like more useful behaviour
Fix
- Android no longer stops or cancels the speech recognizer if it has already been shutdown by a
timeout or other platform behaviour. - Android no longer tries to restart the listener when it is already active
- Now properly notifies errors that happen after listening stops due to platform callback rather than
client request. See #51
Separate timeout errors
- error_timeout has been separated into error_network_timeout and error_speech_timeout
Partial results & cancel on error
- hasPermission to check for the current permission without bringing up the system dialog
listen
has a new optionalcancelOnError
parameter to support automatically canceling
a listening session on a permanent error.listen
has a new optionalpartialResults
parameter that controls whether the callback
receives partial or only final results.
Multiple transcriptions
New
- speech recognizer now exposes multiple possible transcriptions for each recognized speech
- alternates list on SpeechRecognitionResult exposes alternate transcriptions of voice
- confidence on SpeechRecognitionResult gives an estimate of confidence in the transcription
- isConfident on SpeechRecognitionResult supports testing confidence
- hasConfidenceRating on SpeechRecognitionResult indicates if confidence was provided from the device
- new SpeechRecognitionWords class gives details on per transcription words and confidence
Fix
- speechRecognizer availabilityDidChange was crashing if invoked due to an invalid parameter type
- Added iOS platform 10 to example Podfile to resolve compilation warnings
Flutter 1.12.0 - Swift update
0.7.2
Breaking
- Upgrade Swift to version 5 to match Flutter. Projects using this plugin must now switch to 5.