New API
- Async VAD Support:
voiceActivityAsync(in:)
method forVoiceActivityDetector
- Segments Discovery Callback:
transcribe()
method is now acceptingSegmentDiscoveryCallback
to receive sortable segments while transcribing with accurate seek values
⚠️ Deprecated Functions → Utility Classes
Existing code continues to work with deprecation warnings.
// Old → New
compressionRatio(of:) → TextUtilities.compressionRatio(of:)
formatSegments(_:withTimestamps:) → TranscriptionUtilities.formatSegments(_:withTimestamps:)
loadTokenizer(for:tokenizerFolder:useBackgroundSession:) → ModelUtilities.loadTokenizer(for:tokenizerFolder:useBackgroundSession:)
modelSupport(for:from:) → ModelUtilities.modelSupport(for:from:)
detectModelURL(inFolder:named:) → ModelUtilities.detectModelURL(inFolder:named:)
findLongestCommonPrefix(_:_:) → TranscriptionUtilities.findLongestCommonPrefix(_:_:)
mergeTranscriptionResults(_:confirmedWords:) → TranscriptionUtilities.mergeTranscriptionResults(_:confirmedWords:)
resolveAbsolutePath(_:) → FileManager.resolveAbsolutePath(_:)
Protocol-Based Decoder Inputs
// Old
func decodeText(using decoderInputs: DecodingInputs) -> DecodingResult
// New
func decodeText(using decoderInputs: any DecodingInputsType) -> DecodingResult
What's Changed
- Fix modelSupport where prefix overlaps with different hardware chips by @a2they in #326
- fix: the issue where filenames containing dots are not handled correctly when generating the report path by @JimLiu in #333
- Sortable segment discovery during VAD chunking by @ZachNagengast in #334
- Refactor and cleanup utils, add protocol
DecodingInputsType
for DecoderInputs by @a2they in #338
New Contributors
Full Changelog: v0.12.0...v0.13.0