Spaces:
Sleeping
Sleeping
whisper.wasm : add small and small.en models
Browse files
bindings/javascript/whisper.js
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
examples/whisper.wasm/CMakeLists.txt
CHANGED
|
@@ -32,8 +32,8 @@ set_target_properties(${TARGET} PROPERTIES LINK_FLAGS " \
|
|
| 32 |
--bind \
|
| 33 |
-s USE_PTHREADS=1 \
|
| 34 |
-s PTHREAD_POOL_SIZE=8 \
|
| 35 |
-
-s INITIAL_MEMORY=
|
| 36 |
-
-s TOTAL_MEMORY=
|
| 37 |
-s FORCE_FILESYSTEM=1 \
|
| 38 |
-s EXPORTED_RUNTIME_METHODS=\"['print', 'printErr', 'ccall', 'cwrap']\" \
|
| 39 |
${EXTRA_FLAGS} \
|
|
|
|
| 32 |
--bind \
|
| 33 |
-s USE_PTHREADS=1 \
|
| 34 |
-s PTHREAD_POOL_SIZE=8 \
|
| 35 |
+
-s INITIAL_MEMORY=1500MB \
|
| 36 |
+
-s TOTAL_MEMORY=1500MB \
|
| 37 |
-s FORCE_FILESYSTEM=1 \
|
| 38 |
-s EXPORTED_RUNTIME_METHODS=\"['print', 'printErr', 'ccall', 'cwrap']\" \
|
| 39 |
${EXTRA_FLAGS} \
|
examples/whisper.wasm/index-tmpl.html
CHANGED
|
@@ -46,10 +46,12 @@
|
|
| 46 |
|
| 47 |
<div id="model">
|
| 48 |
Whisper model: <span id="model-whisper-status"></span>
|
| 49 |
-
<button id="fetch-whisper-tiny-en"
|
| 50 |
-
<button id="fetch-whisper-tiny"
|
| 51 |
-
<button id="fetch-whisper-base-en"
|
| 52 |
-
<button id="fetch-whisper-base"
|
|
|
|
|
|
|
| 53 |
<span id="fetch-whisper-progress"></span>
|
| 54 |
|
| 55 |
<input type="file" id="whisper-file" name="file" onchange="loadFile(event, 'whisper.bin')" />
|
|
@@ -284,27 +286,33 @@
|
|
| 284 |
}
|
| 285 |
reader.readAsArrayBuffer(file);
|
| 286 |
|
| 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-
|
| 290 |
-
document.getElementById('fetch-whisper-
|
| 291 |
-
document.getElementById('whisper-
|
| 292 |
-
document.getElementById('
|
|
|
|
|
|
|
| 293 |
}
|
| 294 |
|
| 295 |
function loadWhisper(model) {
|
| 296 |
let urls = {
|
| 297 |
-
'tiny.en':
|
| 298 |
-
'tiny':
|
| 299 |
-
'base.en':
|
| 300 |
-
'base':
|
|
|
|
|
|
|
| 301 |
};
|
| 302 |
|
| 303 |
let sizes = {
|
| 304 |
-
'tiny.en':
|
| 305 |
-
'tiny':
|
| 306 |
-
'base.en':
|
| 307 |
-
'base':
|
|
|
|
|
|
|
| 308 |
};
|
| 309 |
|
| 310 |
let url = urls[model];
|
|
@@ -313,12 +321,14 @@
|
|
| 313 |
|
| 314 |
model_whisper = model;
|
| 315 |
|
| 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-
|
| 319 |
-
document.getElementById('fetch-whisper-
|
| 320 |
-
document.getElementById('whisper-
|
| 321 |
-
document.getElementById('
|
|
|
|
|
|
|
| 322 |
|
| 323 |
cbProgress = function(p) {
|
| 324 |
let el = document.getElementById('fetch-whisper-progress');
|
|
@@ -327,12 +337,14 @@
|
|
| 327 |
|
| 328 |
cbCancel = function() {
|
| 329 |
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-
|
| 333 |
-
el = document.getElementById('fetch-whisper-
|
| 334 |
-
el = document.getElementById('whisper-
|
| 335 |
-
el = document.getElementById('
|
|
|
|
|
|
|
| 336 |
};
|
| 337 |
|
| 338 |
loadRemote(url, dst, size_mb, cbProgress, storeFS, cbCancel, printTextarea);
|
|
|
|
| 46 |
|
| 47 |
<div id="model">
|
| 48 |
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>
|
| 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>
|
| 55 |
<span id="fetch-whisper-progress"></span>
|
| 56 |
|
| 57 |
<input type="file" id="whisper-file" name="file" onchange="loadFile(event, 'whisper.bin')" />
|
|
|
|
| 286 |
}
|
| 287 |
reader.readAsArrayBuffer(file);
|
| 288 |
|
| 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;
|
| 297 |
}
|
| 298 |
|
| 299 |
function loadWhisper(model) {
|
| 300 |
let urls = {
|
| 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',
|
| 307 |
};
|
| 308 |
|
| 309 |
let sizes = {
|
| 310 |
+
'tiny.en': 75,
|
| 311 |
+
'tiny': 75,
|
| 312 |
+
'base.en': 142,
|
| 313 |
+
'base': 142,
|
| 314 |
+
'small.en': 466,
|
| 315 |
+
'small': 466,
|
| 316 |
};
|
| 317 |
|
| 318 |
let url = urls[model];
|
|
|
|
| 321 |
|
| 322 |
model_whisper = model;
|
| 323 |
|
| 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;
|
| 332 |
|
| 333 |
cbProgress = function(p) {
|
| 334 |
let el = document.getElementById('fetch-whisper-progress');
|
|
|
|
| 337 |
|
| 338 |
cbCancel = function() {
|
| 339 |
var el;
|
| 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 = '';
|
| 348 |
};
|
| 349 |
|
| 350 |
loadRemote(url, dst, size_mb, cbProgress, storeFS, cbCancel, printTextarea);
|