]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commitdiff
whisper : add whisper_lang_str_full (#1546)
authorbradmit <redacted>
Fri, 24 Nov 2023 07:33:13 +0000 (18:33 +1100)
committerGitHub <redacted>
Fri, 24 Nov 2023 07:33:13 +0000 (09:33 +0200)
* Update whisper.h

add whisper_lang_fullstr to retrieve the full language name

* Update whisper.cpp

add whisper_lang_fullstr to return the full language name

* fullstr -> str_full

---------

Co-authored-by: Georgi Gerganov <redacted>
whisper.cpp
whisper.h

index 2727bada1855152aeec91cecad8f5aa39ebe914e..793614876a03c296757dce0a40b1a3dc0ade0f4d 100644 (file)
@@ -3593,6 +3593,17 @@ const char * whisper_lang_str(int id) {
     return nullptr;
 }
 
+const char * whisper_lang_str_full(int id) {
+   for (const auto & kv : g_lang) {
+        if (kv.second.first == id) {
+            return kv.second.second.c_str();
+        }
+    }
+
+    WHISPER_LOG_ERROR("%s: unknown language id %d\n", __func__, id);
+    return nullptr;
+}
+
 int whisper_lang_auto_detect_with_state(
         struct whisper_context * ctx,
           struct whisper_state * state,
index 41eb88a667560ffa4b6b299ab130cce2ad4a8e6b..bd3409fcdb069c48abb24413779b38d10d0d3606 100644 (file)
--- a/whisper.h
+++ b/whisper.h
@@ -315,6 +315,9 @@ extern "C" {
     // Return the short string of the specified language id (e.g. 2 -> "de"), returns nullptr if not found
     WHISPER_API const char * whisper_lang_str(int id);
 
+    // Return the short string of the specified language name (e.g. 2 -> "german"), returns nullptr if not found
+    WHISPER_API const char * whisper_lang_str_full(int id); 
+
     // Use mel data at offset_ms to try and auto-detect the spoken language
     // Make sure to call whisper_pcm_to_mel() or whisper_set_mel() first
     // Returns the top language id or negative on failure