Georgi Gerganov
f3ee4a9673
whisper : reduce memory usage during inference ( #431 )
...
* ggml : add "scratch" buffer support
* ggml : support for scratch ring-buffer
* ggml : bug fix in ggml_repeat()
* ggml : error on scratch buffer overflow
* whisper : use scratch buffers during inference (base model only)
* whisper : update memory usage for all models
* whisper : fix encoder memory usage
* whisper : use whisper_context functions instead of macros
* whisper : fix FF + remove it from README
* ggml : reuse ggml_new_i32
* ggml : refactor the scratch buffer storage
* whisper : reorder scratch buffers in the decoder
* main : add option to disable temp fallback
* Update README.md
2023-02-04 09:45:52 +02:00
polarmoon
b2fc4c7010
go : support "auto" as an option when set language ( #462 )
...
Co-authored-by: Ming <ming@localhost>
2023-02-04 09:09:27 +02:00
Lukas Rist
2bee2650c6
go : add wrapper for system info ( #456 )
2023-01-28 18:44:56 +02:00
Robin
beb9512be3
go : add WhisperLangAutoDetect method to go binding ( #451 )
2023-01-27 01:14:20 +02:00
Georgi Gerganov
60337f5306
wasm : check if navigator.storage.estimate() is available
...
Safari does not support it
2023-01-25 20:00:59 +02:00
Lukas Rist
02c7516c57
go : added wrappers to reset and print timings ( #436 )
2023-01-25 18:57:30 +02:00
Georgi Gerganov
2c3f50a021
release : v1.1.1
2023-01-23 20:23:44 +02:00
Georgi Gerganov
206fc93396
whisper.wasm : add small and small.en models
2023-01-18 21:58:55 +02:00
Damian Czaja
4a3f0d3fe9
go : remove sample_best and sample_timestamp bindings ( #409 )
2023-01-16 19:18:10 +02:00
Georgi Gerganov
8738427dd6
cmake : bump version to 1.1.0
2023-01-15 14:33:13 +02:00
Georgi Gerganov
fafd78945d
bench.wasm : print system info
2023-01-15 11:34:03 +02:00
Syahmi Azhar
1512545149
whisper : add loader class to allow loading from buffer and others ( #353 )
...
* whisper : add loader to allow loading from other than file
* whisper : rename whisper_init to whisper_init_from_file
* whisper : add whisper_init_from_buffer
* android : Delete local.properties
* android : load models directly from assets
* whisper : adding <stddef.h> needed for size_t + code style
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
2023-01-08 13:03:33 +02:00
David Thorpe
f078a6f20e
go : adding features to the go-whisper example, go ci, etc ( #384 )
...
* Updated bindings so they can be used in third pary packages.
* Updated makefiles to set FMA flag on optionally, for xeon E5 on Darwin
* Added test script
* Changes for examples
* Reverted
* Made the NewContext method private
2023-01-07 21:21:43 +02:00
Georgi Gerganov
44efbf7ff1
cmake : add -Wno-unused-function + update whisper.js
2023-01-07 20:18:34 +02:00
Georgi Gerganov
87dd4a3081
talk.wasm : bump memory usage + update whisper.js
2023-01-06 21:13:44 +02:00
David Thorpe
322f4e6c4e
go : bindings updated so they can be used in third party packages. ( #379 )
...
* Updated bindings so they can be used in third pary packages.
* Updated makefiles to set FMA flag on optionally, for xeon E5 on Darwin
2023-01-06 19:32:28 +02:00
Georgi Gerganov
4a214d2f07
cmake : add CMAKE_RUNTIME_OUTPUT_DIRECTORY
...
Currently needed by the wasm examples
2023-01-05 21:40:59 +02:00
Georgi Gerganov
d51c5eb906
ggml : define MIN / MAX only if not defined (minor)
2023-01-05 21:16:52 +02:00
Mohit Agarwal
86a277f78d
go : run go mod tidy
before building examples + fix permissions ( #296 )
...
* run `go mod tidy` before building examples
Running `make examples` after cloning the repository gives the following
error:
```
...
[100%] Built target whisper
gmake[3]: Leaving directory '/tmp/exp/whisper.cpp/bindings/go/build'
gmake[2]: Leaving directory '/tmp/exp/whisper.cpp/bindings/go/build'
gmake[1]: Leaving directory '/tmp/exp/whisper.cpp/bindings/go/build'
Build example go-model-download
Build example go-whisper
examples/go-whisper/process.go:11:2: missing go.sum entry for module providing package github.com/go-audio/wav (imported by github.com/ggerganov/whisper.cpp/bindings/go/examples/go-whisper); to add:
go get github.com/ggerganov/whisper.cpp/bindings/go/examples/go-whisper
make: *** [Makefile:26: examples/go-whisper] Error 1
```
* remove executable bit from various files
2022-12-22 16:34:20 +02:00
David Thorpe
231bebca7d
bindings : initial import of golang bindings ( #287 )
...
* Initial import of golang bindings
* Updated makefile rules
* Updated bindings
* Makefile update to add in more tests
2022-12-20 08:54:33 +02:00
Georgi Gerganov
1d716d6e34
release : v1.0.4
2022-12-17 19:52:42 +02:00
Georgi Gerganov
930c693989
release : v1.0.3
...
Fixed whisper.spm tests
2022-12-12 20:36:52 +02:00
Georgi Gerganov
d8a0dde31a
Update README.md
2022-12-12 20:33:09 +02:00
Georgi Gerganov
9e3e6f253a
release : v1.0.2
2022-12-12 20:29:30 +02:00
Georgi Gerganov
57ccd7cc4f
Update README.md
2022-12-12 20:23:10 +02:00
Georgi Gerganov
f309f97df6
Node.js package ( #260 )
...
* npm : preparing infra for node package
* npm : package infra ready
* npm : initial version ready
* npm : change name to whisper.cpp
whisper.js is taken
2022-12-12 20:17:27 +02:00
Georgi Gerganov
fcf515de60
bench.wasm : same as "bench" but runs in the browser ( #89 )
2022-12-11 11:09:10 +02:00
Georgi Gerganov
be16dfa038
whisper.wasm : do not block page while processing ( close #86 )
2022-11-25 23:07:42 +02:00
Georgi Gerganov
b8ce25dec1
refactoring : more readable code
2022-11-25 19:28:04 +02:00
Georgi Gerganov
abce28ea99
talk.wasm : move to https://whisper.ggerganov.com/talk
...
This way, we can share the same models across different WASM examples
and not have to download them for each page
2022-11-24 18:24:06 +02:00
Georgi Gerganov
be3b720f96
talk.wasm : refactoring + update README.md
2022-11-24 00:08:57 +02:00
Georgi Gerganov
9aea96f774
talk.wasm : polishing + adding many AI personalities
2022-11-22 20:10:20 +02:00
Georgi Gerganov
a4dfbeecf9
talk.wasm : GPT-2 meets Whisper in WebAssembly ( #155 )
...
* talk : initial real-time transcription in the browser
* talk : polishing the UI
* talk : ready for beta testing
* talk.wasm : rename example
2022-11-21 22:20:42 +02:00
Georgi Gerganov
b21213c23e
js : update whipser.js to latest
2022-11-09 19:33:10 +02:00
Georgi Gerganov
4e5674a5d5
sync : submodule whisper.spm
2022-11-07 21:48:13 +02:00
Georgi Gerganov
4c66b6a828
cmake : add submodule whisper.spm
2022-11-07 20:50:24 +02:00
Georgi Gerganov
69bdb6624a
minor : update whisper.js
2022-10-29 21:28:21 +03:00
Georgi Gerganov
12fb303d9d
whisper.wasm : update system info print
2022-10-29 20:32:41 +03:00
Georgi Gerganov
491ecd7056
wip : polishing WASM example
2022-10-22 18:54:01 +03:00
Georgi Gerganov
db460b78ff
wip : WASM 128-bit SIMD support
2022-10-22 18:54:01 +03:00
Georgi Gerganov
e905c6f827
wip : initial WASM port
...
Works but it is very slow because no SIMD is used.
For example, jfk.wav is processed in ~23 seconds using "tiny.en" model
2022-10-22 18:54:01 +03:00