parakeet.js 0.0.2 → 0.0.3

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 (160) hide show
  1. package/.gitmodules +3 -0
  2. package/README.md +240 -239
  3. package/examples/hf-spaces-demo/README.md +6 -9
  4. package/examples/hf-spaces-demo/package.json +1 -1
  5. package/examples/hf-spaces-demo/src/App.js +307 -316
  6. package/examples/react-demo/package.json +19 -19
  7. package/examples/react-demo/src/App.jsx +324 -326
  8. package/examples/react-demo-dev/src/App.jsx +23 -24
  9. package/package.json +1 -1
  10. package/publish.ps1 +65 -0
  11. package/src/hub.js +235 -241
  12. package/src/parakeet.js +15 -8
  13. package/src/preprocessor.js +75 -68
  14. package/docs/parakeet-transformers-js/.gitattributes +0 -2
  15. package/docs/parakeet-transformers-js/.prettierignore +0 -8
  16. package/docs/parakeet-transformers-js/.prettierrc +0 -10
  17. package/docs/parakeet-transformers-js/.tmp_features.json +0 -1
  18. package/docs/parakeet-transformers-js/LICENSE +0 -202
  19. package/docs/parakeet-transformers-js/README.md +0 -448
  20. package/docs/parakeet-transformers-js/assets/nemo128.onnx +0 -0
  21. package/docs/parakeet-transformers-js/assets/nemo80.onnx +0 -0
  22. package/docs/parakeet-transformers-js/debug_test.js +0 -84
  23. package/docs/parakeet-transformers-js/dev/inspect_decoder.cjs +0 -9
  24. package/docs/parakeet-transformers-js/dev/inspect_joiner.cjs +0 -9
  25. package/docs/parakeet-transformers-js/dev/js_step_by_step.js +0 -249
  26. package/docs/parakeet-transformers-js/dev/parakeet_cli.js +0 -91
  27. package/docs/parakeet-transformers-js/jest.config.mjs +0 -194
  28. package/docs/parakeet-transformers-js/js_preprocessing.json +0 -225
  29. package/docs/parakeet-transformers-js/js_step_by_step.json +0 -837
  30. package/docs/parakeet-transformers-js/js_step_by_step_v2.json +0 -450
  31. package/docs/parakeet-transformers-js/js_step_by_step_v3.json +0 -450
  32. package/docs/parakeet-transformers-js/js_steps.json +0 -821
  33. package/docs/parakeet-transformers-js/package-lock.json +0 -12251
  34. package/docs/parakeet-transformers-js/package.json +0 -96
  35. package/docs/parakeet-transformers-js/src/audio_features.js +0 -178
  36. package/docs/parakeet-transformers-js/src/backends/onnx.js +0 -210
  37. package/docs/parakeet-transformers-js/src/base/feature_extraction_utils.js +0 -54
  38. package/docs/parakeet-transformers-js/src/base/image_processors_utils.js +0 -1105
  39. package/docs/parakeet-transformers-js/src/base/processing_utils.js +0 -173
  40. package/docs/parakeet-transformers-js/src/configs.js +0 -455
  41. package/docs/parakeet-transformers-js/src/env.js +0 -167
  42. package/docs/parakeet-transformers-js/src/generation/configuration_utils.js +0 -388
  43. package/docs/parakeet-transformers-js/src/generation/logits_process.js +0 -727
  44. package/docs/parakeet-transformers-js/src/generation/logits_sampler.js +0 -204
  45. package/docs/parakeet-transformers-js/src/generation/parameters.js +0 -35
  46. package/docs/parakeet-transformers-js/src/generation/stopping_criteria.js +0 -156
  47. package/docs/parakeet-transformers-js/src/generation/streamers.js +0 -225
  48. package/docs/parakeet-transformers-js/src/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.js +0 -85
  49. package/docs/parakeet-transformers-js/src/models/auto/feature_extraction_auto.js +0 -25
  50. package/docs/parakeet-transformers-js/src/models/auto/image_processing_auto.js +0 -29
  51. package/docs/parakeet-transformers-js/src/models/auto/processing_auto.js +0 -85
  52. package/docs/parakeet-transformers-js/src/models/beit/image_processing_beit.js +0 -5
  53. package/docs/parakeet-transformers-js/src/models/bit/image_processing_bit.js +0 -5
  54. package/docs/parakeet-transformers-js/src/models/chinese_clip/image_processing_chinese_clip.js +0 -5
  55. package/docs/parakeet-transformers-js/src/models/clap/feature_extraction_clap.js +0 -159
  56. package/docs/parakeet-transformers-js/src/models/clip/image_processing_clip.js +0 -6
  57. package/docs/parakeet-transformers-js/src/models/convnext/image_processing_convnext.js +0 -46
  58. package/docs/parakeet-transformers-js/src/models/dac/feature_extraction_dac.js +0 -3
  59. package/docs/parakeet-transformers-js/src/models/deit/image_processing_deit.js +0 -6
  60. package/docs/parakeet-transformers-js/src/models/detr/image_processing_detr.js +0 -52
  61. package/docs/parakeet-transformers-js/src/models/donut/image_processing_donut.js +0 -31
  62. package/docs/parakeet-transformers-js/src/models/dpt/image_processing_dpt.js +0 -6
  63. package/docs/parakeet-transformers-js/src/models/efficientnet/image_processing_efficientnet.js +0 -14
  64. package/docs/parakeet-transformers-js/src/models/encodec/feature_extraction_encodec.js +0 -32
  65. package/docs/parakeet-transformers-js/src/models/feature_extractors.js +0 -17
  66. package/docs/parakeet-transformers-js/src/models/florence2/processing_florence2.js +0 -131
  67. package/docs/parakeet-transformers-js/src/models/gemma3n/feature_extraction_gemma3n.js +0 -97
  68. package/docs/parakeet-transformers-js/src/models/gemma3n/processing_gemma3n.js +0 -74
  69. package/docs/parakeet-transformers-js/src/models/glpn/image_processing_glpn.js +0 -5
  70. package/docs/parakeet-transformers-js/src/models/grounding_dino/image_processing_grounding_dino.js +0 -29
  71. package/docs/parakeet-transformers-js/src/models/grounding_dino/processing_grounding_dino.js +0 -101
  72. package/docs/parakeet-transformers-js/src/models/idefics3/image_processing_idefics3.js +0 -232
  73. package/docs/parakeet-transformers-js/src/models/idefics3/processing_idefics3.js +0 -136
  74. package/docs/parakeet-transformers-js/src/models/image_processors.js +0 -40
  75. package/docs/parakeet-transformers-js/src/models/janus/image_processing_janus.js +0 -27
  76. package/docs/parakeet-transformers-js/src/models/janus/processing_janus.js +0 -123
  77. package/docs/parakeet-transformers-js/src/models/jina_clip/image_processing_jina_clip.js +0 -26
  78. package/docs/parakeet-transformers-js/src/models/jina_clip/processing_jina_clip.js +0 -24
  79. package/docs/parakeet-transformers-js/src/models/llava/processing_llava.js +0 -44
  80. package/docs/parakeet-transformers-js/src/models/llava_onevision/image_processing_llava_onevision.js +0 -5
  81. package/docs/parakeet-transformers-js/src/models/mask2former/image_processing_mask2former.js +0 -5
  82. package/docs/parakeet-transformers-js/src/models/maskformer/image_processing_maskformer.js +0 -18
  83. package/docs/parakeet-transformers-js/src/models/mgp_str/processing_mgp_str.js +0 -172
  84. package/docs/parakeet-transformers-js/src/models/mobilenet_v1/image_processing_mobilenet_v1.js +0 -7
  85. package/docs/parakeet-transformers-js/src/models/mobilenet_v2/image_processing_mobilenet_v2.js +0 -7
  86. package/docs/parakeet-transformers-js/src/models/mobilenet_v3/image_processing_mobilenet_v3.js +0 -7
  87. package/docs/parakeet-transformers-js/src/models/mobilenet_v4/image_processing_mobilenet_v4.js +0 -7
  88. package/docs/parakeet-transformers-js/src/models/mobilevit/image_processing_mobilevit.js +0 -6
  89. package/docs/parakeet-transformers-js/src/models/moonshine/feature_extraction_moonshine.js +0 -26
  90. package/docs/parakeet-transformers-js/src/models/moonshine/processing_moonshine.js +0 -20
  91. package/docs/parakeet-transformers-js/src/models/nougat/image_processing_nougat.js +0 -5
  92. package/docs/parakeet-transformers-js/src/models/owlv2/image_processing_owlv2.js +0 -5
  93. package/docs/parakeet-transformers-js/src/models/owlvit/image_processing_owlvit.js +0 -12
  94. package/docs/parakeet-transformers-js/src/models/owlvit/processing_owlvit.js +0 -7
  95. package/docs/parakeet-transformers-js/src/models/paligemma/processing_paligemma.js +0 -83
  96. package/docs/parakeet-transformers-js/src/models/parakeet/feature_extraction_parakeet.js +0 -3
  97. package/docs/parakeet-transformers-js/src/models/parakeet/modeling_parakeet.js +0 -3
  98. package/docs/parakeet-transformers-js/src/models/parakeet/processing_parakeet.js +0 -3
  99. package/docs/parakeet-transformers-js/src/models/parakeet/tokenization_parakeet.js +0 -3
  100. package/docs/parakeet-transformers-js/src/models/phi3_v/image_processing_phi3_v.js +0 -163
  101. package/docs/parakeet-transformers-js/src/models/phi3_v/processing_phi3_v.js +0 -53
  102. package/docs/parakeet-transformers-js/src/models/processors.js +0 -22
  103. package/docs/parakeet-transformers-js/src/models/pvt/image_processing_pvt.js +0 -5
  104. package/docs/parakeet-transformers-js/src/models/pyannote/feature_extraction_pyannote.js +0 -85
  105. package/docs/parakeet-transformers-js/src/models/pyannote/processing_pyannote.js +0 -24
  106. package/docs/parakeet-transformers-js/src/models/qwen2_vl/image_processing_qwen2_vl.js +0 -52
  107. package/docs/parakeet-transformers-js/src/models/qwen2_vl/processing_qwen2_vl.js +0 -53
  108. package/docs/parakeet-transformers-js/src/models/rt_detr/image_processing_rt_detr.js +0 -12
  109. package/docs/parakeet-transformers-js/src/models/sam/image_processing_sam.js +0 -242
  110. package/docs/parakeet-transformers-js/src/models/sam/processing_sam.js +0 -20
  111. package/docs/parakeet-transformers-js/src/models/sapiens/image_processing_sapiens.js +0 -13
  112. package/docs/parakeet-transformers-js/src/models/seamless_m4t/feature_extraction_seamless_m4t.js +0 -175
  113. package/docs/parakeet-transformers-js/src/models/segformer/image_processing_segformer.js +0 -13
  114. package/docs/parakeet-transformers-js/src/models/siglip/image_processing_siglip.js +0 -5
  115. package/docs/parakeet-transformers-js/src/models/smolvlm/image_processing_smolvlm.js +0 -2
  116. package/docs/parakeet-transformers-js/src/models/smolvlm/processing_smolvlm.js +0 -2
  117. package/docs/parakeet-transformers-js/src/models/snac/feature_extraction_snac.js +0 -3
  118. package/docs/parakeet-transformers-js/src/models/speecht5/feature_extraction_speecht5.js +0 -4
  119. package/docs/parakeet-transformers-js/src/models/speecht5/processing_speecht5.js +0 -17
  120. package/docs/parakeet-transformers-js/src/models/swin2sr/image_processing_swin2sr.js +0 -24
  121. package/docs/parakeet-transformers-js/src/models/ultravox/processing_ultravox.js +0 -54
  122. package/docs/parakeet-transformers-js/src/models/vit/image_processing_vit.js +0 -7
  123. package/docs/parakeet-transformers-js/src/models/vitmatte/image_processing_vitmatte.js +0 -50
  124. package/docs/parakeet-transformers-js/src/models/vitpose/image_processing_vitpose.js +0 -89
  125. package/docs/parakeet-transformers-js/src/models/wav2vec2/feature_extraction_wav2vec2.js +0 -44
  126. package/docs/parakeet-transformers-js/src/models/wav2vec2/processing_wav2vec2.js +0 -17
  127. package/docs/parakeet-transformers-js/src/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.js +0 -17
  128. package/docs/parakeet-transformers-js/src/models/wespeaker/feature_extraction_wespeaker.js +0 -95
  129. package/docs/parakeet-transformers-js/src/models/whisper/common_whisper.js +0 -157
  130. package/docs/parakeet-transformers-js/src/models/whisper/feature_extraction_whisper.js +0 -92
  131. package/docs/parakeet-transformers-js/src/models/whisper/generation_whisper.js +0 -89
  132. package/docs/parakeet-transformers-js/src/models/whisper/processing_whisper.js +0 -21
  133. package/docs/parakeet-transformers-js/src/models/yolos/image_processing_yolos.js +0 -12
  134. package/docs/parakeet-transformers-js/src/models.js +0 -8644
  135. package/docs/parakeet-transformers-js/src/ops/registry.js +0 -133
  136. package/docs/parakeet-transformers-js/src/ort_env.js +0 -8
  137. package/docs/parakeet-transformers-js/src/parakeet.js +0 -792
  138. package/docs/parakeet-transformers-js/src/pipelines.js +0 -3540
  139. package/docs/parakeet-transformers-js/src/processors.js +0 -16
  140. package/docs/parakeet-transformers-js/src/tokenizers.js +0 -4432
  141. package/docs/parakeet-transformers-js/src/transformers.js +0 -50
  142. package/docs/parakeet-transformers-js/src/utils/audio.js +0 -893
  143. package/docs/parakeet-transformers-js/src/utils/constants.js +0 -9
  144. package/docs/parakeet-transformers-js/src/utils/core.js +0 -259
  145. package/docs/parakeet-transformers-js/src/utils/data-structures.js +0 -574
  146. package/docs/parakeet-transformers-js/src/utils/devices.js +0 -22
  147. package/docs/parakeet-transformers-js/src/utils/dtypes.js +0 -63
  148. package/docs/parakeet-transformers-js/src/utils/generic.js +0 -35
  149. package/docs/parakeet-transformers-js/src/utils/hub.js +0 -780
  150. package/docs/parakeet-transformers-js/src/utils/image.js +0 -834
  151. package/docs/parakeet-transformers-js/src/utils/maths.js +0 -1061
  152. package/docs/parakeet-transformers-js/src/utils/tensor.js +0 -1539
  153. package/docs/parakeet-transformers-js/src/utils/video.js +0 -128
  154. package/docs/parakeet-transformers-js/test/decoder.test.js +0 -114
  155. package/docs/parakeet-transformers-js/test/encoder.test.js +0 -108
  156. package/docs/parakeet-transformers-js/test/preprocessor.test.js +0 -85
  157. package/docs/parakeet-transformers-js/test/tokenizer.test.js +0 -24
  158. package/docs/parakeet-transformers-js/test/transcribe.js +0 -89
  159. package/docs/parakeet-transformers-js/tsconfig.json +0 -21
  160. package/docs/parakeet-transformers-js/webpack.config.js +0 -223
