Kolja Beigel 11 tháng trước cách đây
mục cha
commit
484aa09c5e

+ 8 - 7
RealtimeSTT/audio_recorder.py

@@ -52,6 +52,9 @@ import os
 import re
 import gc
 
+# Set OpenMP runtime duplicate library handling to OK (Use only for development!)
+os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
+
 INIT_MODEL_TRANSCRIPTION = "tiny"
 INIT_MODEL_TRANSCRIPTION_REALTIME = "tiny"
 INIT_REALTIME_PROCESSING_PAUSE = 0.2
@@ -390,15 +393,13 @@ class AudioToTextRecorder:
         self.is_shut_down = False
         self.shutdown_event = mp.Event()
 
-        logging.info("Starting RealTimeSTT")
-
-        # Start transcription worker process
         try:
-            # Only set the start method if it hasn't been set already
-            if mp.get_start_method(allow_none=True) is None:
-                mp.set_start_method("spawn")
+            logging.debug("Explicitly setting the multiprocessing start method to 'spawn'")
+            mp.set_start_method('spawn')
         except RuntimeError as e:
-            print("Start method has already been set. Details:", e)
+            logging.debug("Start method has already been set. Details:", e)
+
+        logging.info("Starting RealTimeSTT")
 
         self.interrupt_stop_event = mp.Event()
         self.was_interrupted = mp.Event()

+ 2 - 2
example_browserclient/client.js

@@ -1,4 +1,4 @@
-let socket = new WebSocket("ws://localhost:9001");
+let socket = new WebSocket("ws://localhost:8001");
 let displayDiv = document.getElementById('textDisplay');
 let server_available = false;
 let mic_available = false;
@@ -7,7 +7,7 @@ let fullSentences = [];
 const serverCheckInterval = 5000; // Check every 5 seconds
 
 function connectToServer() {
-    socket = new WebSocket("ws://localhost:9001");
+    socket = new WebSocket("ws://localhost:8001");
 
     socket.onopen = function(event) {
         server_available = true;

+ 2 - 1
example_browserclient/server.py

@@ -98,7 +98,8 @@ if __name__ == '__main__':
             resampled_chunk = decode_and_resample(chunk, sample_rate, 16000)
             recorder.feed_audio(resampled_chunk)
 
-    start_server = websockets.serve(echo, "0.0.0.0", 9001)
+    # start_server = websockets.serve(echo, "0.0.0.0", 9001)
+    start_server = websockets.serve(echo, "localhost", 8001)
 
     recorder_thread = threading.Thread(target=recorder_thread)
     recorder_thread.start()

+ 2 - 17
tests/realtimestt_test.py

@@ -28,21 +28,6 @@ if __name__ == '__main__':
             clear_console()
             print(displayed_text, end="", flush=True)
 
-    # def text_detected(text):
-    #     global displayed_text
-    #     clear_console()
-    #     print(text)
-        # sentences_with_style = [
-        #     f"{Fore.YELLOW + sentence + Style.RESET_ALL if i % 2 == 0 else Fore.CYAN + sentence + Style.RESET_ALL} "
-        #     for i, sentence in enumerate(full_sentences)
-        # ]
-        # new_text = "".join(sentences_with_style).strip() + " " + text if len(sentences_with_style) > 0 else text
-
-        # if new_text != displayed_text:
-        #     displayed_text = new_text
-        #     clear_console()
-        #     print(displayed_text, end="", flush=True)
-
     def process_text(text):
         full_sentences.append(text)
         text_detected("")
@@ -60,7 +45,6 @@ if __name__ == '__main__':
         'realtime_processing_pause': 0.2,
         'realtime_model_type': 'tiny.en',
         'on_realtime_transcription_update': text_detected, 
-        #'on_realtime_transcription_stabilized': text_detected,
     }
 
     recorder = AudioToTextRecorder(**recorder_config)
@@ -69,4 +53,5 @@ if __name__ == '__main__':
     print("Say something...", end="", flush=True)
 
     while True:
-        recorder.text(process_text)
+        recorder.text(process_text)
+