Openfst is patched by author.

This commit is contained in:
msqr1
2024-08-30 18:38:42 -07:00
parent 01a0dbf3a7
commit 1d5854cc27
12 changed files with 61 additions and 100 deletions

View File

@@ -1,8 +1,17 @@
diff --git a/src/model.cc b/src/model.cc
index 035ffee..7f5148a 100644
index 035ffee..18edcd3 100644
--- a/src/model.cc
+++ b/src/model.cc
@@ -74,38 +74,48 @@ static void KaldiLogHandler(const LogMessageEnvelope &env, const char *message)
@@ -23,7 +23,7 @@
#include <fst/register.h>
#include <fst/matcher-fst.h>
#include <fst/extensions/ngram/ngram-fst.h>
-
+#include <emscripten/console.h>
#ifdef HAVE_MKL
// We need to set num threads
@@ -74,38 +74,37 @@ static void KaldiLogHandler(const LogMessageEnvelope &env, const char *message)
#else
static void KaldiLogHandler(const LogMessageEnvelope &env, const char *message)
{
@@ -16,6 +25,20 @@ index 035ffee..7f5148a 100644
- if (env.severity > LogMessageEnvelope::kInfo) {
- full_message << "VLOG[" << env.severity << "] (";
- } else {
- switch (env.severity) {
- case LogMessageEnvelope::kInfo:
- full_message << "LOG (";
- break;
- case LogMessageEnvelope::kWarning:
- full_message << "WARNING (";
- break;
- case LogMessageEnvelope::kAssertFailed:
- full_message << "ASSERTION_FAILED (";
- break;
- case LogMessageEnvelope::kError:
- default: // If not the ERROR, it still an error!
- full_message << "ERROR (";
- break;
+ // Modified default Kaldi logging so we can disable LOG messages.
+ std::stringstream full_message;
+ if (env.severity > LogMessageEnvelope::kInfo) {
@@ -36,35 +59,6 @@ index 035ffee..7f5148a 100644
+ full_message << "ERROR (";
+ break;
+ }
+ }
+ // Add other info from the envelope and the message text.
+ full_message << "VoskAPI" << ':'
+ << env.func << "():" << env.file << ':'
+ << env.line << ") " << message;
+ if(env.severity > LogMessageEnvelope::kInfo) {
+ emscripten_console_log(full_message.str().c_str());
+ return;
+ }
switch (env.severity) {
case LogMessageEnvelope::kInfo:
- full_message << "LOG (";
- break;
+ emscripten_console_log(full_message.str().c_str());
+ break;
case LogMessageEnvelope::kWarning:
- full_message << "WARNING (";
- break;
- case LogMessageEnvelope::kAssertFailed:
- full_message << "ASSERTION_FAILED (";
- break;
- case LogMessageEnvelope::kError:
- default: // If not the ERROR, it still an error!
- full_message << "ERROR (";
- break;
+ emscripten_console_warn(full_message.str().c_str());
+ break;
+ default:
+ emscripten_console_error(full_message.str().c_str());
}
- }
- // Add other info from the envelope and the message text.
@@ -75,23 +69,18 @@ index 035ffee..7f5148a 100644
- // Print the complete message to stderr.
- full_message << "\n";
- std::cerr << full_message.str();
+ // Add other info from the envelope and the message text.
+ full_message << "VoskAPI" << ':'
+ << env.func << "():" << env.file << ':'
+ << env.line << ") " << message;
+ if(env.severity >= LogMessageEnvelope::kInfo) emscripten_console_log(full_message.str().c_str());
+ else if(env.severity == LogMessageEnvelope::kWarning) emscripten_console_warn(full_message.str().c_str());
+ else emscripten_console_error(full_message.str().c_str());
}
#endif
diff --git a/src/model.h b/src/model.h
index 7fc09df..608d28a 100644
--- a/src/model.h
+++ b/src/model.h
@@ -32,6 +32,7 @@
#include "rnnlm/rnnlm-utils.h"
#include "rnnlm/rnnlm-lattice-rescoring.h"
#include <atomic>
+#include <emscripten/console.h>
using namespace kaldi;
using namespace std;
diff --git a/src/recognizer.cc b/src/recognizer.cc
index 1da6e6b..44c4d8c 100644
index 55d9991..4802b92 100644
--- a/src/recognizer.cc
+++ b/src/recognizer.cc
@@ -384,8 +384,9 @@ bool Recognizer::AcceptWaveform(const float *fdata, int len)