react-native-executorch 0.5.2 → 0.5.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 (561) hide show
  1. package/android/CMakeLists.txt +24 -0
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/cpp/CMakeLists.txt +27 -1
  4. package/android/src/main/java/com/swmansion/rnexecutorch/RnExecutorchPackage.kt +1 -13
  5. package/common/rnexecutorch/RnExecutorchInstaller.cpp +52 -18
  6. package/common/rnexecutorch/RnExecutorchInstaller.h +0 -25
  7. package/common/rnexecutorch/TokenizerModule.cpp +1 -1
  8. package/common/rnexecutorch/TokenizerModule.h +4 -1
  9. package/common/rnexecutorch/data_processing/FileUtils.h +2 -2
  10. package/common/rnexecutorch/data_processing/ImageProcessing.cpp +5 -5
  11. package/common/rnexecutorch/data_processing/ImageProcessing.h +2 -2
  12. package/common/rnexecutorch/data_processing/Numerical.cpp +40 -19
  13. package/common/rnexecutorch/data_processing/Numerical.h +53 -4
  14. package/common/rnexecutorch/data_processing/dsp.cpp +1 -1
  15. package/common/rnexecutorch/data_processing/dsp.h +1 -1
  16. package/common/rnexecutorch/data_processing/gzip.cpp +47 -0
  17. package/common/rnexecutorch/data_processing/gzip.h +7 -0
  18. package/common/rnexecutorch/host_objects/JsiConversions.h +43 -62
  19. package/common/rnexecutorch/host_objects/ModelHostObject.h +67 -24
  20. package/common/rnexecutorch/metaprogramming/ConstructorHelpers.h +8 -6
  21. package/common/rnexecutorch/metaprogramming/FunctionHelpers.h +1 -1
  22. package/common/rnexecutorch/metaprogramming/TypeConcepts.h +21 -1
  23. package/common/rnexecutorch/models/BaseModel.cpp +5 -4
  24. package/common/rnexecutorch/models/BaseModel.h +8 -2
  25. package/common/rnexecutorch/models/classification/Classification.cpp +6 -6
  26. package/common/rnexecutorch/models/classification/Classification.h +5 -0
  27. package/common/rnexecutorch/models/classification/Constants.h +3 -3
  28. package/common/rnexecutorch/models/embeddings/BaseEmbeddings.cpp +2 -2
  29. package/common/rnexecutorch/models/embeddings/BaseEmbeddings.h +2 -2
  30. package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.cpp +3 -3
  31. package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.h +5 -0
  32. package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.cpp +2 -2
  33. package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.h +6 -1
  34. package/common/rnexecutorch/models/image_segmentation/Constants.h +3 -3
  35. package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.cpp +6 -5
  36. package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.h +8 -1
  37. package/common/rnexecutorch/models/llm/LLM.cpp +58 -0
  38. package/common/rnexecutorch/models/llm/LLM.h +35 -0
  39. package/common/rnexecutorch/models/object_detection/Constants.h +3 -3
  40. package/common/rnexecutorch/models/object_detection/ObjectDetection.cpp +8 -8
  41. package/common/rnexecutorch/models/object_detection/ObjectDetection.h +11 -5
  42. package/common/rnexecutorch/models/object_detection/Types.h +13 -0
  43. package/common/rnexecutorch/models/object_detection/Utils.cpp +13 -11
  44. package/common/rnexecutorch/models/object_detection/Utils.h +7 -13
  45. package/common/rnexecutorch/models/ocr/CTCLabelConverter.cpp +2 -2
  46. package/common/rnexecutorch/models/ocr/CTCLabelConverter.h +2 -2
  47. package/common/rnexecutorch/models/ocr/Constants.h +33 -26
  48. package/common/rnexecutorch/models/ocr/Detector.cpp +20 -22
  49. package/common/rnexecutorch/models/ocr/Detector.h +4 -4
  50. package/common/rnexecutorch/models/ocr/OCR.cpp +9 -8
  51. package/common/rnexecutorch/models/ocr/OCR.h +11 -3
  52. package/common/rnexecutorch/models/ocr/RecognitionHandler.cpp +20 -19
  53. package/common/rnexecutorch/models/ocr/RecognitionHandler.h +9 -7
  54. package/common/rnexecutorch/models/ocr/Recognizer.cpp +7 -7
  55. package/common/rnexecutorch/models/ocr/Recognizer.h +2 -2
  56. package/common/rnexecutorch/models/ocr/Types.h +4 -6
  57. package/common/rnexecutorch/models/ocr/{DetectorUtils.cpp → utils/DetectorUtils.cpp} +70 -63
  58. package/common/rnexecutorch/models/ocr/{DetectorUtils.h → utils/DetectorUtils.h} +12 -11
  59. package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.cpp → utils/RecognitionHandlerUtils.cpp} +14 -11
  60. package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.h → utils/RecognitionHandlerUtils.h} +5 -5
  61. package/common/rnexecutorch/models/ocr/{RecognizerUtils.cpp → utils/RecognizerUtils.cpp} +28 -26
  62. package/common/rnexecutorch/models/ocr/{RecognizerUtils.h → utils/RecognizerUtils.h} +15 -14
  63. package/common/rnexecutorch/models/speech_to_text/SpeechToText.cpp +102 -41
  64. package/common/rnexecutorch/models/speech_to_text/SpeechToText.h +48 -19
  65. package/common/rnexecutorch/models/speech_to_text/asr/ASR.cpp +307 -0
  66. package/common/rnexecutorch/models/speech_to_text/asr/ASR.h +61 -0
  67. package/common/rnexecutorch/models/speech_to_text/stream/HypothesisBuffer.cpp +80 -0
  68. package/common/rnexecutorch/models/speech_to_text/stream/HypothesisBuffer.h +27 -0
  69. package/common/rnexecutorch/models/speech_to_text/stream/OnlineASRProcessor.cpp +96 -0
  70. package/common/rnexecutorch/models/speech_to_text/stream/OnlineASRProcessor.h +36 -0
  71. package/common/rnexecutorch/models/speech_to_text/types/DecodingOptions.h +15 -0
  72. package/common/rnexecutorch/models/speech_to_text/types/GenerationResult.h +12 -0
  73. package/common/rnexecutorch/models/speech_to_text/types/ProcessResult.h +12 -0
  74. package/common/rnexecutorch/models/speech_to_text/types/Segment.h +14 -0
  75. package/common/rnexecutorch/models/speech_to_text/types/Word.h +13 -0
  76. package/common/rnexecutorch/models/style_transfer/StyleTransfer.cpp +5 -5
  77. package/common/rnexecutorch/models/style_transfer/StyleTransfer.h +6 -0
  78. package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.cpp +23 -22
  79. package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.h +4 -4
  80. package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.cpp +34 -34
  81. package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.h +27 -20
  82. package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.cpp +3 -2
  83. package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.h +3 -2
  84. package/ios/libs/executorch/libbackend_coreml_ios.a +0 -0
  85. package/ios/libs/executorch/libbackend_coreml_simulator.a +0 -0
  86. package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64 → ios/libs/executorch}/libbackend_mps_ios.a +0 -0
  87. package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64-simulator → ios/libs/executorch}/libbackend_mps_simulator.a +0 -0
  88. package/ios/libs/executorch/libbackend_xnnpack_ios.a +0 -0
  89. package/ios/libs/executorch/libbackend_xnnpack_simulator.a +0 -0
  90. package/ios/libs/executorch/libexecutorch_ios.a +0 -0
  91. package/ios/libs/executorch/libexecutorch_simulator.a +0 -0
  92. package/ios/libs/executorch/libkernels_custom_ios.a +0 -0
  93. package/ios/libs/executorch/libkernels_custom_simulator.a +0 -0
  94. package/ios/libs/executorch/libkernels_optimized_ios.a +0 -0
  95. package/ios/libs/executorch/libkernels_optimized_simulator.a +0 -0
  96. package/ios/libs/executorch/libkernels_portable_ios.a +0 -0
  97. package/ios/libs/executorch/libkernels_portable_simulator.a +0 -0
  98. package/ios/libs/executorch/libkernels_quantized_ios.a +0 -0
  99. package/ios/libs/executorch/libkernels_quantized_simulator.a +0 -0
  100. package/ios/libs/tokenizers-cpp/physical-arm64-release/libsentencepiece.a +0 -0
  101. package/ios/{ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/physical-arm64-release/libtokenizers_c.a} +0 -0
  102. package/ios/libs/tokenizers-cpp/physical-arm64-release/libtokenizers_cpp.a +0 -0
  103. package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libsentencepiece.a +0 -0
  104. package/ios/{ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_c.a} +0 -0
  105. package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_cpp.a +0 -0
  106. package/lib/Error.js +9 -6
  107. package/lib/ThreadPool.d.ts +10 -0
  108. package/lib/ThreadPool.js +28 -0
  109. package/lib/constants/modelUrls.js +1 -1
  110. package/lib/controllers/OCRController.js +9 -14
  111. package/lib/controllers/VerticalOCRController.js +9 -14
  112. package/lib/hooks/computer_vision/useOCR.js +7 -8
  113. package/lib/hooks/computer_vision/useVerticalOCR.js +3 -5
  114. package/lib/index.d.ts +0 -2
  115. package/lib/index.js +1 -3
  116. package/lib/module/controllers/LLMController.js +6 -10
  117. package/lib/module/controllers/LLMController.js.map +1 -1
  118. package/lib/module/hooks/computer_vision/useClassification.js +2 -2
  119. package/lib/module/hooks/computer_vision/useClassification.js.map +1 -1
  120. package/lib/module/hooks/computer_vision/useImageEmbeddings.js +2 -2
  121. package/lib/module/hooks/computer_vision/useImageEmbeddings.js.map +1 -1
  122. package/lib/module/hooks/computer_vision/useImageSegmentation.js +2 -2
  123. package/lib/module/hooks/computer_vision/useImageSegmentation.js.map +1 -1
  124. package/lib/module/hooks/computer_vision/useObjectDetection.js +2 -2
  125. package/lib/module/hooks/computer_vision/useObjectDetection.js.map +1 -1
  126. package/lib/module/hooks/computer_vision/useStyleTransfer.js +2 -2
  127. package/lib/module/hooks/computer_vision/useStyleTransfer.js.map +1 -1
  128. package/lib/module/hooks/general/useExecutorchModule.js +2 -2
  129. package/lib/module/hooks/general/useExecutorchModule.js.map +1 -1
  130. package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js +2 -2
  131. package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js.map +1 -1
  132. package/lib/module/hooks/useModule.js +13 -9
  133. package/lib/module/hooks/useModule.js.map +1 -1
  134. package/lib/module/index.js +1 -1
  135. package/lib/module/index.js.map +1 -1
  136. package/lib/module/modules/BaseModule.js +9 -17
  137. package/lib/module/modules/BaseModule.js.map +1 -1
  138. package/lib/module/modules/computer_vision/ClassificationModule.js +2 -2
  139. package/lib/module/modules/computer_vision/ClassificationModule.js.map +1 -1
  140. package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js +2 -2
  141. package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js.map +1 -1
  142. package/lib/module/modules/computer_vision/ImageSegmentationModule.js +2 -2
  143. package/lib/module/modules/computer_vision/ImageSegmentationModule.js.map +1 -1
  144. package/lib/module/modules/computer_vision/ObjectDetectionModule.js +2 -2
  145. package/lib/module/modules/computer_vision/ObjectDetectionModule.js.map +1 -1
  146. package/lib/module/modules/computer_vision/StyleTransferModule.js +2 -2
  147. package/lib/module/modules/computer_vision/StyleTransferModule.js.map +1 -1
  148. package/lib/module/modules/general/ExecutorchModule.js +2 -2
  149. package/lib/module/modules/general/ExecutorchModule.js.map +1 -1
  150. package/lib/module/modules/natural_language_processing/SpeechToTextModule.js +75 -53
  151. package/lib/module/modules/natural_language_processing/SpeechToTextModule.js.map +1 -1
  152. package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js +2 -2
  153. package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js.map +1 -1
  154. package/lib/module/native/RnExecutorchModules.js +1 -2
  155. package/lib/module/native/RnExecutorchModules.js.map +1 -1
  156. package/lib/modules/computer_vision/OCRModule.d.ts +4 -5
  157. package/lib/modules/computer_vision/OCRModule.js +9 -12
  158. package/lib/modules/computer_vision/VerticalOCRModule.d.ts +4 -5
  159. package/lib/modules/computer_vision/VerticalOCRModule.js +9 -12
  160. package/lib/native/RnExecutorchModules.d.ts +5 -1
  161. package/lib/native/RnExecutorchModules.js +3 -1
  162. package/lib/tsconfig.tsbuildinfo +1 -0
  163. package/lib/types/common.d.ts +1 -0
  164. package/lib/typescript/controllers/LLMController.d.ts +1 -1
  165. package/lib/typescript/controllers/LLMController.d.ts.map +1 -1
  166. package/lib/typescript/hooks/natural_language_processing/useSpeechToText.d.ts +5 -5
  167. package/lib/typescript/hooks/useModule.d.ts +8 -5
  168. package/lib/typescript/hooks/useModule.d.ts.map +1 -1
  169. package/lib/typescript/index.d.ts +1 -0
  170. package/lib/typescript/index.d.ts.map +1 -1
  171. package/lib/typescript/modules/BaseModule.d.ts +7 -6
  172. package/lib/typescript/modules/BaseModule.d.ts.map +1 -1
  173. package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts +2 -2
  174. package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts.map +1 -1
  175. package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts +2 -2
  176. package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts.map +1 -1
  177. package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts +2 -2
  178. package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts.map +1 -1
  179. package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts +2 -2
  180. package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts.map +1 -1
  181. package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts +2 -2
  182. package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts.map +1 -1
  183. package/lib/typescript/modules/general/ExecutorchModule.d.ts +2 -2
  184. package/lib/typescript/modules/general/ExecutorchModule.d.ts.map +1 -1
  185. package/lib/typescript/modules/natural_language_processing/SpeechToTextModule.d.ts +7 -12
  186. package/lib/typescript/modules/natural_language_processing/SpeechToTextModule.d.ts.map +1 -1
  187. package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts +2 -2
  188. package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts.map +1 -1
  189. package/lib/typescript/native/RnExecutorchModules.d.ts +1 -3
  190. package/lib/typescript/native/RnExecutorchModules.d.ts.map +1 -1
  191. package/lib/typescript/types/stt.d.ts +0 -9
  192. package/lib/typescript/types/stt.d.ts.map +1 -1
  193. package/lib/utils/ResourceFetcherUtils.js +0 -1
  194. package/lib/utils/llm.js +0 -1
  195. package/package.json +1 -2
  196. package/react-native-executorch.podspec +49 -44
  197. package/src/controllers/LLMController.ts +8 -13
  198. package/src/hooks/computer_vision/useClassification.ts +2 -2
  199. package/src/hooks/computer_vision/useImageEmbeddings.ts +2 -2
  200. package/src/hooks/computer_vision/useImageSegmentation.ts +2 -2
  201. package/src/hooks/computer_vision/useObjectDetection.ts +2 -2
  202. package/src/hooks/computer_vision/useStyleTransfer.ts +2 -2
  203. package/src/hooks/general/useExecutorchModule.ts +2 -2
  204. package/src/hooks/natural_language_processing/useTextEmbeddings.ts +2 -2
  205. package/src/hooks/useModule.ts +23 -13
  206. package/src/index.ts +3 -2
  207. package/src/modules/BaseModule.ts +17 -28
  208. package/src/modules/computer_vision/ClassificationModule.ts +2 -2
  209. package/src/modules/computer_vision/ImageEmbeddingsModule.ts +2 -2
  210. package/src/modules/computer_vision/ImageSegmentationModule.ts +2 -2
  211. package/src/modules/computer_vision/ObjectDetectionModule.ts +2 -2
  212. package/src/modules/computer_vision/StyleTransferModule.ts +2 -2
  213. package/src/modules/general/ExecutorchModule.ts +2 -2
  214. package/src/modules/natural_language_processing/SpeechToTextModule.ts +118 -54
  215. package/src/modules/natural_language_processing/TextEmbeddingsModule.ts +2 -2
  216. package/src/native/RnExecutorchModules.ts +1 -5
  217. package/src/types/stt.ts +0 -12
  218. package/third-party/android/libs/cpuinfo/arm64-v8a/libcpuinfo.so +0 -0
  219. package/third-party/android/libs/pthreadpool/arm64-v8a/libpthreadpool.so +0 -0
  220. package/third-party/include/cpuinfo/cpuinfo.h +2305 -0
  221. package/third-party/include/executorch/extension/threadpool/cpuinfo_utils.h +26 -0
  222. package/third-party/include/executorch/extension/threadpool/threadpool.h +94 -0
  223. package/third-party/include/pthreadpool/pthreadpool.h +2236 -0
  224. package/android/src/main/java/com/swmansion/rnexecutorch/LLM.kt +0 -63
  225. package/common/rnexecutorch/models/EncoderDecoderBase.cpp +0 -21
  226. package/common/rnexecutorch/models/EncoderDecoderBase.h +0 -31
  227. package/common/rnexecutorch/models/speech_to_text/SpeechToTextStrategy.h +0 -27
  228. package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.cpp +0 -50
  229. package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.h +0 -25
  230. package/ios/ExecutorchLib.xcframework/Info.plist +0 -43
  231. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/ETModel.h +0 -27
  232. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
  233. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
  234. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Info.plist +0 -0
  235. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/ETModel.h +0 -27
  236. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
  237. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
  238. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Info.plist +0 -0
  239. package/ios/RnExecutorch/LLM.h +0 -5
  240. package/ios/RnExecutorch/LLM.mm +0 -78
  241. package/lib/Error.d.ts +0 -30
  242. package/lib/constants/directories.d.ts +0 -1
  243. package/lib/constants/ocr/symbols.d.ts +0 -75
  244. package/lib/controllers/OCRController.d.ts +0 -23
  245. package/lib/controllers/VerticalOCRController.d.ts +0 -25
  246. package/lib/hooks/useModule.d.ts +0 -17
  247. package/lib/module/modules/BaseNonStaticModule.js +0 -17
  248. package/lib/module/modules/BaseNonStaticModule.js.map +0 -1
  249. package/lib/module/native/NativeLLM.js +0 -5
  250. package/lib/module/native/NativeLLM.js.map +0 -1
  251. package/lib/module/utils/SpeechToTextModule/ASR.js +0 -191
  252. package/lib/module/utils/SpeechToTextModule/ASR.js.map +0 -1
  253. package/lib/module/utils/SpeechToTextModule/OnlineProcessor.js +0 -73
  254. package/lib/module/utils/SpeechToTextModule/OnlineProcessor.js.map +0 -1
  255. package/lib/module/utils/SpeechToTextModule/hypothesisBuffer.js +0 -56
  256. package/lib/module/utils/SpeechToTextModule/hypothesisBuffer.js.map +0 -1
  257. package/lib/module/utils/stt.js +0 -22
  258. package/lib/module/utils/stt.js.map +0 -1
  259. package/lib/modules/BaseModule.d.ts +0 -8
  260. package/lib/modules/BaseNonStaticModule.d.ts +0 -9
  261. package/lib/native/NativeETInstaller.d.ts +0 -6
  262. package/lib/native/NativeOCR.d.ts +0 -8
  263. package/lib/native/NativeVerticalOCR.d.ts +0 -8
  264. package/lib/types/imageSegmentation.d.ts +0 -24
  265. package/lib/types/objectDetection.d.ts +0 -104
  266. package/lib/types/ocr.d.ts +0 -11
  267. package/lib/typescript/modules/BaseNonStaticModule.d.ts +0 -10
  268. package/lib/typescript/modules/BaseNonStaticModule.d.ts.map +0 -1
  269. package/lib/typescript/native/NativeLLM.d.ts +0 -12
  270. package/lib/typescript/native/NativeLLM.d.ts.map +0 -1
  271. package/lib/typescript/utils/SpeechToTextModule/ASR.d.ts +0 -27
  272. package/lib/typescript/utils/SpeechToTextModule/ASR.d.ts.map +0 -1
  273. package/lib/typescript/utils/SpeechToTextModule/OnlineProcessor.d.ts +0 -23
  274. package/lib/typescript/utils/SpeechToTextModule/OnlineProcessor.d.ts.map +0 -1
  275. package/lib/typescript/utils/SpeechToTextModule/hypothesisBuffer.d.ts +0 -13
  276. package/lib/typescript/utils/SpeechToTextModule/hypothesisBuffer.d.ts.map +0 -1
  277. package/lib/typescript/utils/stt.d.ts +0 -2
  278. package/lib/typescript/utils/stt.d.ts.map +0 -1
  279. package/lib/utils/stt.d.ts +0 -1
  280. package/src/modules/BaseNonStaticModule.ts +0 -26
  281. package/src/native/NativeLLM.ts +0 -14
  282. package/src/utils/SpeechToTextModule/ASR.ts +0 -303
  283. package/src/utils/SpeechToTextModule/OnlineProcessor.ts +0 -87
  284. package/src/utils/SpeechToTextModule/hypothesisBuffer.ts +0 -79
  285. package/src/utils/stt.ts +0 -28
  286. package/third-party/include/tokenizers-cpp/tokenizers_c.h +0 -61
  287. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.h +0 -27
  288. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.mm +0 -249
  289. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.h +0 -14
  290. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.mm +0 -80
  291. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.h +0 -32
  292. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.mm +0 -95
  293. package/third-party/ios/ExecutorchLib/ExecutorchLib/InputType.h +0 -12
  294. package/third-party/ios/ExecutorchLib/ExecutorchLib/Utils.hpp +0 -217
  295. package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.cpp +0 -11
  296. package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.h +0 -11
  297. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/base64.h +0 -202
  298. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.cpp +0 -313
  299. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.h +0 -57
  300. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.cpp +0 -78
  301. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.h +0 -23
  302. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.cpp +0 -427
  303. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.h +0 -87
  304. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tokenizer.h +0 -76
  305. package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.pbxproj +0 -683
  306. package/third-party/ios/ExecutorchLib/build.sh +0 -44
  307. package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/Info.plist +0 -43
  308. package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64/libbackend_coreml_ios.a +0 -0
  309. package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64-simulator/libbackend_coreml_simulator.a +0 -0
  310. package/third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/Info.plist +0 -43
  311. package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/Info.plist +0 -43
  312. package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64/libbackend_xnnpack_ios.a +0 -0
  313. package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64-simulator/libbackend_xnnpack_simulator.a +0 -0
  314. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/Info.plist +0 -47
  315. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Export.h +0 -163
  316. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Macros.h +0 -497
  317. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-inl.h +0 -342
  318. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-math.h +0 -266
  319. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16.h +0 -125
  320. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half-inl.h +0 -347
  321. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half.h +0 -416
  322. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/TypeSafeSignMath.h +0 -133
  323. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/bit_cast.h +0 -43
  324. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/floating_point_utils.h +0 -33
  325. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/irange.h +0 -107
  326. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorch.h +0 -13
  327. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchError.h +0 -16
  328. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchLog.h +0 -76
  329. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchModule.h +0 -286
  330. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchTensor.h +0 -742
  331. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchValue.h +0 -219
  332. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/module/module.h +0 -492
  333. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor.h +0 -13
  334. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
  335. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
  336. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
  337. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
  338. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
  339. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/interface.h +0 -166
  340. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/array_ref.h +0 -235
  341. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/data_loader.h +0 -136
  342. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/defines.h +0 -20
  343. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/error.h +0 -229
  344. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/evalue.h +0 -521
  345. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer.h +0 -565
  346. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
  347. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
  348. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
  349. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
  350. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
  351. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
  352. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +0 -69
  353. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
  354. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
  355. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
  356. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/memory_allocator.h +0 -198
  357. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/named_data_map.h +0 -86
  358. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
  359. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
  360. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
  361. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
  362. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
  363. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +0 -342
  364. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +0 -266
  365. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
  366. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +0 -347
  367. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
  368. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
  369. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +0 -43
  370. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +0 -33
  371. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
  372. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
  373. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/device.h +0 -70
  374. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/half.h +0 -27
  375. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
  376. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
  377. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
  378. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
  379. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
  380. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
  381. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
  382. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
  383. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/result.h +0 -258
  384. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/span.h +0 -93
  385. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tag.h +0 -71
  386. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_layout.h +0 -79
  387. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
  388. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/memory_manager.h +0 -113
  389. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method.h +0 -387
  390. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method_meta.h +0 -251
  391. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/program.h +0 -320
  392. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
  393. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
  394. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
  395. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
  396. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/abort.h +0 -36
  397. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/assert.h +0 -119
  398. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/clock.h +0 -43
  399. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
  400. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compiler.h +0 -191
  401. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/log.h +0 -177
  402. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/platform.h +0 -133
  403. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/profiler.h +0 -292
  404. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/runtime.h +0 -35
  405. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/system.h +0 -49
  406. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/types.h +0 -24
  407. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/schema/extended_header.h +0 -76
  408. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/module.modulemap +0 -5
  409. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/libexecutorch_ios.a +0 -0
  410. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Export.h +0 -163
  411. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Macros.h +0 -497
  412. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-inl.h +0 -342
  413. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-math.h +0 -266
  414. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16.h +0 -125
  415. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half-inl.h +0 -347
  416. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half.h +0 -416
  417. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/TypeSafeSignMath.h +0 -133
  418. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/bit_cast.h +0 -43
  419. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/floating_point_utils.h +0 -33
  420. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/irange.h +0 -107
  421. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorch.h +0 -13
  422. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchError.h +0 -16
  423. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchLog.h +0 -76
  424. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchModule.h +0 -286
  425. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchTensor.h +0 -742
  426. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchValue.h +0 -219
  427. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/module/module.h +0 -492
  428. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor.h +0 -13
  429. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
  430. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
  431. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
  432. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
  433. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
  434. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/interface.h +0 -166
  435. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/array_ref.h +0 -235
  436. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/data_loader.h +0 -136
  437. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/defines.h +0 -20
  438. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/error.h +0 -229
  439. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/evalue.h +0 -521
  440. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer.h +0 -565
  441. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
  442. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
  443. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
  444. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
  445. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
  446. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
  447. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +0 -69
  448. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
  449. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
  450. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
  451. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/memory_allocator.h +0 -198
  452. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/named_data_map.h +0 -86
  453. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
  454. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
  455. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
  456. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
  457. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
  458. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +0 -342
  459. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +0 -266
  460. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
  461. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +0 -347
  462. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
  463. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
  464. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +0 -43
  465. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +0 -33
  466. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
  467. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
  468. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/device.h +0 -70
  469. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/half.h +0 -27
  470. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
  471. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
  472. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
  473. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
  474. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
  475. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
  476. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
  477. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
  478. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/result.h +0 -258
  479. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/span.h +0 -93
  480. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tag.h +0 -71
  481. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_layout.h +0 -79
  482. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
  483. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/memory_manager.h +0 -113
  484. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method.h +0 -387
  485. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method_meta.h +0 -251
  486. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/program.h +0 -320
  487. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
  488. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
  489. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
  490. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
  491. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/abort.h +0 -36
  492. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/assert.h +0 -119
  493. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/clock.h +0 -43
  494. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
  495. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compiler.h +0 -191
  496. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/log.h +0 -177
  497. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/platform.h +0 -133
  498. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/profiler.h +0 -292
  499. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/runtime.h +0 -35
  500. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/system.h +0 -49
  501. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/types.h +0 -24
  502. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/schema/extended_header.h +0 -76
  503. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/module.modulemap +0 -5
  504. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/libexecutorch_simulator.a +0 -0
  505. package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/Info.plist +0 -43
  506. package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64/libkernels_custom_ios.a +0 -0
  507. package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64-simulator/libkernels_custom_simulator.a +0 -0
  508. package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/Info.plist +0 -43
  509. package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64/libkernels_optimized_ios.a +0 -0
  510. package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64-simulator/libkernels_optimized_simulator.a +0 -0
  511. package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/Info.plist +0 -43
  512. package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64/libkernels_portable_ios.a +0 -0
  513. package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64-simulator/libkernels_portable_simulator.a +0 -0
  514. package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/Info.plist +0 -43
  515. package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64/libkernels_quantized_ios.a +0 -0
  516. package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64-simulator/libkernels_quantized_simulator.a +0 -0
  517. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/Info.plist +0 -43
  518. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/bitmap256.h +0 -82
  519. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/filtered_re2.h +0 -111
  520. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/pod_array.h +0 -43
  521. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter.h +0 -130
  522. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter_tree.h +0 -139
  523. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prog.h +0 -483
  524. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/re2.h +0 -994
  525. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/regexp.h +0 -692
  526. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/set.h +0 -85
  527. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_array.h +0 -367
  528. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_set.h +0 -241
  529. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/stringpiece.h +0 -205
  530. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_casefold.h +0 -78
  531. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_groups.h +0 -64
  532. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/walker-inl.h +0 -235
  533. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Info.plist +0 -26
  534. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/re2 +0 -0
  535. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/bitmap256.h +0 -82
  536. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/filtered_re2.h +0 -111
  537. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/pod_array.h +0 -43
  538. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter.h +0 -130
  539. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter_tree.h +0 -139
  540. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prog.h +0 -483
  541. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/re2.h +0 -994
  542. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/regexp.h +0 -692
  543. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/set.h +0 -85
  544. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_array.h +0 -367
  545. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_set.h +0 -241
  546. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/stringpiece.h +0 -205
  547. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_casefold.h +0 -78
  548. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_groups.h +0 -64
  549. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/walker-inl.h +0 -235
  550. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Info.plist +0 -26
  551. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/re2 +0 -0
  552. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/irunner.h +0 -0
  553. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.cpp +0 -0
  554. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.h +0 -0
  555. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/stats.h +0 -0
  556. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.cpp +0 -0
  557. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.h +0 -0
  558. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.cpp +0 -0
  559. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.h +0 -0
  560. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_token_generator.h +0 -0
  561. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/util.h +0 -0
