]>
git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/log
Thomas Fitzsimmons [Fri, 30 Dec 2022 23:57:15 +0000 (18:57 -0500)]
ggml : improve f16 acceleration for POWER9 ppc64le
Georgi Gerganov [Sat, 31 Dec 2022 07:55:33 +0000 (09:55 +0200)]
whisper : add whisper_n_audio_ctx and check for invalid audio_ctx
closes #344
Ikko Ashimine [Fri, 30 Dec 2022 17:51:08 +0000 (02:51 +0900)]
models : fix typo in convert-h5-to-ggml.py
signficant -> significant
Avik Sengupta [Sat, 31 Dec 2022 07:48:00 +0000 (07:48 +0000)]
cmake : add runtime destination install (#345)
needed for mingw32 build to successfully install the dlls in the correct location
Georgi Gerganov [Fri, 30 Dec 2022 11:42:35 +0000 (13:42 +0200)]
whisper : avoid some memory allocations
Niels Mayer [Thu, 29 Dec 2022 12:04:00 +0000 (04:04 -0800)]
main : add -ocsv, aka --output-csv to output a CSV file
Adds -ocsv, aka --output-csv feature to examples/main, which outputs a CSV file containing lines formatted as follows <startTime-in-integer-milliseconds>, <endTime-in-integer-milliseconds>, "<transcript-line-including-commas>".
Georgi Gerganov [Thu, 29 Dec 2022 11:58:27 +0000 (13:58 +0200)]
make : add i686 arch (close #329)
Georgi Gerganov [Wed, 28 Dec 2022 16:47:30 +0000 (18:47 +0200)]
ggml : barrier refactor + static functions
Georgi Gerganov [Sat, 24 Dec 2022 08:22:28 +0000 (10:22 +0200)]
ggml : simplify the SIMD code (#324)
* ggml : simplify the SIMD code
* ggml : generic reduce for all register sizes + comments
Andy Maloney [Fri, 23 Dec 2022 18:19:07 +0000 (13:19 -0500)]
examples : fix memory leak on failure to load gpt2 model (#323)
Andy Maloney [Fri, 23 Dec 2022 18:18:51 +0000 (13:18 -0500)]
examples : small code cleanups (#322)
- remove unnecessary initialization of string to ""
- use empty() instead of checking size()
- use emplace_back instead of push_back
- use nullptr instead of NULL
- remove unnecessary call to .data() on string
- use character overload of find_first_of() instead of passing a string
Georgi Gerganov [Fri, 23 Dec 2022 11:48:19 +0000 (13:48 +0200)]
ggml : use vaddvq_f32 for slightly more efficient reduce
Thomas Fitzsimmons [Fri, 23 Dec 2022 06:19:19 +0000 (01:19 -0500)]
ggml : add f16 acceleration for POWER9 ppc64le
Georgi Gerganov [Fri, 23 Dec 2022 09:11:38 +0000 (11:11 +0200)]
models : fix support for spaces in path (close #315)
Andy Maloney [Fri, 23 Dec 2022 09:07:19 +0000 (04:07 -0500)]
whisper : use emplace_back in place of push_back (#319)
This avoids potential construction of temporaries.
Andy Maloney [Fri, 23 Dec 2022 09:06:17 +0000 (04:06 -0500)]
whisper : fix mem leak on failure to load model (#318)
Andy Maloney [Fri, 23 Dec 2022 09:05:27 +0000 (04:05 -0500)]
ggml : make consts static (#317)
These shouldn't be able to be referenced outside the compilation unit.
Georgi Gerganov [Fri, 23 Dec 2022 09:02:46 +0000 (11:02 +0200)]
Update README.md
Add SwiftUI example links
Digipom [Fri, 23 Dec 2022 08:56:18 +0000 (03:56 -0500)]
examples : add whisper.swiftui demo app (#308)
* Add SwiftUI demo project.
* Add -DGGML_USE_ACCELERATE
Georgi Gerganov [Thu, 22 Dec 2022 16:22:58 +0000 (18:22 +0200)]
Update README.md
Add bindings links / discussions
Andy Maloney [Thu, 22 Dec 2022 15:06:19 +0000 (10:06 -0500)]
minor : small code cleanups (#302)
* Small code cleanups
- fix indentation
- remove extra semicolons
- remove extra break after returns in case statements
- remove unnecessary call to .data() on string
- use empty() instead of checking size()
- no need to check for nullptr before free
- remove unnecessary initialization of string to ""
* minor : switch case always break
Co-authored-by: Georgi Gerganov <redacted>
Georgi Gerganov [Thu, 22 Dec 2022 14:43:57 +0000 (16:43 +0200)]
minor : flag "ARM FMA" -> "ARM_FMA"
Kevin Brothaler [Tue, 20 Dec 2022 20:15:59 +0000 (15:15 -0500)]
Build a vfpv4 library for armeabi-v7a and do runtime detection to select the right library
Kevin Brothaler [Tue, 20 Dec 2022 18:33:33 +0000 (13:33 -0500)]
Check for both __ARM_NEON and __ARM_FEATURE_FMA so that the project can be compiled for armv7a.
Android armeabi-v7a's NEON support doesn't support FMA unless configured with `-mfpu=neon-fp-armv8`, which would need runtime checks.
* Also removed ABI filter from Android project.
Kevin Brothaler [Tue, 20 Dec 2022 18:33:27 +0000 (13:33 -0500)]
Bump NDK version
Andy Maloney [Thu, 22 Dec 2022 14:35:18 +0000 (09:35 -0500)]
whisper : use nullptr (C++11) instead of NULL macro (#299)
Andy Maloney [Thu, 22 Dec 2022 14:34:47 +0000 (09:34 -0500)]
cmake : add headers to target (#298)
This will show the header files in IDEs.
Mohit Agarwal [Thu, 22 Dec 2022 14:34:20 +0000 (20:04 +0530)]
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
David Thorpe [Tue, 20 Dec 2022 06:54:33 +0000 (07:54 +0100)]
bindings : initial import of golang bindings (#287)
* Initial import of golang bindings
* Updated makefile rules
* Updated bindings
* Makefile update to add in more tests
Georgi Gerganov [Mon, 19 Dec 2022 20:09:21 +0000 (22:09 +0200)]
Update README.md
Georgi Gerganov [Mon, 19 Dec 2022 18:45:08 +0000 (20:45 +0200)]
cmake : enable and fix -Wall -Wextra -Wpedantic C++ warnings
Matheus de Sousa [Mon, 19 Dec 2022 18:19:01 +0000 (15:19 -0300)]
minor : resolves some of warnings when compiling with clang/clang++ (#294)
* Resolves some of warnings when compiling with clang/clang++
Mostly nit stuff that clang catches when compiling with -Wall -Wextra
-pedantic.
- Fix comparison between sign/unsigned integers.
- Passes a constant reference (const&) instead of copying each time.
* minor : normalize coding style
* minor : fix warning
Co-authored-by: Georgi Gerganov <redacted>
Georgi Gerganov [Sat, 17 Dec 2022 17:52:42 +0000 (19:52 +0200)]
release : v1.0.4
katsu560 [Fri, 16 Dec 2022 23:42:30 +0000 (08:42 +0900)]
Add AVX,AVX2 support for ggml_vec_scale_f32
Georgi Gerganov [Sat, 17 Dec 2022 16:57:42 +0000 (18:57 +0200)]
make : revert accidental change of optimization flags
Georgi Gerganov [Sat, 17 Dec 2022 15:58:08 +0000 (17:58 +0200)]
whisper : language auto-detect (#59)
Georgi Gerganov [Fri, 16 Dec 2022 21:41:57 +0000 (23:41 +0200)]
Add Roadmap
Georgi Gerganov [Fri, 16 Dec 2022 19:50:41 +0000 (21:50 +0200)]
ggml : implement ggml_compute_forward_dup_f16() special cases
Georgi Gerganov [Fri, 16 Dec 2022 18:20:43 +0000 (20:20 +0200)]
main : add option to print the progress (#276)
Georgi Gerganov [Fri, 16 Dec 2022 17:43:16 +0000 (19:43 +0200)]
main : add "--prompt" command line argument (#90)
This allows to provide an initial prompt to be used at the start of the
processing.
Georgi Gerganov [Tue, 13 Dec 2022 19:46:42 +0000 (21:46 +0200)]
command : better indentation
Georgi Gerganov [Tue, 13 Dec 2022 19:36:29 +0000 (21:36 +0200)]
command : update README, show how to use guided mode
Georgi Gerganov [Tue, 13 Dec 2022 17:21:32 +0000 (19:21 +0200)]
command : adding guided mode
Georgi Gerganov [Tue, 13 Dec 2022 17:21:07 +0000 (19:21 +0200)]
whisper : add whisper_tokenize()
Tokenizes a string into a list of vocabulary tokens
Georgi Gerganov [Fri, 16 Dec 2022 17:28:51 +0000 (19:28 +0200)]
Update README.md (#46)
Add references to the new Android app
Digipom [Fri, 16 Dec 2022 17:20:13 +0000 (12:20 -0500)]
Add Android sample (#277)
* Add Android sample
* Use main project C files
* Stop existing playback before starting new playback
* Make text scrollable
* Stop playback when starting to record
* Remove extra var
Georgi Gerganov [Fri, 16 Dec 2022 16:51:46 +0000 (18:51 +0200)]
ci : add Windows build without OpenBLAS + change to Release (#85) (#282)
Georgi Gerganov [Fri, 16 Dec 2022 16:31:17 +0000 (18:31 +0200)]
whisper : improve decoding strategy (#244)
- Clear past prompt when there is very short audio left for processing.
My observation is that in these cases the decoding tends to repeat and
hallucinate stuff and I think this is induced by the existing prompt
- When we fail to sample timestamp token, retry by clearing the past
prompt. If it fails again, then we advance the window by 1 second
Georgi Gerganov [Fri, 16 Dec 2022 16:04:19 +0000 (18:04 +0200)]
stream : update README.md + comments
Georgi Gerganov [Fri, 16 Dec 2022 16:01:05 +0000 (18:01 +0200)]
Update README.md (#56)
Georgi Gerganov [Fri, 16 Dec 2022 16:00:12 +0000 (18:00 +0200)]
ggml : make more compatible with c99 (#262)
Georgi Gerganov [Thu, 15 Dec 2022 18:38:08 +0000 (20:38 +0200)]
Update README.md
Georgi Gerganov [Thu, 15 Dec 2022 18:15:36 +0000 (20:15 +0200)]
stream : fix build
Georgi Gerganov [Thu, 15 Dec 2022 16:28:22 +0000 (18:28 +0200)]
stream : add sliding window mode
Georgi Gerganov [Tue, 13 Dec 2022 21:13:55 +0000 (23:13 +0200)]
whisper : fix UB when reading buffer of length 0 bytes (#265)
Georgi Gerganov [Tue, 13 Dec 2022 21:09:01 +0000 (23:09 +0200)]
ggml : fix indentation
Georgi Gerganov [Tue, 13 Dec 2022 21:07:49 +0000 (23:07 +0200)]
ggml : make compatible with c99 (#262)
Georgi Gerganov [Mon, 12 Dec 2022 21:44:36 +0000 (23:44 +0200)]
talk : improve prompting
Georgi Gerganov [Mon, 12 Dec 2022 18:36:52 +0000 (20:36 +0200)]
release : v1.0.3
Fixed whisper.spm tests
Georgi Gerganov [Mon, 12 Dec 2022 18:33:09 +0000 (20:33 +0200)]
Update README.md
Georgi Gerganov [Mon, 12 Dec 2022 18:25:56 +0000 (20:25 +0200)]
release : v1.0.2
Georgi Gerganov [Mon, 12 Dec 2022 18:23:10 +0000 (20:23 +0200)]
Update README.md
Georgi Gerganov [Mon, 12 Dec 2022 18:20:51 +0000 (20:20 +0200)]
Update README.md
Georgi Gerganov [Mon, 12 Dec 2022 18:17:27 +0000 (20:17 +0200)]
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
Georgi Gerganov [Sun, 11 Dec 2022 18:34:04 +0000 (20:34 +0200)]
talk : make compatible with c++11 (part 2)
Georgi Gerganov [Sun, 11 Dec 2022 18:19:17 +0000 (20:19 +0200)]
talk : make compatible with c++11
Georgi Gerganov [Sun, 11 Dec 2022 18:04:05 +0000 (20:04 +0200)]
cmake : require c++11 instead of c++20
Roland Rabien [Sun, 11 Dec 2022 18:03:07 +0000 (10:03 -0800)]
Remove C++20 requirement (#257)
* Remove C++20 requirement
* Roll back C features not supported in VS2017
Lexevolution [Sun, 11 Dec 2022 18:00:29 +0000 (04:00 +1000)]
Add newline per segment for text output (#254)
Georgi Gerganov [Sun, 11 Dec 2022 09:56:13 +0000 (11:56 +0200)]
bench : more concise representation of the results (#89)
Georgi Gerganov [Sun, 11 Dec 2022 09:39:46 +0000 (11:39 +0200)]
minor : fix .gitignore to not ignore examples
Georgi Gerganov [Sun, 11 Dec 2022 09:09:01 +0000 (11:09 +0200)]
bench.wasm : same as "bench" but runs in the browser (#89)
Georgi Gerganov [Sat, 10 Dec 2022 14:54:57 +0000 (16:54 +0200)]
Update README.md
Georgi Gerganov [Sat, 10 Dec 2022 14:48:15 +0000 (16:48 +0200)]
talk : fix build for MSVC
Georgi Gerganov [Fri, 9 Dec 2022 18:38:10 +0000 (20:38 +0200)]
talk : talk with AI in the terminal
bert hubert [Sat, 10 Dec 2022 12:09:31 +0000 (13:09 +0100)]
fix potential bug reading model data into a small size optimized string which could lead to memory corruption. In an SSO string, you can't write data to &str[0] and expect it to work well.
Also added a small wrapper function to more safely read model data without having to get the sizeof right. I tested this on tiny, base and large models, there was no change in behaviour.
Georgi Gerganov [Sat, 10 Dec 2022 11:38:26 +0000 (13:38 +0200)]
whisper : minor improvemnt in decoding strategy (#244)
Do not allow for text segments to go beyond end of audio.
This partially mitigates some issues when the last audio window is 1-2
seconds just before the end of the audio file and the decoding spirals
into a repetition of the last transcribed phrase.
Georgi Gerganov [Thu, 8 Dec 2022 21:48:04 +0000 (23:48 +0200)]
ggml : add alternative cblas_sgemm call
Georgi Gerganov [Thu, 8 Dec 2022 17:42:06 +0000 (19:42 +0200)]
make : indentation + .gitignore
Reinis Muiznieks [Wed, 7 Dec 2022 12:44:58 +0000 (14:44 +0200)]
Flag for Position Independent Code
Georgi Gerganov [Thu, 8 Dec 2022 17:17:24 +0000 (19:17 +0200)]
twitch.sh : various fixes and polishing
- check if streamlink is installed
- fix audio chunking
- change default threads to 4
keyehzy [Thu, 8 Dec 2022 02:45:54 +0000 (23:45 -0300)]
Allow for Twitch.tv live transcription
We rely on streamlink library to give us a stream, then we proceed similarly to
the radio livestream example.
Kartik Saranathan [Thu, 8 Dec 2022 04:18:30 +0000 (23:18 -0500)]
Fix paths echoed after the download
Was using models path instead of root path
Al Hoang [Thu, 8 Dec 2022 05:34:19 +0000 (05:34 +0000)]
fix compilation on haiku
Georgi Gerganov [Wed, 7 Dec 2022 20:12:08 +0000 (22:12 +0200)]
yt-wsp.sh : improve usage instructions
Georgi Gerganov [Wed, 7 Dec 2022 19:12:55 +0000 (21:12 +0200)]
yt-wsp.sh : fix usage instruction + comment
Georgi Gerganov [Wed, 7 Dec 2022 03:15:46 +0000 (05:15 +0200)]
Update README.md
Georgi Gerganov [Wed, 7 Dec 2022 02:41:43 +0000 (04:41 +0200)]
livestream.sh : remove obsolete comment
Georgi Gerganov [Tue, 6 Dec 2022 20:12:57 +0000 (22:12 +0200)]
ggml : fix typo in previous commit
Georgi Gerganov [Tue, 6 Dec 2022 20:05:33 +0000 (22:05 +0200)]
ggml : use macros to inline FP16 <-> FP32 conversions
Georgi Gerganov [Tue, 6 Dec 2022 19:56:56 +0000 (21:56 +0200)]
ggml : add F16C CPU flag check
katsu560 [Tue, 6 Dec 2022 18:32:48 +0000 (03:32 +0900)]
add fp16/fp32 convert intrinsics
Georgi Gerganov [Tue, 6 Dec 2022 16:48:57 +0000 (18:48 +0200)]
models : add the new "large" model release by OpenAI
The old "large" model is now renamed "large-v1".
If you have been using it, make sure to rename it and download the new
"large" model for best results.
Georgi Gerganov [Tue, 6 Dec 2022 16:47:48 +0000 (18:47 +0200)]
bench : add commit hash to bench-all.sh results
Georgi Gerganov [Fri, 2 Dec 2022 19:51:50 +0000 (21:51 +0200)]
Try to improve the token sampling strategy (#193)
* whisper : try to improve the token sampling strategy
- Add the "max_initial_timestaamp" token logic from OpenAI
- Disallow sampling timestamps that are in the past
* whisper : fix the max initial timestamp logic + fallback decoding
Georgi Gerganov [Mon, 28 Nov 2022 20:44:01 +0000 (22:44 +0200)]
tests : adding transcription tests
Georgi Gerganov [Thu, 1 Dec 2022 20:15:12 +0000 (22:15 +0200)]
ggml : remove inline specifier from fp16 <-> fp32 converters
Georgi Gerganov [Thu, 1 Dec 2022 18:49:09 +0000 (20:49 +0200)]
livestream : handle ffmpeg errors gracefully and stabilize transcript
Georgi Gerganov [Thu, 1 Dec 2022 17:47:58 +0000 (19:47 +0200)]
livestream : minor changes
semiformal-net [Thu, 1 Dec 2022 17:18:22 +0000 (12:18 -0500)]
livestream : fix losing words across audio chunk (#195)
* improve livestream script
* Update examples/livestream.sh
Co-authored-by: Georgi Gerganov <redacted>
Co-authored-by: Paul Edwards <redacted>
Co-authored-by: Georgi Gerganov <redacted>