Skip to content

QVAC-23283 feat[mod]: add Indic Conformer CTC transcription - #3815

Open
ishanvohra2 wants to merge 7 commits into
mainfrom
feat/asr-update-sdk
Open

QVAC-23283 feat[mod]: add Indic Conformer CTC transcription#3815
ishanvohra2 wants to merge 7 commits into
mainfrom
feat/asr-update-sdk

Conversation

@ishanvohra2

@ishanvohra2 ishanvohra2 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

🎯 What problem does this PR solve?

  • Indic Conformer CTC GGUFs landed in the registry but SDK constants were named PARAKEET_CTC_*, colliding conceptually with English Parakeet CTC.
  • @qvac/asr-ggml 0.3.0 requires parakeetConfig.language for Indic Conformer; the SDK schema did not accept or forward that field.

📝 How does it solve it?

  • Bump @qvac/asr-ggml to ^0.3.0 and add optional language on Parakeet modelConfig, forwarded into the unified ASR addon.
  • Name Indic Conformer constants PARAKEET_INDIC_CONFORMER_CTC_* from the registry path/filename so they stay distinct from PARAKEET_CTC_0_6B_*.
  • Refresh the model catalog from the registry (Indic Conformer plus other newly published assets).
const modelId = await loadModel({
  modelSrc: PARAKEET_INDIC_CONFORMER_CTC_Q8_0,
  modelType: 'parakeet-transcription',
  modelConfig: { language: 'hi' }
})

🧪 How was it tested?

  • Unit tests: naming (English CTC vs Indic Conformer), Parakeet schema language, addon config/reload forwarding.
  • E2E: desktop-only Indic Conformer happy/silence/corrupted-wav (parakeet-indic-conformer-*). Skipped on iOS, Android, and Electron. Not in smoke.
  • After merge-ready review, run CI with test-e2e-full (smoke will not cover these tests).

📦 Models

Added models

MMPROJ_VISIONPSY_NANO_460M_MULTIMODAL_Q8_0
VISIONPSY_NANO_460M_MULTIMODAL_Q4_K_M
VISIONPSY_NANO_460M_MULTIMODAL_Q8_0
MMPROJ_VISIONPSY_NANO_460M_MULTIMODAL_Q8_0_1
VISIONPSY_NANO_460M_MULTIMODAL_Q4_K_M_1
VISIONPSY_NANO_460M_MULTIMODAL_Q8_0_1
TTS_CODEC_DECODER_AUDIO8_FP16
TTS_CODEC_DECODER_AUDIO8_Q8_0
TTS_CODEC_ENCODER_AUDIO8_FP16
TTS_CODEC_ENCODER_AUDIO8_Q8_0
TTS_LM_MULTILINGUAL_AUDIO8_FP16
TTS_LM_MULTILINGUAL_AUDIO8_Q8_0
PARAKEET_INDIC_CONFORMER_CTC_F16
PARAKEET_INDIC_CONFORMER_CTC_Q4_0
PARAKEET_INDIC_CONFORMER_CTC_Q8_0

@ishanvohra2
ishanvohra2 requested review from a team as code owners August 13, 2026 06:51
@github-actions

Copy link
Copy Markdown
Contributor

Review Status

Current Status: ❌ PENDING
Approvals so far: none

Pending reviews: Needs 1 Management or Team Lead, and 1 more from Management, Team Lead, or Member.

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

License compliance — findings detected (warn-only)

Critical: 0 · High: 1 · Medium: 0

Dependency License Scope Severity Outcome
@qvac/asr-ggml@^0.3.0 (none detected) runtime High blocks

How to resolve a blocking finding:

  • Remove or replace the disallowed dependency, or
  • If the license is genuinely acceptable, run the compliance SKILL and record the decision in .github/license-allowlist.yml (CODEOWNERS-reviewed), or
  • For a one-off, a maintainer can apply the license-override label (High findings only; Critical cannot be overridden).

Warn-only (shadow) mode — this check does not block merges yet.

Updated automatically by the canonical license compliance workflow.

NOTICE presence (advisory)

Missing NOTICE (advisory, does not block):

  • ./.github/actions/release-merge-guard
  • ./packages/vla-ggml/sim/server
  • ./packages/asr-ggml/benchmarks/server
  • ./packages/embed-llamacpp/benchmarks/performance
  • ./packages/embed-llamacpp/benchmarks/server
  • ./packages/llm-llamacpp/benchmarks/performance
  • ./packages/llm-llamacpp/benchmarks/server
  • ./packages/inference-addon-cpp/mobile
  • ./packages/ggml-coload-smoke
  • ./packages/sdk/e2e
  • ./packages/fabric/test/integration
  • ./docs/website

@ishanvohra2 ishanvohra2 added the test-e2e-full Triggers full e2e test suite [Currently SDK-only] label Aug 13, 2026
@socket-security

socket-security Bot commented Aug 13, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​qvac/​asr-ggml@​0.3.0771001009370

View full report

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — android⚠️ no results

Config: suite=(none) · filter=(none) · exclude=(none)
Device pool: Google Pixel 9 Pro - Android 15 — ☀️ highly available
View run

The test job did not produce a results artifact (e.g. no device started within the start-timeout, or a job-level failure). Check the run and the device pool status above.

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — ios⚠️ no results

Config: suite=(none) · filter=(none) · exclude=(none)
Device pool: iPhone 16 Pro - iOS 18 — ☀️ highly available
View run

The test job did not produce a results artifact (e.g. no device started within the start-timeout, or a job-level failure). Check the run and the device pool status above.

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — windows⚠️ no results

Config: suite=(none) · filter=(none) · exclude=(none)
View run

The test job did not produce a results artifact (e.g. no device started within the start-timeout, or a job-level failure). Check the run and the device pool status above.

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — linux⚠️ no results

Config: suite=(none) · filter=(none) · exclude=(none)
View run

The test job did not produce a results artifact (e.g. no device started within the start-timeout, or a job-level failure). Check the run and the device pool status above.

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — macos⚠️ no results

Config: suite=(none) · filter=(none) · exclude=(none)
View run

The test job did not produce a results artifact (e.g. no device started within the start-timeout, or a job-level failure). Check the run and the device pool status above.

RamazTs
RamazTs previously approved these changes Aug 13, 2026
),
new SkipExecutor(
/^parakeet-indic-conformer-/,
'Indic Conformer e2e is desktop-only; the parakeet-indic-conformer resource is not defined on Electron'

@opaninakuffo opaninakuffo Aug 13, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

electron already runs parakeet-ctc/tdt/sortformer. indic q4 is ~391mb. skip because of the 10m budget, or just not wired yet?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It was just not wired yet — Electron already runs the other Parakeet Q4 models, and Indic Q4 is in the same size class (~391 MB), so there is no 10m-budget skip. Wired parakeet-indic-conformer on the Electron/Snap consumer (same PARAKEET_INDIC_CONFORMER_CTC_Q4_0 + language: 'hi' as desktop) and dropped the SkipExecutor. Mobile still skips for Device Farm memory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test-e2e-full Triggers full e2e test suite [Currently SDK-only]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants