]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/log
pkg/ggml/sources/whisper.cpp
2 years agoAdded for Windows implemenated script download-ggml-model.cmd
Mikhail Grigorev [Sun, 30 Oct 2022 19:51:29 +0000 (00:51 +0500)]
Added for Windows implemenated script download-ggml-model.cmd

2 years agoFixed sched_yield
Mikhail Grigorev [Sun, 30 Oct 2022 17:19:24 +0000 (22:19 +0500)]
Fixed sched_yield

2 years agoImplemenated sched_yield function for Windows
Mikhail Grigorev [Sun, 30 Oct 2022 10:29:27 +0000 (15:29 +0500)]
Implemenated sched_yield function for Windows

2 years agoUpdate README.md
Georgi Gerganov [Sun, 30 Oct 2022 15:11:37 +0000 (17:11 +0200)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Sun, 30 Oct 2022 15:10:46 +0000 (17:10 +0200)]
Update README.md

2 years agomain : add option for word-leve timestamps (very experimental)
Georgi Gerganov [Sun, 30 Oct 2022 08:05:58 +0000 (10:05 +0200)]
main : add option for word-leve timestamps (very experimental)

2 years agostream : add "--capture" option to select capture device (ref #10)
Georgi Gerganov [Sun, 30 Oct 2022 06:27:04 +0000 (08:27 +0200)]
stream : add "--capture" option to select capture device (ref #10)

2 years agoclose #113 : fix struct whisper_token_data
Georgi Gerganov [Sun, 30 Oct 2022 06:23:52 +0000 (08:23 +0200)]
close #113 : fix struct whisper_token_data

2 years agominor : update whisper.js
Georgi Gerganov [Sat, 29 Oct 2022 18:28:06 +0000 (21:28 +0300)]
minor : update whisper.js

2 years agowhisper.wasm : update system info print
Georgi Gerganov [Sat, 29 Oct 2022 17:30:05 +0000 (20:30 +0300)]
whisper.wasm : update system info print

2 years agoref #5 : update CMake for Windows build
Georgi Gerganov [Sat, 29 Oct 2022 16:41:50 +0000 (19:41 +0300)]
ref #5 : update CMake for Windows build

- __AVX2__ should already be defined due to /arch:AVX2
- _CRT_SECURE_NO_WARNINGS should be defined both for shared and static lib

2 years agominor : fix multiple definitions of to_timestamp()
Georgi Gerganov [Sat, 29 Oct 2022 11:14:23 +0000 (14:14 +0300)]
minor : fix multiple definitions of to_timestamp()

2 years agoparallel : print time of audio boundaries + fix timings
Georgi Gerganov [Sat, 29 Oct 2022 11:08:23 +0000 (14:08 +0300)]
parallel : print time of audio boundaries + fix timings

2 years agoggml : fix barrier
Georgi Gerganov [Sat, 29 Oct 2022 09:38:29 +0000 (12:38 +0300)]
ggml : fix barrier

2 years agomain : merge parallel example in main
Georgi Gerganov [Sat, 29 Oct 2022 09:26:03 +0000 (12:26 +0300)]
main : merge parallel example in main

2 years agoparallel : working
Georgi Gerganov [Sat, 29 Oct 2022 09:24:02 +0000 (12:24 +0300)]
parallel : working

2 years agoggml : fix thread-safety of ggml_init and ggml_free
Georgi Gerganov [Sat, 29 Oct 2022 08:23:44 +0000 (11:23 +0300)]
ggml : fix thread-safety of ggml_init and ggml_free

2 years agomain : fix sampling time + add max_context parameter
Georgi Gerganov [Sat, 29 Oct 2022 06:42:14 +0000 (09:42 +0300)]
main : fix sampling time + add max_context parameter

2 years agoparallel : adding tool for parallel transformer inference
Georgi Gerganov [Sat, 29 Oct 2022 06:27:08 +0000 (09:27 +0300)]
parallel : adding tool for parallel transformer inference

2 years agoDefine WHISPER_BUILD so as to export symbols on Windows
Borislav Stanimirov [Sat, 29 Oct 2022 10:15:56 +0000 (13:15 +0300)]
Define WHISPER_BUILD so as to export symbols on Windows

2 years agoUpdate README.md
Georgi Gerganov [Fri, 28 Oct 2022 19:09:40 +0000 (22:09 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Fri, 28 Oct 2022 18:40:52 +0000 (21:40 +0300)]
Update README.md

2 years agoCreate README.md
Georgi Gerganov [Fri, 28 Oct 2022 17:22:49 +0000 (20:22 +0300)]
Create README.md

2 years agowhisper.nvim : add helper script for the Neovim integration
Georgi Gerganov [Fri, 28 Oct 2022 16:57:09 +0000 (19:57 +0300)]
whisper.nvim : add helper script for the Neovim integration

2 years agostream : few updates to make it compatible for Vim usage (#99)
Georgi Gerganov [Thu, 27 Oct 2022 19:10:50 +0000 (22:10 +0300)]
stream : few updates to make it compatible for Vim usage (#99)

2 years agoAdd OpenBLAS support
Georgi Gerganov [Thu, 27 Oct 2022 15:31:49 +0000 (18:31 +0300)]
Add OpenBLAS support

Supported via CMake - just add:

cmake .. -DWHISPER_SUPPORT_OPENBLAS=ON

On Ubuntu, you have to install the library like this:

apt install libopenblas-dev

Unfortunately, I don't observe any benefit compared to the
original AVX2 + FP16 implementation. Maybe I'm missing something

2 years agoPrint system info at start of program
Georgi Gerganov [Thu, 27 Oct 2022 14:22:10 +0000 (17:22 +0300)]
Print system info at start of program

2 years agoFixed compile definitions and link libraries for MSVC
Mikhail Grigorev [Thu, 27 Oct 2022 09:59:02 +0000 (14:59 +0500)]
Fixed compile definitions and link libraries for MSVC

2 years agoAdd helper script to benchmark all models
Georgi Gerganov [Wed, 26 Oct 2022 20:19:58 +0000 (23:19 +0300)]
Add helper script to benchmark all models

Simply run:

$ ./extra/bench-all.sh

2 years agoPrint system info in main
Georgi Gerganov [Wed, 26 Oct 2022 19:54:09 +0000 (22:54 +0300)]
Print system info in main

2 years agoCreate README.md
Georgi Gerganov [Wed, 26 Oct 2022 15:14:10 +0000 (18:14 +0300)]
Create README.md

2 years agoChanges to work by default on macOS - use curl when wget is not available, and use...
andypayne [Wed, 26 Oct 2022 00:35:11 +0000 (17:35 -0700)]
Changes to work by default on macOS - use curl when wget is not available, and use an alternative method to get the script path when realpath is not available.

2 years agoUpdate README.md
Georgi Gerganov [Tue, 25 Oct 2022 17:51:56 +0000 (20:51 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Tue, 25 Oct 2022 17:47:31 +0000 (20:47 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Tue, 25 Oct 2022 17:43:10 +0000 (20:43 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Tue, 25 Oct 2022 17:28:47 +0000 (20:28 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Tue, 25 Oct 2022 17:25:23 +0000 (20:25 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Tue, 25 Oct 2022 17:23:39 +0000 (20:23 +0300)]
Update README.md

2 years agoggml : add system info functions
Georgi Gerganov [Tue, 25 Oct 2022 17:18:26 +0000 (20:18 +0300)]
ggml : add system info functions

2 years agorefactoring : move main + stream in examples + other stuff
Georgi Gerganov [Tue, 25 Oct 2022 16:13:08 +0000 (19:13 +0300)]
refactoring : move main + stream in examples + other stuff

2 years agomain : fix SRT timestamp to use comma "," instead of dot "."
Georgi Gerganov [Mon, 24 Oct 2022 15:28:23 +0000 (18:28 +0300)]
main : fix SRT timestamp to use comma "," instead of dot "."

2 years agoUpdate README.md
Georgi Gerganov [Mon, 24 Oct 2022 15:26:21 +0000 (18:26 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Sun, 23 Oct 2022 09:51:09 +0000 (12:51 +0300)]
Update README.md

2 years agoobjc : polishing the sample application
Georgi Gerganov [Sun, 23 Oct 2022 09:24:03 +0000 (12:24 +0300)]
objc : polishing the sample application

2 years agoCreate README.md
Georgi Gerganov [Sun, 23 Oct 2022 08:36:36 +0000 (11:36 +0300)]
Create README.md

2 years agoios : whisper.objc example
Georgi Gerganov [Sun, 23 Oct 2022 08:10:15 +0000 (11:10 +0300)]
ios : whisper.objc example

2 years agoref #68, #79 : fix segment time output
Georgi Gerganov [Sun, 23 Oct 2022 10:29:36 +0000 (13:29 +0300)]
ref #68, #79 : fix segment time output

2 years agoUpdate README.md
Georgi Gerganov [Sun, 23 Oct 2022 09:47:51 +0000 (12:47 +0300)]
Update README.md

2 years agoMerge pull request #78 from jokkebk/Specify-utf8-for-vocab.json
Georgi Gerganov [Sun, 23 Oct 2022 09:23:04 +0000 (12:23 +0300)]
Merge pull request #78 from jokkebk/Specify-utf8-for-vocab.json

Add enconding parameter to vocab.json opening to fix errors

2 years agoAdd enconding parameter to vocab.json opening to fix errors
Joonas Pihlajamaa [Sun, 23 Oct 2022 08:55:01 +0000 (11:55 +0300)]
Add enconding parameter to vocab.json opening to fix errors

2 years agoUpdate README.md
Georgi Gerganov [Sun, 23 Oct 2022 07:24:36 +0000 (10:24 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Sun, 23 Oct 2022 07:12:10 +0000 (10:12 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Sun, 23 Oct 2022 05:04:33 +0000 (08:04 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Sat, 22 Oct 2022 18:16:08 +0000 (21:16 +0300)]
Update README.md

2 years agomain : print colors + no timestamps
Georgi Gerganov [Sat, 22 Oct 2022 18:09:30 +0000 (21:09 +0300)]
main : print colors + no timestamps

2 years agowhisper : add new-segment callback
Georgi Gerganov [Sat, 22 Oct 2022 18:06:50 +0000 (21:06 +0300)]
whisper : add new-segment callback

Can be used to process new segments as they are being generated.
Sample usage in main, for printing the resulting segments during the
inference.

2 years agomain : refactor subtitle output
Georgi Gerganov [Sat, 22 Oct 2022 17:42:11 +0000 (20:42 +0300)]
main : refactor subtitle output

2 years agowip : experimental color coding of tokens based on probabilities
Georgi Gerganov [Fri, 21 Oct 2022 14:33:59 +0000 (17:33 +0300)]
wip : experimental color coding of tokens based on probabilities

2 years agoUpdate README.md
Georgi Gerganov [Sat, 22 Oct 2022 16:30:35 +0000 (19:30 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Sat, 22 Oct 2022 16:00:25 +0000 (19:00 +0300)]
Update README.md

2 years agoUpdate README.md and finalize the whisper.wasm example
Georgi Gerganov [Sat, 22 Oct 2022 15:17:08 +0000 (18:17 +0300)]
Update README.md and finalize the whisper.wasm example

2 years agowip : polishing WASM example
Georgi Gerganov [Sat, 22 Oct 2022 13:57:54 +0000 (16:57 +0300)]
wip : polishing WASM example

2 years agowip : WASM 128-bit SIMD support
Georgi Gerganov [Sat, 22 Oct 2022 10:45:43 +0000 (13:45 +0300)]
wip : WASM 128-bit SIMD support

2 years agowip : initial WASM port
Georgi Gerganov [Sat, 22 Oct 2022 10:07:59 +0000 (13:07 +0300)]
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

2 years agoref #68 : add option "-on" to specify segment index offset for SRT
Georgi Gerganov [Fri, 21 Oct 2022 15:14:53 +0000 (18:14 +0300)]
ref #68 : add option "-on" to specify segment index offset for SRT

Also, change option "-o" to "-ot"

2 years agoci : fix and re-enable tests (2nd try)
Georgi Gerganov [Fri, 21 Oct 2022 12:57:20 +0000 (15:57 +0300)]
ci : fix and re-enable tests (2nd try)

2 years agoRevert "ci : fix and re-enable tests"
Georgi Gerganov [Fri, 21 Oct 2022 12:36:19 +0000 (15:36 +0300)]
Revert "ci : fix and re-enable tests"

This reverts commit 80aefc9514262a026e013902fa3722e53181cd82.

2 years agoci : fix and re-enable tests
Georgi Gerganov [Fri, 21 Oct 2022 12:27:30 +0000 (15:27 +0300)]
ci : fix and re-enable tests

2 years agoUpdate README.md
Georgi Gerganov [Thu, 20 Oct 2022 14:52:59 +0000 (17:52 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Thu, 20 Oct 2022 14:43:56 +0000 (17:43 +0300)]
Update README.md

2 years agoUpdate README.md
Georgi Gerganov [Thu, 20 Oct 2022 14:39:31 +0000 (17:39 +0300)]
Update README.md

2 years agoMerge pull request #67 from undefdev/defensive-apple-arm-make
Georgi Gerganov [Wed, 19 Oct 2022 06:29:43 +0000 (09:29 +0300)]
Merge pull request #67 from undefdev/defensive-apple-arm-make

added handling for falsely as x86_64 announced ARM Macs

2 years agoci : disable tests temporarily
Georgi Gerganov [Wed, 19 Oct 2022 05:36:59 +0000 (08:36 +0300)]
ci : disable tests temporarily

2 years agoadded handling for falsely as x86_64 announced ARM Macs
undef [Tue, 18 Oct 2022 23:01:53 +0000 (01:01 +0200)]
added handling for falsely as x86_64 announced ARM Macs

2 years agoUpdate README.md
Georgi Gerganov [Tue, 18 Oct 2022 19:20:17 +0000 (22:20 +0300)]
Update README.md

2 years agostream : print warning when processing is not fast enough
Georgi Gerganov [Tue, 18 Oct 2022 17:15:06 +0000 (20:15 +0300)]
stream : print warning when processing is not fast enough

2 years agoAdd reference to FP16 repo
Georgi Gerganov [Tue, 18 Oct 2022 16:48:34 +0000 (19:48 +0300)]
Add reference to FP16 repo

2 years agoref #52 : improve greedy sampling strategy
Georgi Gerganov [Tue, 18 Oct 2022 16:33:10 +0000 (19:33 +0300)]
ref #52 : improve greedy sampling strategy

Force timestamp token to be sampled if the probability sum over all
timestamp tokens is above the probability of any other token

2 years agoCMake support for Accelerate framework
Georgi Gerganov [Tue, 18 Oct 2022 15:51:59 +0000 (18:51 +0300)]
CMake support for Accelerate framework

2 years agoCorrect implementation of FP16 GELU
Georgi Gerganov [Tue, 18 Oct 2022 15:42:08 +0000 (18:42 +0300)]
Correct implementation of FP16 GELU

Can toggle it via the GGML_GELU_FP16 macro

2 years agoclose #32 : add comment about thread-safety of the C-style API
Georgi Gerganov [Tue, 18 Oct 2022 15:27:57 +0000 (18:27 +0300)]
close #32 : add comment about thread-safety of the C-style API

2 years agoref #57, #62, #63 : remove unions in C-api + remove designated initializers
Georgi Gerganov [Tue, 18 Oct 2022 15:17:24 +0000 (18:17 +0300)]
ref #57, #62, #63 : remove unions in C-api + remove designated initializers

We are not ready for designated initializers - many compilers do not
support this C++ feature yet, so removing it's non-trivial usages.

2 years agoref #62 : fix build for some compilers
Georgi Gerganov [Tue, 18 Oct 2022 07:56:37 +0000 (10:56 +0300)]
ref #62 : fix build for some compilers

For some reason, new version of GCC panic when the struct type is not
specified explicitly

2 years agoRevert recent sampling change
Georgi Gerganov [Tue, 18 Oct 2022 05:26:16 +0000 (08:26 +0300)]
Revert recent sampling change

It does not actually help and seems to produce worse results on some of
the samples

2 years agoFix EOT token handling
Georgi Gerganov [Mon, 17 Oct 2022 21:53:06 +0000 (00:53 +0300)]
Fix EOT token handling

If it is the end of the audio, pick all sampled tokens.
Otherwise, print error message.

2 years agoRevert GELU change
Georgi Gerganov [Mon, 17 Oct 2022 21:45:08 +0000 (00:45 +0300)]
Revert GELU change

Seems it does not work on x86 for some reason

2 years agoLink Accelerate framework to "stream" example
Georgi Gerganov [Mon, 17 Oct 2022 21:01:31 +0000 (00:01 +0300)]
Link Accelerate framework to "stream" example

2 years agoTry to improve the sampling strategy a bit
Georgi Gerganov [Mon, 17 Oct 2022 20:52:24 +0000 (23:52 +0300)]
Try to improve the sampling strategy a bit

It sill fails sometimes when it does not sample a timestamp token for
the entire segment. We now print a message in such cases

2 years agoFix memory sizes
Georgi Gerganov [Mon, 17 Oct 2022 20:50:44 +0000 (23:50 +0300)]
Fix memory sizes

2 years agoUse Accelerate framework on Apple silicon
Georgi Gerganov [Mon, 17 Oct 2022 18:44:16 +0000 (21:44 +0300)]
Use Accelerate framework on Apple silicon

Huge performance improvement in the Encode (almost x2 on MacBook M1 Pro)

Also various extra optimizations:

- Multi-threaded NORM operator
- Faster GELU via F16 cast

2 years agoAdding helper script for converting the PT models
Georgi Gerganov [Mon, 17 Oct 2022 15:37:06 +0000 (18:37 +0300)]
Adding helper script for converting the PT models

2 years agoclose #56 : build on FreeBSD
Georgi Gerganov [Mon, 17 Oct 2022 15:09:17 +0000 (18:09 +0300)]
close #56 : build on FreeBSD

Thanks to @abelbabel for the contribution

2 years agoMerge pull request #58 from r0y6a3n0/master
Georgi Gerganov [Mon, 17 Oct 2022 15:06:02 +0000 (18:06 +0300)]
Merge pull request #58 from r0y6a3n0/master

fix decode missing token issue

2 years agofix missing token issue
RyanChang [Mon, 17 Oct 2022 13:19:45 +0000 (21:19 +0800)]
fix missing token issue

2 years agoref #48 : clear results at the start of whisper_full
Georgi Gerganov [Sat, 15 Oct 2022 06:55:28 +0000 (09:55 +0300)]
ref #48 : clear results at the start of whisper_full

This way, even if the input audio is empty, the previous results will be
removed.

2 years agoUpdate README.md (ref #50)
Georgi Gerganov [Sat, 15 Oct 2022 06:40:08 +0000 (09:40 +0300)]
Update README.md (ref #50)

2 years agoUpdate README.md
Georgi Gerganov [Wed, 12 Oct 2022 18:25:42 +0000 (21:25 +0300)]
Update README.md

2 years agocheck if spectogram length is <100 before doing anything else
0/0 [Tue, 11 Oct 2022 17:49:48 +0000 (11:49 -0600)]
check if spectogram length is <100 before doing anything else

fixes #39

2 years agoUpdate README.md (#43)
Topping1 [Wed, 12 Oct 2022 04:32:14 +0000 (23:32 -0500)]
Update README.md (#43)

* Update README.md

Updated README.md to list new features, such as subtitle file support (VTT and SRT)

* Update README.md

Co-authored-by: Georgi Gerganov <redacted>
Co-authored-by: Georgi Gerganov <redacted>
2 years agoMerge pull request #42 from iboB/msvc-build
Georgi Gerganov [Wed, 12 Oct 2022 04:31:41 +0000 (07:31 +0300)]
Merge pull request #42 from iboB/msvc-build

ref #5 : MSVC build