@@ -3,9 +3,10 @@ import { ParakeetModel, getParakeetModel } from 'parakeet.js';
3
3
  import './App.css';
4
4
 
5
5
  export default function App() {
6
- const repoId = 'ysdede/parakeet-tdt-0.6b-v2-onnx';
6
+ const repoId = 'istupakov/parakeet-tdt-0.6b-v2-onnx';
7
7
  const [backend, setBackend] = useState('webgpu-hybrid');
8
- const [quant, setQuant] = useState('fp32');
8
+ const [encoderQuant, setEncoderQuant] = useState('fp32');
9
+ const [decoderQuant, setDecoderQuant] = useState('int8');
9
10
  const [preprocessor, setPreprocessor] = useState('nemo128');
10
11
  const [status, setStatus] = useState('Idle');
11
12
  const [progress, setProgress] = useState('');
@@ -16,7 +17,6 @@ export default function App() {
16
17
  const [transcriptions, setTranscriptions] = useState([]);
17
18
  const [isTranscribing, setIsTranscribing] = useState(false);
18
19
  const [verboseLog, setVerboseLog] = useState(false);
19
- const [decoderInt8, setDecoderInt8] = useState(true);
20
20
  const [frameStride, setFrameStride] = useState(1);
21
21
  const [dumpDetail, setDumpDetail] = useState(false);
22
22
  const maxCores = navigator.hardwareConcurrency || 8;
@@ -24,12 +24,14 @@ export default function App() {
24
24
  const modelRef = useRef(null);
25
25
  const fileInputRef = useRef(null);
26
26
 
27
- // Auto-adjust quant preset when backend changes
27
+ // Auto-adjust quant presets when backend changes
28
28
  useEffect(() => {
29
29
  if (backend.startsWith('webgpu')) {
30
- setQuant('fp32');
31
- } else if (backend === 'wasm') {
32
- setQuant('int8');
30
+ setEncoderQuant('fp32');
31
+ setDecoderQuant('int8');
32
+ } else {
33
+ setEncoderQuant('int8');
34
+ setDecoderQuant('int8');
33
35
  }
34
36
  }, [backend]);
35
37
 
@@ -49,10 +51,10 @@ export default function App() {
49
51
 
50
52
  // 1. Download all model files from HuggingFace Hub
51
53
  const modelUrls = await getParakeetModel(repoId, {
52
- quantization: quant,
54
+ encoderQuant,
55
+ decoderQuant,
53
56
  preprocessor,
54
- backend, // Pass backend to enable automatic fp32 selection for WebGPU
55
- decoderInt8,
57
+ backend,
56
58
  progress: progressCallback
57
59
  });
58
60
 
@@ -67,8 +69,6 @@ export default function App() {
67
69
  filenames: modelUrls.filenames,
68
70
  backend,
69
71
  verbose: verboseLog,
70
- decoderOnWasm: decoderInt8, // if we selected int8 decoder, keep it on WASM
71
- decoderInt8,
72
72
  cpuThreads,
73
73
  });
74
74
 
@@ -185,31 +185,30 @@ export default function App() {
185
185
  <label>
186
186
  Backend:
187
187
  <select value={backend} onChange={e=>setBackend(e.target.value)}>
188
- <option value="webgpu-hybrid">WebGPU (Hybrid)</option>
189
- <option value="webgpu-strict">WebGPU (Strict)</option>
188
+ <option value="webgpu-hybrid">WebGPU</option>
190
189
  <option value="wasm">WASM (CPU)</option>
191
190
  </select>
192
191
  </label>
193
192
  {' '}
194
193
  <label>
195
- Quant:
196
- <select value={quant} onChange={e=>setQuant(e.target.value)}>
194
+ Encoder Quant:
195
+ <select value={encoderQuant} onChange={e=>setEncoderQuant(e.target.value)}>
197
196
  <option value="int8">int8 (faster)</option>
198
197
  <option value="fp32">fp32 (higher quality)</option>
199
198
  </select>
200
199
  </label>
201
200
  {' '}
202
- {backend.startsWith('webgpu') && (
203
- <label style={{ fontSize:'0.9em' }}>
204
- <input type="checkbox" checked={decoderInt8} onChange={e=>setDecoderInt8(e.target.checked)} />
205
- Decoder INT8 on CPU
206
- </label>
207
- )}
201
+ <label>
202
+ Decoder Quant:
203
+ <select value={decoderQuant} onChange={e=>setDecoderQuant(e.target.value)}>
204
+ <option value="int8">int8 (faster)</option>
205
+ <option value="fp32">fp32 (higher quality)</option>
206
+ </select>
207
+ </label>
208
208
  {' '}
209
209
  <label>
210
210
  Preprocessor:
211
211
  <select value={preprocessor} onChange={e=>setPreprocessor(e.target.value)}>
212
- <option value="nemo80">nemo80 (smaller)</option>
213
212
  <option value="nemo128">nemo128 (default)</option>
214
213
  </select>
215
214
  </label>
@@ -232,7 +231,7 @@ export default function App() {
232
231
  <input type="checkbox" checked={dumpDetail} onChange={e=>setDumpDetail(e.target.checked)} />
233
232
  Dump result to console
234
233
  </label>
235
- {(backend === 'wasm' || decoderInt8) && (
234
+ {(backend === 'wasm' || backend.startsWith('webgpu')) && (
236
235
  <label style={{fontSize:'0.9em'}}>
237
236
  Threads:
238
237
  <input type="number" min="1" max={maxCores} value={cpuThreads} onChange={e=>setCpuThreads(Number(e.target.value))} style={{width:'4rem'}} />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parakeet.js",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "NVIDIA Parakeet speech recognition for the browser (WebGPU/WASM) powered by ONNX Runtime Web.",
5
5
  "type": "module",
6
6
  "exports": {
package/publish.ps1 ADDED
@@ -0,0 +1,65 @@
1
+ # publish.ps1
2
+
3
+ # This script automates the process of versioning and publishing the Parakeet.js package to npm.
4
+ # It ensures your git repository is clean, bumps the version, pushes to git, and publishes to npm.
5
+ #
6
+ # This version is more robust and will not fail if the version is already set correctly.
7
+ #
8
+ # Usage:
9
+ # .\publish.ps1 <new-version>
10
+ #
11
+ # Example (to bump to version 0.0.3):
12
+ # .\publish.ps1 0.0.3
13
+
14
+ param(
15
+ [Parameter(Mandatory=$true)]
16
+ [string]$NewVersion
17
+ )
18
+
19
+ # --- 1. Pre-flight checks ---
20
+
21
+ $ErrorActionPreference = "Stop" # Exit script on any error
22
+
23
+ # Check if git working directory is clean
24
+ $gitStatus = git status --porcelain
25
+ if ($gitStatus) {
26
+ Write-Host "❌ Git working directory is not clean. Please commit or stash your changes before publishing." -ForegroundColor Red
27
+ exit 1
28
+ }
29
+ Write-Host "✔️ Git directory is clean."
30
+
31
+ # Check if logged into npm
32
+ $npmWhoami = npm whoami
33
+ Write-Host "✔️ Logged into npm as '$npmWhoami'."
34
+
35
+
36
+ # --- 2. Versioning and Publishing ---
37
+
38
+ Write-Host "🚀 Starting publish process for version $NewVersion..." -ForegroundColor Green
39
+
40
+ try {
41
+ # Step 1: Bump version. If it's already set, that's okay.
42
+ Write-Host " - Setting version to $NewVersion..."
43
+ $currentVersion = (Get-Content -Path ./package.json | ConvertFrom-Json).version
44
+ if ($currentVersion -ne $NewVersion) {
45
+ npm version $NewVersion
46
+ } else {
47
+ Write-Host " - Version is already $NewVersion. Skipping version bump." -ForegroundColor Yellow
48
+ }
49
+
50
+ # Step 2: Push the new commit and tag to the remote repository
51
+ Write-Host " - Pushing commit and tags to remote..."
52
+ git push && git push --tags
53
+
54
+ # Step 3: Publish the package to npm
55
+ Write-Host " - Publishing to npm..."
56
+ npm publish
57
+
58
+ Write-Host ""
59
+ Write-Host "✅ Successfully published parakeet.js version $NewVersion!" -ForegroundColor Green
60
+ }
61
+ catch {
62
+ Write-Host "❌ An error occurred during the publish process: $_" -ForegroundColor Red
63
+ Write-Host " Publish process aborted. Please check the state of your repository and npm." -ForegroundColor Yellow
64
+ exit 1
65
+ }