mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2024-12-26 16:48:50 +01:00
We are not ready for designated initializers - many compilers do not support this C++ feature yet, so removing it's non-trivial usages.
This commit is contained in:
parent
d6b84b2a23
commit
e30cf83158
2
main.cpp
2
main.cpp
@ -216,7 +216,7 @@ int main(int argc, char ** argv) {
|
|||||||
|
|
||||||
// run the inference
|
// run the inference
|
||||||
{
|
{
|
||||||
whisper_full_params wparams = whisper_full_default_params(WHISPER_DECODE_GREEDY);
|
whisper_full_params wparams = whisper_full_default_params(WHISPER_SAMPLING_GREEDY);
|
||||||
|
|
||||||
wparams.print_realtime = true;
|
wparams.print_realtime = true;
|
||||||
wparams.print_progress = false;
|
wparams.print_progress = false;
|
||||||
|
@ -282,7 +282,7 @@ int main(int argc, char ** argv) {
|
|||||||
|
|
||||||
// run the inference
|
// run the inference
|
||||||
{
|
{
|
||||||
whisper_full_params wparams = whisper_full_default_params(WHISPER_DECODE_GREEDY);
|
whisper_full_params wparams = whisper_full_default_params(WHISPER_SAMPLING_GREEDY);
|
||||||
|
|
||||||
wparams.print_progress = false;
|
wparams.print_progress = false;
|
||||||
wparams.print_special_tokens = params.print_special_tokens;
|
wparams.print_special_tokens = params.print_special_tokens;
|
||||||
|
78
whisper.cpp
78
whisper.cpp
@ -2256,59 +2256,63 @@ void whisper_print_timings(struct whisper_context * ctx) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
struct whisper_full_params whisper_full_default_params(enum whisper_decode_strategy strategy) {
|
struct whisper_full_params whisper_full_default_params(enum whisper_sampling_strategy strategy) {
|
||||||
struct whisper_full_params result;
|
struct whisper_full_params result;
|
||||||
|
|
||||||
switch (strategy) {
|
switch (strategy) {
|
||||||
case WHISPER_DECODE_GREEDY:
|
case WHISPER_SAMPLING_GREEDY:
|
||||||
{
|
{
|
||||||
#if defined(_MSC_VER)
|
|
||||||
result = {
|
result = {
|
||||||
#else
|
/*.strategy =*/ WHISPER_SAMPLING_GREEDY,
|
||||||
result = (struct whisper_full_params) {
|
|
||||||
#endif
|
|
||||||
.strategy = WHISPER_DECODE_GREEDY,
|
|
||||||
.n_threads = std::min(4, (int32_t) std::thread::hardware_concurrency()),
|
|
||||||
.offset_ms = 0,
|
|
||||||
|
|
||||||
.translate = false,
|
/*.n_threads =*/ std::min(4, (int32_t) std::thread::hardware_concurrency()),
|
||||||
.no_context = false,
|
/*.offset_ms =*/ 0,
|
||||||
.print_special_tokens = false,
|
|
||||||
.print_progress = true,
|
|
||||||
.print_realtime = false,
|
|
||||||
.print_timestamps = true,
|
|
||||||
|
|
||||||
.language = "en",
|
/*.translate =*/ false,
|
||||||
|
/*.no_context =*/ false,
|
||||||
|
/*.print_special_tokens =*/ false,
|
||||||
|
/*.print_progress =*/ true,
|
||||||
|
/*.print_realtime =*/ false,
|
||||||
|
/*.print_timestamps =*/ true,
|
||||||
|
|
||||||
.greedy = {
|
/*.language =*/ "en",
|
||||||
.n_past = 0,
|
|
||||||
|
/*.greedy =*/ {
|
||||||
|
/*.n_past =*/ 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
/*.beam_search =*/ {
|
||||||
|
/*.n_past =*/ -1,
|
||||||
|
/*.beam_width =*/ -1,
|
||||||
|
/*.n_best =*/ -1,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
} break;
|
} break;
|
||||||
case WHISPER_DECODE_BEAM_SEARCH:
|
case WHISPER_SAMPLING_BEAM_SEARCH:
|
||||||
{
|
{
|
||||||
#if defined(_MSC_VER)
|
|
||||||
result = {
|
result = {
|
||||||
#else
|
/*.strategy =*/ WHISPER_SAMPLING_BEAM_SEARCH,
|
||||||
result = (struct whisper_full_params) {
|
|
||||||
#endif
|
|
||||||
.strategy = WHISPER_DECODE_BEAM_SEARCH,
|
|
||||||
.n_threads = std::min(4, (int32_t) std::thread::hardware_concurrency()),
|
|
||||||
.offset_ms = 0,
|
|
||||||
|
|
||||||
.translate = false,
|
/*.n_threads =*/ std::min(4, (int32_t) std::thread::hardware_concurrency()),
|
||||||
.no_context = false,
|
/*.offset_ms =*/ 0,
|
||||||
.print_special_tokens = false,
|
|
||||||
.print_progress = true,
|
|
||||||
.print_realtime = false,
|
|
||||||
.print_timestamps = true,
|
|
||||||
|
|
||||||
.language = "en",
|
/*.translate =*/ false,
|
||||||
|
/*.no_context =*/ false,
|
||||||
|
/*.print_special_tokens =*/ false,
|
||||||
|
/*.print_progress =*/ true,
|
||||||
|
/*.print_realtime =*/ false,
|
||||||
|
/*.print_timestamps =*/ true,
|
||||||
|
|
||||||
.beam_search = {
|
/*.language =*/ "en",
|
||||||
.n_past = 0,
|
|
||||||
.beam_width = 10,
|
/*.greedy =*/ {
|
||||||
.n_best = 5,
|
/*.n_past =*/ -1,
|
||||||
|
},
|
||||||
|
|
||||||
|
/*.beam_search =*/ {
|
||||||
|
/*.n_past =*/ 0,
|
||||||
|
/*.beam_width =*/ 10,
|
||||||
|
/*.n_best =*/ 5,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
} break;
|
} break;
|
||||||
|
14
whisper.h
14
whisper.h
@ -153,14 +153,14 @@ extern "C" {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// Available decoding strategies
|
// Available sampling strategies
|
||||||
enum whisper_decode_strategy {
|
enum whisper_sampling_strategy {
|
||||||
WHISPER_DECODE_GREEDY, // Always select the most probable token
|
WHISPER_SAMPLING_GREEDY, // Always select the most probable token
|
||||||
WHISPER_DECODE_BEAM_SEARCH, // TODO: not implemented yet!
|
WHISPER_SAMPLING_BEAM_SEARCH, // TODO: not implemented yet!
|
||||||
};
|
};
|
||||||
|
|
||||||
struct whisper_full_params {
|
struct whisper_full_params {
|
||||||
enum whisper_decode_strategy strategy;
|
enum whisper_sampling_strategy strategy;
|
||||||
|
|
||||||
int n_threads;
|
int n_threads;
|
||||||
int offset_ms;
|
int offset_ms;
|
||||||
@ -174,7 +174,6 @@ extern "C" {
|
|||||||
|
|
||||||
const char * language;
|
const char * language;
|
||||||
|
|
||||||
union {
|
|
||||||
struct {
|
struct {
|
||||||
int n_past;
|
int n_past;
|
||||||
} greedy;
|
} greedy;
|
||||||
@ -185,9 +184,8 @@ extern "C" {
|
|||||||
int n_best;
|
int n_best;
|
||||||
} beam_search;
|
} beam_search;
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
WHISPER_API struct whisper_full_params whisper_full_default_params(enum whisper_decode_strategy strategy);
|
WHISPER_API struct whisper_full_params whisper_full_default_params(enum whisper_sampling_strategy strategy);
|
||||||
|
|
||||||
// Run the entire model: PCM -> log mel spectrogram -> encoder -> decoder -> text
|
// Run the entire model: PCM -> log mel spectrogram -> encoder -> decoder -> text
|
||||||
// Uses the specified decoding strategy to obtain the text.
|
// Uses the specified decoding strategy to obtain the text.
|
||||||
|
Loading…
Reference in New Issue
Block a user