From f3ac8d2c80d4190e1d3bd5fa7d1f0ec72c6a1526 Mon Sep 17 00:00:00 2001 From: Konrad Date: Tue, 22 Oct 2024 18:53:44 +0200 Subject: [PATCH 01/18] moved speech tools to a tools folder --- src/speech/speech_to_text.py | 1 - src/speech/{ => tools}/audioAnalyse.py | 0 2 files changed, 1 deletion(-) rename src/speech/{ => tools}/audioAnalyse.py (100%) diff --git a/src/speech/speech_to_text.py b/src/speech/speech_to_text.py index 84179cf..449fe07 100644 --- a/src/speech/speech_to_text.py +++ b/src/speech/speech_to_text.py @@ -89,7 +89,6 @@ def handle_chunk(chunk, index): time.sleep(2) - remove_tmp_wav_file() else: audio_file = path_to_audio_file(sys.argv[1]) diff --git a/src/speech/audioAnalyse.py b/src/speech/tools/audioAnalyse.py similarity index 100% rename from src/speech/audioAnalyse.py rename to src/speech/tools/audioAnalyse.py From 2a9a3fa1004ce2cbe81ecb6c51c81e01a354e803 Mon Sep 17 00:00:00 2001 From: Konrad Date: Tue, 22 Oct 2024 18:53:52 +0200 Subject: [PATCH 02/18] updated requirements-txt --- src/speech/requirements.txt | Bin 700 -> 918 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/speech/requirements.txt b/src/speech/requirements.txt index 42810b27f2c9f602abca1218163a8089327fb10d..2ebd4b2aa631da3fc93b9e922c60721c9f891ce3 100644 GIT binary patch delta 244 zcmYL@K?=e!5Ji7Q5d@E-q;=uSrRNZ9vk0U%G_B&QhbVXs58xHNlYb`A5=bEP=KcR& zz1N?R4IU09S~Q5b;>2UHN3OTQ78}(3?-1b0bi9QZ?m+IStWbAO9UYb~iwZq%e1$8> zBxmA!8UtQwHV)bEVwq5KzolhvAbW*2h;+GWC)Z3drhbt#uel9&c+gc%7U^il^WwRb F>^}p`Ctd&m delta 15 XcmbQnzK3-~0psKcjCUq0F&6*;F)ju8 From 59a885af3ce9d0478e07550510942bfc08ae3c34 Mon Sep 17 00:00:00 2001 From: Konrad Date: Tue, 22 Oct 2024 18:55:30 +0200 Subject: [PATCH 03/18] moved speech to text files to core --- {src/speech => core/speech_to_text}/README.md | 0 {src => core/speech_to_text}/__init__.py | 0 .../speech_to_text}/audioProcessor.py | 0 .../speech => core/speech_to_text}/audioRecorder.py | 0 .../speech => core/speech_to_text}/requirements.txt | Bin .../speech_to_text}/speech_to_text.py | 0 .../speech_to_text}/tools/audioAnalyse.py | 0 src/speech/__init__.py | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename {src/speech => core/speech_to_text}/README.md (100%) rename {src => core/speech_to_text}/__init__.py (100%) rename {src/speech => core/speech_to_text}/audioProcessor.py (100%) rename {src/speech => core/speech_to_text}/audioRecorder.py (100%) rename {src/speech => core/speech_to_text}/requirements.txt (100%) rename {src/speech => core/speech_to_text}/speech_to_text.py (100%) rename {src/speech => core/speech_to_text}/tools/audioAnalyse.py (100%) delete mode 100644 src/speech/__init__.py diff --git a/src/speech/README.md b/core/speech_to_text/README.md similarity index 100% rename from src/speech/README.md rename to core/speech_to_text/README.md diff --git a/src/__init__.py b/core/speech_to_text/__init__.py similarity index 100% rename from src/__init__.py rename to core/speech_to_text/__init__.py diff --git a/src/speech/audioProcessor.py b/core/speech_to_text/audioProcessor.py similarity index 100% rename from src/speech/audioProcessor.py rename to core/speech_to_text/audioProcessor.py diff --git a/src/speech/audioRecorder.py b/core/speech_to_text/audioRecorder.py similarity index 100% rename from src/speech/audioRecorder.py rename to core/speech_to_text/audioRecorder.py diff --git a/src/speech/requirements.txt b/core/speech_to_text/requirements.txt similarity index 100% rename from src/speech/requirements.txt rename to core/speech_to_text/requirements.txt diff --git a/src/speech/speech_to_text.py b/core/speech_to_text/speech_to_text.py similarity index 100% rename from src/speech/speech_to_text.py rename to core/speech_to_text/speech_to_text.py diff --git a/src/speech/tools/audioAnalyse.py b/core/speech_to_text/tools/audioAnalyse.py similarity index 100% rename from src/speech/tools/audioAnalyse.py rename to core/speech_to_text/tools/audioAnalyse.py diff --git a/src/speech/__init__.py b/src/speech/__init__.py deleted file mode 100644 index e69de29..0000000 From 48af4133d36039b7496424ea50032a1fc695404a Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 24 Oct 2024 17:54:07 +0200 Subject: [PATCH 04/18] Added js function for voice button --- core/static/index.js | 2 ++ core/static/recording.js | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 core/static/recording.js diff --git a/core/static/index.js b/core/static/index.js index c3196e5..9696b79 100644 --- a/core/static/index.js +++ b/core/static/index.js @@ -9,6 +9,8 @@ Main js file for loading the dynamic UI elements. document.getElementById('send_button').addEventListener('click', sendMessage) document.getElementById('clear_log').addEventListener('click', clear_log) + document.getElementById('voice_button').addEventListener('click', startRecording) + document.querySelector(".chatHistory").innerHTML += chatHistoryList() // To hide settings page when clicking somewhere else after it's opened. diff --git a/core/static/recording.js b/core/static/recording.js new file mode 100644 index 0000000..8fc4a08 --- /dev/null +++ b/core/static/recording.js @@ -0,0 +1,5 @@ +startRecording = () => { + console.log("Recording started"); + const payload = {conversation_id: state.activeConversationId} + let res = socket.emit('start_recording', payload) +} \ No newline at end of file From 294c7dfc0c9d9df0a68f59cecd9a377ae186e80a Mon Sep 17 00:00:00 2001 From: WilliamMRS Date: Thu, 24 Oct 2024 17:54:28 +0200 Subject: [PATCH 05/18] beginning to add voice --- core/Dockerfile | 3 - docker-compose.yml | 13 ++ speech/Dockerfile | 0 speech/requirements.txt | 0 speechToText/Dockerfile | 18 ++ {src/speech => speechToText}/README.md | 0 {src => speechToText}/__init__.py | 0 .../speech => speechToText}/audioProcessor.py | 198 ++++++++--------- {src/speech => speechToText}/audioRecorder.py | 150 ++++++------- {src/speech => speechToText}/requirements.txt | Bin .../speech => speechToText}/speech_to_text.py | 204 +++++++++--------- .../tools}/audioAnalyse.py | 82 +++---- src/speech/__init__.py | 0 13 files changed, 346 insertions(+), 322 deletions(-) delete mode 100644 speech/Dockerfile delete mode 100644 speech/requirements.txt create mode 100644 speechToText/Dockerfile rename {src/speech => speechToText}/README.md (100%) rename {src => speechToText}/__init__.py (100%) rename {src/speech => speechToText}/audioProcessor.py (96%) rename {src/speech => speechToText}/audioRecorder.py (97%) rename {src/speech => speechToText}/requirements.txt (100%) rename {src/speech => speechToText}/speech_to_text.py (94%) rename {src/speech => speechToText/tools}/audioAnalyse.py (96%) delete mode 100644 src/speech/__init__.py diff --git a/core/Dockerfile b/core/Dockerfile index a006035..2bc5266 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -13,9 +13,6 @@ RUN pip install --no-cache-dir -r requirements.txt # Copy the current directory contents into the container at /app COPY . . -# Make port 8000 available to the world outside this container -EXPOSE 3001 - # Run app.py when the container launches CMD ["python","-u", "main.py"] #CMD ["gunicorn", "--worker-class", "eventlet", "-w", "1", "-b", "0.0.0.0:8000", "app:app"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index d3a6956..3eb8146 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,6 +15,19 @@ services: ports: - "3000:3000" + speech-to-text: + build: ./speechToText + restart: unless-stopped + environment: + FLASK_ENV: ${FLASK_ENV} # Autorestarts flask when code changes are detected + OPENAI_API_KEY: ${OPENAI_API_KEY} + volumes: + - ./core:/app # Mount the application code to detect live changes + networks: + - backend + stop_signal: SIGINT + ports: + - "3001:3001" networks: backend: diff --git a/speech/Dockerfile b/speech/Dockerfile deleted file mode 100644 index e69de29..0000000 diff --git a/speech/requirements.txt b/speech/requirements.txt deleted file mode 100644 index e69de29..0000000 diff --git a/speechToText/Dockerfile b/speechToText/Dockerfile new file mode 100644 index 0000000..2bc5266 --- /dev/null +++ b/speechToText/Dockerfile @@ -0,0 +1,18 @@ +# Use an official Python runtime as a parent image +FROM python:3.10-bookworm + +# Set the working directory in the container +WORKDIR /app + +# Copy only requrirements to keep cache. +COPY requirements.txt requirements.txt + +# Install any needed packages specified in requirements.txt +RUN pip install --no-cache-dir -r requirements.txt + +# Copy the current directory contents into the container at /app +COPY . . + +# Run app.py when the container launches +CMD ["python","-u", "main.py"] +#CMD ["gunicorn", "--worker-class", "eventlet", "-w", "1", "-b", "0.0.0.0:8000", "app:app"] \ No newline at end of file diff --git a/src/speech/README.md b/speechToText/README.md similarity index 100% rename from src/speech/README.md rename to speechToText/README.md diff --git a/src/__init__.py b/speechToText/__init__.py similarity index 100% rename from src/__init__.py rename to speechToText/__init__.py diff --git a/src/speech/audioProcessor.py b/speechToText/audioProcessor.py similarity index 96% rename from src/speech/audioProcessor.py rename to speechToText/audioProcessor.py index 74c44db..4c10353 100644 --- a/src/speech/audioProcessor.py +++ b/speechToText/audioProcessor.py @@ -1,99 +1,99 @@ -import numpy as np -import wave -from scipy.io import wavfile -import noisereduce as nr -from silero_vad import load_silero_vad, get_speech_timestamps, read_audio -from scipy.signal import resample - - - - - -class AudioProcessor: - def __init__(self, audio_path=None): - if audio_path is not None: - self.load_audio(audio_path) - else: - self.audio_path = None - self.sr = None - self.audio = None - - def load_audio(self, audio_path): - self.audio_path = audio_path - self.audio = read_audio(audio_path) - - # so far, very shit - def reduce_noise(self): - reduced_noise = nr.reduce_noise(y=self.audio, sr=16000) - scaled_audio = np.int16(reduced_noise * 32767) - self.audio = scaled_audio - - - def save_audio(self, output_path): - wavfile.write(output_path, 16000, self.audio) - - def remove_silence(self, output_path=None): - model = load_silero_vad() - wav = read_audio(self.audio_path) - speech_timestamps = get_speech_timestamps(wav, model) - speech_segments = [wav[segment['start']:segment['end']] for segment in speech_timestamps] - combined_speech = np.concatenate(speech_segments) - - if output_path is not None: - wavfile.write(output_path, 16000, combined_speech) - else: - self.audio = combined_speech - - - def boost_audio(self, factor=1.5): - boosted_audio = self.audio * factor - self.audio= np.clip(boosted_audio, -32768, 32767).astype(np.int16) - - def verify_audio_long_enough(self, length=16000): - if len(self.audio) < length: - return False - return True - - def process(self): - self.remove_silence() - #self.reduce_noise() - #self.boost_audio() - - return self.verify_audio_long_enough() - -# for debugging -if __name__ == "__main__": - - import sys - boosting = False - remove_silence = False - if len(sys.argv) >= 4 and sys.argv[1] == "boost": - boosting = True - processor = AudioProcessor(audio_path=sys.argv[2]) - - - boosted_audio = processor.boost_audio(float(sys.argv[3])) - processor.save_audio("boosted.wav") - - elif len(sys.argv) >= 4 and sys.argv[1] == "silence": - remove_silence = True - processor = AudioProcessor(audio_path=sys.argv[2]) - processor.remove_silence(sys.argv[3]) - - if not boosting and not remove_silence: - - if len(sys.argv) < 3: - print("Usage: python AudioProcessor.py ") - sys.exit(1) - - input_path = sys.argv[1] - output_path = sys.argv[2] - - # Initialize processor - processor = AudioProcessor(audio_path=input_path) - audio_enough = processor.process() - if audio_enough == False: - print("Audio too short") - else: - processor.save_audio(output_path) - +import numpy as np +import wave +from scipy.io import wavfile +import noisereduce as nr +from silero_vad import load_silero_vad, get_speech_timestamps, read_audio +from scipy.signal import resample + + + + + +class AudioProcessor: + def __init__(self, audio_path=None): + if audio_path is not None: + self.load_audio(audio_path) + else: + self.audio_path = None + self.sr = None + self.audio = None + + def load_audio(self, audio_path): + self.audio_path = audio_path + self.audio = read_audio(audio_path) + + # so far, very shit + def reduce_noise(self): + reduced_noise = nr.reduce_noise(y=self.audio, sr=16000) + scaled_audio = np.int16(reduced_noise * 32767) + self.audio = scaled_audio + + + def save_audio(self, output_path): + wavfile.write(output_path, 16000, self.audio) + + def remove_silence(self, output_path=None): + model = load_silero_vad() + wav = read_audio(self.audio_path) + speech_timestamps = get_speech_timestamps(wav, model) + speech_segments = [wav[segment['start']:segment['end']] for segment in speech_timestamps] + combined_speech = np.concatenate(speech_segments) + + if output_path is not None: + wavfile.write(output_path, 16000, combined_speech) + else: + self.audio = combined_speech + + + def boost_audio(self, factor=1.5): + boosted_audio = self.audio * factor + self.audio= np.clip(boosted_audio, -32768, 32767).astype(np.int16) + + def verify_audio_long_enough(self, length=16000): + if len(self.audio) < length: + return False + return True + + def process(self): + self.remove_silence() + #self.reduce_noise() + #self.boost_audio() + + return self.verify_audio_long_enough() + +# for debugging +if __name__ == "__main__": + + import sys + boosting = False + remove_silence = False + if len(sys.argv) >= 4 and sys.argv[1] == "boost": + boosting = True + processor = AudioProcessor(audio_path=sys.argv[2]) + + + boosted_audio = processor.boost_audio(float(sys.argv[3])) + processor.save_audio("boosted.wav") + + elif len(sys.argv) >= 4 and sys.argv[1] == "silence": + remove_silence = True + processor = AudioProcessor(audio_path=sys.argv[2]) + processor.remove_silence(sys.argv[3]) + + if not boosting and not remove_silence: + + if len(sys.argv) < 3: + print("Usage: python AudioProcessor.py ") + sys.exit(1) + + input_path = sys.argv[1] + output_path = sys.argv[2] + + # Initialize processor + processor = AudioProcessor(audio_path=input_path) + audio_enough = processor.process() + if audio_enough == False: + print("Audio too short") + else: + processor.save_audio(output_path) + diff --git a/src/speech/audioRecorder.py b/speechToText/audioRecorder.py similarity index 97% rename from src/speech/audioRecorder.py rename to speechToText/audioRecorder.py index c7be29c..9596eab 100644 --- a/src/speech/audioRecorder.py +++ b/speechToText/audioRecorder.py @@ -1,75 +1,75 @@ -import pyaudio -import time -import numpy as np -import sys - - -class AudioRecorder: - def __init__(self, chunk_size=1024, rate=16000, channels=1, silence_threshold=500, max_silence_duration=5): - self.chunk_size = chunk_size - self.rate = rate - self.channels = channels - self.silence_threshold = silence_threshold - self.max_silence_duration = max_silence_duration - - self.audio_chunks = [] - - def start_recording(self): - self.audio = pyaudio.PyAudio() - self.stream = self.audio.open(format=pyaudio.paInt16, channels=self.channels, rate=self.rate, input=True, frames_per_buffer=self.chunk_size) - self.audio_chunks = [] - print("Recording started") - - - def stop_recording(self): - self.stream.stop_stream() - self.stream.close() - print("Recording stopped") - - def silent(self, data): - audio_data = np.frombuffer(data, dtype=np.int16) - if np.isnan(audio_data).any() or np.mean(audio_data**2) <= 0: - return True - rms = np.sqrt(np.mean(audio_data ** 2)) - # sys.stdout.write(f"\rRMS: {rms}") - # sys.stdout.flush() - return rms < self.silence_threshold - - def record(self, MERGE_SIZE=60, min_frames_with_sound=20): - self.start_recording() - - self.audio_chunks = [] - silence_start = None - frames_with_sound = 0 - MERGE_SIZE_UPPER = MERGE_SIZE * 3 - - try: - while True: - data = self.stream.read(self.chunk_size) - self.audio_chunks.append(data) - - if self.silent(data): - - if silence_start is None: - silence_start = time.time() - - if len(self.audio_chunks) >= MERGE_SIZE and time.time() - silence_start > 0.2 or len(self.audio_chunks) >= MERGE_SIZE_UPPER: - if frames_with_sound > min_frames_with_sound: - yield b''.join(self.audio_chunks) - frames_with_sound = 0 - self.audio_chunks = [] - - - elif time.time() - silence_start > self.max_silence_duration: - print(f"Silence detected for more than {self.max_silence_duration} seconds, stopping recording.") - break - else: - silence_start = None - frames_with_sound += 1 - - except KeyboardInterrupt: - print("Recording stopped by user.") - finally: - self.stop_recording() - - return self.audio_chunks +import pyaudio +import time +import numpy as np +import sys + + +class AudioRecorder: + def __init__(self, chunk_size=1024, rate=16000, channels=1, silence_threshold=500, max_silence_duration=5): + self.chunk_size = chunk_size + self.rate = rate + self.channels = channels + self.silence_threshold = silence_threshold + self.max_silence_duration = max_silence_duration + + self.audio_chunks = [] + + def start_recording(self): + self.audio = pyaudio.PyAudio() + self.stream = self.audio.open(format=pyaudio.paInt16, channels=self.channels, rate=self.rate, input=True, frames_per_buffer=self.chunk_size) + self.audio_chunks = [] + print("Recording started") + + + def stop_recording(self): + self.stream.stop_stream() + self.stream.close() + print("Recording stopped") + + def silent(self, data): + audio_data = np.frombuffer(data, dtype=np.int16) + if np.isnan(audio_data).any() or np.mean(audio_data**2) <= 0: + return True + rms = np.sqrt(np.mean(audio_data ** 2)) + # sys.stdout.write(f"\rRMS: {rms}") + # sys.stdout.flush() + return rms < self.silence_threshold + + def record(self, MERGE_SIZE=60, min_frames_with_sound=20): + self.start_recording() + + self.audio_chunks = [] + silence_start = None + frames_with_sound = 0 + MERGE_SIZE_UPPER = MERGE_SIZE * 3 + + try: + while True: + data = self.stream.read(self.chunk_size) + self.audio_chunks.append(data) + + if self.silent(data): + + if silence_start is None: + silence_start = time.time() + + if len(self.audio_chunks) >= MERGE_SIZE and time.time() - silence_start > 0.2 or len(self.audio_chunks) >= MERGE_SIZE_UPPER: + if frames_with_sound > min_frames_with_sound: + yield b''.join(self.audio_chunks) + frames_with_sound = 0 + self.audio_chunks = [] + + + elif time.time() - silence_start > self.max_silence_duration: + print(f"Silence detected for more than {self.max_silence_duration} seconds, stopping recording.") + break + else: + silence_start = None + frames_with_sound += 1 + + except KeyboardInterrupt: + print("Recording stopped by user.") + finally: + self.stop_recording() + + return self.audio_chunks diff --git a/src/speech/requirements.txt b/speechToText/requirements.txt similarity index 100% rename from src/speech/requirements.txt rename to speechToText/requirements.txt diff --git a/src/speech/speech_to_text.py b/speechToText/speech_to_text.py similarity index 94% rename from src/speech/speech_to_text.py rename to speechToText/speech_to_text.py index 84179cf..5feb1ce 100644 --- a/src/speech/speech_to_text.py +++ b/speechToText/speech_to_text.py @@ -1,104 +1,100 @@ -from openai import OpenAI -import os -from dotenv import load_dotenv -import numpy as np -import wave -from audioRecorder import AudioRecorder -from audioProcessor import AudioProcessor -import time -from threading import Thread - -load_dotenv() -client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) - - -def create_tmp_wav_file(chunk, rate=16000, channels=1, path="tmp.wav"): - with wave.open(path, 'wb') as wav_file: - wav_file.setnchannels(channels) # Mono audio - wav_file.setsampwidth(2) # 2 bytes per sample, assuming 16-bit audio - wav_file.setframerate(rate) # Assuming 16kHz sample rate - wav_file.writeframes(chunk) - -def remove_tmp_wav_file(index=None): - if index is not None: - if os.path.exists(f"tmp{index}.wav"): - os.remove(f"tmp{index}.wav") - else: - if os.path.exists("tmp.wav"): - os.remove("tmp.wav") - -def speech_to_text(audio_file): - prompt="Transcribe the following Norwegian speech to text, the sentances may be cut off, do not make up words or fill in the sentances" - - transcription = client.audio.transcriptions.create( - model="whisper-1", - file=audio_file, - language="no", - prompt=prompt, - ) - transcription.text.replace(prompt, "") - return transcription - - -def path_to_audio_file(path): - audio_file = open(path, "rb") - return audio_file - -def chunks_to_text(chunks): - text = [] - for chunk in chunks: - audio = np.frombuffer(chunk, np.int16) - text.append(speech_to_text(audio)) - return text - -def chunks_to_full_audio(chunks): - return b"".join(chunks) - - -def handle_chunk(chunk, index): - create_tmp_wav_file(chunk, path=f"tmp{index}.wav") - processor = AudioProcessor(f"tmp{index}.wav") - processor.process() - processor.save_audio(f"tmp{index}.wav") - audio_file = path_to_audio_file(f"tmp{index}.wav") - - text.append(speech_to_text(audio_file=audio_file)) - audio_file.close() - print(text[-1].text) - remove_tmp_wav_file(index) - - -if __name__ == "__main__": - import sys - if len(sys.argv) ==1: - - CHUNK_SIZE = 1024 # Number of frames in a buffer - RATE = 16000 # 16 000 Hz is a common rate for speech processing - CHANNELS = 1 # Mono audio - SILENCE_THRESHOLD = 25 # Used to detect silence for stopping recording - MAX_SILENCE_DURATION = 5 # Seconds of silence to stop recording - - recorder = AudioRecorder(chunk_size=CHUNK_SIZE, rate=RATE, channels=CHANNELS, silence_threshold=SILENCE_THRESHOLD, max_silence_duration=MAX_SILENCE_DURATION) - - text = [] - index = 0 - for chunk in recorder.record(30): - t = Thread(target=handle_chunk, args=(chunk,index)) - index += 1 - t.start() - - time.sleep(2) - - remove_tmp_wav_file() - - else: - audio_file = path_to_audio_file(sys.argv[1]) - transcription = speech_to_text(audio_file) - print(transcription.text) - audio_file.close() - - - # audio_file = path_to_audio_file("nb-whisper-main/nb-whisper-main/audio/erna.mp3") - # transcription = speech_to_text(audio_file) - # print(transcription.text) - # audio_file.close() +from openai import OpenAI +import os +from dotenv import load_dotenv +import numpy as np +import wave +from audioRecorder import AudioRecorder +from audioProcessor import AudioProcessor +import time +from threading import Thread + +load_dotenv() +client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) + + +def create_tmp_wav_file(chunk, rate=16000, channels=1, path="tmp.wav"): + with wave.open(path, 'wb') as wav_file: + wav_file.setnchannels(channels) # Mono audio + wav_file.setsampwidth(2) # 2 bytes per sample, assuming 16-bit audio + wav_file.setframerate(rate) # Assuming 16kHz sample rate + wav_file.writeframes(chunk) + +def remove_tmp_wav_file(index=None): + if index is not None: + if os.path.exists(f"tmp{index}.wav"): + os.remove(f"tmp{index}.wav") + else: + if os.path.exists("tmp.wav"): + os.remove("tmp.wav") + +def speech_to_text(audio_file): + prompt="Transcribe the following Norwegian speech to text, the sentances may be cut off, do not make up words or fill in the sentances" + transcription = client.audio.transcriptions.create( + model="whisper-1", + file=audio_file, + language="no", + prompt=prompt, + ) + transcription.text.replace(prompt, "") + return transcription + + +def path_to_audio_file(path): + audio_file = open(path, "rb") + return audio_file + +def chunks_to_text(chunks): + text = [] + for chunk in chunks: + audio = np.frombuffer(chunk, np.int16) + text.append(speech_to_text(audio)) + return text + +def chunks_to_full_audio(chunks): + return b"".join(chunks) + + +def handle_chunk(chunk, index): + create_tmp_wav_file(chunk, path=f"tmp{index}.wav") + processor = AudioProcessor(f"tmp{index}.wav") + processor.process() + processor.save_audio(f"tmp{index}.wav") + audio_file = path_to_audio_file(f"tmp{index}.wav") + + text.append(speech_to_text(audio_file=audio_file)) + audio_file.close() + print(text[-1].text) + remove_tmp_wav_file(index) + + +if __name__ == "__main__": + import sys + if len(sys.argv) ==1: + + CHUNK_SIZE = 1024 # Number of frames in a buffer + RATE = 16000 # 16 000 Hz is a common rate for speech processing + CHANNELS = 1 # Mono audio + SILENCE_THRESHOLD = 25 # Used to detect silence for stopping recording + MAX_SILENCE_DURATION = 5 # Seconds of silence to stop recording + + recorder = AudioRecorder(chunk_size=CHUNK_SIZE, rate=RATE, channels=CHANNELS, silence_threshold=SILENCE_THRESHOLD, max_silence_duration=MAX_SILENCE_DURATION) + + text = [] + index = 0 + for chunk in recorder.record(30): + t = Thread(target=handle_chunk, args=(chunk,index)) + index += 1 + t.start() + + time.sleep(2) + else: + audio_file = path_to_audio_file(sys.argv[1]) + transcription = speech_to_text(audio_file) + print(transcription.text) + audio_file.close() + + + # audio_file = path_to_audio_file("nb-whisper-main/nb-whisper-main/audio/erna.mp3") + # transcription = speech_to_text(audio_file) + # print(transcription.text) + # audio_file.close() \ No newline at end of file diff --git a/src/speech/audioAnalyse.py b/speechToText/tools/audioAnalyse.py similarity index 96% rename from src/speech/audioAnalyse.py rename to speechToText/tools/audioAnalyse.py index 04650fa..f53be63 100644 --- a/src/speech/audioAnalyse.py +++ b/speechToText/tools/audioAnalyse.py @@ -1,41 +1,41 @@ -import numpy as np -import matplotlib.pyplot as plt -from scipy.io import wavfile -import seaborn as sns -import librosa -import librosa.display - -def analyze_audio(audio_path): - # Load the WAV file - sr, audio_data = wavfile.read(audio_path) - - # If stereo, take only one channel (convert to mono) - if len(audio_data.shape) == 2: - audio_data = audio_data.mean(axis=1) - - # Normalize audio data to range between -1 and 1 - audio_data = audio_data / np.max(np.abs(audio_data)) - - - - # Plot the spectrogram - audio_data_librosa, _ = librosa.load(audio_path, sr=sr) - D = librosa.amplitude_to_db(np.abs(librosa.stft(audio_data_librosa)), ref=np.max) - librosa.display.specshow(D, sr=sr, x_axis='time', y_axis='log') - plt.colorbar(format='%+2.0f dB') - plt.title('Spectrogram') - - plt.tight_layout() - plt.show() - -if __name__ == "__main__": - import sys - if len(sys.argv) < 2: - print("Usage: python audio_analysis.py ") - sys.exit(1) - - audio_path = sys.argv[1] - analyze_audio(audio_path) - if len(sys.argv) > 2: - audio_path2 = sys.argv[2] - analyze_audio(audio_path2) +import numpy as np +import matplotlib.pyplot as plt +from scipy.io import wavfile +import seaborn as sns +import librosa +import librosa.display + +def analyze_audio(audio_path): + # Load the WAV file + sr, audio_data = wavfile.read(audio_path) + + # If stereo, take only one channel (convert to mono) + if len(audio_data.shape) == 2: + audio_data = audio_data.mean(axis=1) + + # Normalize audio data to range between -1 and 1 + audio_data = audio_data / np.max(np.abs(audio_data)) + + + + # Plot the spectrogram + audio_data_librosa, _ = librosa.load(audio_path, sr=sr) + D = librosa.amplitude_to_db(np.abs(librosa.stft(audio_data_librosa)), ref=np.max) + librosa.display.specshow(D, sr=sr, x_axis='time', y_axis='log') + plt.colorbar(format='%+2.0f dB') + plt.title('Spectrogram') + + plt.tight_layout() + plt.show() + +if __name__ == "__main__": + import sys + if len(sys.argv) < 2: + print("Usage: python audio_analysis.py ") + sys.exit(1) + + audio_path = sys.argv[1] + analyze_audio(audio_path) + if len(sys.argv) > 2: + audio_path2 = sys.argv[2] + analyze_audio(audio_path2) diff --git a/src/speech/__init__.py b/src/speech/__init__.py deleted file mode 100644 index e69de29..0000000 From 063070903fd5fedcba2eb021b4d0b530ad79b604 Mon Sep 17 00:00:00 2001 From: WilliamMRS Date: Thu, 24 Oct 2024 17:56:41 +0200 Subject: [PATCH 06/18] added flask server as main.py --- docker-compose.yml | 1 + speechToText/main.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 speechToText/main.py diff --git a/docker-compose.yml b/docker-compose.yml index 3eb8146..5b59d7f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,6 +21,7 @@ services: environment: FLASK_ENV: ${FLASK_ENV} # Autorestarts flask when code changes are detected OPENAI_API_KEY: ${OPENAI_API_KEY} + PORT: ${PORT_STT} volumes: - ./core:/app # Mount the application code to detect live changes networks: diff --git a/speechToText/main.py b/speechToText/main.py new file mode 100644 index 0000000..f762f4f --- /dev/null +++ b/speechToText/main.py @@ -0,0 +1,14 @@ +from flask import Flask, request, url_for, jsonify +from flask_socketio import SocketIO, send, emit +from flask_cors import CORS + +app = Flask(__name__, static_url_path='/static') +app.config['SECRET_KEY'] = 'secret_key_xdddd' # TODO: Make a better key +CORS(app, resources={r"/*": {"origins": "*"}}) # TODO: Make the CORS actually not accept everything +socketio = SocketIO(app, cors_allowed_origins="*") +# Routes + + +# Routes end +if __name__ == '__main__': + socketio.run(app, debug=True, host='0.0.0.0', port=PORT, allow_unsafe_werkzeug=True) \ No newline at end of file From 44115b03f22393bdcf57436578e1b3797044da77 Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 24 Oct 2024 17:57:56 +0200 Subject: [PATCH 07/18] Moved speech to new folder --- .../README.md | 0 .../__init__.py | 0 .../audioProcessor.py | 0 .../audioRecorder.py | 0 .../requirements.txt | Bin 918 -> 1118 bytes .../speech_to_text.py | 45 ++++++++---------- .../tools/audioAnalyse.py | 0 7 files changed, 21 insertions(+), 24 deletions(-) rename {core/speech_to_text => speech_to_text}/README.md (100%) rename {core/speech_to_text => speech_to_text}/__init__.py (100%) rename {core/speech_to_text => speech_to_text}/audioProcessor.py (100%) rename {core/speech_to_text => speech_to_text}/audioRecorder.py (100%) rename {core/speech_to_text => speech_to_text}/requirements.txt (72%) rename {core/speech_to_text => speech_to_text}/speech_to_text.py (70%) rename {core/speech_to_text => speech_to_text}/tools/audioAnalyse.py (100%) diff --git a/core/speech_to_text/README.md b/speech_to_text/README.md similarity index 100% rename from core/speech_to_text/README.md rename to speech_to_text/README.md diff --git a/core/speech_to_text/__init__.py b/speech_to_text/__init__.py similarity index 100% rename from core/speech_to_text/__init__.py rename to speech_to_text/__init__.py diff --git a/core/speech_to_text/audioProcessor.py b/speech_to_text/audioProcessor.py similarity index 100% rename from core/speech_to_text/audioProcessor.py rename to speech_to_text/audioProcessor.py diff --git a/core/speech_to_text/audioRecorder.py b/speech_to_text/audioRecorder.py similarity index 100% rename from core/speech_to_text/audioRecorder.py rename to speech_to_text/audioRecorder.py diff --git a/core/speech_to_text/requirements.txt b/speech_to_text/requirements.txt similarity index 72% rename from core/speech_to_text/requirements.txt rename to speech_to_text/requirements.txt index 2ebd4b2aa631da3fc93b9e922c60721c9f891ce3..464ba82acd6a9260eb4865293c95ee7fb4e875cb 100644 GIT binary patch delta 135 zcmbQnevgCo|3760g~|DhvZ6)|dJF{&`3%JjB@BiPybN3nAerrqnw&ryC{xLhI9ZWN z)(6BZW=Lkp1dG`+*aB7S0kH{~gz5vT$YjW2NM$GjnyAZA#*oO60#s?sUc diff --git a/core/speech_to_text/speech_to_text.py b/speech_to_text/speech_to_text.py similarity index 70% rename from core/speech_to_text/speech_to_text.py rename to speech_to_text/speech_to_text.py index 449fe07..a882806 100644 --- a/core/speech_to_text/speech_to_text.py +++ b/speech_to_text/speech_to_text.py @@ -3,9 +3,8 @@ from dotenv import load_dotenv import numpy as np import wave -from audioRecorder import AudioRecorder -from audioProcessor import AudioProcessor -import time +from speech_to_text.audioRecorder import AudioRecorder +from speech_to_text.audioProcessor import AudioProcessor from threading import Thread load_dotenv() @@ -55,7 +54,7 @@ def chunks_to_full_audio(chunks): return b"".join(chunks) -def handle_chunk(chunk, index): +def handle_chunk(chunk, index,text): create_tmp_wav_file(chunk, path=f"tmp{index}.wav") processor = AudioProcessor(f"tmp{index}.wav") processor.process() @@ -64,32 +63,30 @@ def handle_chunk(chunk, index): text.append(speech_to_text(audio_file=audio_file)) audio_file.close() - print(text[-1].text) remove_tmp_wav_file(index) +def main(): + + CHUNK_SIZE = 1024 # Number of frames in a buffer + RATE = 16000 # 16 000 Hz is a common rate for speech processing + CHANNELS = 1 # Mono audio + SILENCE_THRESHOLD = 25 # Used to detect silence for stopping recording + MAX_SILENCE_DURATION = 5 # Seconds of silence to stop recording + recorder = AudioRecorder(chunk_size=CHUNK_SIZE, rate=RATE, channels=CHANNELS, silence_threshold=SILENCE_THRESHOLD, max_silence_duration=MAX_SILENCE_DURATION) + + text = [] + index = 0 + for chunk in recorder.record(30): + t = Thread(target=handle_chunk, args=(chunk,index,text)) + index += 1 + t.start() + + return " ".join([t.text for t in text]) if __name__ == "__main__": import sys if len(sys.argv) ==1: - - CHUNK_SIZE = 1024 # Number of frames in a buffer - RATE = 16000 # 16 000 Hz is a common rate for speech processing - CHANNELS = 1 # Mono audio - SILENCE_THRESHOLD = 25 # Used to detect silence for stopping recording - MAX_SILENCE_DURATION = 5 # Seconds of silence to stop recording - - recorder = AudioRecorder(chunk_size=CHUNK_SIZE, rate=RATE, channels=CHANNELS, silence_threshold=SILENCE_THRESHOLD, max_silence_duration=MAX_SILENCE_DURATION) - - text = [] - index = 0 - for chunk in recorder.record(30): - t = Thread(target=handle_chunk, args=(chunk,index)) - index += 1 - t.start() - - time.sleep(2) - - + print(main()) else: audio_file = path_to_audio_file(sys.argv[1]) transcription = speech_to_text(audio_file) diff --git a/core/speech_to_text/tools/audioAnalyse.py b/speech_to_text/tools/audioAnalyse.py similarity index 100% rename from core/speech_to_text/tools/audioAnalyse.py rename to speech_to_text/tools/audioAnalyse.py From 03640363fad13641192273351034f9e1908b8fce Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 24 Oct 2024 17:58:27 +0200 Subject: [PATCH 08/18] Added thing to main, don't know what --- core/main.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/core/main.py b/core/main.py index 8f39685..e3466ea 100644 --- a/core/main.py +++ b/core/main.py @@ -10,6 +10,7 @@ from modules.user_data_setup import check_folders from modules.chat import read_chat import logging +from speech_to_text.speech_to_text import main as speech_to_text_main log = logging.getLogger('werkzeug') log.setLevel(logging.ERROR) @@ -43,7 +44,7 @@ def hello_world(): # Route to get metadata like name, id, descriptions of all user chats @app.route("/chats/metadata") def get_chats(): - return "lmao" + return "lmao" # Why does this return lmao? @app.route('/vectorize_chat', methods=['POST']) def summarize_store(): @@ -88,7 +89,22 @@ def handle_prompt(data): print(f'Something very bad happened: {e}') return jsonify({"status": "error"}) +# Custom event. Fired when the user click the button with the cute little microphone icon. +@socketio.on('start_recording') +def handle_recording(data): + try: + conversation_id = data['conversation_id'] # grabs the conversation ID + socketio.emit("start_message") + text = asyncio.run(speech_to_text_main()) # prompts Jarvis and hands off emitting to the graphAgent. + print(text) + asyncio.run(jarvis.run(text, socketio), debug=True) # prompts Jarvis and hands off emitting to the graphAgent. + return jsonify({"status": "success"}) + except Exception as e: + print(f'Something very bad happened: {e}') + return jsonify({"status": "error"}) + if __name__ == '__main__': socketio.run(app, debug=True, host='0.0.0.0', port=PORT, allow_unsafe_werkzeug=True) -# hello \ No newline at end of file +# hello +# TODO say hello back to whoever wrote this \ No newline at end of file From 66fd45692c87c182c3474926540028a9486f647e Mon Sep 17 00:00:00 2001 From: WilliamMRS Date: Thu, 24 Oct 2024 18:37:48 +0200 Subject: [PATCH 09/18] feat: changed folders --- {src/speech/tts => textToSpeech}/Dockerfile | 0 {src/speech/tts => textToSpeech}/docker-compose.yml | 0 {src/speech/tts => textToSpeech}/narakeet.py | 0 {src/speech/tts => textToSpeech}/requirements.txt | 0 {src/speech/tts => textToSpeech}/soundplayer.py | 0 {src/speech/tts => textToSpeech}/tts_server.py | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename {src/speech/tts => textToSpeech}/Dockerfile (100%) rename {src/speech/tts => textToSpeech}/docker-compose.yml (100%) rename {src/speech/tts => textToSpeech}/narakeet.py (100%) rename {src/speech/tts => textToSpeech}/requirements.txt (100%) rename {src/speech/tts => textToSpeech}/soundplayer.py (100%) rename {src/speech/tts => textToSpeech}/tts_server.py (100%) diff --git a/src/speech/tts/Dockerfile b/textToSpeech/Dockerfile similarity index 100% rename from src/speech/tts/Dockerfile rename to textToSpeech/Dockerfile diff --git a/src/speech/tts/docker-compose.yml b/textToSpeech/docker-compose.yml similarity index 100% rename from src/speech/tts/docker-compose.yml rename to textToSpeech/docker-compose.yml diff --git a/src/speech/tts/narakeet.py b/textToSpeech/narakeet.py similarity index 100% rename from src/speech/tts/narakeet.py rename to textToSpeech/narakeet.py diff --git a/src/speech/tts/requirements.txt b/textToSpeech/requirements.txt similarity index 100% rename from src/speech/tts/requirements.txt rename to textToSpeech/requirements.txt diff --git a/src/speech/tts/soundplayer.py b/textToSpeech/soundplayer.py similarity index 100% rename from src/speech/tts/soundplayer.py rename to textToSpeech/soundplayer.py diff --git a/src/speech/tts/tts_server.py b/textToSpeech/tts_server.py similarity index 100% rename from src/speech/tts/tts_server.py rename to textToSpeech/tts_server.py From 05793536f21551bf44e935ab5f2323d443525f07 Mon Sep 17 00:00:00 2001 From: WilliamMRS Date: Thu, 24 Oct 2024 18:44:12 +0200 Subject: [PATCH 10/18] fix: stt not quite working yet. CC'd from compose --- docker-compose.yml | 28 ++++++++++++++-------------- docs/images/enter_server_url.png | Bin 142088 -> 0 bytes docs/images/select_kernel.png | Bin 151454 -> 0 bytes 3 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 docs/images/enter_server_url.png delete mode 100644 docs/images/select_kernel.png diff --git a/docker-compose.yml b/docker-compose.yml index 5b59d7f..d121745 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,20 +15,20 @@ services: ports: - "3000:3000" - speech-to-text: - build: ./speechToText - restart: unless-stopped - environment: - FLASK_ENV: ${FLASK_ENV} # Autorestarts flask when code changes are detected - OPENAI_API_KEY: ${OPENAI_API_KEY} - PORT: ${PORT_STT} - volumes: - - ./core:/app # Mount the application code to detect live changes - networks: - - backend - stop_signal: SIGINT - ports: - - "3001:3001" + # speech-to-text: + # build: ./speechToText + # restart: unless-stopped + # environment: + # FLASK_ENV: ${FLASK_ENV} # Autorestarts flask when code changes are detected + # OPENAI_API_KEY: ${OPENAI_API_KEY} + # PORT: ${PORT_STT} + # volumes: + # - ./core:/app # Mount the application code to detect live changes + # networks: + # - backend + # stop_signal: SIGINT + # ports: + # - "3001:3001" networks: backend: diff --git a/docs/images/enter_server_url.png b/docs/images/enter_server_url.png deleted file mode 100644 index 7b82d56a1201745e978768c863ae435616c41675..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142088 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

  • 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 diff --git a/docs/images/select_kernel.png b/docs/images/select_kernel.png deleted file mode 100644 index f83e9ba7b4aca45efd6abd7826fcf6a1ec9668a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151454 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⪼z|D9sllbxPKdX4`4?GP@bFS6ibbmC%3|89 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�wn*W53+VWq+o1wj7+VT!1YvFVAW*6-uQD**xDFkHlweQUbQH z$;0g%7|Xeepafk=Qmw;wbduYu_eEz&!i?_GLapCir3JiPi4Gq+I(lGmFdQ)xQ`96- z$_GrwZoOctyCkomfUa3>jj#el3J|wr;McF8^e6^XIKXFHbeC3YjqX@SO?Sn70!2XG zS}{+i+{Qv)ODlC}d|Mxg%Z#|M5%It53NVP*yI&-K=4ySqrAeNdA%)prYQ!&}l>$6N zLRPkUV_05zqxqL}voj|b7xb)q^RjFu{LL$rqSh%iFs7*{IuN>s()sq(P;l~NBwa*& z=0V$aypO9e@3&GZ`r#rwPjU>eC-Ve^BpEjSGOD9c6aDHL@8yZMB2xQSk25{TIx{B9 zSN2my><7>x8FfCS>h!Gm=dhXhOGfuqzFe^=Sehp-UIeC~Kd_&=cG3!y_yZ>GcD^DH zB6{^1w&GDOOX&IfrxKioEtj6$@STFSMFG(V*Oa3~Go|yjYeD?Q zT&a@WeNDdx@9h}z{JpH{W|b`zD`TR(@WZ3b>^sD9Ws2R-Q z@Xtw^H5!u<4E-2Cx7St6xP$Rk6arP*G7`ZqLqg0ViNEaBkddc{x@Z3DNJxX!`DGryD<5y9cKJCW;lCg=a%m}Jy6c)9|D9#FmzE@8SX)h{Cn_q0X)cOxc2v=lZMI@PW4au zqK$Z`QUdn;_``LWUum76E>YL3lX~eF11X-aUb-AW0?Y!Cr?giT+L*Z=u%e#mLp&I* z4tGAck5ysN+Ww67R!(-L7i*bw8;GdA$LN-H+N!*W)p;T$`We(&aWbRSX^uC9P%AO0zo{Nq(>Wd)2tF z>wSHMP_rco6Kt8^dkpTDj!b{K6Q8gq_9jtr^-C}vZ{cZ{(b+M%IOeN-~i zK`SlA`vzSrHVV|N*@xp7c31v&8Ivv1r7_wWoh!T*43o~%6y{L}FJ{&>!Xl#v86o^( z@X#Sw6wlcA6xFu5Dnfm6F5R||tPz&B}~@CMwN{!hDH{>vUj$HSPT@a`3*NO^Oa+&-5k$oAl{QP_nzh@%Uu$xN- zHZnauyrhJILMGMr7uC(sHl1db-h9=;KpIcC&Qz(s5P;y6iEUGGA{}Gn<3-cBonFV@ z+{8h*LmH!bO7e1Z%WRhUNl37HR926U&=N*$R8-g{BqRV>Dwp%cm=JRP0di}Gu9f}7 zD{^52#iS>7v82Cnz>G=}8h^|Lh0Tbzy+X#`em&v(gsP?5wK|mp`v@ski+CD5lt8lc zE+tU5xYjHC7{lqr?@i11hI9R<@6&ri&HkOb!B@q9f>yQQD7@2#buFv}eATu4I zcKuaaCaIA6qqO%Q^s(%qvubIclsrFZEaJI)HYO%# z=B&0N9bG;mW?OHo(*&kpt;S5uu|`#vTQM;gDB}6@yM;!+!B8huPPu%d8C`SQZ!T^nUXm-qv`ppz9acTq?7*{!4=E zF*Mh79Hz*TRbJRJS4g8(%5DKuE1u-vwJ8=U6}QID8nt_w0qR8Bj7WEiV0Gq@r%+C= z#K9G>s|}vx4caW`=-FlYK5@GUDqx6VA@t&wZ}%edZa#&NDxq5`m1Tsr#@UrdbIh^M zaYaSR=*d-0cuVwFG|i(w68cCCwkZ(#noyK8SqZoKo-?Z9gi&2o7cS%I(~V-v_1+UX z`pu0@8Mot4mG!n}yRFy)$wAmkJ9X}WB0q@Uc%FPV+mTe-5RM5A-rh91UN?GG^D#U= z{{ymv8j`hzMZNDwiVC{0I=4vXEgbe{#<+tM!3ozoCY@UEIETK8+^qv!g9!#pPl4Y( zKj^;J+Bxh_NNueg2U!xbMiuGWZ2XDZNADtjJ1yk>j%A&3Du$_};T~C&f3|DZ;Fh81 zt4oTWJtVzrOE6}JnKVox!jYc6#5Ua9iQ296_^Kac_WDsp0ly+=M<_=E?+QOf_uBse z$t!;$3%mI1BwOTb+3GHrr`M03`Xo`LSv|k;L+_ONzSO#PbnF{U70&WrD0%z((Qv7R z^sr&$;);j8XFEPW@0guU0sxb*pC6awpSLiYRhFBF^+(U#5C$l113=LeayqR$`i!+l zM&#~jhkyJCuBoeoE47+;=5{$0-WkhbdLIUS{O)TxcpQLjt^NJTSM175gYmOXn7-3KuT8$VE#lGmX)=^O+$ zQ)F}0`;Bnt&9ZGs#`9g0(TEjq9P7_B)$SQyVQ8?$rwKI~^|s9Jqgl$DX1qr5wfmlm zxu!zUoh9wn;2=B8?6)V!wZbVjH3L^W3tO4LO3;}x4C(zjJ!PM3r`nc5DcMG`T)H1r zqE=mkQhiZ8%*J0tv$4?|^9=9e=`n86!&M}RB;q6vGm$}3A1&s0@Q{EY}IB@j)&!M5NH+oo2f~P{a&o=YEr~yzYqnuMY zcdt~nX1erS#8OJPen?T_wr0u5U|Dp;a!Rj0@Y;zVVn-X>Bejc}yxd+pm^)m!jYp?OH@Ecv)M|^LNa2 zdYmU5VlMt;6?OF0zChBYkyB*4hLm#`EHcC=^#1)w3!# zff4%48EDf;hlYgu+?Fyn=q5}+dlU|Iwy_?L*l5&2BVJTfXRrpYO~6-?uQ0f_eQ@}Rinqk2GQ`{Ow9FKf5cH;-4_RU5tO*Z-cmQ*~(_)rX%tlQlUTkxREC>)d(r z&Gd+aYSO4!hi*a|=N%%xRfC9cg1)=Pvwu4DN8_6R$%&idQCM$HSAPVF))@4haT<%D zmQLg1T1At|gG=m9EsuhCx%~O%VH3pX7OZr{{USh>)T>i)h(KaR>(EWIGTu7%cB(4X z=f!0S|Ce#X%428lt|ZT!-P9?ucUPZysHfG2!<&n0D)R+*62+^?VRKqcC5Rz9pe+z1 zA&>Yyl(ug_cumcKJ#uhIAR_8Q&TJuV#a*{NJ~2_;$mk=TMgOnXhU{;Zz9E%DalkO#P(?UQDqnMd+vd+69$H+JGGLTe_tum>H`j28?-=@? z&z5e}=L#cYjO6J1xG3q=nOTimw8TuR)SwBQt#&!m)mAHRR(y0S0v9C5)~V>z$epZS zis1`ReEkH6%!uL1ZmjmC3OJ6-K5mEbeTDQ(fx_=+CIdH*@y29n?HZlmSPm0CwHT-N zMGv8GU}U(=vg_fw^oYY8yJ^57E1>!?f~+A$sE5Pu@+9I}JSD2sQwpoliJ@($_cb&+ z&3$!S4Su^<9J;n|oWix$^A*p*e5t^)a8{*kSer9+K-%r)*PPf_<2S4W+w`$f_Tl>> zAY?TCC<|Z>?u_G9i%apsoo{M+*9^ZgG(g1J^1V{zloZ&EfKf-lWlaO*? ziL1WF$L~+j4W}9*mjx&jK!FW+C(ID~=&+HS@0n{qsi!9<;u;tjfI?ueFQ%9Ghjl$q zo?cH_&6N7Q!MEgKA$4g4@+dz)rQA;ys`n?eSsauQR3qz+WoIBaECDQBvkJ3`$p}~= z^TN*Yctudh4Re_O#OucQBUa8s#zIKR6^#>&TQvy8v(nvS*C#W?yUhj%R-?z!$Z}nhAyqh5b zlv%3m99$~ZxmVNDQNm3w@w;dXf-{W-T+I+t9*QI4*_ELDSPElAe%bB@;-VOgR7on# zR}S1Bkq?^lqfOdm&WFRfUw-ifH6K=&Fc?KfMY}|%gpnbYjWZM;87~)1y~Ykerba;| zMWlzs`D^K_LLOC6BAn62KIpS&&=vMZ-W~qD?NQ$!e#qV2tO2^;Wm3E9b>8L#4RY*F z`S)S<+uzRgE-=_&*MmL#rsuuP?wYsr_x7$Q8T#UANlEO@Lb;%{cubLGsK#eYpq>U# zW0|D-q?@_%fdN(LgH+N(HD)fXK5V=?wp5>ruZ_qaVmn6T zkH`;C`ZjEpaLkz|LBX>AvRg-6^m8UvKEjihNv@GWk^E~_Vg|mrkPM_DGl|P-6V5-$aEQUlhpCDo&~OeqH?R77s#bzVGLmx$IBfNHz}k|Sid-bvAj8yHfbM- z?*5^6Lo%TfLqm>pN6GAZPg;&@d2ayI|F-od%tQ#7uC?N z=xt=9-1P3E!s>_0*51J0>6o)umw_kJ4BT_h9PZE6399tTPGmF&z>4!?uHvUJRahZhy|$DTsrARlk|Q! zjD^H|MXT}7hH}yQV;D9Ydz^QgU>n8MdE)GpuxDGYqx`NTH0sX43GXPW3XOHVH&^NS zW7!eSquIvSf`2v}9nl=Jc61~Qz?Y!V&=X0JWpM!4k!?QBG zhc{9@OOXMG4P^^Lc$(8?bfqk4)wDKGWNnSBjps##!^vR?47yBevZan)DqpVtNMH<0 z-Z`y&i3gh3)pHJJ28K3%hHDLBT!~@cAtO+ipjqs`(!%jH^*(?ex1FuwvdBhOAoV#~ z1|}fsowsB;Sa~{Rjdcwef|k?6j`#+t4lIysG#WimUR7--IDMHDyNBrZEvP1ZRrKIY z#=m#suL#Hr5_};b_oljGL(a#?HLlkyJz_PYnM=KjezNV$>|-RNN|w2+`WVL%1u2J| z#hXIGoCS9aTkYTM9CjvmOtePPWgoDG3gVRt%~OiZolaV^l8=D;tvQtDd3hk09}uEJ{?&5s5E41#)f)TWPSF1vk$NEpcJ5wPru!O9u(v*4 z^E%GM-@w*sOG@f6;JKNQr20j|)WyrSmts$?gS9Aw$ruWQ&V?2z&3^A;dqGd@D9?IY zh!xZ;F^N4vOqHr}wh?*h!PUTr9O4ZF!LsUJ_|B3i@udeb3!`g*6toa6z4Bm1sY!m7 zxKNJ*QRam$Wo=Fy5yUy2t2>M^Sq{=O=U02v-qkGL;B2QU^W=mJmgO+#_eAm;w2-?< zm-GCcusz|d$$uq@g^O!CZ04~$K_!#MZ9MFT|Mu<5j8<{WW;*Gddg^cct39Hz*}u8M z<+4I|kA-Q^_BtgR+webblBOIRu-uPa!A{`>m@A(T0+v^^?yO1*k#LS%(eSU0eUZ=> zo-j!dp=qWXGDk+U95HI(3_^&{{A#CEkXszsV{-GT*W>k7Etvi2siA1b_$T=htsKyj zp=&U}+4i05jB~t<>!KjGy_+q-K|*X6r!q+Z6`N`AjGFoZdeBAE*;tjE-r}+v5a|wQ zVX5R(_tQA~vi~(I@9g)w4EA*wp2kv&l!0Z^87CY3->64oR%oT^lB<>- z)C%FL@XQjyyq^!izavlXUf-dp`;jHZtgEb?n>y@zPoaWwN>jhAbZopFN~bS{<4n6v zX~dBF#yb)-BBo`vR|lc3deVb19qn2nfbHaCxiGZa(hjNn}Ym8Ni-tNY%}tEq61 zFZS}1#h{0Kxb{Hv`i@y31k|iY%{v*$ovznAM1D6y_^4yr->o@@TeBaux^js6t>NxP zoNQ<5-UD4~dbQ6rES=f81U&ONb1(l}$um?4APW8Wh-rxsHk2!lPKOGzO z2719kx^FvcuRnI@K0E0t(G=y!w3#69NF#cFQm_Pyn)uT?7mJJ!(TUw!XPifz7y6foZ0EIqZAeD}jsGX9S*aHwa)7dgI8r9;B{n>Ja z_?UjfU-DTdtCYWh8yiXs`-;LPMWHBXP97yG>M8*qrps%@DFUHXkpR%z4DD_a%XhIS z)HLA~h9Z6=3MW z8&*XeJDoWyO!T~od0R|=#)me_vJYdiJk#foQpG{fz))fUUrsj3#hkPN3i+totEm3G z&};1?0Vv@$-*i|X)@$+)jA}CIPrdKaPnSm|pC2S_{e{ceVl3MNPewY)LGgu^5Bl>W zy*c$7;OCmUy>u$6**%KmN%M29wZ}VRlI!aiB3`M+)7fl>2)+LA4Mx@^U*d>KPBUy9 z$8ac>eZ@!V*_1!K-wrZ+e|{EVYh`EW22GKyr&&55J=lee!yEhgEc-j6EX4o6wkH2S zbspROTP@$)o3Kg~FMfJku#mwm2H@!{;O3<~>kGeqvuK3u|)|m`!p>&f(X{Jw_JJHth((C-wpG`MR zL8hWgyy)u~uFkvpf9WSM?K*hV0o;!TuAl&wdQicm1JF({E-v0sT>j$kMdrU&z)rUF zfUi~dt%3o{urFR*Ki|y`4D@4Yx^9DtKhF@hhW&4fn|0*@AQ5o8rT|+|P!L$W96U_e zy$hGjYW5jO3e8m85CKJ|zZGBLU7{sfo^MQV5WRZ+n)=vA;xVJ~4mD(V2A}hB5stPo z@Whc+(b^VvcSsC8pf)Mno_=I1eRp^&bu#4J3_MSF0HEP{>1Ni~*s)!afUXk0QM`|jW1G$P*JE6ZdtB6Q7K zDW;Mv)VJAgd27c2CHqlMG>}5GH7_YbKxi^Lku@ zm#{5w{wJ*q*-PK!0L7|95!C|`dgDYm%L~P|2{TTN0B6!4Nf;`(2FyQY%e=Pn#wz3I zmxv@*Me_&=v(qDTaAEj%z*qKiDb}?+8ES@m+1cuHZ-4LMh>s>JP#b){A>+t+nph{u zxjqxVNEu7Sr_og#rXX4+>DE?mgY?rz?NlOHE5lVza;o&}R7n z`m%GHkoImS(=E6!>$>`GQ=hi@*rKau!L#*bZ-iKM7m&*f zh;Fsj#tk|Y2Qo(dOsb}4Ol|BOFQyC8Y@`Z!#S3>HF1fqXJd&@%7yHG6iC;ePQFEiZ zCH}B@r`7kXbf8eMEqWGWZgX>KNzr_o;^ZRJz(>elt(SAwltVQB~|nduFS%x zli_MSK2zE>XWC7v$*LeQ=e-3i2e13djUK}sYg`h1bxyu&tt}T(D3(%e@|aN&H??=H~)4s0O*b+U-*inuJm_xkV?fbMyC;md^~9DAF{PN7WdtduK`!32HrzJtTgR(0f~U^CMI@%&3y6wxm;MF9 zC`iCFSv#lbrThQk=`5hyineZz6fM#g_u>x4-AaMt?(R_B30jI3cXxMp*W&K(?hZlU z;okedF&GRIl9Qctve({gu5Zm`aqzd_9Sm#P)&x}Fz@wb;Nc&ulRk6iurSvgolx}~| z$DFO?Q0FqmH!Zg&%VLfs2IjUqyz322{)dHZ%NL6Cu-PbEI;5vbz5%s6**oPig_$PU znvFUyBgVJjRrh*>SJ$zKEf0GfzGPMraf-(y7*%`t zR}-oC2QG%B@>Y~g6cb@H6LRoJVv3ZBPtKnLRzgajH@`8+w)Q`qV0g5zJMy&C*s?~1 zABw=qY8ovWWZy9uD~pc4NT?7xCVdO5O5?362<={ou`Dt*sRZKgo9jwki0a9~^n3!v zoLu6kq3|-XCV85yOWaY-2x>0d?%*y%_elwd_}#Zhf2BA55!~sB-xMkbAqtI+HndNM zQrCXSD6dFq>`9weE0M}OF}D1$w4TZzla9O!WN2DpWlZefP#!p`nb65?jTEVhgQgFT zPX50BbHT}#+&{QtOFiYy80YzS^>0e<3PSm5l9#&}3-YXffaXdZX?gfgm-Qpty#G}V{5rBO-ETTm%~c(40$_M+D^ov5Qko}ioBD_^~CpCv3e?t8LE zK!mS35&zvpOH%6E=#HQ9Y{xpyc6y2S`LsW~D{|sUtq_5k0d%tFCjLr$h$QHXTS9nf z275p{eQG7tkVCnh*$ZT_7{BUvTUzZttygFvVP_eLa0fbLcbh%vWY)>Rl?U~NYHzQp z&2ot-=+{+B>xoAy>UAui>&1nx5kGfbiP~CE6x!q1gLhvNV z>A=IF;lW}zGEeYelUMwy`*(5bGUxPiPUUb6ryWs(oqbvqB*N)&rT(oC-@TVQH&eJn zCA{<7`3YrKJNY>OVusgaS6A2>J+aFaq-0kjpH@6Bh&GwkGKQe$Dt%nj_)kzl2;F)j zuk)>k5Vf&MhHS82`NpW7Inn2Es{)h5-7>v|05(*mEGguV<)`4I<2By6{- z{o_Ni@wdQ+z{*oC4FaF5M`tfZ!be1TS0P?{R!vyir%?1fxel{HsQM9l`0dyWdVw%goP@zFB;GGiT z+(+51RTxq;a~SryJim&!RB{fu>YbiDeAi8f@Hla7B|g{9mVyayFw}7=#l?`;^j&o@ z84BG~IA4&)jgGJDvg*B6}Pmhtj0A2uV<8XWj2J#@OxXZA}Ql^_cbmaO4( zTHI-Hu3uZ&uq1Wvz%2J|pg}cmbXz;0*)r z=omN@jDH(iR;01Dt`Fw<94$jb|JI|7E(|VMytj+waXi{7o5l>48=dkydSK%{tCPPU ztAwULAw|dzY}JfLnL*@e+ECncj;CV~Rc8N`ZIb-<(c~uE<6eQkF*>mH80nS&R6h8v zE@1i}duGK2ppc@Ai<+yP>#$F3svEp6gSgR1tSODE#U@Wte^lIe3QB1=b zJpJ3}AI}YvT=I*cl6FB)|9-)}(GyWH$~4nK3M|vfITZ77F*m&>u zbS;0lF4?xuhtE|%EW?Uw2#NVV6HQKMKnjQJFDag3?piLNz5Lz9NGX`Hcg?M=!(ZIo-4U2*UCR zB6VxaE~cyHlvZ9ET?Hvu6Ktq^hoEU!UV*rZak0p2E!D?Ht&Ja9ev?BP=>#X@3wR

    m@3%{=Uv0LfW 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 ME-zLsVi^4Y0E#4}CIA2c From 422632d0f469c73bd1168acf5d8ffce85392c00b Mon Sep 17 00:00:00 2001 From: WilliamMRS Date: Tue, 5 Nov 2024 00:07:28 +0100 Subject: [PATCH 11/18] Feat: Added main and req.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enda ikke responsiv nok, og krasjer om det er en tom lydfil, da den prøver å legge til "undefined" i en liste. --- core/main.py | 4 ++- docker-compose.yml | 7 +++++ speechToText/audioProcessor.py | 22 +++++++--------- speechToText/audioRecorder.py | 9 ++++++- speechToText/main.py | 46 +++++++++++++++++++++++++++++++-- speechToText/requirements.txt | Bin 700 -> 3022 bytes speechToText/speech_to_text.py | 16 ------------ 7 files changed, 72 insertions(+), 32 deletions(-) diff --git a/core/main.py b/core/main.py index 8f39685..f7343ca 100644 --- a/core/main.py +++ b/core/main.py @@ -91,4 +91,6 @@ def handle_prompt(data): if __name__ == '__main__': socketio.run(app, debug=True, host='0.0.0.0', port=PORT, allow_unsafe_werkzeug=True) -# hello \ No newline at end of file +# hello + + diff --git a/docker-compose.yml b/docker-compose.yml index d121745..c46cb2d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,5 @@ +version: "2.1" # To keep the docker-resource constraints under deploy active. Else we need swarm in v3 + services: llm-service: build: ./core @@ -14,6 +16,11 @@ services: stop_signal: SIGINT ports: - "3000:3000" + deploy: + resources: + limits: + cpus: '0.5' + memory: 2048M # Memory limit for the compose # speech-to-text: # build: ./speechToText diff --git a/speechToText/audioProcessor.py b/speechToText/audioProcessor.py index 4c10353..741f898 100644 --- a/speechToText/audioProcessor.py +++ b/speechToText/audioProcessor.py @@ -5,10 +5,6 @@ from silero_vad import load_silero_vad, get_speech_timestamps, read_audio from scipy.signal import resample - - - - class AudioProcessor: def __init__(self, audio_path=None): if audio_path is not None: @@ -28,7 +24,6 @@ def reduce_noise(self): scaled_audio = np.int16(reduced_noise * 32767) self.audio = scaled_audio - def save_audio(self, output_path): wavfile.write(output_path, 16000, self.audio) @@ -36,15 +31,18 @@ def remove_silence(self, output_path=None): model = load_silero_vad() wav = read_audio(self.audio_path) speech_timestamps = get_speech_timestamps(wav, model) - speech_segments = [wav[segment['start']:segment['end']] for segment in speech_timestamps] - combined_speech = np.concatenate(speech_segments) - - if output_path is not None: - wavfile.write(output_path, 16000, combined_speech) + speech_timestamps = get_speech_timestamps(wav, model) + if not speech_timestamps: + print("No speech detected in the audio.") else: - self.audio = combined_speech + speech_segments = [wav[segment['start']:segment['end']] for segment in speech_timestamps] + combined_speech = np.concatenate(speech_segments) + + if output_path is not None: + wavfile.write(output_path, 16000, combined_speech) + else: + self.audio = combined_speech - def boost_audio(self, factor=1.5): boosted_audio = self.audio * factor self.audio= np.clip(boosted_audio, -32768, 32767).astype(np.int16) diff --git a/speechToText/audioRecorder.py b/speechToText/audioRecorder.py index 9596eab..b6a36cc 100644 --- a/speechToText/audioRecorder.py +++ b/speechToText/audioRecorder.py @@ -3,6 +3,14 @@ import numpy as np import sys +''' + chunk_size: + rate: + channels: Stereo or mono? + silence_threshold: + max_silence_duration: +''' + class AudioRecorder: def __init__(self, chunk_size=1024, rate=16000, channels=1, silence_threshold=500, max_silence_duration=5): @@ -20,7 +28,6 @@ def start_recording(self): self.audio_chunks = [] print("Recording started") - def stop_recording(self): self.stream.stop_stream() self.stream.close() diff --git a/speechToText/main.py b/speechToText/main.py index f762f4f..b39d861 100644 --- a/speechToText/main.py +++ b/speechToText/main.py @@ -1,14 +1,56 @@ from flask import Flask, request, url_for, jsonify from flask_socketio import SocketIO, send, emit from flask_cors import CORS +from audioRecorder import AudioRecorder +from threading import Thread +import time +from speech_to_text import create_tmp_wav_file, remove_tmp_wav_file, speech_to_text, path_to_audio_file +from audioProcessor import AudioProcessor + +# Global for now. TODO: Make this not global ;) +text = [] + +# Debug purposes +try: + PORT +except: + PORT = 3001 app = Flask(__name__, static_url_path='/static') app.config['SECRET_KEY'] = 'secret_key_xdddd' # TODO: Make a better key CORS(app, resources={r"/*": {"origins": "*"}}) # TODO: Make the CORS actually not accept everything socketio = SocketIO(app, cors_allowed_origins="*") -# Routes +# Runs in multiple threads, printing the output, also appending the read text to the text list. +def handle_chunk(chunk, index): + create_tmp_wav_file(chunk, path=f"tmp{index}.wav") + processor = AudioProcessor(f"tmp{index}.wav") + processor.process() + processor.save_audio(f"tmp{index}.wav") + audio_file = path_to_audio_file(f"tmp{index}.wav") + + text.append(speech_to_text(audio_file=audio_file)) + audio_file.close() + print(text[-1].text) + remove_tmp_wav_file(index) + +# Routes +def start_listening_for_audio(): + print("Listening for audio:") + try: + recorder = AudioRecorder(chunk_size=1024, rate=16000, channels=1, silence_threshold=25, max_silence_duration=2) + except Exception as e: + print(e) + # Adjust silence duration and threshold for tweaking responsiveness + index = 0 + for chunk in recorder.record(10): + t = Thread(target=handle_chunk, args=(chunk,index)) + print(t) + index += 1 + t.start() + time.sleep(2) # Routes end if __name__ == '__main__': - socketio.run(app, debug=True, host='0.0.0.0', port=PORT, allow_unsafe_werkzeug=True) \ No newline at end of file + #socketio.run(app, debug=True, host='0.0.0.0', port=PORT, allow_unsafe_werkzeug=True) + start_listening_for_audio() \ No newline at end of file diff --git a/speechToText/requirements.txt b/speechToText/requirements.txt index 42810b27f2c9f602abca1218163a8089327fb10d..067a4b1e5aee222063023c6b3ec233ee4e77c62d 100644 GIT binary patch literal 3022 zcmZveOK;m&5QXnLK!1vgkWQR*kwuUoK#K+mkVVl|Ak(xYKPZKgY^OiI?fK?#coics zXdAp|UT4k>?|=U;%b=faIh3WIzFd}t{(dhz{l717^z*#@T3+dSUVbUhgc@|Zkp*Wj z^q$9O7kYoGr;~@YY|EL>o3Onow>llljeL)RXms{kPaEf5ygvwYr3VkKJhu@6)Y%lL z(|IEB&_sTY(UrAw9F=>oEEZAQSnl+W*#FFt$%-cqxsHdJS$~*a>Ph^!WnSoQ(mnjn6{Jngd(fDgrn2V0tId2l23;F=vw!DqGm zIX&q2M!ianuq&MJoe)Nz_9r`hC(c(wEF*iYok^Y#ihNLSVEIN{C;c-A_Rn{P&Y>VS z<58ZRZT8q(VFPRj_fZ(Q+bH8YQA}p$^R$Cj2-&2kQA)QiGgr^EHI$Vu zRW*HDMMd5r_OR3Y+u-ye&X|9qX9hcE3ExZxyND=kwl=;fuJyB~_^nRa;{JxFikfNa z;DKG7UolS~tfbCBc)H;uca*;Zndy&+uR_&nurGSxobZ?NYUQ4ntc|=sm-pJ>byJXe zjYp4{%FEyQUcQrMIPgXx656J#i>QIQKSp0~15a-Ln$>TQC*-LuOtTs9!!A2f^Qmz_ zxu^ZiI=Udv&+ur3iACSpC2DZLT?u^rtxkR{e@1-1f9@pH3>R!(PeuKHIHF^M`KH>r zXR)tgi|Ws&-}u=pkBxeho1Yx2qW3!UJz*<0?}Po+9DH~RK{4qd7n;{z>O8Fwi)7DC zW8uts-{_W;D%gujZfD#BtX>c(#WmrVIlT-75%F%FP+OwDM@FYrRUhsuTZcVp47U;A z5nzR`-01fMfPCQ69Y4i0uB^I?t9r%;8hiH&t;LzG3`4Snv+^{n(T8RW&{; z7c>TMD7)S&*xT6$ZhUMHcClx}XE}v`$p@R1JL+-TKCl9N*4%?U*Bz66!;Aa&KdCIV AX#fBK delta 57 zcmX>nzK3;!-^4zx$!d%WleaMXOtxW;ntXs+Y_c4S%;YvUxyk2%xQJbC@-Fs($s0H{ NCL3@mOqSvf0sub%5~lzF diff --git a/speechToText/speech_to_text.py b/speechToText/speech_to_text.py index 5feb1ce..b3f2086 100644 --- a/speechToText/speech_to_text.py +++ b/speechToText/speech_to_text.py @@ -11,7 +11,6 @@ load_dotenv() client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) - def create_tmp_wav_file(chunk, rate=16000, channels=1, path="tmp.wav"): with wave.open(path, 'wb') as wav_file: wav_file.setnchannels(channels) # Mono audio @@ -38,7 +37,6 @@ def speech_to_text(audio_file): transcription.text.replace(prompt, "") return transcription - def path_to_audio_file(path): audio_file = open(path, "rb") return audio_file @@ -53,20 +51,6 @@ def chunks_to_text(chunks): def chunks_to_full_audio(chunks): return b"".join(chunks) - -def handle_chunk(chunk, index): - create_tmp_wav_file(chunk, path=f"tmp{index}.wav") - processor = AudioProcessor(f"tmp{index}.wav") - processor.process() - processor.save_audio(f"tmp{index}.wav") - audio_file = path_to_audio_file(f"tmp{index}.wav") - - text.append(speech_to_text(audio_file=audio_file)) - audio_file.close() - print(text[-1].text) - remove_tmp_wav_file(index) - - if __name__ == "__main__": import sys if len(sys.argv) ==1: From efe1d1806c0d5cc52e6f7bd76b7d7e322fa30bdc Mon Sep 17 00:00:00 2001 From: Konrad Date: Tue, 5 Nov 2024 17:57:56 +0100 Subject: [PATCH 12/18] Added communication between jarvis and stt module --- core/main.py | 65 ++++++++++++++++++++++++++------ core/static/chat.js | 10 +++++ core/static/index.html | 1 + core/static/index.js | 11 ++++++ core/static/recording.js | 2 +- core/static/socketEvents.js | 11 ++++++ docker-compose.yml | 4 +- speechToText/Dockerfile | 8 ++++ speechToText/audioRecorder.py | 13 ++++++- speechToText/config.py | 22 +++++++++++ speechToText/main.py | 31 ++++++++++++++- speechToText/requirements.txt | Bin 1118 -> 3316 bytes speechToText/speech_to_text.py | 42 ++++++++++++--------- speechToText/static/index.html | 67 +++++++++++++++++++++++++++++++++ 14 files changed, 251 insertions(+), 36 deletions(-) create mode 100644 speechToText/config.py create mode 100644 speechToText/static/index.html diff --git a/core/main.py b/core/main.py index e3466ea..62295e2 100644 --- a/core/main.py +++ b/core/main.py @@ -9,10 +9,11 @@ import asyncio from modules.user_data_setup import check_folders from modules.chat import read_chat +import requests import logging -from speech_to_text.speech_to_text import main as speech_to_text_main log = logging.getLogger('werkzeug') log.setLevel(logging.ERROR) +from time import sleep # # Setup @@ -90,18 +91,58 @@ def handle_prompt(data): return jsonify({"status": "error"}) # Custom event. Fired when the user click the button with the cute little microphone icon. + + + +@app.route('/start_recording', methods=['POST']) +def start_recording_route(): + data = request.json + conversation_id = data.get('conversation_id') + + print("Starting recording...") + + # Send POST request to the recorder to start recording + headers = {'Content-Type': 'application/json'} + response = requests.post(f'http://speech-to-text:3001/start_recording/{conversation_id}', headers=headers, json=data) + + if response.status_code != 200: + return jsonify({"status": "error", "text": "Failed to start recording"}), 500 + + return jsonify({"status": "recording_started"}), 200 + + @socketio.on('start_recording') -def handle_recording(data): - try: - conversation_id = data['conversation_id'] # grabs the conversation ID - socketio.emit("start_message") - text = asyncio.run(speech_to_text_main()) # prompts Jarvis and hands off emitting to the graphAgent. - print(text) - asyncio.run(jarvis.run(text, socketio), debug=True) # prompts Jarvis and hands off emitting to the graphAgent. - return jsonify({"status": "success"}) - except Exception as e: - print(f'Something very bad happened: {e}') - return jsonify({"status": "error"}) +def start_recording_socket(data): + # This function handles the socket event to start recording + conversation_id = data.get('conversation_id') + + print("Starting recording via socket...") + + # Send POST request to the recorder to start recording + headers = {'Content-Type': 'application/json'} + response = requests.post(f'http://speech-to-text:3001/start_recording/{conversation_id}', headers=headers, json=data) + + if response.status_code != 200: + socketio.emit('recording_failed', {"status": "error", "text": "Failed to start recording"}) + return + + socketio.emit('recording_started', {"status": "recording_started"}) + +@app.route('/recording_completed', methods=['POST']) +def recording_completed(): + data = request.json + text = data.get('text', '') + socketio.emit("recording", text) + + conversation_id = data.get('conversation_id', '') + print(f"Recording completed for conversation ID {conversation_id} with text:", text) + + # Process the recorded text as needed (e.g., send to Jarvis or other services) + asyncio.run(jarvis.run(text, socketio)) # Assuming jarvis.run is asynchronous + + return jsonify({"status": "success"}), 200 + + if __name__ == '__main__': socketio.run(app, debug=True, host='0.0.0.0', port=PORT, allow_unsafe_werkzeug=True) diff --git a/core/static/chat.js b/core/static/chat.js index edd9acd..366e68d 100644 --- a/core/static/chat.js +++ b/core/static/chat.js @@ -26,6 +26,16 @@ sendMessage = () => { } } +addRecordedMessage = (message) => { + let chat_history = document.getElementById("chat_history") + if (message != "") { + addUserMessage(marked.parse(message)) + chat_history.scrollTop = chat_history.scrollHeight; + } + +} + + addStreamedChunk = (messagePart) => { if(state.activeAIMessage){ state.activeAIMessage.innerHTML += messagePart; // Append to innertext of the message diff --git a/core/static/index.html b/core/static/index.html index 701e97d..5f650cc 100644 --- a/core/static/index.html +++ b/core/static/index.html @@ -8,6 +8,7 @@ + diff --git a/core/static/index.js b/core/static/index.js index 9696b79..66d3948 100644 --- a/core/static/index.js +++ b/core/static/index.js @@ -78,6 +78,17 @@ async function addStreamedMessage(uuid, messagePart) { element.innerHTML += messagePart; } } +async function addStreamedRecording(uuid, messagePart) { + let element = document.getElementById(uuid); + + if (element == null) { + await addRecordedMessage(messagePart, uuid); + element = document.getElementById(uuid); + } else { + // Concat ChatPart on message with uuid + element.innerHTML += messagePart; + } +} addUserMessage = (message) => { let html = /*html*/` diff --git a/core/static/recording.js b/core/static/recording.js index 8fc4a08..764d42f 100644 --- a/core/static/recording.js +++ b/core/static/recording.js @@ -1,5 +1,5 @@ startRecording = () => { - console.log("Recording started"); const payload = {conversation_id: state.activeConversationId} let res = socket.emit('start_recording', payload) + console.log("Recording started"); } \ No newline at end of file diff --git a/core/static/socketEvents.js b/core/static/socketEvents.js index d7522c1..94ef315 100644 --- a/core/static/socketEvents.js +++ b/core/static/socketEvents.js @@ -22,6 +22,17 @@ socket.on("chunk", async (chunk)=>{ await addStreamedMessage(uuid, chunk); }) +socket.on("recording", async (recording)=>{ + if(!state.activeAIMessage){ + console.log("RECIVED MESSAGE") + uuid = generateUUID(); + await addStreamedRecording(uuid, ""); + ai_message = document.getElementById(uuid) + state.activeAIMessage = ai_message + } + await addStreamedRecording(uuid, recording ); +}) + socket.on("tokens", async (tokens) => { state.totalTokensUsed += tokens console.log("Total tokens so far:", state.totalTokensUsed) diff --git a/docker-compose.yml b/docker-compose.yml index 5b59d7f..4e0dd1b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,9 +21,9 @@ services: environment: FLASK_ENV: ${FLASK_ENV} # Autorestarts flask when code changes are detected OPENAI_API_KEY: ${OPENAI_API_KEY} - PORT: ${PORT_STT} + PORT_STT: ${PORT_STT} volumes: - - ./core:/app # Mount the application code to detect live changes + - ./speechToText:/app # Mount the application code to detect live changes networks: - backend stop_signal: SIGINT diff --git a/speechToText/Dockerfile b/speechToText/Dockerfile index 2bc5266..5270186 100644 --- a/speechToText/Dockerfile +++ b/speechToText/Dockerfile @@ -3,7 +3,15 @@ FROM python:3.10-bookworm # Set the working directory in the container WORKDIR /app +RUN apt-get update && apt-get install -y \ + portaudio19-dev \ + libasound2-dev \ + libpulse-dev \ + && rm -rf /var/lib/apt/lists/* + + + # Copy only requrirements to keep cache. COPY requirements.txt requirements.txt diff --git a/speechToText/audioRecorder.py b/speechToText/audioRecorder.py index 9596eab..3c10629 100644 --- a/speechToText/audioRecorder.py +++ b/speechToText/audioRecorder.py @@ -1,7 +1,6 @@ import pyaudio import time import numpy as np -import sys class AudioRecorder: @@ -16,7 +15,17 @@ def __init__(self, chunk_size=1024, rate=16000, channels=1, silence_threshold=50 def start_recording(self): self.audio = pyaudio.PyAudio() - self.stream = self.audio.open(format=pyaudio.paInt16, channels=self.channels, rate=self.rate, input=True, frames_per_buffer=self.chunk_size) + print("Available audio devices:") + for i in range(self.audio.get_device_count()): + device = self.audio.get_device_info_by_index(i) + print(f"Device {i}: {device['name']}") + self.stream = self.audio.open( + format=pyaudio.paInt16, + channels=self.channels, + rate=self.rate, + input=True, + frames_per_buffer=self.chunk_size + ) self.audio_chunks = [] print("Recording started") diff --git a/speechToText/config.py b/speechToText/config.py new file mode 100644 index 0000000..c8bb7bf --- /dev/null +++ b/speechToText/config.py @@ -0,0 +1,22 @@ +import os +from dotenv import load_dotenv +load_dotenv() + +OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") +PORT_STT = os.getenv("PORT_STT") +PERPLEXITY_API_KEY = os.getenv("PERPLEXITY_API_KEY") + +#add langsmith api to env as LANGSMITH_API_KEY = "your_api_key" on EU server +LANGSMITH_API_KEY = os.getenv("LANGSMITH_API_KEY", "no_key") + +os.environ["LANGCHAIN_TRACING_V2"] = "true" +os.environ["LANGCHAIN_ENDPOINT"] = "https://eu.api.smith.langchain.com" +try: + os.environ["LANGCHAIN_API_KEY"] = LANGSMITH_API_KEY +except: + print("No langsmith key found") + +if __name__ == "__main__": + print(f"[INFO] OPENAI_API_KEY: {OPENAI_API_KEY}") + if(LANGSMITH_API_KEY): + print(f"[INFO] LANGSMITH_API_KEY: {LANGSMITH_API_KEY}") \ No newline at end of file diff --git a/speechToText/main.py b/speechToText/main.py index f762f4f..6cb5450 100644 --- a/speechToText/main.py +++ b/speechToText/main.py @@ -1,6 +1,11 @@ from flask import Flask, request, url_for, jsonify from flask_socketio import SocketIO, send, emit from flask_cors import CORS +from config import PORT_STT +import asyncio +import speech_to_text +import requests + app = Flask(__name__, static_url_path='/static') app.config['SECRET_KEY'] = 'secret_key_xdddd' # TODO: Make a better key @@ -8,7 +13,31 @@ socketio = SocketIO(app, cors_allowed_origins="*") # Routes +@app.route("/") +def hello_world(): + return app.send_static_file('index.html') + + +@app.route('/start_recording/', methods=['POST']) +def start_recording_recorder(conversation_id): + print(f"Recording started for conversation ID: {conversation_id}") + + try: + # Start the recording process + text = asyncio.run(speech_to_text.startRecording()) # Ensure this function is correctly defined + + # After recording, send a POST request back to the main service + response = requests.post(f'http://llm-service:3000/recording_completed', json={"text": text, "conversation_id": conversation_id}) + + if response.status_code != 200: + print("Failed to notify main service about recording completion") + + return jsonify({"status": "success", "text": text}), 200 + + except Exception as e: + print(f'Something very bad happened: {e}') + return jsonify({"status": "error", "text": "Recording failed"}), 500 # Routes end if __name__ == '__main__': - socketio.run(app, debug=True, host='0.0.0.0', port=PORT, allow_unsafe_werkzeug=True) \ No newline at end of file + socketio.run(app, debug=True, host='0.0.0.0', port=PORT_STT, allow_unsafe_werkzeug=True) \ No newline at end of file diff --git a/speechToText/requirements.txt b/speechToText/requirements.txt index 464ba82acd6a9260eb4865293c95ee7fb4e875cb..d68b273a757261b7fa59e74385a2b4b0df6fafee 100644 GIT binary patch literal 3316 zcmZvfL2uhe5QX<#pg+ZiC8th%$RR+GL(u>RdMJ7_XjztIOQb?kZjvA0_I>j>T*fT~ zI)e7?%$qlFXPJNgZc3|9SBBE)S(k@$p?|-YqrRWYJAJOoWqGUTs{B}f5USPcPCHn8 zqu+m;t(~=>wO+d$eFt+L>z8E_`|q_*u3n!;kw7ek_(jihMC^rW%d=wivA)pS&(r!U zejkK+)Z_hE+6xy@*CW%F))PU5MO0xHtFjFaC&e06F$(nMpx?;-ZOROH9y43T>PpPW zN-pBQ4c03~*hiEm;($OoSlzrrpfcFasPJOcFf}4p8{9Y3&Q?6Tau&=Yb_b3Fm5>Eb*6iDw^B*Z-lr=r?M5`mm$w zlsh;ZjgYP!n6zL&{hV_;srRT}Gx#K@gURttUbs^goxU>x zYJc1}cZKtQ5`ykzCf5WLCW2?kK6E|kue+W2H=&r>eNvoWH82%^*LO}CI23}PeT{1e zAz(H{JbMG>>rHSF!pONRvfl?W+X&HwX6Y<)m`SV5gB-!Ed)Dj%L43~_CO%$46Xx+* zQOq=5Wq-DD#_p9RtGx-0G6yG+iA-nkajQ(d_RzhZ*6OKV%qn~BA$zpmvT#n{CvTr; zyEvG=Sv zo)nzIl&+nsH}+9`=rePG$x9|C^Ky2p-%7*xTJ`%wYHioptEjw+e#0Ou0+FZ6h+a7E zs7|rEsRL$O-2v8fk3Qw}p1bcg;!Y^~QvJM)`YStJWFPyy`*y_{#G+>~ul<6PI}heo znA`H9d{jNzbDzeHklp0`;qL1RN2bbynSd8BqC)27Io!ApJc{{tx)dj$Z@U?m^S$(p zJLM(zS-ZTuVf&{#_Nn|9tK90Y8n!UyKJlsh{#N8ROw4C7<2{pGh??PcJ^lrAlIA;| zUgph(yoj57F#-!8yQm_mAlDY*W9LG3zZ-Rm^P(tzH?184VYbBeTZ&aVDIf2eywTM6 zBKOXjxih(W^PL9rjn`vEZRDC_QuTh`1c8Kiky@|I!&mR9T x!>8dcyyE)k1n#X<#_zG7$GibEv3Q%X|H;T>js8$1<~{H5=W#AlH{0o}z;7tGk delta 304 zcmew&d5?qj|3760g~|U}^_fBRPc~_BBL+PN10XhJ;AP-q0E#jcFjO)mPVVQB1*bb1AccR7_-YVl@HjnYdnmvJa!eWIiUJ$tlcHf|(2{40#NR47NaM3{+q-*_lOg z5}OR8!Q^5#MOJf=9h1MZ$-AQ3n8#4ckPEgGq!A=%2*x10@`2*1U_&#(#)4!_fDmL- zD~I;ve;g8whLgoPbs3E(b8;C<76Vl$G9&@@6#;dD%!ByMX!1cWS#=QG0PM?RhD?SW apxPp!N?nFBpq>=CYU9b$+?taUc>Dmr$T`>m diff --git a/speechToText/speech_to_text.py b/speechToText/speech_to_text.py index 5feb1ce..5054d6c 100644 --- a/speechToText/speech_to_text.py +++ b/speechToText/speech_to_text.py @@ -54,7 +54,7 @@ def chunks_to_full_audio(chunks): return b"".join(chunks) -def handle_chunk(chunk, index): +def handle_chunk(chunk, index, text): create_tmp_wav_file(chunk, path=f"tmp{index}.wav") processor = AudioProcessor(f"tmp{index}.wav") processor.process() @@ -67,26 +67,32 @@ def handle_chunk(chunk, index): remove_tmp_wav_file(index) +async def startRecording(): + CHUNK_SIZE = 1024 # Number of frames in a buffer + RATE = 16000 # 16 000 Hz is a common rate for speech processing + CHANNELS = 1 # Mono audio + SILENCE_THRESHOLD = 25 # Used to detect silence for stopping recording + MAX_SILENCE_DURATION = 5 # Seconds of silence to stop recording + return "can you hear me?" + recorder = AudioRecorder(chunk_size=CHUNK_SIZE, rate=RATE, channels=CHANNELS, silence_threshold=SILENCE_THRESHOLD, max_silence_duration=MAX_SILENCE_DURATION) + + text = [] + threads = [] + index = 0 + for chunk in recorder.record(30): + t = Thread(target=handle_chunk, args=(chunk,index,text)) + threads.append(t) + index += 1 + t.start() + + for t in threads: + t.join() + return " ".join([t.text for t in text]) + if __name__ == "__main__": import sys if len(sys.argv) ==1: - - CHUNK_SIZE = 1024 # Number of frames in a buffer - RATE = 16000 # 16 000 Hz is a common rate for speech processing - CHANNELS = 1 # Mono audio - SILENCE_THRESHOLD = 25 # Used to detect silence for stopping recording - MAX_SILENCE_DURATION = 5 # Seconds of silence to stop recording - - recorder = AudioRecorder(chunk_size=CHUNK_SIZE, rate=RATE, channels=CHANNELS, silence_threshold=SILENCE_THRESHOLD, max_silence_duration=MAX_SILENCE_DURATION) - - text = [] - index = 0 - for chunk in recorder.record(30): - t = Thread(target=handle_chunk, args=(chunk,index)) - index += 1 - t.start() - - time.sleep(2) + startRecording() else: audio_file = path_to_audio_file(sys.argv[1]) transcription = speech_to_text(audio_file) diff --git a/speechToText/static/index.html b/speechToText/static/index.html new file mode 100644 index 0000000..542c291 --- /dev/null +++ b/speechToText/static/index.html @@ -0,0 +1,67 @@ + + + + + + Bad Gateway + + + +

    I Audio Recorder Your Mother

    +

    This is certanly one of the main page of the audio recorders of all time

    +

    I don't know whywhat you are hereeither

    + + + \ No newline at end of file From 840d788f9fadd383f296864150fdea9c760b7640 Mon Sep 17 00:00:00 2001 From: Konrad Date: Tue, 5 Nov 2024 20:10:18 +0100 Subject: [PATCH 13/18] moved recording to js. it no work tho --- speechToText/main.py | 58 ++++++++++++----------- speechToText/speech_to_text.py | 17 ++++++- speechToText/static/index.html | 6 ++- speechToText/static/record.js | 84 ++++++++++++++++++++++++++++++++++ 4 files changed, 136 insertions(+), 29 deletions(-) create mode 100644 speechToText/static/record.js diff --git a/speechToText/main.py b/speechToText/main.py index 9a9ba7d..aff0ac7 100644 --- a/speechToText/main.py +++ b/speechToText/main.py @@ -5,6 +5,7 @@ import asyncio import speech_to_text import requests +import os app = Flask(__name__, static_url_path='/static') @@ -12,46 +13,49 @@ CORS(app, resources={r"/*": {"origins": "*"}}) # TODO: Make the CORS actually not accept everything socketio = SocketIO(app, cors_allowed_origins="*") -# Runs in multiple threads, printing the output, also appending the read text to the text list. -def handle_chunk(chunk, index): - create_tmp_wav_file(chunk, path=f"tmp{index}.wav") - processor = AudioProcessor(f"tmp{index}.wav") - processor.process() - processor.save_audio(f"tmp{index}.wav") - audio_file = path_to_audio_file(f"tmp{index}.wav") - - text.append(speech_to_text(audio_file=audio_file)) - audio_file.close() - print(text[-1].text) - remove_tmp_wav_file(index) # Routes - @app.route("/") def hello_world(): return app.send_static_file('index.html') @app.route('/start_recording/', methods=['POST']) -def start_recording_recorder(conversation_id): - print(f"Recording started for conversation ID: {conversation_id}") - +def start_recording(conversation_id): + print(f"Recording triggered for conversation ID: {conversation_id}") + try: - # Start the recording process - text = asyncio.run(speech_to_text.startRecording()) # Ensure this function is correctly defined - - # After recording, send a POST request back to the main service - response = requests.post(f'http://llm-service:3000/recording_completed', json={"text": text, "conversation_id": conversation_id}) - - if response.status_code != 200: - print("Failed to notify main service about recording completion") + # Emit 'start_recording' event to clients + socketio.emit('start_recording', {'conversation_id': conversation_id}) - return jsonify({"status": "success", "text": text}), 200 + return jsonify({"status": "success", "message": "Recording started on client"}), 200 except Exception as e: - print(f'Something very bad happened: {e}') - return jsonify({"status": "error", "text": "Recording failed"}), 500 + print(f'Error starting recording: {e}') + return jsonify({"status": "error", "message": "Failed to start recording"}), 500 + + +@app.route('/upload_audio', methods=['POST']) +def upload_audio(): + audio_file = request.files['audio'] + conversation_id = request.form.get("conversation_id") + file_path = os.path.join("uploads", f"recording.wav") + audio_file.save(file_path) + + # Placeholder for processing the audio if needed + text_result = speech_to_text.speech_to_text(file_path) + + # Send a POST request to notify main service about recording completion + requests.post(f'http://llm-service:3000/recording_completed', json={ + "text": text_result, + "conversation_id": conversation_id + }) + + return jsonify({"status": "success", "message": text_result}), 200 + # Routes end if __name__ == '__main__': + if not os.path.exists('uploads'): + os.makedirs('uploads') socketio.run(app, debug=True, host='0.0.0.0', port=PORT_STT, allow_unsafe_werkzeug=True) \ No newline at end of file diff --git a/speechToText/speech_to_text.py b/speechToText/speech_to_text.py index 81a2525..9ad119b 100644 --- a/speechToText/speech_to_text.py +++ b/speechToText/speech_to_text.py @@ -26,7 +26,15 @@ def remove_tmp_wav_file(index=None): if os.path.exists("tmp.wav"): os.remove("tmp.wav") -def speech_to_text(audio_file): +def speech_to_text(audio_file = None, filepath = None): + if audio_file is None and filepath is None: + raise ValueError("Either audio_file or filepath must be provided") + if audio_file is None: + audio_file = path_to_audio_file(f"{filepath}") + if filepath is None: + filepath = "tmp.wav" + handle_audio(audio_file, path=filepath) + prompt="Transcribe the following Norwegian speech to text, the sentances may be cut off, do not make up words or fill in the sentances" transcription = client.audio.transcriptions.create( model="whisper-1", @@ -64,6 +72,13 @@ def handle_chunk(chunk, index, text): print(text[-1].text) remove_tmp_wav_file(index) +def handle_audio(audio_file, path="tmp.wav"): + processor = AudioProcessor(audio_file) + processor.process() + processor.save_audio(path) + audio_file = path_to_audio_file(path) + return audio_file + async def startRecording(): CHUNK_SIZE = 1024 # Number of frames in a buffer diff --git a/speechToText/static/index.html b/speechToText/static/index.html index 542c291..ebc6f5a 100644 --- a/speechToText/static/index.html +++ b/speechToText/static/index.html @@ -3,7 +3,9 @@ - Bad Gateway + Audio recorder + + +
    Waiting for server to start recording...
    +

    I Audio Recorder Your Mother

    This is certanly one of the main page of the audio recorders of all time

    I don't know whywhat you are hereeither

    diff --git a/speechToText/static/record.js b/speechToText/static/record.js new file mode 100644 index 0000000..e0a453c --- /dev/null +++ b/speechToText/static/record.js @@ -0,0 +1,84 @@ +const silenceThreshold = 10; // RMS threshold to detect silence +const maxSilenceDuration = 1; // seconds +let silenceStartTime = null; +let mediaRecorder, audioBlob; + +// Connect to the WebSocket server +const socket = io.connect(window.location.origin); + +// Listen for "start_recording" event +socket.on('start_recording', () => { + document.getElementById('status').innerText = "Recording started by server..."; + startRecording(); +}); + +async function startRecording() { + const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); + + mediaRecorder = new MediaRecorder(stream); + mediaRecorder.start(); + + // Initialize the audioBlob to store recorded data + audioBlob = new Blob([], { type: 'audio/wav' }); + + // Append data when available + mediaRecorder.ondataavailable = event => { + audioBlob = new Blob([audioBlob, event.data], { type: 'audio/wav' }); + }; + + // Stop recording when silence is detected + mediaRecorder.onstop = async () => { + const formData = new FormData(); + formData.append('audio', audioBlob, 'recording.wav'); + + try { + const response = await fetch('/upload_audio', { + method: 'POST', + body: formData, + }); + + if (!response.ok) { + throw new Error('Network response was not ok'); + } + + const data = await response.json(); + console.log(data); + document.getElementById('status').innerText = `Audio uploaded. Server response: ${data.message}`; + } catch (error) { + console.error('Error uploading audio:', error); + document.getElementById('status').innerText = 'Error uploading audio'; + } + }; + + // Check for silence + detectSilence(); +} + +function detectSilence() { + const silenceCheckInterval = setInterval(() => { + if (mediaRecorder.state === "inactive") { + clearInterval(silenceCheckInterval); + return; + } + + // Check for sound levels + const currentTime = performance.now(); + + if (audioBlob.size === 0) { + // If no data has been recorded yet, we consider it silent + if (!silenceStartTime) { + silenceStartTime = currentTime; // Start the silence timer + } + } else { + // Sound is detected + silenceStartTime = null; // Reset the silence timer + } + + // Check if silence duration exceeds the maximum silence duration + if (silenceStartTime && (currentTime - silenceStartTime) / 1000 >= maxSilenceDuration) { + document.getElementById('status').innerText = "Silence detected. Stopping recording..."; + mediaRecorder.stop(); + clearInterval(silenceCheckInterval); // Stop checking for silence + } + }, 1000); +} From 8771a78a9e74f2aaa74773d2deee5089161dec7a Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 7 Nov 2024 20:10:25 +0100 Subject: [PATCH 14/18] Fixed audio input, it is wierd though --- speechToText/Dockerfile | 6 +++ speechToText/audioProcessor.py | 19 +++++++++- speechToText/main.py | 57 ++++++++++++++++++++++------ speechToText/requirements.txt | Bin 3316 -> 3334 bytes speechToText/speech_to_text.py | 12 +++--- speechToText/static/record.js | 46 +++++++++++++--------- speechToText/uploads/recording.webm | Bin 0 -> 76307 bytes 7 files changed, 102 insertions(+), 38 deletions(-) create mode 100644 speechToText/uploads/recording.webm diff --git a/speechToText/Dockerfile b/speechToText/Dockerfile index 5270186..a5e501e 100644 --- a/speechToText/Dockerfile +++ b/speechToText/Dockerfile @@ -7,8 +7,14 @@ RUN apt-get update && apt-get install -y \ portaudio19-dev \ libasound2-dev \ libpulse-dev \ + sox \ + libsox-dev \ && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y ffmpeg + + + diff --git a/speechToText/audioProcessor.py b/speechToText/audioProcessor.py index 741f898..057a621 100644 --- a/speechToText/audioProcessor.py +++ b/speechToText/audioProcessor.py @@ -3,7 +3,7 @@ from scipy.io import wavfile import noisereduce as nr from silero_vad import load_silero_vad, get_speech_timestamps, read_audio -from scipy.signal import resample +import subprocess class AudioProcessor: def __init__(self, audio_path=None): @@ -58,7 +58,24 @@ def process(self): #self.boost_audio() return self.verify_audio_long_enough() + +def convert_webm_to_wav(input_file, output_file_path): + """ + Convert a .webm file to .wav using ffmpeg. + """ + try: + # Run ffmpeg command to convert the .webm file to .wav + result = subprocess.run([ + 'ffmpeg', '-i', input_file, '-vn', '-acodec', 'pcm_s16le', '-ar', '44100', '-ac', '2', output_file_path + ], capture_output=True, text=True) + + if result.returncode != 0: + print("FFmpeg error:", result.stderr) + print(f"Successfully converted {input_file} to {output_file_path}") + except subprocess.CalledProcessError as e: + print(f"Error during ffmpeg conversion: {e}") + raise e # for debugging if __name__ == "__main__": diff --git a/speechToText/main.py b/speechToText/main.py index aff0ac7..e03b16e 100644 --- a/speechToText/main.py +++ b/speechToText/main.py @@ -6,6 +6,9 @@ import speech_to_text import requests import os +from audioProcessor import convert_webm_to_wav +import subprocess + app = Flask(__name__, static_url_path='/static') @@ -36,24 +39,54 @@ def start_recording(conversation_id): @app.route('/upload_audio', methods=['POST']) + def upload_audio(): audio_file = request.files['audio'] - conversation_id = request.form.get("conversation_id") - file_path = os.path.join("uploads", f"recording.wav") - audio_file.save(file_path) - - # Placeholder for processing the audio if needed - text_result = speech_to_text.speech_to_text(file_path) - + print(f"Received audio file: {audio_file.filename}") + file_path = os.path.join("uploads", f"{audio_file.filename}") + wav_file_path = file_path.rsplit('.', 1)[0] + '.wav' + + # Save the audio file if it's in the expected format + if audio_file.filename.endswith('.webm'): + # Save the original .webm file + audio_file.save(file_path) + try: + # Convert the .webm file to .wav + if os.path.exists(wav_file_path): + os.remove(wav_file_path) + convert_webm_to_wav(file_path, wav_file_path) + file_path = wav_file_path # Now the path will point to the converted .wav file + except Exception as e: + print(f"Error converting webm to wav: {e}") + return jsonify({"status": "error", "message": str(e)}), 500 + else: + # For other file types, save directly + audio_file.save(file_path) + + # Process the converted .wav file (speech-to-text, etc.) + try: + text_result = speech_to_text.speech_to_text(filepath=wav_file_path) + except Exception as e: + print(f"Error during speech-to-text processing: {e}") + return jsonify({"status": "error", "message": "Failed to process audio"}), 500 + # Send a POST request to notify main service about recording completion - requests.post(f'http://llm-service:3000/recording_completed', json={ - "text": text_result, - "conversation_id": conversation_id - }) - + conversation_id = request.form.get("conversation_id") + try: + response = requests.post(f'http://llm-service:3000/recording_completed', json={ + "text": text_result, + "conversation_id": conversation_id + }) + response.raise_for_status() # Ensure the request was successful + except requests.exceptions.RequestException as e: + print(f"Error notifying LLM service: {e}") + return jsonify({"status": "error", "message": "Failed to notify LLM service"}), 500 + + # Return the result to the client return jsonify({"status": "success", "message": text_result}), 200 + # Routes end if __name__ == '__main__': if not os.path.exists('uploads'): diff --git a/speechToText/requirements.txt b/speechToText/requirements.txt index d68b273a757261b7fa59e74385a2b4b0df6fafee..e84dcd1be4f2fbdb86fb41a9ccd1018d7a17e698 100644 GIT binary patch delta 45 xcmew&*(SB&594MordM1FxeWOXWek}NsSE`Sl?=8(Xvm<)U;xC%47?0n3;-}83Ag|N delta 26 fcmZpZ`XagE4 { startRecording(); }); +// Start recording audio async function startRecording() { const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); - + + // Create MediaRecorder instance mediaRecorder = new MediaRecorder(stream); mediaRecorder.start(); - // Initialize the audioBlob to store recorded data - audioBlob = new Blob([], { type: 'audio/wav' }); + isRecording = true; + document.getElementById('status').innerText = "Recording in progress..."; - // Append data when available - mediaRecorder.ondataavailable = event => { - audioBlob = new Blob([audioBlob, event.data], { type: 'audio/wav' }); + // Collect audio data chunks + mediaRecorder.ondataavailable = (event) => { + audioChunks.push(event.data); }; - // Stop recording when silence is detected + // When the recording stops, we process and upload the audio mediaRecorder.onstop = async () => { + // Combine audio chunks into a single Blob + const combinedBlob = new Blob(audioChunks, { type: 'audio/webm' }); + + // Send the WebM file to the server (no conversion needed) const formData = new FormData(); - formData.append('audio', audioBlob, 'recording.wav'); + formData.append('audio', combinedBlob, 'recording.webm'); try { const response = await fetch('/upload_audio', { @@ -50,35 +57,38 @@ async function startRecording() { } }; - // Check for silence + // Detect silence during the recording detectSilence(); } +// Detect silence based on time and silenceThreshold function detectSilence() { const silenceCheckInterval = setInterval(() => { - if (mediaRecorder.state === "inactive") { + if (mediaRecorder.state === "inactive" || !isRecording) { clearInterval(silenceCheckInterval); return; } - // Check for sound levels + // Here, we're checking if the audio chunks' duration is long enough to consider it "silence". const currentTime = performance.now(); - - if (audioBlob.size === 0) { + + if (audioChunks.length === 0) { // If no data has been recorded yet, we consider it silent if (!silenceStartTime) { silenceStartTime = currentTime; // Start the silence timer } } else { - // Sound is detected - silenceStartTime = null; // Reset the silence timer + // Sound is detected, reset the silence timer + silenceStartTime = null; } // Check if silence duration exceeds the maximum silence duration if (silenceStartTime && (currentTime - silenceStartTime) / 1000 >= maxSilenceDuration) { document.getElementById('status').innerText = "Silence detected. Stopping recording..."; - mediaRecorder.stop(); + mediaRecorder.stop(); // Stop recording when silence is detected clearInterval(silenceCheckInterval); // Stop checking for silence } }, 1000); + + } diff --git a/speechToText/uploads/recording.webm b/speechToText/uploads/recording.webm new file mode 100644 index 0000000000000000000000000000000000000000..4b0ca1b4eccca6edc967d5e1f9bd2263fb47516b GIT binary patch literal 76307 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�& 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

    E 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%0DwNNWZ6l383gQ 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 Date: Thu, 7 Nov 2024 20:16:34 +0100 Subject: [PATCH 15/18] made max length for recording, so it does not go out of control --- speechToText/static/record.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/speechToText/static/record.js b/speechToText/static/record.js index 46f5e00..4c7f8e1 100644 --- a/speechToText/static/record.js +++ b/speechToText/static/record.js @@ -1,8 +1,10 @@ const silenceThreshold = 10; // RMS threshold to detect silence const maxSilenceDuration = 3; // seconds +const maxRecordingDuration = 10000; // Maximum recording time in milliseconds (10 seconds) let silenceStartTime = null; let mediaRecorder, audioChunks = []; let isRecording = false; +let recordingTimeout; // Connect to the WebSocket server const socket = io.connect(window.location.origin); @@ -57,6 +59,14 @@ async function startRecording() { } }; + // Start the timeout to stop recording after maxRecordingDuration + recordingTimeout = setTimeout(() => { + if (isRecording) { + document.getElementById('status').innerText = "Maximum recording duration reached. Stopping recording..."; + mediaRecorder.stop(); // Stop recording after 10 seconds + } + }, maxRecordingDuration); + // Detect silence during the recording detectSilence(); } @@ -89,6 +99,4 @@ function detectSilence() { clearInterval(silenceCheckInterval); // Stop checking for silence } }, 1000); - - } From 57856bc9fe3bf3dcfbf09f6404b8005cace60d89 Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 7 Nov 2024 20:18:41 +0100 Subject: [PATCH 16/18] Added webm to gitignore --- .gitignore | 1 + speechToText/uploads/recording.webm | Bin 76307 -> 0 bytes 2 files changed, 1 insertion(+) delete mode 100644 speechToText/uploads/recording.webm diff --git a/.gitignore b/.gitignore index f8b6f1d..ffd0d8e 100644 --- a/.gitignore +++ b/.gitignore @@ -142,5 +142,6 @@ dmypy.json #wav files *.wav +*.webm #calender json /core/tools/calendarjson diff --git a/speechToText/uploads/recording.webm b/speechToText/uploads/recording.webm deleted file mode 100644 index 4b0ca1b4eccca6edc967d5e1f9bd2263fb47516b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76307 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�& 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

    E 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%0DwNNWZ6l383gQ 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 Date: Thu, 7 Nov 2024 20:33:07 +0100 Subject: [PATCH 17/18] Made button red while recording --- core/static/index.css | 8 ++++++++ core/static/recording.js | 2 ++ core/static/socketEvents.js | 2 ++ 3 files changed, 12 insertions(+) diff --git a/core/static/index.css b/core/static/index.css index 03a8065..7d5de04 100644 --- a/core/static/index.css +++ b/core/static/index.css @@ -99,6 +99,14 @@ body { border-radius: 10px; font-size: 24px; +} +#voice_button_recording { + width: 10%; + height: 9vh; + background-color: #673636; + border-radius: 10px; + font-size: 24px; + } .chat_input_container{ diff --git a/core/static/recording.js b/core/static/recording.js index 764d42f..9298f9b 100644 --- a/core/static/recording.js +++ b/core/static/recording.js @@ -1,4 +1,6 @@ startRecording = () => { + document.getElementById('voice_button').style.backgroundColor = "#673636"; // Change button color to indicate recording + document.getElementById('voice_button').enabled = false; // Disable button while recording const payload = {conversation_id: state.activeConversationId} let res = socket.emit('start_recording', payload) console.log("Recording started"); diff --git a/core/static/socketEvents.js b/core/static/socketEvents.js index 94ef315..24a12a5 100644 --- a/core/static/socketEvents.js +++ b/core/static/socketEvents.js @@ -25,6 +25,8 @@ socket.on("chunk", async (chunk)=>{ socket.on("recording", async (recording)=>{ if(!state.activeAIMessage){ console.log("RECIVED MESSAGE") + document.getElementById('voice_button').style.backgroundColor = ""; // Change button color to indicate recording + document.getElementById('voice_button').enabled = true; // Disable button while recording uuid = generateUUID(); await addStreamedRecording(uuid, ""); ai_message = document.getElementById(uuid) From 8ea02404ec57bf6b5a3990f31a68ffc771938f3e Mon Sep 17 00:00:00 2001 From: Konrad Date: Sat, 9 Nov 2024 17:31:41 +0100 Subject: [PATCH 18/18] Fixed bug where audio is appended instead of replaced --- speechToText/speech_to_text.py | 1 - speechToText/static/record.js | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/speechToText/speech_to_text.py b/speechToText/speech_to_text.py index 34fa58f..2fabf78 100644 --- a/speechToText/speech_to_text.py +++ b/speechToText/speech_to_text.py @@ -38,7 +38,6 @@ def speech_to_text(audio_file = None, filepath = None): model="whisper-1", file=audio_file, language="no", - prompt=prompt, ) transcription.text.replace(prompt, "") return transcription.text diff --git a/speechToText/static/record.js b/speechToText/static/record.js index 4c7f8e1..7fe16a9 100644 --- a/speechToText/static/record.js +++ b/speechToText/static/record.js @@ -12,6 +12,11 @@ const socket = io.connect(window.location.origin); // Listen for "start_recording" event socket.on('start_recording', () => { document.getElementById('status').innerText = "Recording started by server..."; + // reset variables + audioChunks = []; + silenceStartTime = null; + mediaRecorder = []; + clearTimeout(recordingTimeout); startRecording(); });