@gmessier/nitro-speech 0.4.3 → 0.4.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 (36) hide show
  1. package/README.md +16 -4
  2. package/android/src/main/java/com/margelo/nitro/nitrospeech/recognizer/AudioPermissionRequester.kt +12 -6
  3. package/android/src/main/java/com/margelo/nitro/nitrospeech/recognizer/HybridRecognizer.kt +57 -39
  4. package/ios/Engines/AnalyzerEngine.swift +11 -7
  5. package/ios/Engines/RecognizerEngine.swift +140 -82
  6. package/ios/Engines/SFSpeechEngine.swift +7 -3
  7. package/ios/HybridRecognizer.swift +18 -5
  8. package/ios/Shared/Permissions.swift +12 -47
  9. package/lib/Recognizer/methods.d.ts +10 -10
  10. package/lib/Recognizer/methods.js +2 -2
  11. package/lib/Recognizer/types.d.ts +2 -1
  12. package/lib/index.d.ts +1 -1
  13. package/lib/specs/Recognizer.nitro.d.ts +2 -1
  14. package/lib/specs/SpeechRecognitionConfig.d.ts +2 -0
  15. package/lib/specs/SpeechRecognitionPrewarm.d.ts +10 -0
  16. package/lib/specs/SpeechRecognitionPrewarm.js +1 -0
  17. package/nitrogen/generated/android/c++/JHybridRecognizerSpec.cpp +7 -3
  18. package/nitrogen/generated/android/c++/JHybridRecognizerSpec.hpp +1 -1
  19. package/nitrogen/generated/android/c++/JSpeechRecognitionPrewarm.hpp +57 -0
  20. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/HybridRecognizerSpec.kt +1 -1
  21. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/SpeechRecognitionPrewarm.kt +51 -0
  22. package/nitrogen/generated/ios/NitroSpeech-Swift-Cxx-Bridge.hpp +18 -0
  23. package/nitrogen/generated/ios/NitroSpeech-Swift-Cxx-Umbrella.hpp +3 -0
  24. package/nitrogen/generated/ios/c++/HybridRecognizerSpecSwift.hpp +5 -2
  25. package/nitrogen/generated/ios/swift/HybridRecognizerSpec.swift +1 -1
  26. package/nitrogen/generated/ios/swift/HybridRecognizerSpec_cxx.swift +2 -2
  27. package/nitrogen/generated/ios/swift/SpeechRecognitionPrewarm.swift +42 -0
  28. package/nitrogen/generated/shared/c++/HybridRecognizerSpec.hpp +4 -1
  29. package/nitrogen/generated/shared/c++/SpeechRecognitionPrewarm.hpp +83 -0
  30. package/package.json +1 -1
  31. package/src/Recognizer/methods.ts +38 -31
  32. package/src/Recognizer/types.ts +2 -0
  33. package/src/index.ts +1 -0
  34. package/src/specs/Recognizer.nitro.ts +5 -1
  35. package/src/specs/SpeechRecognitionConfig.ts +2 -0
  36. package/src/specs/SpeechRecognitionPrewarm.ts +10 -0
@@ -1,53 +1,60 @@
1
1
  import { SpeechRecognizer } from './SpeechRecognizer'
2
- import type {
3
- MutableSpeechRecognitionConfig,
4
- SpeechRecognitionConfig,
5
- } from './types'
2
+ import type { RecognizerMethods } from './types'
6
3
 
