react-native-davoice 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +319 -0
  2. package/TTSRNBridge.podspec +38 -0
  3. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  4. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  5. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/8.9/gc.properties +0 -0
  8. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  9. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  10. package/android/.gradle/vcs-1/gc.properties +0 -0
  11. package/android/build.gradle +47 -0
  12. package/android/libs/com/davoice/tts/1.0.0/tts-1.0.0.aar +0 -0
  13. package/android/libs/com/davoice/tts/1.0.0/tts-1.0.0.aar.md5 +1 -0
  14. package/android/libs/com/davoice/tts/1.0.0/tts-1.0.0.aar.sha1 +1 -0
  15. package/android/libs/com/davoice/tts/1.0.0/tts-1.0.0.pom +38 -0
  16. package/android/libs/com/davoice/tts/1.0.0/tts-1.0.0.pom.md5 +1 -0
  17. package/android/libs/com/davoice/tts/1.0.0/tts-1.0.0.pom.sha1 +1 -0
  18. package/android/settings.gradle +2 -0
  19. package/android/src/main/AndroidManifest.xml +14 -0
  20. package/android/src/main/java/com/davoice/rn/DaVoicePackage.java +29 -0
  21. package/android/src/main/java/com/davoice/stt/rn/STTModule.kt +208 -0
  22. package/android/src/main/java/com/davoice/tts/rn/DaVoiceTTSBridge.java +733 -0
  23. package/android/src/main/libs/MyLibrary-release.aar +0 -0
  24. package/app.plugin.js +60 -0
  25. package/ios/STTRNBridge/STTBridge.h +7 -0
  26. package/ios/STTRNBridge/STTBridge.m +130 -0
  27. package/ios/SpeechBridge/SpeechBridge.h +7 -0
  28. package/ios/SpeechBridge/SpeechBridge.m +761 -0
  29. package/ios/TTSRNBridge/DaVoiceTTSBridge.h +7 -0
  30. package/ios/TTSRNBridge/DaVoiceTTSBridge.m +177 -0
  31. package/ios/TTSRNBridge/DavoiceTTS.xcframework/Info.plist +44 -0
  32. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/DavoiceTTS +0 -0
  33. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Headers/DavoiceTTS-Swift.h +424 -0
  34. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Info.plist +0 -0
  35. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios.abi.json +13253 -0
  36. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios.private.swiftinterface +213 -0
  37. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  38. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios.swiftinterface +213 -0
  39. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Modules/module.modulemap +4 -0
  40. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/DavoiceTTS +0 -0
  41. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Headers/DavoiceTTS-Swift.h +844 -0
  42. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Info.plist +0 -0
  43. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios-simulator.abi.json +13253 -0
  44. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +213 -0
  45. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  46. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios-simulator.swiftinterface +213 -0
  47. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/x86_64-apple-ios-simulator.abi.json +13253 -0
  48. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +213 -0
  49. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  50. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +213 -0
  51. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/module.modulemap +4 -0
  52. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/_CodeSignature/CodeDirectory +0 -0
  53. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/_CodeSignature/CodeRequirements +0 -0
  54. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/_CodeSignature/CodeRequirements-1 +0 -0
  55. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/_CodeSignature/CodeResources +282 -0
  56. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/_CodeSignature/CodeSignature +0 -0
  57. package/ios/TTSRNBridge/libphonemes.a +0 -0
  58. package/ios/TTSRNBridge/libucd.a +0 -0
  59. package/package.json +46 -0
  60. package/react-native.config.js +10 -0
  61. package/speech/index.ts +1055 -0
  62. package/stt/index.d.ts +54 -0
  63. package/stt/index.ts +222 -0
  64. package/tts/DaVoiceTTSBridge.d.ts +18 -0
  65. package/tts/DaVoiceTTSBridge.js +71 -0
  66. package/tts/index.d.ts +3 -0
  67. package/tts/index.js +4 -0
