Skip to content

Commit 9c81dd5

Browse files
docs(web): list nightly engines and models on the homepage (#222)
The nightly note only ever said "additional engine work" without naming anything, and the Parakeet/Apple Speech/sherpa-onnx models added since v0.7.2 (WhisperModel.swift, SherpaModelCatalog.swift) had no presence on the site at all. Add a second model table sourced from product.toml, matching README.md's existing model docs, plus the nightly install command that was already in product.toml but never rendered.
1 parent 1b409b6 commit 9c81dd5

4 files changed

Lines changed: 118 additions & 21 deletions

File tree

web/data/product.toml

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
# Version/artifact figures were verified against the tagged v0.7.2 release.
66
# Re-verify this file before publishing a website change.
77
#
8-
# Verified: 2026-08-16 against v0.7.2 and PRODUCT.md.
8+
# Verified: 2026-08-17 against v0.7.2 (stable) and main @ 1b409b6 (nightly
9+
# models, from Sources/VocaMac/Models/WhisperModel.swift and
10+
# SherpaModelCatalog.swift).
911

1012
[stable]
1113
version = "0.7.2"
@@ -109,6 +111,72 @@ ram = "10 GB"
109111
quality = "Best"
110112
note = "Highest accuracy. Wants a 16 GB Mac and patience."
111113

114+
# Additional engines and models shipped only in nightly builds from main
115+
# (Sources/VocaMac/Models/WhisperModel.swift ModelSize + SherpaModelCatalog.swift),
116+
# not in the v0.7.2 release above. size/note follow README.md's Models section.
117+
[[nightlyModels]]
118+
id = "parakeet-v3"
119+
name = "Parakeet v3"
120+
engine = "Parakeet"
121+
size = "0.7 GB"
122+
note = "Fastest engine. 25 European languages + Japanese, auto-detected."
123+
124+
[[nightlyModels]]
125+
id = "parakeet-v2"
126+
name = "Parakeet v2"
127+
engine = "Parakeet"
128+
size = "1.2 GB"
129+
note = "Fastest engine. English only, highest recall."
130+
131+
[[nightlyModels]]
132+
id = "parakeet-110m"
133+
name = "Parakeet 110M"
134+
engine = "Parakeet"
135+
size = "0.2 GB"
136+
note = "English only, smaller download and faster first load."
137+
138+
[[nightlyModels]]
139+
id = "apple-speech"
140+
name = "Apple Speech"
141+
engine = "Apple Speech"
142+
size = "Managed by macOS"
143+
note = "macOS 26+ system engine (SpeechAnalyzer). Roughly 30 locales."
144+
145+
[[nightlyModels]]
146+
id = "moonshine-v2-tiny"
147+
name = "Moonshine v2 Tiny"
148+
engine = "sherpa-onnx"
149+
size = "60 MB"
150+
note = "CPU-only. Very low-RAM Macs, English."
151+
152+
[[nightlyModels]]
153+
id = "moonshine-v2-base"
154+
name = "Moonshine v2 Base"
155+
engine = "sherpa-onnx"
156+
size = "190 MB"
157+
note = "CPU-only. Low-RAM Macs, English."
158+
159+
[[nightlyModels]]
160+
id = "sense-voice"
161+
name = "SenseVoice"
162+
engine = "sherpa-onnx"
163+
size = "240 MB"
164+
note = "CPU-only. Chinese, Japanese, Korean, Cantonese, English."
165+
166+
[[nightlyModels]]
167+
id = "gigaam-v3"
168+
name = "GigaAM v3"
169+
engine = "sherpa-onnx"
170+
size = "270 MB"
171+
note = "CPU-only. Russian, with punctuation."
172+
173+
[[nightlyModels]]
174+
id = "canary-180m-flash"
175+
name = "Canary 180M Flash"
176+
engine = "sherpa-onnx"
177+
size = "320 MB"
178+
note = "CPU-only. English, Spanish, German, French."
179+
112180
[links]
113181
repo = "https://github.com/VocaHQ/vocamac"
114182
issues = "https://github.com/VocaHQ/vocamac/issues"

web/layouts/index.html

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -103,26 +103,50 @@ <h3>First download</h3>
103103
</div>
104104
<div class="note note-nightly">
105105
<h3>Nightly is a separate lane</h3>
106-
<p>The current shipping release is {{ $p.stable.tag }} ({{ $p.stable.status }}). New engine work may appear in nightly builds before it reaches a tagged release; check the release notes before choosing that path.</p>
106+
<p>The current shipping release is {{ $p.stable.tag }} ({{ $p.stable.status }}). Nightly builds from <code>main</code> add the engines and models in the second table before they reach a tagged release.</p>
107+
<div class="code-block" data-copy>
108+
<pre><code><span class="prompt">$ </span>{{ $p.nightly.cask }}</code></pre>
109+
</div>
110+
<p class="install-detail">Check the <a href="{{ $p.nightly.url }}">nightly release notes</a> before installing.</p>
107111
</div>
108112
</div>
109-
<div class="table-scroll">
110-
<table class="model-table">
111-
<caption>WhisperKit models available in {{ $p.stable.tag }}</caption>
112-
<thead>
113-
<tr><th scope="col">Model</th><th scope="col">Download</th><th scope="col">RAM</th><th scope="col">Character</th></tr>
114-
</thead>
115-
<tbody>
116-
{{ range $p.models }}
117-
<tr>
118-
<th scope="row">{{ .name }}</th>
119-
<td>{{ .size }}</td>
120-
<td>{{ .ram }}</td>
121-
<td class="model-note">{{ .note }}</td>
122-
</tr>
123-
{{ end }}
124-
</tbody>
125-
</table>
113+
<div>
114+
<div class="table-scroll">
115+
<table class="model-table">
116+
<caption>WhisperKit models available in {{ $p.stable.tag }}</caption>
117+
<thead>
118+
<tr><th scope="col">Model</th><th scope="col">Download</th><th scope="col">RAM</th><th scope="col">Character</th></tr>
119+
</thead>
120+
<tbody>
121+
{{ range $p.models }}
122+
<tr>
123+
<th scope="row">{{ .name }}</th>
124+
<td>{{ .size }}</td>
125+
<td>{{ .ram }}</td>
126+
<td class="model-note">{{ .note }}</td>
127+
</tr>
128+
{{ end }}
129+
</tbody>
130+
</table>
131+
</div>
132+
<div class="table-scroll table-scroll-nightly">
133+
<table class="model-table">
134+
<caption>Additional engines and models in nightly builds</caption>
135+
<thead>
136+
<tr><th scope="col">Model</th><th scope="col">Engine</th><th scope="col">Download</th><th scope="col">Note</th></tr>
137+
</thead>
138+
<tbody>
139+
{{ range $p.nightlyModels }}
140+
<tr>
141+
<th scope="row">{{ .name }}</th>
142+
<td>{{ .engine }}</td>
143+
<td>{{ .size }}</td>
144+
<td class="model-note">{{ .note }}</td>
145+
</tr>
146+
{{ end }}
147+
</tbody>
148+
</table>
149+
</div>
126150
</div>
127151
</div>
128152
</div>
@@ -298,7 +322,7 @@ <h2 class="section-title" id="faq-title">The useful bits before you install.</h2
298322
<details><summary>Which Macs can run VocaMac?</summary><p>The current release supports {{ $p.requirements.os }} on {{ $p.requirements.arch }}. Intel Macs are not supported by the released arm64 build.</p></details>
299323
<details><summary>Why does VocaMac need permissions?</summary><p>Microphone access captures speech. Accessibility and Input Monitoring let the menu-bar app hear its configured shortcut and insert the resulting text into the app where you are working. Secure fields and individual apps can still restrict insertion.</p></details>
300324
<details><summary>Which model should I choose?</summary><p>Start with Small on an 8 GB Mac, then choose a compact Large or Distil variant when accuracy matters and your Mac has the headroom. Tiny and Base are useful when a smaller download or lower memory use matters more.</p></details>
301-
<details><summary>What is available beyond Whisper?</summary><p>Additional engine work is currently shipped in nightly/source channels rather than the {{ $p.stable.tag }} release. Check the current release notes before installing a nightly build.</p></details>
325+
<details><summary>What is available beyond Whisper?</summary><p>Nightly builds add three more engines: Parakeet (NVIDIA TDT models on the Apple Neural Engine, the fastest option), Apple Speech (the macOS 26+ system engine), and sherpa-onnx (CPU-only specialized models: Moonshine, SenseVoice, GigaAM v3, and Canary 180M Flash). These ship in nightly/source channels rather than the {{ $p.stable.tag }} release — see the nightly table above and check release notes before installing.</p></details>
302326
</div>
303327
</div>
304328
</section>

web/static/style.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,6 +722,8 @@ a:hover > .btn-arrow-back { transform: translateX(-3px); }
722722
border-radius: var(--radius-md);
723723
}
724724

725+
.table-scroll + .table-scroll { margin-top: 1.25rem; }
726+
725727
.model-table {
726728
width: 100%;
727729
border-collapse: collapse;

web/tests/site.test.mjs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,10 @@ test("keeps the PRODUCT.md product boundary explicit", () => {
6262
assert.match(index, /WhisperKit/);
6363
assert.match(index, /model downloads/i);
6464
assert.match(index, /Beta/);
65-
assert.match(index, /Additional engine work is currently shipped in nightly\/source channels/i);
65+
assert.match(index, /Nightly builds add three more engines/i);
66+
assert.match(index, /ship in nightly\/source channels/i);
67+
assert.match(index, /Parakeet/);
68+
assert.match(index, /sherpa-onnx/);
6669
assert.doesNotMatch(index, /Stable release/i);
6770
assert.doesNotMatch(index, /macOS 13/);
6871
assert.doesNotMatch(index, /Zero Network Calls/i);

0 commit comments

Comments
 (0)