7
- export const recognizerPrewarm = (params?: SpeechRecognitionConfig) => {
4
+ export const recognizerPrewarm: RecognizerMethods['prewarm'] = (
5
+ params,
6
+ options
7
+ ) => {
8
8
  'worklet'
9
- return SpeechRecognizer.prewarm(params)
9
+ return SpeechRecognizer.prewarm(params, options)
10
10
  }
11
11
 
12
- export const recognizerStartListening = (params?: SpeechRecognitionConfig) => {
12
+ export const recognizerStartListening: RecognizerMethods['startListening'] = (
13
+ params
14
+ ) => {
13
15
  'worklet'
14
16
  SpeechRecognizer.startListening(params)
15
17
  }
16
18
 
17
- export const recognizerStopListening = () => {
18
- 'worklet'
19
- SpeechRecognizer.stopListening()
20
- }
19
+ export const recognizerStopListening: RecognizerMethods['stopListening'] =
20
+ () => {
21
+ 'worklet'
22
+ SpeechRecognizer.stopListening()
23
+ }
21
24
 
22
- export const recognizerResetAutoFinishTime = () => {
23
- 'worklet'
24
- SpeechRecognizer.resetAutoFinishTime()
25
- }
25
+ export const recognizerResetAutoFinishTime: RecognizerMethods['resetAutoFinishTime'] =
26
+ () => {
27
+ 'worklet'
28
+ SpeechRecognizer.resetAutoFinishTime()
29
+ }
26
30
 
27
- export const recognizerAddAutoFinishTime = (additionalTimeMs?: number) => {
28
- 'worklet'
29
- SpeechRecognizer.addAutoFinishTime(additionalTimeMs)
30
- }
31
+ export const recognizerAddAutoFinishTime: RecognizerMethods['addAutoFinishTime'] =
32
+ (additionalTimeMs) => {
33
+ 'worklet'
34
+ SpeechRecognizer.addAutoFinishTime(additionalTimeMs)
35
+ }
31
36
 
32
- export const recognizerUpdateConfig = (
33
- newConfig?: MutableSpeechRecognitionConfig,
34
- resetAutoFinishTime?: boolean
37
+ export const recognizerUpdateConfig: RecognizerMethods['updateConfig'] = (
38
+ newConfig,
39
+ resetAutoFinishTime
35
40
  ) => {
36
41
  'worklet'
37
42
  SpeechRecognizer.updateConfig(newConfig, resetAutoFinishTime)
38
43
  }
39
44
 
40
- export const recognizerGetIsActive = () => {
45
+ export const recognizerGetIsActive: RecognizerMethods['getIsActive'] = () => {
41
46
  'worklet'
42
47
  return SpeechRecognizer.getIsActive()
43
48
  }
44
49
 
45
- export const recognizerGetVoiceInputVolume = () => {
46
- 'worklet'
47
- return SpeechRecognizer.getVoiceInputVolume()
48
- }
50
+ export const recognizerGetVoiceInputVolume: RecognizerMethods['getVoiceInputVolume'] =
51
+ () => {
52
+ 'worklet'
53
+ return SpeechRecognizer.getVoiceInputVolume()
54
+ }
49
55
 
50
- export const recognizerGetSupportedLocalesIOS = () => {
51
- 'worklet'
52
- return SpeechRecognizer.getSupportedLocalesIOS().sort()
53
- }
56
+ export const recognizerGetSupportedLocalesIOS: RecognizerMethods['getSupportedLocalesIOS'] =
57
+ () => {
58
+ 'worklet'
59
+ return SpeechRecognizer.getSupportedLocalesIOS().sort()
60
+ }
@@ -4,6 +4,7 @@ import type {
4
4
  SpeechRecognitionConfig,
5
5
  } from '../specs/SpeechRecognitionConfig'
6
6
  import type { VolumeChangeEvent } from '../specs/VolumeChangeEvent'
7
+ import type { SpeechRecognitionPrewarm } from '../specs/SpeechRecognitionPrewarm'
7
8
 
8
9
  type RecognizerCallbacks = Pick<
9
10
  RecognizerSpec,
@@ -32,6 +33,7 @@ type RecognizerMethods = Pick<
32
33
  export type {
33
34
  RecognizerSpec,
34
35
  SpeechRecognitionConfig,
36
+ SpeechRecognitionPrewarm,
35
37
  MutableSpeechRecognitionConfig,
36
38
  VolumeChangeEvent,
37
39
  RecognizerCallbacks,
package/src/index.ts CHANGED
@@ -13,6 +13,7 @@ export { NitroSpeech } from './NitroSpeech'
13
13
  export {
14
14
  type RecognizerSpec,
15
15
  type SpeechRecognitionConfig,
16
+ type SpeechRecognitionPrewarm,
16
17
  type MutableSpeechRecognitionConfig,
17
18
  type VolumeChangeEvent,
18
19
  type RecognizerCallbacks,
@@ -4,6 +4,7 @@ import type {
4
4
  SpeechRecognitionConfig,
5
5
  } from './SpeechRecognitionConfig'
6
6
  import type { VolumeChangeEvent } from './VolumeChangeEvent'
7
+ import type { SpeechRecognitionPrewarm } from './SpeechRecognitionPrewarm'
7
8
 
8
9
  export interface Recognizer extends HybridObject<{
9
10
  ios: 'swift'
@@ -31,7 +32,10 @@ export interface Recognizer extends HybridObject<{
31
32
  * });
32
33
  * ```
33
34
  */
34
- prewarm(defaultParams?: SpeechRecognitionConfig): Promise<void>
35
+ prewarm(
36
+ defaultParams?: SpeechRecognitionConfig,
37
+ options?: SpeechRecognitionPrewarm
38
+ ): Promise<void>
35
39
 
36
40
  /**
37
41
  * Try to start the speech recognition.
@@ -40,6 +40,8 @@ interface ParamsIOS {
40
40
  * `"speed"` - Gives priority to speed over accuracy
41
41
  *
42
42
  * `"general"` - For longer speeches, more accurate but delayed response
43
+ *
44
+ * @note preset may be overridden by other properties
43
45
  *
44
46
  * @since iOS 26.0+
45
47
  *
@@ -0,0 +1,10 @@
1
+ export interface SpeechRecognitionPrewarm {
2
+ /**
3
+ * If permission is not granted, will request it.
4
+ *
5
+ * if permission is set, does nothing.
6
+ *
7
+ * @default true
8
+ */
9
+ requestPermission?: boolean
10
+ }