@@ -0,0 +1,213 @@
1
+ // swift-interface-format-version: 1.0
2
+ // swift-compiler-version: Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5)
3
+ // swift-module-flags: -target arm64-apple-ios13.5 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name DavoiceTTS
4
+ // swift-module-flags-ignorable: -no-verify-emitted-module-interface -interface-compiler-version 6.1.2
5
+ import AVFAudio
6
+ import AVFoundation
7
+ import Accelerate
8
+ import CommonCrypto
9
+ import Foundation
10
+ import Speech
11
+ import Swift
12
+ import UIKit
13
+ import _Concurrency
14
+ import _StringProcessing
15
+ import _SwiftConcurrencyShims
16
+ import onnxruntime_objc
17
+ import phonemes
18
+ public typealias EngineSchedule = (_ url: Foundation.URL, _ onDone: @escaping () -> Swift.Void) -> Swift.Bool
19
+ public typealias IsEngineReady = () -> Swift.Bool
20
+ public typealias useOnlyEnginePlayback = () -> Swift.Bool
21
+ public typealias StopEnginePlayback = () -> Swift.Void
22
+ public typealias CurrentEngineProvider = () -> AVFAudio.AVAudioEngine?
23
+ public enum AudioPlaybackHook {
24
+ public static var engineScheduleFile: DavoiceTTS.EngineSchedule?
25
+ public static var isEngineReady: DavoiceTTS.IsEngineReady?
26
+ public static var useOnlyEnginePlayback: DavoiceTTS.useOnlyEnginePlayback?
27
+ public static var stopEnginePlayback: DavoiceTTS.StopEnginePlayback?
28
+ public static var currentEngine: DavoiceTTS.CurrentEngineProvider?
29
+ }
30
+ @_inheritsConvenienceInitializers @objc final public class LicenseManager : ObjectiveC.NSObject {
31
+ @objc public static func isLicenseValid(licenseKey: Swift.String) -> Swift.Bool
32
+ @objc override dynamic public init()
33
+ @objc deinit
34
+ }
35
+ public enum SVLogLevel : Swift.Int, Swift.Codable {
36
+ case off, error, warn, info, debug, trace
37
+ public init?(rawValue: Swift.Int)
38
+ public typealias RawValue = Swift.Int
39
+ public var rawValue: Swift.Int {
40
+ get
41
+ }
42
+ }
43
+ public protocol SVLogger {
44
+ func log(_ level: DavoiceTTS.SVLogLevel, _ tag: Swift.String, _ msg: Swift.String)
45
+ }
46
+ final public class SVDefaultLogger : DavoiceTTS.SVLogger {
47
+ final public var level: DavoiceTTS.SVLogLevel
48
+ public init(level: DavoiceTTS.SVLogLevel = .trace)
49
+ final public func log(_ level: DavoiceTTS.SVLogLevel, _ tag: Swift.String, _ msg: Swift.String)
50
+ @objc deinit
51
+ }
52
+ public struct SpeakerVerificationConfig : Swift.Codable {
53
+ public var modelPath: Swift.String
54
+ public var sampleRate: Swift.Int
55
+ public var numMelBins: Swift.Int
56
+ public var cmn: Swift.Bool
57
+ public var frameLengthMs: Swift.Float
58
+ public var frameShiftMs: Swift.Float
59
+ public var nFFT: Swift.Int
60
+ public var decisionThreshold: Swift.Float
61
+ public var expectedLayoutBDT: Swift.Bool
62
+ public var frameSize: Swift.Int
63
+ public var tailSeconds: Swift.Float
64
+ public var maxTailSeconds: Swift.Float
65
+ public var meanComboEnabled: Swift.Bool
66
+ public var meanComboMaxK: Swift.Int
67
+ public var meanComboMaxTotal: Swift.Int
68
+ public var logLevel: DavoiceTTS.SVLogLevel
69
+ public init(from decoder: any Swift.Decoder) throws
70
+ public func encode(to encoder: any Swift.Encoder) throws
71
+ public init(modelPath: Swift.String, sampleRate: Swift.Int = 16_000, numMelBins: Swift.Int = 80, cmn: Swift.Bool = true, frameLengthMs: Swift.Float = 25.0, frameShiftMs: Swift.Float = 10.0, nFFT: Swift.Int = 512, decisionThreshold: Swift.Float = 0.35, expectedLayoutBDT: Swift.Bool = false, frameSize: Swift.Int = 1280, tailSeconds: Swift.Float = 2.0, maxTailSeconds: Swift.Float = 3.0, meanComboEnabled: Swift.Bool = true, meanComboMaxK: Swift.Int = 3, meanComboMaxTotal: Swift.Int = 2000, logLevel: DavoiceTTS.SVLogLevel = .debug)
72
+ }
73
+ public struct SpeakerEnrollment : Swift.Codable {
74
+ public let enrollmentId: Swift.String
75
+ public let createdAtEpochMs: Swift.Int64
76
+ public let configSnapshot: DavoiceTTS.SpeakerVerificationConfig
77
+ public let enrolledEmbeddings: [[Swift.Float]]
78
+ public let meanEmbedding: [Swift.Float]
79
+ public let meanComboEmbeddings: [[Swift.Float]]
80
+ public let meanComboLabels: [Swift.String]
81
+ public init(enrollmentId: Swift.String, createdAtEpochMs: Swift.Int64, configSnapshot: DavoiceTTS.SpeakerVerificationConfig, enrolledEmbeddings: [[Swift.Float]], meanEmbedding: [Swift.Float], meanComboEmbeddings: [[Swift.Float]] = [], meanComboLabels: [Swift.String] = [])
82
+ public init(from decoder: any Swift.Decoder) throws
83
+ public func serialize() throws -> Foundation.Data
84
+ public static func deserialize(_ data: Foundation.Data) throws -> DavoiceTTS.SpeakerEnrollment
85
+ public func encode(to encoder: any Swift.Encoder) throws
86
+ }
87
+ public struct SVPendingInfo {
88
+ public let bufferedSamples: Swift.Int
89
+ public let bufferedSeconds: Swift.Float
90
+ public let neededSeconds: Swift.Float
91
+ }
92
+ public struct SpeakerVerificationResult {
93
+ public let scoreBest: Swift.Float
94
+ public let scoreMean: Swift.Float
95
+ public let scoreWorst: Swift.Float
96
+ public let scoreBestRaw: Swift.Float
97
+ public let scoreBestMeancombo: Swift.Float
98
+ public let bestKind: Swift.String
99
+ public let bestId: Swift.String
100
+ public let isMatch: Swift.Bool
101
+ public let embeddingDim: Swift.Int
102
+ public let usedSeconds: Swift.Float
103
+ public let ortRunMs: Swift.Double
104
+ public let featureMs: Swift.Double
105
+ public let totalMs: Swift.Double
106
+ }
107
+ public enum SpeakerVerificationOutput {
108
+ case pending(DavoiceTTS.SVPendingInfo)
109
+ case result(DavoiceTTS.SpeakerVerificationResult)
110
+ }
111
+ public enum SpeakerVerificationError : Swift.Error, Swift.CustomStringConvertible {
112
+ case invalidFrameSize(expected: Swift.Int, got: Swift.Int)
113
+ case enrollmentMissing
114
+ case emptyAudio
115
+ case onnx(Swift.String)
116
+ case feature(Swift.String)
117
+ public var description: Swift.String {
118
+ get
119
+ }
120
+ }
121
+ @objc @objcMembers final public class SpeakerVerificationEngine : ObjectiveC.NSObject {
122
+ final public let config: DavoiceTTS.SpeakerVerificationConfig
123
+ final public let logger: any DavoiceTTS.SVLogger
124
+ public init(config: DavoiceTTS.SpeakerVerificationConfig, logger: (any DavoiceTTS.SVLogger)? = nil) throws
125
+ final public func setEnrollment(_ enrollment: DavoiceTTS.SpeakerEnrollment?)
126
+ @objc final public func resetStreamingState()
127
+ final public func processFrame(frame: [Swift.Float]) throws -> DavoiceTTS.SpeakerVerificationOutput
128
+ final public func verifyWavFileStreaming(path: Swift.String, resetState: Swift.Bool = true) throws -> DavoiceTTS.SpeakerVerificationResult
129
+ @objc deinit
130
+ }
131
+ @_inheritsConvenienceInitializers @objc(DavoiceSpeakerVerificationRNFacade) final public class SpeakerVerificationRNFacade : ObjectiveC.NSObject {
132
+ @objc(createEngineWithModelPath:enrollmentJsonPath:options:error:) public static func createEngine(modelPath: Swift.String, enrollmentJsonPath: Swift.String, options: [Swift.String : Any], error outError: Foundation.NSErrorPointer) -> Any?
133
+ @objc(verifyWavWithEngine:wavPath:reset:error:) public static func verifyWav(engine: Any, wavPath: Swift.String, reset: Swift.Bool, error outError: Foundation.NSErrorPointer) -> [Swift.String : Any]?
134
+ @objc override dynamic public init()
135
+ @objc deinit
136
+ }
137
+ @objc public protocol STTDelegate {
138
+ @objc func stt(_ stt: DavoiceTTS.STT, didEmitEvent name: Swift.String, body: [Swift.String : Any]?)
139
+ }
140
+ @objc @_inheritsConvenienceInitializers @objcMembers final public class STT : ObjectiveC.NSObject, Speech.SFSpeechRecognizerDelegate {
141
+ @objc weak final public var delegate: (any DavoiceTTS.STTDelegate)?
142
+ @objc final public var continuous: Swift.Bool
143
+ @objc final public var aecEnabled: Swift.Bool
144
+ @objc final public var force16kMicSampleRate: Swift.Bool
145
+ @objc final public var useLegacySpeakerGateBehavior: Swift.Bool
146
+ @objc final public var useSpeakerGateHangover: Swift.Bool
147
+ @objc final public var speakerGateHangoverSeconds: Swift.Double
148
+ @objc final public var useShortSpeakerVerificationTailWindow: Swift.Bool
149
+ @objc final public var shortSpeakerVerificationTailSeconds: Swift.Float
150
+ @objc final public var speakerPreRollFlushMaxSeconds: Swift.Double
151
+ @objc public static let supportedEvents: [Swift.String]
152
+ @objc final public func setLicense(licenseKey: Swift.String) -> Swift.Bool
153
+ @objc final public func pauseSpeechRecognitionLite()
154
+ @objc final public func unPauseSpeechRecognitionLite(_ times: Foundation.NSNumber)
155
+ @objc final public func pauseMicrophoneAndWait(_ timeoutMs: Foundation.NSNumber, completion: @escaping (Swift.Bool, Swift.String?) -> Swift.Void)
156
+ @objc final public func unPauseMicrophoneAndWait(_ timeoutMs: Foundation.NSNumber, completion: @escaping (Swift.Bool, Swift.String?) -> Swift.Void)
157
+ @objc final public func pauseMicrophone()
158
+ @objc final public func unPauseMicrophone()
159
+ @objc final public func setAECEnabled(_ enabled: Swift.Bool)
160
+ @objc final public func isAECEnabled() -> Swift.Bool
161
+ @objc final public func isSpeechAvailable(_ completion: @escaping (Swift.Bool) -> Swift.Void)
162
+ @objc final public func isRecognizing() -> Swift.Bool
163
+ @objc final public func startSpeech(localeStr: Swift.String?)
164
+ @objc final public func startSpeech(localeStr: Swift.String?, onboardingJsonPath: Swift.String)
165
+ @objc final public func stopSpeech(_ completion: ((Swift.Bool) -> Swift.Void)? = nil)
166
+ @objc final public func cancelSpeech(_ completion: ((Swift.Bool) -> Swift.Void)? = nil)
167
+ @objc final public func destroySpeech(_ completion: ((Swift.Bool) -> Swift.Void)? = nil)
168
+ @objc final public func teardown()
169
+ @objc final public func speechRecognizer(_ speechRecognizer: Speech.SFSpeechRecognizer, availabilityDidChange available: Swift.Bool)
170
+ @objc override dynamic public init()
171
+ @objc deinit
172
+ }
173
+ @objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers final public class SwiftSoundQueue : ObjectiveC.NSObject, AVFAudio.AVAudioPlayerDelegate {
174
+ @objc deinit
175
+ public static let shared: DavoiceTTS.SwiftSoundQueue
176
+ final public func notifyWhenURLFinishes(_ url: Foundation.URL, _ cb: @escaping () -> Swift.Void)
177
+ final public var onItemDone: ((Foundation.URL) -> Swift.Void)?
178
+ final public var onQueueEmpty: (() -> Swift.Void)?
179
+ final public func enqueue(_ source: DavoiceTTS.SwiftSoundQueue.Source)
180
+ final public func enqueueMany(_ sources: [DavoiceTTS.SwiftSoundQueue.Source])
181
+ final public func stop()
182
+ public enum Source {
183
+ case fileURL(Foundation.URL)
184
+ case named(Swift.String)
185
+ }
186
+ @objc final public func audioPlayerDidFinishPlaying(_ p: AVFAudio.AVAudioPlayer, successfully ok: Swift.Bool)
187
+ final public func activatePlaybackOnlySession()
188
+ final public func activateSpeaker()
189
+ }
190
+ @objc @objcMembers final public class DaVoiceTTS : ObjectiveC.NSObject {
191
+ public struct Config {
192
+ }
193
+ @objc final public var onLastUtteranceFinished: (() -> Swift.Void)?
194
+ @objc deinit
195
+ @objc public static func activateLicense(licenseKey: Swift.String) -> Swift.Bool
196
+ @objc final public func setLicense(licenseKey: Swift.String) -> Swift.Bool
197
+ public struct Biquad {
198
+ public var b0: Swift.Float, b1: Swift.Float, b2: Swift.Float, a1: Swift.Float, a2: Swift.Float
199
+ public init(b0: Swift.Float, b1: Swift.Float, b2: Swift.Float, a1: Swift.Float, a2: Swift.Float)
200
+ public mutating func process(_ x: Swift.UnsafeMutablePointer<Swift.Float>, _ n: Swift.Int)
201
+ }
202
+ @objc public init(model: Foundation.URL) throws
203
+ @objc final public func stopSpeaking()
204
+ @objc final public func destroy()
205
+ @objc(speak:sid:) final public func speak(_ txt: Swift.String, sid: Swift.Int32 = 0)
206
+ @objc(speak:sid:speed:) final public func speak(_ txt: Swift.String, sid: Swift.Int32 = 0, speed: Swift.Float)
207
+ @objc final public func synthesize_top(_ _text: Swift.String, speakerId: Swift.Int32 = 0, token: Foundation.UUID, speed_adjuster: Swift.Float) throws -> AVFAudio.AVAudioPCMBuffer
208
+ @objc final public func playWav(_ url: Foundation.URL, markAsLastUtterance: Swift.Bool = true)
209
+ @objc final public func playBuffer(_ buffer: AVFAudio.AVAudioPCMBuffer, markAsLastUtterance: Swift.Bool = true)
210
+ }
211
+ extension DavoiceTTS.SVLogLevel : Swift.Equatable {}
212
+ extension DavoiceTTS.SVLogLevel : Swift.Hashable {}
213
+ extension DavoiceTTS.SVLogLevel : Swift.RawRepresentable {}
@@ -0,0 +1,213 @@
1
+ // swift-interface-format-version: 1.0
2
+ // swift-compiler-version: Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5)
3
+ // swift-module-flags: -target arm64-apple-ios13.5 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name DavoiceTTS
4
+ // swift-module-flags-ignorable: -no-verify-emitted-module-interface -interface-compiler-version 6.1.2
5
+ import AVFAudio
6
+ import AVFoundation
7
+ import Accelerate
8
+ import CommonCrypto
9
+ import Foundation
10
+ import Speech
11
+ import Swift
12
+ import UIKit
13
+ import _Concurrency
14
+ import _StringProcessing
15
+ import _SwiftConcurrencyShims
16
+ import onnxruntime_objc
17
+ import phonemes
18
+ public typealias EngineSchedule = (_ url: Foundation.URL, _ onDone: @escaping () -> Swift.Void) -> Swift.Bool
19
+ public typealias IsEngineReady = () -> Swift.Bool
20
+ public typealias useOnlyEnginePlayback = () -> Swift.Bool
21
+ public typealias StopEnginePlayback = () -> Swift.Void
22
+ public typealias CurrentEngineProvider = () -> AVFAudio.AVAudioEngine?
23
+ public enum AudioPlaybackHook {
24
+ public static var engineScheduleFile: DavoiceTTS.EngineSchedule?
25
+ public static var isEngineReady: DavoiceTTS.IsEngineReady?
26
+ public static var useOnlyEnginePlayback: DavoiceTTS.useOnlyEnginePlayback?
27
+ public static var stopEnginePlayback: DavoiceTTS.StopEnginePlayback?
28
+ public static var currentEngine: DavoiceTTS.CurrentEngineProvider?
29
+ }
30
+ @_inheritsConvenienceInitializers @objc final public class LicenseManager : ObjectiveC.NSObject {
31
+ @objc public static func isLicenseValid(licenseKey: Swift.String) -> Swift.Bool
32
+ @objc override dynamic public init()
33
+ @objc deinit
34
+ }
35
+ public enum SVLogLevel : Swift.Int, Swift.Codable {
36
+ case off, error, warn, info, debug, trace
37
+ public init?(rawValue: Swift.Int)
38
+ public typealias RawValue = Swift.Int
39
+ public var rawValue: Swift.Int {
40
+ get
41
+ }
42
+ }
43
+ public protocol SVLogger {
44
+ func log(_ level: DavoiceTTS.SVLogLevel, _ tag: Swift.String, _ msg: Swift.String)
45
+ }
46
+ final public class SVDefaultLogger : DavoiceTTS.SVLogger {
47
+ final public var level: DavoiceTTS.SVLogLevel
48
+ public init(level: DavoiceTTS.SVLogLevel = .trace)
49
+ final public func log(_ level: DavoiceTTS.SVLogLevel, _ tag: Swift.String, _ msg: Swift.String)
50
+ @objc deinit
51
+ }
52
+ public struct SpeakerVerificationConfig : Swift.Codable {
53
+ public var modelPath: Swift.String
54
+ public var sampleRate: Swift.Int
55
+ public var numMelBins: Swift.Int
56
+ public var cmn: Swift.Bool
57
+ public var frameLengthMs: Swift.Float
58
+ public var frameShiftMs: Swift.Float
59
+ public var nFFT: Swift.Int
60
+ public var decisionThreshold: Swift.Float
61
+ public var expectedLayoutBDT: Swift.Bool
62
+ public var frameSize: Swift.Int
63
+ public var tailSeconds: Swift.Float
64
+ public var maxTailSeconds: Swift.Float
65
+ public var meanComboEnabled: Swift.Bool
66
+ public var meanComboMaxK: Swift.Int
67
+ public var meanComboMaxTotal: Swift.Int
68
+ public var logLevel: DavoiceTTS.SVLogLevel
69
+ public init(from decoder: any Swift.Decoder) throws
70
+ public func encode(to encoder: any Swift.Encoder) throws
71
+ public init(modelPath: Swift.String, sampleRate: Swift.Int = 16_000, numMelBins: Swift.Int = 80, cmn: Swift.Bool = true, frameLengthMs: Swift.Float = 25.0, frameShiftMs: Swift.Float = 10.0, nFFT: Swift.Int = 512, decisionThreshold: Swift.Float = 0.35, expectedLayoutBDT: Swift.Bool = false, frameSize: Swift.Int = 1280, tailSeconds: Swift.Float = 2.0, maxTailSeconds: Swift.Float = 3.0, meanComboEnabled: Swift.Bool = true, meanComboMaxK: Swift.Int = 3, meanComboMaxTotal: Swift.Int = 2000, logLevel: DavoiceTTS.SVLogLevel = .debug)
72
+ }
73
+ public struct SpeakerEnrollment : Swift.Codable {
74
+ public let enrollmentId: Swift.String
75
+ public let createdAtEpochMs: Swift.Int64
76
+ public let configSnapshot: DavoiceTTS.SpeakerVerificationConfig
77
+ public let enrolledEmbeddings: [[Swift.Float]]
78
+ public let meanEmbedding: [Swift.Float]
79
+ public let meanComboEmbeddings: [[Swift.Float]]
80
+ public let meanComboLabels: [Swift.String]
81
+ public init(enrollmentId: Swift.String, createdAtEpochMs: Swift.Int64, configSnapshot: DavoiceTTS.SpeakerVerificationConfig, enrolledEmbeddings: [[Swift.Float]], meanEmbedding: [Swift.Float], meanComboEmbeddings: [[Swift.Float]] = [], meanComboLabels: [Swift.String] = [])
82
+ public init(from decoder: any Swift.Decoder) throws
83
+ public func serialize() throws -> Foundation.Data
84
+ public static func deserialize(_ data: Foundation.Data) throws -> DavoiceTTS.SpeakerEnrollment
85
+ public func encode(to encoder: any Swift.Encoder) throws
86
+ }
87
+ public struct SVPendingInfo {
88
+ public let bufferedSamples: Swift.Int
89
+ public let bufferedSeconds: Swift.Float
90
+ public let neededSeconds: Swift.Float
91
+ }
92
+ public struct SpeakerVerificationResult {
93
+ public let scoreBest: Swift.Float
94
+ public let scoreMean: Swift.Float
95
+ public let scoreWorst: Swift.Float
96
+ public let scoreBestRaw: Swift.Float
97
+ public let scoreBestMeancombo: Swift.Float
98
+ public let bestKind: Swift.String
99
+ public let bestId: Swift.String
100
+ public let isMatch: Swift.Bool
101
+ public let embeddingDim: Swift.Int
102
+ public let usedSeconds: Swift.Float
103
+ public let ortRunMs: Swift.Double
104
+ public let featureMs: Swift.Double
105
+ public let totalMs: Swift.Double
106
+ }
107
+ public enum SpeakerVerificationOutput {
108
+ case pending(DavoiceTTS.SVPendingInfo)
109
+ case result(DavoiceTTS.SpeakerVerificationResult)
110
+ }
111
+ public enum SpeakerVerificationError : Swift.Error, Swift.CustomStringConvertible {
112
+ case invalidFrameSize(expected: Swift.Int, got: Swift.Int)
113
+ case enrollmentMissing
114
+ case emptyAudio
115
+ case onnx(Swift.String)
116
+ case feature(Swift.String)
117
+ public var description: Swift.String {
118
+ get
119
+ }
120
+ }
121
+ @objc @objcMembers final public class SpeakerVerificationEngine : ObjectiveC.NSObject {
122
+ final public let config: DavoiceTTS.SpeakerVerificationConfig
123
+ final public let logger: any DavoiceTTS.SVLogger
124
+ public init(config: DavoiceTTS.SpeakerVerificationConfig, logger: (any DavoiceTTS.SVLogger)? = nil) throws
125
+ final public func setEnrollment(_ enrollment: DavoiceTTS.SpeakerEnrollment?)
126
+ @objc final public func resetStreamingState()
127
+ final public func processFrame(frame: [Swift.Float]) throws -> DavoiceTTS.SpeakerVerificationOutput
128
+ final public func verifyWavFileStreaming(path: Swift.String, resetState: Swift.Bool = true) throws -> DavoiceTTS.SpeakerVerificationResult
129
+ @objc deinit
130
+ }
131
+ @_inheritsConvenienceInitializers @objc(DavoiceSpeakerVerificationRNFacade) final public class SpeakerVerificationRNFacade : ObjectiveC.NSObject {
132
+ @objc(createEngineWithModelPath:enrollmentJsonPath:options:error:) public static func createEngine(modelPath: Swift.String, enrollmentJsonPath: Swift.String, options: [Swift.String : Any], error outError: Foundation.NSErrorPointer) -> Any?
133
+ @objc(verifyWavWithEngine:wavPath:reset:error:) public static func verifyWav(engine: Any, wavPath: Swift.String, reset: Swift.Bool, error outError: Foundation.NSErrorPointer) -> [Swift.String : Any]?
134
+ @objc override dynamic public init()
135
+ @objc deinit
136
+ }
137
+ @objc public protocol STTDelegate {
138
+ @objc func stt(_ stt: DavoiceTTS.STT, didEmitEvent name: Swift.String, body: [Swift.String : Any]?)
139
+ }
140
+ @objc @_inheritsConvenienceInitializers @objcMembers final public class STT : ObjectiveC.NSObject, Speech.SFSpeechRecognizerDelegate {
141
+ @objc weak final public var delegate: (any DavoiceTTS.STTDelegate)?
142
+ @objc final public var continuous: Swift.Bool
143
+ @objc final public var aecEnabled: Swift.Bool
144
+ @objc final public var force16kMicSampleRate: Swift.Bool
145
+ @objc final public var useLegacySpeakerGateBehavior: Swift.Bool
146
+ @objc final public var useSpeakerGateHangover: Swift.Bool
147
+ @objc final public var speakerGateHangoverSeconds: Swift.Double
148
+ @objc final public var useShortSpeakerVerificationTailWindow: Swift.Bool
149
+ @objc final public var shortSpeakerVerificationTailSeconds: Swift.Float
150
+ @objc final public var speakerPreRollFlushMaxSeconds: Swift.Double
151
+ @objc public static let supportedEvents: [Swift.String]
152
+ @objc final public func setLicense(licenseKey: Swift.String) -> Swift.Bool
153
+ @objc final public func pauseSpeechRecognitionLite()
154
+ @objc final public func unPauseSpeechRecognitionLite(_ times: Foundation.NSNumber)
155
+ @objc final public func pauseMicrophoneAndWait(_ timeoutMs: Foundation.NSNumber, completion: @escaping (Swift.Bool, Swift.String?) -> Swift.Void)
156
+ @objc final public func unPauseMicrophoneAndWait(_ timeoutMs: Foundation.NSNumber, completion: @escaping (Swift.Bool, Swift.String?) -> Swift.Void)
157
+ @objc final public func pauseMicrophone()
158
+ @objc final public func unPauseMicrophone()
159
+ @objc final public func setAECEnabled(_ enabled: Swift.Bool)
160
+ @objc final public func isAECEnabled() -> Swift.Bool
161
+ @objc final public func isSpeechAvailable(_ completion: @escaping (Swift.Bool) -> Swift.Void)
162
+ @objc final public func isRecognizing() -> Swift.Bool
163
+ @objc final public func startSpeech(localeStr: Swift.String?)
164
+ @objc final public func startSpeech(localeStr: Swift.String?, onboardingJsonPath: Swift.String)
165
+ @objc final public func stopSpeech(_ completion: ((Swift.Bool) -> Swift.Void)? = nil)
166
+ @objc final public func cancelSpeech(_ completion: ((Swift.Bool) -> Swift.Void)? = nil)
167
+ @objc final public func destroySpeech(_ completion: ((Swift.Bool) -> Swift.Void)? = nil)
168
+ @objc final public func teardown()
169
+ @objc final public func speechRecognizer(_ speechRecognizer: Speech.SFSpeechRecognizer, availabilityDidChange available: Swift.Bool)
170
+ @objc override dynamic public init()
171
+ @objc deinit
172
+ }
173
+ @objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers final public class SwiftSoundQueue : ObjectiveC.NSObject, AVFAudio.AVAudioPlayerDelegate {
174
+ @objc deinit
175
+ public static let shared: DavoiceTTS.SwiftSoundQueue
176
+ final public func notifyWhenURLFinishes(_ url: Foundation.URL, _ cb: @escaping () -> Swift.Void)
177
+ final public var onItemDone: ((Foundation.URL) -> Swift.Void)?
178
+ final public var onQueueEmpty: (() -> Swift.Void)?
179
+ final public func enqueue(_ source: DavoiceTTS.SwiftSoundQueue.Source)
180
+ final public func enqueueMany(_ sources: [DavoiceTTS.SwiftSoundQueue.Source])
181
+ final public func stop()
182
+ public enum Source {
183
+ case fileURL(Foundation.URL)
184
+ case named(Swift.String)
185
+ }
186
+ @objc final public func audioPlayerDidFinishPlaying(_ p: AVFAudio.AVAudioPlayer, successfully ok: Swift.Bool)
187
+ final public func activatePlaybackOnlySession()
188
+ final public func activateSpeaker()
189
+ }
190
+ @objc @objcMembers final public class DaVoiceTTS : ObjectiveC.NSObject {
191
+ public struct Config {
192
+ }
193
+ @objc final public var onLastUtteranceFinished: (() -> Swift.Void)?
194
+ @objc deinit
195
+ @objc public static func activateLicense(licenseKey: Swift.String) -> Swift.Bool
196
+ @objc final public func setLicense(licenseKey: Swift.String) -> Swift.Bool
197
+ public struct Biquad {
198
+ public var b0: Swift.Float, b1: Swift.Float, b2: Swift.Float, a1: Swift.Float, a2: Swift.Float
199
+ public init(b0: Swift.Float, b1: Swift.Float, b2: Swift.Float, a1: Swift.Float, a2: Swift.Float)
200
+ public mutating func process(_ x: Swift.UnsafeMutablePointer<Swift.Float>, _ n: Swift.Int)
201
+ }
202
+ @objc public init(model: Foundation.URL) throws
203
+ @objc final public func stopSpeaking()
204
+ @objc final public func destroy()
205
+ @objc(speak:sid:) final public func speak(_ txt: Swift.String, sid: Swift.Int32 = 0)
206
+ @objc(speak:sid:speed:) final public func speak(_ txt: Swift.String, sid: Swift.Int32 = 0, speed: Swift.Float)
207
+ @objc final public func synthesize_top(_ _text: Swift.String, speakerId: Swift.Int32 = 0, token: Foundation.UUID, speed_adjuster: Swift.Float) throws -> AVFAudio.AVAudioPCMBuffer
208
+ @objc final public func playWav(_ url: Foundation.URL, markAsLastUtterance: Swift.Bool = true)
209
+ @objc final public func playBuffer(_ buffer: AVFAudio.AVAudioPCMBuffer, markAsLastUtterance: Swift.Bool = true)
210
+ }
211
+ extension DavoiceTTS.SVLogLevel : Swift.Equatable {}
212
+ extension DavoiceTTS.SVLogLevel : Swift.Hashable {}
213
+ extension DavoiceTTS.SVLogLevel : Swift.RawRepresentable {}
@@ -0,0 +1,4 @@
1
+ framework module DavoiceTTS {
2
+ header "DavoiceTTS-Swift.h"
3
+ requires objc
4
+ }