Skip to content

Commit 206fc93

Browse files
committed
whisper.wasm : add small and small.en models
1 parent a6cf6f4 commit 206fc93

File tree

3 files changed

+45
-33
lines changed

3 files changed

+45
-33
lines changed

bindings/javascript/whisper.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/whisper.wasm/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ set_target_properties(${TARGET} PROPERTIES LINK_FLAGS " \
3232
--bind \
3333
-s USE_PTHREADS=1 \
3434
-s PTHREAD_POOL_SIZE=8 \
35-
-s INITIAL_MEMORY=1024MB \
36-
-s TOTAL_MEMORY=1024MB \
35+
-s INITIAL_MEMORY=1500MB \
36+
-s TOTAL_MEMORY=1500MB \
3737
-s FORCE_FILESYSTEM=1 \
3838
-s EXPORTED_RUNTIME_METHODS=\"['print', 'printErr', 'ccall', 'cwrap']\" \
3939
${EXTRA_FLAGS} \

examples/whisper.wasm/index-tmpl.html

Lines changed: 42 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,12 @@
4646

4747
<div id="model">
4848
Whisper model: <span id="model-whisper-status"></span>
49-
<button id="fetch-whisper-tiny-en" onclick="loadWhisper('tiny.en')">tiny.en (75 MB)</button>
50-
<button id="fetch-whisper-tiny" onclick="loadWhisper('tiny')">tiny (75 MB)</button>
51-
<button id="fetch-whisper-base-en" onclick="loadWhisper('base.en')">base.en (142 MB)</button>
52-
<button id="fetch-whisper-base" onclick="loadWhisper('base')">base (142 MB)</button>
49+
<button id="fetch-whisper-tiny-en" onclick="loadWhisper('tiny.en')">tiny.en (75 MB)</button>
50+
<button id="fetch-whisper-tiny" onclick="loadWhisper('tiny')">tiny (75 MB)</button>
51+
<button id="fetch-whisper-base-en" onclick="loadWhisper('base.en')">base.en (142 MB)</button>
52+
<button id="fetch-whisper-base" onclick="loadWhisper('base')">base (142 MB)</button>
53+
<button id="fetch-whisper-small-en" onclick="loadWhisper('small.en')">small.en (466 MB)</button>
54+
<button id="fetch-whisper-small" onclick="loadWhisper('small')">small (466 MB)</button>
5355
<span id="fetch-whisper-progress"></span>
5456

5557
<input type="file" id="whisper-file" name="file" onchange="loadFile(event, 'whisper.bin')" />
@@ -284,27 +286,33 @@
284286
}
285287
reader.readAsArrayBuffer(file);
286288

287-
document.getElementById('fetch-whisper-tiny-en').style.display = 'none';
288-
document.getElementById('fetch-whisper-base-en').style.display = 'none';
289-
document.getElementById('fetch-whisper-tiny' ).style.display = 'none';
290-
document.getElementById('fetch-whisper-base' ).style.display = 'none';
291-
document.getElementById('whisper-file' ).style.display = 'none';
292-
document.getElementById('model-whisper-status' ).innerHTML = 'loaded model: ' + file.name;
289+
document.getElementById('fetch-whisper-tiny-en' ).style.display = 'none';
290+
document.getElementById('fetch-whisper-base-en' ).style.display = 'none';
291+
document.getElementById('fetch-whisper-small-en').style.display = 'none';
292+
document.getElementById('fetch-whisper-tiny' ).style.display = 'none';
293+
document.getElementById('fetch-whisper-base' ).style.display = 'none';
294+
document.getElementById('fetch-whisper-small' ).style.display = 'none';
295+
document.getElementById('whisper-file' ).style.display = 'none';
296+
document.getElementById('model-whisper-status' ).innerHTML = 'loaded model: ' + file.name;
293297
}
294298

