File size: 834 Bytes
476b1c3
 
 
70c05b8
7640294
476b1c3
7640294
 
861e352
7640294
 
861e352
 
 
7640294
 
 
 
 
 
 
476b1c3
70c05b8
476b1c3
70c05b8
476b1c3
 
 
70c05b8
476b1c3
7640294
70c05b8
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

from typing import *
from src import utils
import whisper
  

MODEL_NAMES = ["tiny", "base", "small", "medium", "large", "large-v1","large-v2"]
MODEL_BASE = whisper.load_model("base")

def model_preloader_downloader():
    for mname in MODEL_NAMES:
        mdl = whisper.load_model(mname)
        del mdl

def model_loader(name: str):
    if name=="base":
        return MODEL_BASE
    else:
        return whisper.load_model(name)

def predict(model_name: str, language: str, mic_audio=None, audio=None):
    if mic_audio is not None:
        voice = mic_audio
    elif audio is not None:
        voice = audio
    else:
        return "(please provide audio)"
    
    voice = utils.preprocess_audio(voice)
    
    model = model_loader(model_name)
    result = model.transcribe(voice, language=language)
    return result["text"]