voice recognition trial 5

This commit is contained in:
YasinOnm08 2024-09-26 13:08:29 +02:00
parent b0e1f6acfd
commit 1752a5745f
4 changed files with 18 additions and 7 deletions

View file

@ -1,10 +1,24 @@
import io
import numpy as np
import whisper
from pydub import AudioSegment
class VoiceRecognition:
@staticmethod
def recognition(audio):
audio_data = audio.read()
with io.BytesIO(audio_data) as audio_buffer:
audio_segment = AudioSegment.from_ogg(audio_buffer)
raw_data = np.array(audio_segment.get_array_of_samples())
if audio_segment.channels > 1:
raw_data = raw_data.reshape((-1, audio_segment.channels))[:, 0]
audio_data = raw_data.astype(np.float32) / (2 ** (audio_segment.sample_width * 8 - 1))
model = whisper.load_model("base")
result = model.transcribe(audio)
result = model.transcribe(audio_data)
print(result["text"])
return result["text"]