295299
function loadWhisper(model) {
296300
let urls = {
297-
'tiny.en': 'https://whisper.ggerganov.com/ggml-model-whisper-tiny.en.bin',
298-
'tiny': 'https://whisper.ggerganov.com/ggml-model-whisper-tiny.bin',
299-
'base.en': 'https://whisper.ggerganov.com/ggml-model-whisper-base.en.bin',
300-
'base': 'https://whisper.ggerganov.com/ggml-model-whisper-base.bin',
301+
'tiny.en': 'https://whisper.ggerganov.com/ggml-model-whisper-tiny.en.bin',
302+
'tiny': 'https://whisper.ggerganov.com/ggml-model-whisper-tiny.bin',
303+
'base.en': 'https://whisper.ggerganov.com/ggml-model-whisper-base.en.bin',
304+
'base': 'https://whisper.ggerganov.com/ggml-model-whisper-base.bin',
305+
'small.en': 'https://whisper.ggerganov.com/ggml-model-whisper-small.en.bin',
306+
'small': 'https://whisper.ggerganov.com/ggml-model-whisper-small.bin',
301307
};
302308

303309
let sizes = {
304-
'tiny.en': 75,
305-
'tiny': 75,
306-
'base.en': 142,
307-
'base': 142,
310+
'tiny.en': 75,
311+
'tiny': 75,
312+
'base.en': 142,
313+
'base': 142,
314+
'small.en': 466,
315+
'small': 466,
308316
};
309317

310318
let url = urls[model];
@@ -313,12 +321,14 @@
313321

314322
model_whisper = model;
315323

316-
document.getElementById('fetch-whisper-tiny-en').style.display = 'none';
317-
document.getElementById('fetch-whisper-base-en').style.display = 'none';
318-
document.getElementById('fetch-whisper-tiny' ).style.display = 'none';
319-
document.getElementById('fetch-whisper-base' ).style.display = 'none';
320-
document.getElementById('whisper-file' ).style.display = 'none';
321-
document.getElementById('model-whisper-status' ).innerHTML = 'loading model: ' + model;
324+
document.getElementById('fetch-whisper-tiny-en' ).style.display = 'none';
325+
document.getElementById('fetch-whisper-base-en' ).style.display = 'none';
326+
document.getElementById('fetch-whisper-small-en').style.display = 'none';
327+
document.getElementById('fetch-whisper-tiny' ).style.display = 'none';
328+
document.getElementById('fetch-whisper-base' ).style.display = 'none';
329+
document.getElementById('fetch-whisper-small' ).style.display = 'none';
330+
document.getElementById('whisper-file' ).style.display = 'none';
331+
document.getElementById('model-whisper-status' ).innerHTML = 'loading model: ' + model;
322332

323333
cbProgress = function(p) {
324334
let el = document.getElementById('fetch-whisper-progress');
@@ -327,12 +337,14 @@
327337

328338
cbCancel = function() {
329339
var el;
330-
el = document.getElementById('fetch-whisper-tiny-en'); if (el) el.style.display = 'inline-block';
331-
el = document.getElementById('fetch-whisper-base-en'); if (el) el.style.display = 'inline-block';
332-
el = document.getElementById('fetch-whisper-tiny' ); if (el) el.style.display = 'inline-block';
333-
el = document.getElementById('fetch-whisper-base' ); if (el) el.style.display = 'inline-block';
334-
el = document.getElementById('whisper-file' ); if (el) el.style.display = 'inline-block';
335-
el = document.getElementById('model-whisper-status' ); if (el) el.innerHTML = '';
340+
el = document.getElementById('fetch-whisper-tiny-en' ); if (el) el.style.display = 'inline-block';
341+
el = document.getElementById('fetch-whisper-base-en' ); if (el) el.style.display = 'inline-block';
342+
el = document.getElementById('fetch-whisper-small-en'); if (el) el.style.display = 'inline-block';
343+
el = document.getElementById('fetch-whisper-tiny' ); if (el) el.style.display = 'inline-block';
344+
el = document.getElementById('fetch-whisper-base' ); if (el) el.style.display = 'inline-block';
345+
el = document.getElementById('fetch-whisper-small' ); if (el) el.style.display = 'inline-block';
346+
el = document.getElementById('whisper-file' ); if (el) el.style.display = 'inline-block';
347+
el = document.getElementById('model-whisper-status' ); if (el) el.innerHTML = '';
336348
};
337349

338350
loadRemote(url, dst, size_mb, cbProgress, storeFS, cbCancel, printTextarea);

0 commit comments

Comments
 (0)