|
55 | 55 | Whisper model: <span id="model-whisper-status"></span>
|
56 | 56 | <button id="fetch-whisper-tiny-en" onclick="loadWhisper('tiny.en')">tiny.en (75 MB)</button>
|
57 | 57 | <button id="fetch-whisper-base-en" onclick="loadWhisper('base.en')">base.en (142 MB)</button>
|
| 58 | + <button id="fetch-whisper-base" onclick="loadWhisper('base')">base (142 MB)</button> |
58 | 59 | <br><br>
|
59 | 60 | Quantized models:<br><br>
|
60 | 61 | <button id="fetch-whisper-tiny-en-q5_1" onclick="loadWhisper('tiny-en-q5_1')">tiny.en (Q5_1, 31 MB)</button>
|
|
66 | 67 | -->
|
67 | 68 | </div>
|
68 | 69 |
|
| 70 | + <table> |
| 71 | + <tr> |
| 72 | + <td> |
| 73 | + Language: |
| 74 | + <select id="language" name="language"> |
| 75 | + <option value="en">English</option> |
| 76 | + <option value="ar">Arabic</option> |
| 77 | + <option value="hy">Armenian</option> |
| 78 | + <option value="az">Azerbaijani</option> |
| 79 | + <option value="eu">Basque</option> |
| 80 | + <option value="be">Belarusian</option> |
| 81 | + <option value="bn">Bengali</option> |
| 82 | + <option value="bg">Bulgarian</option> |
| 83 | + <option value="ca">Catalan</option> |
| 84 | + <option value="zh">Chinese</option> |
| 85 | + <option value="hr">Croatian</option> |
| 86 | + <option value="cs">Czech</option> |
| 87 | + <option value="da">Danish</option> |
| 88 | + <option value="nl">Dutch</option> |
| 89 | + <option value="en">English</option> |
| 90 | + <option value="et">Estonian</option> |
| 91 | + <option value="tl">Filipino</option> |
| 92 | + <option value="fi">Finnish</option> |
| 93 | + <option value="fr">French</option> |
| 94 | + <option value="gl">Galician</option> |
| 95 | + <option value="ka">Georgian</option> |
| 96 | + <option value="de">German</option> |
| 97 | + <option value="el">Greek</option> |
| 98 | + <option value="gu">Gujarati</option> |
| 99 | + <option value="iw">Hebrew</option> |
| 100 | + <option value="hi">Hindi</option> |
| 101 | + <option value="hu">Hungarian</option> |
| 102 | + <option value="is">Icelandic</option> |
| 103 | + <option value="id">Indonesian</option> |
| 104 | + <option value="ga">Irish</option> |
| 105 | + <option value="it">Italian</option> |
| 106 | + <option value="ja">Japanese</option> |
| 107 | + <option value="kn">Kannada</option> |
| 108 | + <option value="ko">Korean</option> |
| 109 | + <option value="la">Latin</option> |
| 110 | + <option value="lv">Latvian</option> |
| 111 | + <option value="lt">Lithuanian</option> |
| 112 | + <option value="mk">Macedonian</option> |
| 113 | + <option value="ms">Malay</option> |
| 114 | + <option value="mt">Maltese</option> |
| 115 | + <option value="no">Norwegian</option> |
| 116 | + <option value="fa">Persian</option> |
| 117 | + <option value="pl">Polish</option> |
| 118 | + <option value="pt">Portuguese</option> |
| 119 | + <option value="ro">Romanian</option> |
| 120 | + <option value="ru">Russian</option> |
| 121 | + <option value="sr">Serbian</option> |
| 122 | + <option value="sk">Slovak</option> |
| 123 | + <option value="sl">Slovenian</option> |
| 124 | + <option value="es">Spanish</option> |
| 125 | + <option value="sw">Swahili</option> |
| 126 | + <option value="sv">Swedish</option> |
| 127 | + <option value="ta">Tamil</option> |
| 128 | + <option value="te">Telugu</option> |
| 129 | + <option value="th">Thai</option> |
| 130 | + <option value="tr">Turkish</option> |
| 131 | + <option value="uk">Ukrainian</option> |
| 132 | + <option value="ur">Urdu</option> |
| 133 | + <option value="vi">Vietnamese</option> |
| 134 | + <option value="cy">Welsh</option> |
| 135 | + <option value="yi">Yiddish</option> |
| 136 | + </select> |
| 137 | + </td> |
| 138 | + </tr> |
| 139 | + </table> |
| 140 | + |
69 | 141 | <br>
|
70 | 142 |
|
71 | 143 | <div id="input">
|
|
176 | 248 | let urls = {
|
177 | 249 | 'tiny.en': 'https://whisper.ggerganov.com/ggml-model-whisper-tiny.en.bin',
|
178 | 250 | 'base.en': 'https://whisper.ggerganov.com/ggml-model-whisper-base.en.bin',
|
| 251 | + 'base' : 'https://whisper.ggerganov.com/ggml-model-whisper-base.bin', |
179 | 252 |
|
180 | 253 | 'tiny-en-q5_1': 'https://whisper.ggerganov.com/ggml-model-whisper-tiny.en-q5_1.bin',
|
181 | 254 | 'base-en-q5_1': 'https://whisper.ggerganov.com/ggml-model-whisper-base.en-q5_1.bin',
|
|
184 | 257 | let sizes = {
|
185 | 258 | 'tiny.en': 75,
|
186 | 259 | 'base.en': 142,
|
| 260 | + 'base': 142, |
187 | 261 |
|
188 | 262 | 'tiny-en-q5_1': 31,
|
189 | 263 | 'base-en-q5_1': 57,
|
|
197 | 271 |
|
198 | 272 | document.getElementById('fetch-whisper-tiny-en').style.display = 'none';
|
199 | 273 | document.getElementById('fetch-whisper-base-en').style.display = 'none';
|
| 274 | + document.getElementById('fetch-whisper-base').style.display = 'none'; |
200 | 275 |
|
201 | 276 | document.getElementById('fetch-whisper-tiny-en-q5_1').style.display = 'none';
|
202 | 277 | document.getElementById('fetch-whisper-base-en-q5_1').style.display = 'none';
|
|
212 | 287 | var el;
|
213 | 288 | el = document.getElementById('fetch-whisper-tiny-en'); if (el) el.style.display = 'inline-block';
|
214 | 289 | el = document.getElementById('fetch-whisper-base-en'); if (el) el.style.display = 'inline-block';
|
| 290 | + el = document.getElementById('fetch-whisper-base'); if (el) el.style.display = 'inline-block'; |
215 | 291 |
|
216 | 292 | el = document.getElementById('fetch-whisper-tiny-en-q5_1'); if (el) el.style.display = 'inline-block';
|
217 | 293 | el = document.getElementById('fetch-whisper-base-en-q5_1'); if (el) el.style.display = 'inline-block';
|
|
368 | 444 |
|
369 | 445 | function onStart() {
|
370 | 446 | if (!instance) {
|
371 |
| - instance = Module.init('whisper.bin'); |
| 447 | + instance = Module.init('whisper.bin', document.getElementById('language').value); |
372 | 448 |
|
373 | 449 | if (instance) {
|
374 | 450 | printTextarea("js: whisper initialized, instance: " + instance);
|
|
0 commit comments