vad 0.0.6
vad: ^0.0.6 copied to clipboard
VAD is a cross-platform Voice Activity Detection system, allowing Flutter applications to seamlessly handle various VAD events using Silero VAD v4/v5 models.
0.0.6 #
- BREAKING CHANGE: Convert all VAD APIs to async Future-based methods for better async/await support
- API: Convert
startListening(),stopListening(),pauseListening(), anddispose()methods inVadHandlerBaseto returnFuture<void> - Web: Update
VadHandlerWebimplementation to use async method signatures - Non-Web: Update
VadHandlerNonWebimplementation to use async method signatures and properly await internal async operations - Example: Update example app to use async/await pattern when calling VAD methods
- API: Convert
- introduce
pauseListeningfeature- API: Add
pauseListening()toVadHandlerBase. - Web: implement
pauseListeningImpl()invad_web.jsand expose via JS bindings. - Non-Web: add
_isPausedflag inVadHandlerNonWeb; ignore incoming frames when paused; ifsubmitUserSpeechOnPauseis true, callforceEndSpeech(). - Start/Stop: reset
_isPausedinstartListening(); guardvadInstanceinstopListeningImpl()with null-check and log.
- API: Add
- Add pause/resume UI functionality to example app
- Example: Add dynamic pause button that appears only while actively listening
- Example: Transform start button to "Resume" when paused, calling
startListening()to resume - Example: Hide pause button when paused state is active
- Example: Add separate stop button (red) available in both listening and paused states
- Example: Implement proper state management for
isListeningandisPausedtracking
- Add support for custom
RecordConfigparameter instartListening()for non-web platforms- API: Add optional
RecordConfig? recordConfigparameter tostartListening()inVadHandlerBase. - Non-Web: Use custom
RecordConfigif provided, otherwise fall back to default configuration with 16kHz sample rate, PCM16 encoding, echo cancellation, auto gain, and noise suppression. - Web: Accept the parameter for compatibility but ignore it (not applicable for web platform).
- API: Add optional
- Bump
recordpackage to version 6.0.0 - Example: Bump
permission_handlerpackage to version 12.0.0+1 - Example: Bump
audioplayerspackage to version 6.5.0
0.0.5 #
- Add support for Silero VAD v5 model. (Default model is set to v4)
- Automatically upsample audio to 16kHz if the input audio is not 16kHz (fixes model load failures due to lower sample rates).
- Expose
onRealSpeechStartevent to notify when the number of speech positive frames exceeds the minimum speech frames (i.e. not a misfire event). - Expose
onFrameProcessedevent to track VAD decisions by exposing speech probabilities and frame data for real-time processing. - Update example app to show the
onRealSpeechStartcallback in action and introduce VAD Settings dialog to change the VAD model and other settings at runtime. - For web platform, bundle the required files within the package to avoid download failures when fetching from CDNs and to ensure offline support.
- Update example app to log
onFrameProcesseddetails for debugging.
0.0.4 #
- Fixed a bug where default
modelPathwas not picked up, resulting in silent failure ifmodelPathwas not provided. - Export
VadIteratorclass for manual control over the VAD process for non-streaming use cases. Only available on iOS/Android. - Added comments for all public methods and classes.
0.0.3 #
- Switch to
onnxruntimepackage for inference on a separate isolate on iOS and Android to avoid using a full browser in the background, overall reducing the app size and improving performance. - Example app will show audio track slider with controls while speech segment is being played and it will reflect a misfire event on the UI if occurred.
0.0.2 #
- Fix broken LICENSE hyperlink in README.md and add topics to pubspec.yaml
0.0.1 #
- Initial release