Skip to content

Export nvidia/parakeet-unified-en-0.6b to sherpa-onnx - #3556

Merged
csukuangfj merged 8 commits into
k2-fsa:masterfrom
csukuangfj:export-nemo-parakeet-unified-en-0.6b
Apr 27, 2026
Merged

csukuangfj merged 8 commits into
k2-fsa:masterfrom
csukuangfj:export-nemo-parakeet-unified-en-0.6b

Conversation

@csukuangfj

@csukuangfj csukuangfj commented Apr 27, 2026 •

Copy link
Copy Markdown
Collaborator

See doc at
https://k2-fsa.github.io/sherpa/onnx/pretrained_models/offline-transducer/nemo-transducer-models.html#sherpa-onnx-nemo-parakeet-unified-en-0-6b-int8-non-streaming-english

Summary by CodeRabbit

Release Notes

  • New Features

    • Added support for Nemo Parakeet unified English ASR model with ONNX export and int8 quantization capabilities.
    • Added support for new Nemo transducer model type across supported platforms.
    • Updated Russian NeMo model entries with version identifiers.
  • Chores

    • Expanded CI/CD build matrices for improved parallel processing.
    • Updated workflow branch triggers and removed duplicate dependency installation steps.

@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Apr 27, 2026
@coderabbitai

coderabbitai Bot commented Apr 27, 2026 •

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR introduces support for the Nemo Parakeet unified English 0.6B ASR model with complete export infrastructure, model quantization to int8, and registration across multiple application platforms. It expands GitHub Actions job matrices, adds a new automated model export workflow, updates model registries in four files, and includes comprehensive export, testing, and documentation scripts.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Matrix Expansion
.github/workflows/apk-vad-asr-simulated-streaming.yaml, .github/workflows/apk-vad-asr.yaml
Increased job matrix total parameter from 25 to 30 and extended index range from 0–24 to 0–29, affecting job naming and script parameter generation.
GitHub Actions Workflow Trigger & Cleanup
.github/workflows/tauri-vad-asr-mic.yaml, .github/workflows/tauri-vad-asr.yaml
Changed push trigger branch from specific branches to apk branch and removed duplicate Python dependency installation steps, keeping a single consolidated install step.
New Model Export Workflow
.github/workflows/export-nemo-parakeet-unified-en-0.6b.yaml
Introduced new GitHub Actions workflow for exporting Nemo Parakeet unified English 0.6B model: runs on macOS, exports to ONNX, performs int8 quantization, and publishes fp32/int8 artifacts to Hugging Face repositories and GitHub releases.
Model Registry - Script Generators
scripts/apk/generate-vad-asr-apk-script.py, scripts/tauri/generate-vad-asr.py
Added new Nemo Parakeet unified transducer model entries to get_models() and updated Russian Nemo model short names with release date suffixes, including explicit ONNX component filenames and cleanup commands.
Model Registry - Native Application Code
sherpa-onnx/kotlin-api/OfflineRecognizer.kt, tauri-examples/non-streaming-speech-recognition-from-file/src-tauri/src/model_registry.rs, tauri-examples/non-streaming-speech-recognition-from-microphone/src-tauri/src/model_registry.rs
Added model_type 62 configuration cases for Nemo transducer model, pointing to int8 ONNX components and tokens configuration across Kotlin and Rust platforms.
New Model Export & Test Infrastructure
scripts/nemo/parakeet-unified-en-0.6b/export_onnx.py, scripts/nemo/parakeet-unified-en-0.6b/test_onnx.py, scripts/nemo/parakeet-unified-en-0.6b/run.sh
Added ONNX export script with dynamic int8 quantization, streaming inference testing script with encoder/decoder/joiner pipeline, and bash automation script for dependencies and execution.
Model Documentation
scripts/nemo/parakeet-unified-en-0.6b/README.md, scripts/nemo/parakeet-unified-en-0.6b/notes.md
Added configuration documentation and technical notes including model architecture, runtime parameters, ONNX tensor shapes, and benchmark results for fp32/int8 variants.

Sequence Diagram(s)

sequenceDiagram
    actor GH as GitHub<br/>(Trigger)
    participant WF as GitHub Actions<br/>Workflow
    participant Mac as macOS<br/>Runner
    participant HF1 as Hugging Face<br/>fp32 Repo
    participant HF2 as Hugging Face<br/>int8 Repo
    participant GHR as GitHub<br/>Release

    GH->>WF: Push to branch / Manual trigger
    WF->>Mac: Execute on macOS
    Mac->>Mac: Download model &<br/>dependencies
    Mac->>Mac: Export to ONNX<br/>(fp32)
    Mac->>Mac: Quantize to int8
    Mac->>Mac: Organize artifacts<br/>(fp32 & int8 dirs)
    Mac->>Mac: Archive int8<br/>as tar.bz2
    
    Mac->>HF1: Clone fp32 repo<br/>with auth token
    Mac->>HF1: Copy fp32 artifacts
    Mac->>HF1: Configure Git LFS
    Mac->>HF1: Commit & push to main
    
    Mac->>HF2: Clone int8 repo<br/>with auth token
    Mac->>HF2: Copy int8 artifacts
    Mac->>HF2: Configure Git LFS
    Mac->>HF2: Commit & push to main
    
    Mac->>GHR: Upload tar.bz2 files<br/>to release (asr-models tag)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

size:M, category:model-support, area:workflows

Poem

🐰 Whiskers twitching with delight,
Parakeet models now unite,
From fp32 to int8 streams,
Export scripts fulfill our dreams,
macOS hops, GitHub leaps,
Model registry's growing heap! 🚀

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 9.52% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main objective of the PR: exporting the NVIDIA Parakeet Unified English 0.6b model to sherpa-onnx, which is supported by the extensive changes across export scripts, workflows, and model registry files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds support for the NVIDIA Parakeet Unified 0.6b model and updates versioning for several Russian ASR models. It includes new scripts for ONNX export and testing, as well as integration updates for APK generation, Tauri, Kotlin, and Rust components. Feedback points out an unnecessary ipython dependency and a configuration error in the FP32 test script where a quantized encoder was incorrectly used.

Comment on lines +26 to +27
ipython \
kaldi-native-fbank \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The ipython package is an unnecessary dependency for this script. Removing it will reduce the installation time and environment size.

Suggested change
ipython \
kaldi-native-fbank \
kaldi-native-fbank \


echo "---fp32----"
python3 ./test_onnx.py \
--encoder ./encoder.int8.onnx \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The fp32 test block is incorrectly using the quantized encoder.int8.onnx. It should use the full precision encoder.onnx to correctly test the FP32 model configuration.

Suggested change
--encoder ./encoder.int8.onnx \
--encoder ./encoder.onnx \

@csukuangfj
csukuangfj merged commit 5bc286f into k2-fsa:master Apr 27, 2026
1 check was pending
@csukuangfj
csukuangfj deleted the export-nemo-parakeet-unified-en-0.6b branch April 27, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant