EliasVincent пре 2 година
родитељ
комит
4c72e43bcf
2 измењених фајлова са 45 додато и 0 уклоњено
  1. 5 0
      extensions/whisper_stt/requirements.txt
  2. 40 0
      extensions/whisper_stt/script.py

+ 5 - 0
extensions/whisper_stt/requirements.txt

@@ -0,0 +1,5 @@
+git+https://github.com/Uberi/speech_recognition.git@010382b
+PyAudio
+openai-whisper
+soundfile
+ffmpeg

+ 40 - 0
extensions/whisper_stt/script.py

@@ -0,0 +1,40 @@
+import gradio as gr
+import speech_recognition as sr
+import modules.shared as shared
+
+input_hijack = {
+    'state': False,
+    'value': ["", ""]
+}
+
+
+def input_modifier(string):
+    return string
+
+
+def do_stt():
+    transcription = ""
+    r = sr.Recognizer()
+    with sr.Microphone() as source:
+        print("Say something!")
+        r.adjust_for_ambient_noise(source)
+        audio = r.listen(source)
+
+    # recognize speech using whisper
+    try:
+        transcription = r.recognize_whisper(audio, language="english", model="tiny.en")
+        print("Whisper thinks you said " + transcription)
+    except sr.UnknownValueError:
+        print("Whisper could not understand audio")
+    except sr.RequestError as e:
+        print("Could not request results from Whisper")
+
+    # input_modifier(transcription)
+    input_hijack.update({"state": True, "value": [transcription, transcription]})
+    return transcription
+
+
+def ui():
+    speech_button = gr.Button(value="STT")
+    output_transcription = gr.Textbox(label="Speech Preview")
+    speech_button.click(do_stt, outputs=[output_transcription])