whisper-cpp + parakeet-cpp + tts-cpp: bump trio to qvac-ext-lib-whisper.cpp@master 128dae42 (PR #31)#184
Merged
Merged
Conversation
…whisper.cpp@master 128dae42 (PR #31 supertonic_optimizations merge) All three ports source the same `tetherto/qvac-ext-lib-whisper.cpp` repo (whisper root / parakeet-cpp/ subfolder / tts-cpp/ subfolder), so this moves the trio to the same master HEAD and the same archive SHA512 to keep the registry self-consistent. - whisper-cpp 1.8.5#2 -> 1.8.5#3: no whisper-root change since #2 (a34cb6da was just PR #34 KV-cache CPU-buffer fallback); this bump keeps the source archive aligned with parakeet-cpp and tts-cpp. - parakeet-cpp 2026-06-04#0 -> 2026-06-04#1: no parakeet-cpp/ change since #0 (a34cb6da was already PR #38 Adreno regex); SHA512 alignment. - tts-cpp 2026-06-03#1 -> 2026-06-05#0: picks up PR #31 -- QVAC-18605 Supertonic Vulkan/Metal optimisations (rounds 1-13, ~34x realtime on Apple M-series Metal), QVAC-19254 sched + cpu_backend refactor for Adreno OpenCL, and QVAC-19213 Adreno-generation regex parse fix. EngineOptions gains six tuning fields the downstream tts-ggml addon will start exposing in a follow-up PR (precision, f16_attn, vulkan_device, f16_weights, f16_weights_deny_list, kv_attn_type). - tts-cpp ggml-speech floor: 2026-06-02 -> 2026-06-04 (harmonises with whisper-cpp and parakeet-cpp; the QVAC-19254 Adreno OpenCL elementwise kernels live in ggml-speech 2026-06-04). Validation: - Local Metal bench post-merge: F1 92 ms / 34.07x RT, M1 95 ms / 33.63x. - TTS GGML overlay CI on tetherto/qvac (runs/26983833143 + 27006424023): 26/27 jobs passing; the one failure is the structural merge-guard "needs 'verified' label" check that fires on every workflow_dispatch run regardless of code (same failure on the pre-merge baseline run). - All 38 supertonic ctests pass post-merge. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
gianni-cor
approved these changes
Jun 5, 2026
6 tasks
freddy311082
added a commit
to tetherto/qvac
that referenced
this pull request
Jun 5, 2026
) Companion to tetherto/qvac-registry-vcpkg#184 (the trio registry bump that ships tts-cpp@2026-06-05#0). tts-cpp@2026-06-05 brings the QVAC-18605 Supertonic Vulkan/Metal optimisations (rounds 1-13, ~34x realtime on Apple M-series Metal) and the QVAC-19254 sched/cpu_backend refactor for Adreno OpenCL, lifting the previous "Supertonic is CPU-only today" engine-boundary limitation. This PR removes the now- stale rejection gates on the downstream tts-ggml addon and lets caller GPU intent flow through to the merged tts-cpp tier policy (init_gpu_backend: Adreno 700+ -> OpenCL, otherwise Vulkan/Metal/CUDA via registry walk, otherwise CPU). C++ addon (addon/src/model-interface/supertonic/): - SupertonicModel.cpp::validateConfig: removed the `if (wantsGpu) { throw StatusError(... "CPU only today" ...) }` block. The conflicting- pair check (useGPU=true + nGpuLayers=0 or vice versa) is preserved so callers can't silently get the opposite backend they asked for. - SupertonicModel.cpp::loadLocked: removed the `#ifdef __ANDROID__` force-off block. Android GPU routing is now delegated to tts-cpp's init_gpu_backend, which already allowlists Qualcomm Adreno and skips Mali / non-Adreno GPUs that would abort ggml_backend_graph_compute. - SupertonicConfig.hpp: updated the useGpu docstring. JS addon (index.js): - Removed the parallel `wantsGpu` rejection for Supertonic. The default precondition for `useGPU = false` now also requires `nGpuLayers == null` so a caller passing `nGpuLayers: 99` alone doesn't get a silent conflict with the JS-side default. - The cross-field conflict check (useGPU=true + nGpuLayers=0 or vice versa) lives outside the ENGINE_SUPERTONIC branch and is preserved. Tests: - addon/tests/test_supertonic_config.cpp: flipped UseGpuTrueRejectedWithExplanation -> UseGpuTrueAcceptedAtConstruction, NGpuLayersGreaterThanZeroRejected -> NGpuLayersGreaterThanZeroAccepted. Added UseGpuNGpuLayersConflictStillRejected to lock in the kept conflict check. Simplified NGpuLayersZeroAcceptedAndDeferredLoad. - test/integration/gpu-smoke.test.js: flipped the Supertonic entry from "useGPU=true is rejected at constructor" to "useGPU=true must engage the GPU backend on GPU-capable platforms", mirroring the existing Chatterbox smoke contract (assertGpuBackend, NO_GPU skip, same loadSupertonicTTS / runSupertonicTTS plumbing). - test/unit/supertonic{,-mtl}.inference.test.js: updated stale assertion text ("nGpuLayers=0 is the only allowed GPU value..." and "supertonic stays CPU-only on the JS side"). Docs: - README.md: useGPU row now describes the engine-agnostic tier policy. - index.d.ts: useGPU + nGpuLayers JSDoc no longer claim Supertonic rejects GPU intent. - examples/supertonic{,-mtl,-mtl-sweep,-sentence-stream}-tts.js: NOTE blocks rewritten to point at the tts-cpp@2026-06-05 GPU support and the GPU opt-in pattern. The examples themselves keep useGPU=false so they run identically everywhere. Version + dependency: - vcpkg.json: `tts-cpp` version>= bumped from `2026-06-03#1` to `2026-06-05` (the registry baseline after #184). - package.json: 0.2.0 -> 0.2.1. - CHANGELOG.md: new [0.2.1] entry under "Added" + "Changed". Validation (upstream tts-cpp, prior to bump): - 38/38 supertonic ctests pass on the merged tts-cpp@128dae42. - Local Metal n=10 bench: F1 92 ms / 0.029 RTF / 34.07x realtime, M1 95 ms / 0.030 RTF / 33.63x. CPU 13.6x, ONNX-CPU 22.4x for contrast. - TTS GGML overlay CI on tetherto/qvac (actions/runs/27006424023): 26/27 jobs pass; the merge-guard / validate-pr failure is a structural "needs verified label" check that fires on every workflow_dispatch run regardless of code (same on pre-merge baseline actions/runs/26878322979). - Adversarial subagent review on this diff: SAFE on all 13 invariants (rejection paths cleanly removed, conflict check preserved, Chatterbox untouched, tests correctly inverted, no dangling refs to the old "CPU only today" claim outside historical CHANGELOG entries). Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Co-authored-by: Freddy Martinez Garcia <freddy311082@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bumps the three ports that source
tetherto/qvac-ext-lib-whisper.cpp(whisper root, parakeet-cpp/, tts-cpp/) to the samemasterHEAD128dae4284fae3636ef5b6272ef123401d67eab7(the merge of PR #31 — supertonic_optimizations into master). All three now share the same REF + the same archive SHA512, keeping the registry self-consistent.EngineOptionsgains six tuning fields:precision,f16_attn,vulkan_device,f16_weights,f16_weights_deny_list,kv_attn_type. Downstream tts-ggml addon exposure lands in a follow-up qvac PR.version>= 2026-06-02→2026-06-04, harmonising with whisper-cpp + parakeet-cpp (the QVAC-19254 Adreno OpenCL elementwise kernels live in ggml-speech 2026-06-04).Validation
--text "The quick brown fox jumps over the lazy dog." --voice F1):tetherto/qvac(actions/runs/27006424023): 26/27 jobs pass; the one failure is the structuralmerge-guard / validate-pr"needs 'verified' label" check that fires on everyworkflow_dispatchrun and was already failing on the pre-merge baseline (actions/runs/26878322979).versions/*.jsontops, JSON valid, convention-compliant with prior trio bump75bc60cand tts-cpp bumps9eb53a4/8866362).Test plan
git diff master -- versions/baseline.jsonshows only the three expected linesversions/{t-/tts-cpp,p-/parakeet-cpp,w-/whisper-cpp}.jsonparses as JSONcurl … | shasum -a 512)tetherto/qvac/packages/tts-ggmlvcpkg.json bump to the newtts-cppversion (follow-up PR)🤖 Generated with Claude Code