@@ -0,0 +1,307 @@
1
+ #include <random>
2
+
3
+ #include "ASR.h"
4
+ #include "executorch/extension/tensor/tensor_ptr.h"
5
+ #include "rnexecutorch/data_processing/Numerical.h"
6
+ #include "rnexecutorch/data_processing/dsp.h"
7
+ #include "rnexecutorch/data_processing/gzip.h"
8
+
9
+ namespace rnexecutorch::models::speech_to_text::asr {
10
+
11
+ ASR::ASR(const models::BaseModel *encoder, const models::BaseModel *decoder,
12
+ const TokenizerModule *tokenizer)
13
+ : encoder(encoder), decoder(decoder), tokenizer(tokenizer),
14
+ startOfTranscriptionToken(
15
+ this->tokenizer->tokenToId("<|startoftranscript|>")),
16
+ endOfTranscriptionToken(this->tokenizer->tokenToId("<|endoftext|>")),
17
+ timestampBeginToken(this->tokenizer->tokenToId("<|0.00|>")) {}
18
+
19
+ std::vector<int32_t>
20
+ ASR::getInitialSequence(const DecodingOptions &options) const {
21
+ std::vector<int32_t> seq;
22
+ seq.push_back(this->startOfTranscriptionToken);
23
+
24
+ if (options.language.has_value()) {
25
+ int32_t langToken =
26
+ this->tokenizer->tokenToId("<|" + options.language.value() + "|>");
27
+ int32_t taskToken = this->tokenizer->tokenToId("<|transcribe|>");
28
+ seq.push_back(langToken);
29
+ seq.push_back(taskToken);
30
+ }
31
+
32
+ seq.push_back(this->timestampBeginToken);
33
+
34
+ return seq;
35
+ }
36
+
37
+ GenerationResult ASR::generate(std::span<const float> waveform,
38
+ float temperature,
39
+ const DecodingOptions &options) const {
40
+ std::vector<float> encoderOutput = this->encode(waveform);
41
+
42
+ std::vector<int32_t> sequenceIds = this->getInitialSequence(options);
43
+ const size_t initialSequenceLenght = sequenceIds.size();
44
+ std::vector<float> scores;
45
+
46
+ while (std::cmp_less_equal(sequenceIds.size(), ASR::kMaxDecodeLength)) {
47
+ std::vector<float> logits = this->decode(sequenceIds, encoderOutput);
48
+
49
+ // intentionally comparing float to float
50
+ // temperatures are predefined, so this is safe
51
+ if (temperature == 0.0f) {
52
+ numerical::softmax(logits);
53
+ } else {
54
+ numerical::softmaxWithTemperature(logits, temperature);
55
+ }
56
+
57
+ const std::vector<float> &probs = logits;
58
+
59
+ int32_t nextId;
60
+ float nextProb;
61
+
62
+ // intentionally comparing float to float
63
+ // temperatures are predefined, so this is safe
64
+ if (temperature == 0.0f) {
65
+ auto maxIt = std::ranges::max_element(probs);
66
+ nextId = static_cast<int32_t>(std::distance(probs.begin(), maxIt));
67
+ nextProb = *maxIt;
68
+ } else {
69
+ std::discrete_distribution<> dist(probs.begin(), probs.end());
70
+ std::mt19937 gen((std::random_device{}()));
71
+ nextId = dist(gen);
72
+ nextProb = probs[nextId];
73
+ }
74
+
75
+ sequenceIds.push_back(nextId);
76
+ scores.push_back(nextProb);
77
+
78
+ if (nextId == this->endOfTranscriptionToken) {
79
+ break;
80
+ }
81
+ }
82
+
83
+ return {.tokens = std::vector<int32_t>(
84
+ sequenceIds.cbegin() + initialSequenceLenght, sequenceIds.cend()),
85
+ .scores = scores};
86
+ }
87
+
88
+ float ASR::getCompressionRatio(const std::string &text) const {
89
+ size_t compressedSize = gzip::deflateSize(text);
90
+ return static_cast<float>(text.size()) / static_cast<float>(compressedSize);
91
+ }
92
+
93
+ std::vector<Segment>
94
+ ASR::generateWithFallback(std::span<const float> waveform,
95
+ const DecodingOptions &options) const {
96
+ std::vector<float> temperatures = {0.0f, 0.2f, 0.4f, 0.6f, 0.8f, 1.0f};
97
+ std::vector<int32_t> bestTokens;
98
+
99
+ for (auto t : temperatures) {
100
+ auto [tokens, scores] = this->generate(waveform, t, options);
101
+
102
+ const float cumLogProb = std::transform_reduce(
103
+ scores.begin(), scores.end(), 0.0f, std::plus<>(),
104
+ [](float s) { return std::log(std::max(s, 1e-9f)); });
105
+
106
+ const float avgLogProb = cumLogProb / static_cast<float>(tokens.size() + 1);
107
+ const std::string text = this->tokenizer->decode(tokens, true);
108
+ const float compressionRatio = this->getCompressionRatio(text);
109
+
110
+ if (avgLogProb >= -1.0f && compressionRatio < 2.4f) {
111
+ bestTokens = std::move(tokens);
112
+ break;
113
+ }
114
+ }
115
+
116
+ return this->calculateWordLevelTimestamps(bestTokens, waveform);
117
+ }
118
+
119
+ std::vector<Segment>
120
+ ASR::calculateWordLevelTimestamps(std::span<const int32_t> generatedTokens,
121
+ const std::span<const float> waveform) const {
122
+ const size_t generatedTokensSize = generatedTokens.size();
123
+ if (generatedTokensSize < 2 ||
124
+ generatedTokens[generatedTokensSize - 1] !=
125
+ this->endOfTranscriptionToken ||
126
+ generatedTokens[generatedTokensSize - 2] < this->timestampBeginToken) {
127
+ return {};
128
+ }
129
+ std::vector<Segment> segments;
130
+ std::vector<int32_t> tokens;
131
+ int32_t prevTimestamp = this->timestampBeginToken;
132
+
133
+ for (size_t i = 0; i < generatedTokensSize; i++) {
134
+ if (generatedTokens[i] < this->timestampBeginToken) {
135
+ tokens.push_back(generatedTokens[i]);
136
+ }
137
+ if (i > 0 && generatedTokens[i - 1] >= this->timestampBeginToken &&
138
+ generatedTokens[i] >= this->timestampBeginToken) {
139
+ const int32_t start = prevTimestamp;
140
+ const int32_t end = generatedTokens[i - 1];
141
+ auto words = this->estimateWordLevelTimestampsLinear(tokens, start, end);
142
+ if (words.size()) {
143
+ segments.emplace_back(std::move(words), 0.0);
144
+ }
145
+ tokens.clear();
146
+ prevTimestamp = generatedTokens[i];
147
+ }
148
+ }
149
+
150
+ const int32_t start = prevTimestamp;
151
+ const int32_t end = generatedTokens[generatedTokensSize - 2];
152
+ auto words = this->estimateWordLevelTimestampsLinear(tokens, start, end);
153
+
154
+ if (words.size()) {
155
+ segments.emplace_back(std::move(words), 0.0);
156
+ }
157
+
158
+ float scalingFactor =
159
+ static_cast<float>(waveform.size()) /
160
+ (ASR::kSamplingRate * (end - this->timestampBeginToken) *
161
+ ASR::kTimePrecision);
162
+ if (scalingFactor < 1.0f) {
163
+ for (auto &seg : segments) {
164
+ for (auto &w : seg.words) {
165
+ w.start *= scalingFactor;
166
+ w.end *= scalingFactor;
167
+ }
168
+ }
169
+ }
170
+
171
+ return segments;
172
+ }
173
+
174
+ std::vector<Word>
175
+ ASR::estimateWordLevelTimestampsLinear(std::span<const int32_t> tokens,
176
+ int32_t start, int32_t end) const {
177
+ const std::vector<int32_t> tokensVec(tokens.begin(), tokens.end());
178
+ const std::string segmentText = this->tokenizer->decode(tokensVec, true);
179
+ std::istringstream iss(segmentText);
180
+ std::vector<std::string> wordsStr;
181
+ std::string word;
182
+ while (iss >> word) {
183
+ wordsStr.emplace_back(" ");
184
+ wordsStr.back().append(word);
185
+ }
186
+
187
+ size_t numChars = 0;
188
+ for (const auto &w : wordsStr) {
189
+ numChars += w.size();
190
+ }
191
+ const float duration = (end - start) * ASR::kTimePrecision;
192
+ const float timePerChar = duration / std::max<float>(1, numChars);
193
+ const float startOffset = (start - timestampBeginToken) * ASR::kTimePrecision;
194
+
195
+ std::vector<Word> wordObjs;
196
+ wordObjs.reserve(wordsStr.size());
197
+ int32_t prevCharCount = 0;
198
+ for (auto &w : wordsStr) {
199
+ const auto wSize = static_cast<int32_t>(w.size());
200
+ const float wStart = startOffset + prevCharCount * timePerChar;
201
+ const float wEnd = wStart + timePerChar * wSize;
202
+ prevCharCount += wSize;
203
+ wordObjs.emplace_back(std::move(w), wStart, wEnd);
204
+ }
205
+
206
+ return wordObjs;
207
+ }
208
+
209
+ std::vector<Segment> ASR::transcribe(std::span<const float> waveform,
210
+ const DecodingOptions &options) const {
211
+ int32_t seek = 0;
212
+ std::vector<Segment> results;
213
+
214
+ while (std::cmp_less(seek * ASR::kSamplingRate, waveform.size())) {
215
+ int32_t start = seek * ASR::kSamplingRate;
216
+ const auto end = std::min<int32_t>(
217
+ (seek + ASR::kChunkSize) * ASR::kSamplingRate, waveform.size());
218
+ std::span<const float> chunk = waveform.subspan(start, end - start);
219
+
220
+ if (std::cmp_less(chunk.size(), ASR::kMinChunkSamples)) {
221
+ break;
222
+ }
223
+
224
+ std::vector<Segment> segments = this->generateWithFallback(chunk, options);
225
+
226
+ if (segments.empty()) {
227
+ seek += ASR::kChunkSize;
228
+ continue;
229
+ }
230
+
231
+ for (auto &seg : segments) {
232
+ for (auto &w : seg.words) {
233
+ w.start += seek;
234
+ w.end += seek;
235
+ }
236
+ }
237
+
238
+ seek = static_cast<int32_t>(segments.back().words.back().end);
239
+ results.insert(results.end(), std::make_move_iterator(segments.begin()),
240
+ std::make_move_iterator(segments.end()));
241
+ }
242
+
243
+ return results;
244
+ }
245
+
246
+ std::vector<float> ASR::encode(std::span<const float> waveform) const {
247
+ constexpr int32_t fftWindowSize = 512;
248
+ constexpr int32_t stftHopLength = 160;
249
+ constexpr int32_t innerDim = 256;
250
+
251
+ std::vector<float> preprocessedData =
252
+ dsp::stftFromWaveform(waveform, fftWindowSize, stftHopLength);
253
+ const auto numFrames =
254
+ static_cast<int32_t>(preprocessedData.size()) / innerDim;
255
+ std::vector<int32_t> inputShape = {numFrames, innerDim};
256
+
257
+ const auto modelInputTensor = executorch::extension::make_tensor_ptr(
258
+ std::move(inputShape), std::move(preprocessedData));
259
+ const auto encoderResult = this->encoder->forward(modelInputTensor);
260
+
261
+ if (!encoderResult.ok()) {
262
+ throw std::runtime_error(
263
+ "Forward pass failed during encoding, error code: " +
264
+ std::to_string(static_cast<int32_t>(encoderResult.error())));
265
+ }
266
+
267
+ const auto decoderOutputTensor = encoderResult.get().at(0).toTensor();
268
+ const int32_t outputNumel = decoderOutputTensor.numel();
269
+
270
+ const float *const dataPtr = decoderOutputTensor.const_data_ptr<float>();
271
+ return {dataPtr, dataPtr + outputNumel};
272
+ }
273
+
274
+ std::vector<float> ASR::decode(std::span<int32_t> tokens,
275
+ std::span<float> encoderOutput) const {
276
+ std::vector<int32_t> tokenShape = {1, static_cast<int32_t>(tokens.size())};
277
+ auto tokenTensor = executorch::extension::make_tensor_ptr(
278
+ std::move(tokenShape), tokens.data(), ScalarType::Int);
279
+
280
+ const auto encoderOutputSize = static_cast<int32_t>(encoderOutput.size());
281
+ std::vector<int32_t> encShape = {1, ASR::kNumFrames,
282
+ encoderOutputSize / ASR::kNumFrames};
283
+ auto encoderTensor = executorch::extension::make_tensor_ptr(
284
+ std::move(encShape), encoderOutput.data(), ScalarType::Float);
285
+
286
+ const auto decoderResult =
287
+ this->decoder->forward({tokenTensor, encoderTensor});
288
+
289
+ if (!decoderResult.ok()) {
290
+ throw std::runtime_error(
291
+ "Forward pass failed during decoding, error code: " +
292
+ std::to_string(static_cast<int32_t>(decoderResult.error())));
293
+ }
294
+
295
+ const auto logitsTensor = decoderResult.get().at(0).toTensor();
296
+ const int32_t outputNumel = logitsTensor.numel();
297
+
298
+ const size_t innerDim = logitsTensor.size(1);
299
+ const size_t dictSize = logitsTensor.size(2);
300
+
301
+ const float *const dataPtr =
302
+ logitsTensor.const_data_ptr<float>() + (innerDim - 1) * dictSize;
303
+
304
+ return {dataPtr, dataPtr + outputNumel / innerDim};
305
+ }
306
+
307
+ } // namespace rnexecutorch::models::speech_to_text::asr
@@ -0,0 +1,61 @@
1
+ #pragma once
2
+
3
+ #include "rnexecutorch/TokenizerModule.h"
4
+ #include "rnexecutorch/models/BaseModel.h"
5
+ #include "rnexecutorch/models/speech_to_text/types/DecodingOptions.h"
6
+ #include "rnexecutorch/models/speech_to_text/types/GenerationResult.h"
7
+ #include "rnexecutorch/models/speech_to_text/types/Segment.h"
8
+
9
+ namespace rnexecutorch::models::speech_to_text::asr {
10
+
11
+ using namespace types;
12
+
13
+ class ASR {
14
+ public:
15
+ explicit ASR(const models::BaseModel *encoder,
16
+ const models::BaseModel *decoder,
17
+ const TokenizerModule *tokenizer);
18
+ std::vector<Segment> transcribe(std::span<const float> waveform,
19
+ const DecodingOptions &options) const;
20
+ std::vector<float> encode(std::span<const float> waveform) const;
21
+ std::vector<float> decode(std::span<int32_t> tokens,
22
+ std::span<float> encoderOutput) const;
23
+
24
+ private:
25
+ const models::BaseModel *encoder;
26
+ const models::BaseModel *decoder;
27
+ const TokenizerModule *tokenizer;
28
+
29
+ int32_t startOfTranscriptionToken;
30
+ int32_t endOfTranscriptionToken;
31
+ int32_t timestampBeginToken;
32
+
33
+ // Time precision used by Whisper timestamps: each token spans 0.02 seconds
34
+ constexpr static float kTimePrecision = 0.02f;
35
+ // The maximum number of tokens the decoder can generate per chunk
36
+ constexpr static int32_t kMaxDecodeLength = 128;
37
+ // Maximum duration of each audio chunk to process (in seconds)
38
+ constexpr static int32_t kChunkSize = 30;
39
+ // Sampling rate expected by Whisper and the model's audio pipeline (16 kHz)
40
+ constexpr static int32_t kSamplingRate = 16000;
41
+ // Minimum allowed chunk length before processing (in audio samples)
42
+ constexpr static int32_t kMinChunkSamples = 1 * 16000;
43
+ // Number of mel frames output by the encoder (derived from input spectrogram)
44
+ constexpr static int32_t kNumFrames = 1500;
45
+
46
+ std::vector<int32_t> getInitialSequence(const DecodingOptions &options) const;
47
+ GenerationResult generate(std::span<const float> waveform, float temperature,
48
+ const DecodingOptions &options) const;
49
+ std::vector<Segment>
50
+ generateWithFallback(std::span<const float> waveform,
51
+ const DecodingOptions &options) const;
52
+ std::vector<Segment>
53
+ calculateWordLevelTimestamps(std::span<const int32_t> tokens,
54
+ std::span<const float> waveform) const;
55
+ std::vector<Word>
56
+ estimateWordLevelTimestampsLinear(std::span<const int32_t> tokens,
57
+ int32_t start, int32_t end) const;
58
+ float getCompressionRatio(const std::string &text) const;
59
+ };
60
+
61
+ } // namespace rnexecutorch::models::speech_to_text::asr
@@ -0,0 +1,80 @@
1
+ #include "HypothesisBuffer.h"
2
+
3
+ namespace rnexecutorch::models::speech_to_text::stream {
4
+
5
+ void HypothesisBuffer::insert(std::span<const Word> newWords, float offset) {
6
+ this->fresh.clear();
7
+ for (const auto &word : newWords) {
8
+ const float newStart = word.start + offset;
9
+ if (newStart > lastCommittedTime - 0.5f) {
10
+ this->fresh.emplace_back(word.content, newStart, word.end + offset);
11
+ }
12
+ }
13
+
14
+ if (!this->fresh.empty() && !this->committedInBuffer.empty()) {
15
+ const float a = this->fresh.front().start;
16
+ if (std::fabs(a - lastCommittedTime) < 1.0f) {
17
+ const size_t cn = this->committedInBuffer.size();
18
+ const size_t nn = this->fresh.size();
19
+ const std::size_t maxCheck = std::min<std::size_t>({cn, nn, 5});
20
+ for (size_t i = 1; i <= maxCheck; i++) {
21
+ std::string c;
22
+ for (auto it = this->committedInBuffer.cend() - i;
23
+ it != this->committedInBuffer.cend(); ++it) {
24
+ if (!c.empty()) {
25
+ c += ' ';
26
+ }
27
+ c += it->content;
28
+ }
29
+
30
+ std::string tail;
31
+ auto it = this->fresh.cbegin();
32
+ for (size_t k = 0; k < i; k++, it++) {
33
+ if (!tail.empty()) {
34
+ tail += ' ';
35
+ }
36
+ tail += it->content;
37
+ }
38
+
39
+ if (c == tail) {
40
+ this->fresh.erase(this->fresh.begin(), this->fresh.begin() + i);
41
+ break;
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ std::deque<Word> HypothesisBuffer::flush() {
49
+ std::deque<Word> commit;
50
+
51
+ while (!this->fresh.empty() && !this->buffer.empty()) {
52
+ if (this->fresh.front().content != this->buffer.front().content) {
53
+ break;
54
+ }
55
+ commit.push_back(this->fresh.front());
56
+ this->buffer.pop_front();
57
+ this->fresh.pop_front();
58
+ }
59
+
60
+ if (!commit.empty()) {
61
+ lastCommittedTime = commit.back().end;
62
+ }
63
+
64
+ this->buffer = std::move(this->fresh);
65
+ this->fresh.clear();
66
+ this->committedInBuffer.insert(this->committedInBuffer.end(), commit.begin(),
67
+ commit.end());
68
+ return commit;
69
+ }
70
+
71
+ void HypothesisBuffer::popCommitted(float time) {
72
+ while (!this->committedInBuffer.empty() &&
73
+ this->committedInBuffer.front().end <= time) {
74
+ this->committedInBuffer.pop_front();
75
+ }
76
+ }
77
+
78
+ std::deque<Word> HypothesisBuffer::complete() const { return this->buffer; }
79
+
80
+ } // namespace rnexecutorch::models::speech_to_text::stream
@@ -0,0 +1,27 @@
1
+ #pragma once
2
+
3
+ #include <deque>
4
+ #include <span>
5
+
6
+ #include "rnexecutorch/models/speech_to_text/types/Word.h"
7
+
8
+ namespace rnexecutorch::models::speech_to_text::stream {
9
+
10
+ using namespace types;
11
+
12
+ class HypothesisBuffer {
13
+ public:
14
+ void insert(std::span<const Word> newWords, float offset);
15
+ std::deque<Word> flush();
16
+ void popCommitted(float time);
17
+ std::deque<Word> complete() const;
18
+
19
+ private:
20
+ float lastCommittedTime = 0.0f;
21
+
22
+ std::deque<Word> committedInBuffer;
23
+ std::deque<Word> buffer;
24
+ std::deque<Word> fresh;
25
+ };
26
+
27
+ } // namespace rnexecutorch::models::speech_to_text::stream
@@ -0,0 +1,96 @@
1
+ #include <numeric>
2
+
3
+ #include "OnlineASRProcessor.h"
4
+
5
+ namespace rnexecutorch::models::speech_to_text::stream {
6
+
7
+ OnlineASRProcessor::OnlineASRProcessor(const ASR *asr) : asr(asr) {}
8
+
9
+ void OnlineASRProcessor::insertAudioChunk(std::span<const float> audio) {
10
+ audioBuffer.insert(audioBuffer.end(), audio.begin(), audio.end());
11
+ }
12
+
13
+ ProcessResult OnlineASRProcessor::processIter(const DecodingOptions &options) {
14
+ std::vector<Segment> res = asr->transcribe(audioBuffer, options);
15
+
16
+ std::vector<Word> tsw;
17
+ for (const auto &segment : res) {
18
+ for (const auto &word : segment.words) {
19
+ tsw.push_back(word);
20
+ }
21
+ }
22
+
23
+ this->hypothesisBuffer.insert(tsw, this->bufferTimeOffset);
24
+ std::deque<Word> flushed = this->hypothesisBuffer.flush();
25
+ this->committed.insert(this->committed.end(), flushed.begin(), flushed.end());
26
+
27
+ constexpr int32_t chunkThresholdSec = 15;
28
+ if (static_cast<float>(audioBuffer.size()) /
29
+ OnlineASRProcessor::kSamplingRate >
30
+ chunkThresholdSec) {
31
+ chunkCompletedSegment(res);
32
+ }
33
+
34
+ std::deque<Word> nonCommittedWords = this->hypothesisBuffer.complete();
35
+ return {this->toFlush(flushed), this->toFlush(nonCommittedWords)};
36
+ }
37
+
38
+ void OnlineASRProcessor::chunkCompletedSegment(std::span<const Segment> res) {
39
+ if (this->committed.empty())
40
+ return;
41
+
42
+ std::vector<float> ends(res.size());
43
+ std::ranges::transform(res, ends.begin(), [](const Segment &seg) {
44
+ return seg.words.back().end;
45
+ });
46
+
47
+ const float t = this->committed.back().end;
48
+
49
+ if (ends.size() > 1) {
50
+ float e = ends[ends.size() - 2] + this->bufferTimeOffset;
51
+ while (ends.size() > 2 && e > t) {
52
+ ends.pop_back();
53
+ e = ends[ends.size() - 2] + this->bufferTimeOffset;
54
+ }
55
+ if (e <= t) {
56
+ chunkAt(e);
57
+ }
58
+ }
59
+ }
60
+
61
+ void OnlineASRProcessor::chunkAt(float time) {
62
+ this->hypothesisBuffer.popCommitted(time);
63
+
64
+ const float cutSeconds = time - this->bufferTimeOffset;
65
+ auto startIndex =
66
+ static_cast<size_t>(cutSeconds * OnlineASRProcessor::kSamplingRate);
67
+
68
+ if (startIndex < audioBuffer.size()) {
69
+ audioBuffer.erase(audioBuffer.begin(), audioBuffer.begin() + startIndex);
70
+ } else {
71
+ audioBuffer.clear();
72
+ }
73
+
74
+ this->bufferTimeOffset = time;
75
+ }
76
+
77
+ std::string OnlineASRProcessor::finish() {
78
+ const std::deque<Word> buffer = this->hypothesisBuffer.complete();
79
+ std::string committedText = this->toFlush(buffer);
80
+ this->bufferTimeOffset += static_cast<float>(audioBuffer.size()) /
81
+ OnlineASRProcessor::kSamplingRate;
82
+ return committedText;
83
+ }
84
+
85
+ std::string OnlineASRProcessor::toFlush(const std::deque<Word> &words) const {
86
+ std::string text;
87
+ text.reserve(std::accumulate(
88
+ words.cbegin(), words.cend(), 0,
89
+ [](size_t sum, const Word &w) { return sum + w.content.size(); }));
90
+ for (const auto &word : words) {
91
+ text.append(word.content);
92
+ }
93
+ return text;
94
+ }
95
+
96
+ } // namespace rnexecutorch::models::speech_to_text::stream
@@ -0,0 +1,36 @@
1
+ #pragma once
2
+
3
+ #include "rnexecutorch/models/speech_to_text/asr/ASR.h"
4
+ #include "rnexecutorch/models/speech_to_text/stream/HypothesisBuffer.h"
5
+ #include "rnexecutorch/models/speech_to_text/types/ProcessResult.h"
6
+
7
+ namespace rnexecutorch::models::speech_to_text::stream {
8
+
9
+ using namespace asr;
10
+ using namespace types;
11
+
12
+ class OnlineASRProcessor {
13
+ public:
14
+ explicit OnlineASRProcessor(const ASR *asr);
15
+
16
+ void insertAudioChunk(std::span<const float> audio);
17
+ ProcessResult processIter(const DecodingOptions &options);
18
+ std::string finish();
19
+
20
+ std::vector<float> audioBuffer;
21
+
22
+ private:
23
+ const ASR *asr;
24
+ constexpr static int32_t kSamplingRate = 16000;
25
+
26
+ HypothesisBuffer hypothesisBuffer;
27
+ float bufferTimeOffset = 0.0f;
28
+ std::vector<Word> committed;
29
+
30
+ void chunkCompletedSegment(std::span<const Segment> res);
31
+ void chunkAt(float time);
32
+
33
+ std::string toFlush(const std::deque<Word> &words) const;
34
+ };
35
+
36
+ } // namespace rnexecutorch::models::speech_to_text::stream
@@ -0,0 +1,15 @@
1
+ #pragma once
2
+
3
+ #include <optional>
4
+ #include <string>
5
+
6
+ namespace rnexecutorch::models::speech_to_text::types {
7
+
8
+ struct DecodingOptions {
9
+ explicit DecodingOptions(const std::string &language)
10
+ : language(language.empty() ? std::nullopt : std::optional(language)) {}
11
+
12
+ std::optional<std::string> language;
13
+ };
14
+
15
+ } // namespace rnexecutorch::models::speech_to_text::types
@@ -0,0 +1,12 @@
1
+ #pragma once
2
+
3
+ #include <vector>
4
+
5
+ namespace rnexecutorch::models::speech_to_text::types {
6
+
7
+ struct GenerationResult {
8
+ std::vector<int32_t> tokens;
9
+ std::vector<float> scores;
10
+ };
11
+
12
+ } // namespace rnexecutorch::models::speech_to_text::types
@@ -0,0 +1,12 @@
1
+ #pragma once
2
+
3
+ #include <string>
4
+
5
+ namespace rnexecutorch::models::speech_to_text::types {
6
+
7
+ struct ProcessResult {
8
+ std::string committed;
9
+ std::string nonCommitted;
10
+ };
11
+
12
+ } // namespace rnexecutorch::models::speech_to_text::types
@@ -0,0 +1,14 @@
1
+ #pragma once
2
+
3
+ #include <vector>
4
+
5
+ #include "Word.h"
6
+
7
+ namespace rnexecutorch::models::speech_to_text::types {
8
+
9
+ struct Segment {
10
+ std::vector<Word> words;
11
+ float noSpeechProbability;
12
+ };
13
+
14
+ } // namespace rnexecutorch::models::speech_to_text::types
@@ -0,0 +1,13 @@
1
+ #pragma once
2
+
3
+ #include <string>
4
+
5
+ namespace rnexecutorch::models::speech_to_text::types {
6
+
7
+ struct Word {
8
+ std::string content;
9
+ float start;
10
+ float end;
11
+ };
12
+
13
+ } // namespace rnexecutorch::models::speech_to_text::types