feat: asr blackblox

This commit is contained in:
superobk
2024-03-19 11:44:51 +08:00
parent 4e2a4ef63c
commit 2dccf5e78d
19 changed files with 1408 additions and 14 deletions

View File

@ -4,7 +4,7 @@ import speech_recognition as sr
import filetype
import io
from blackbox.blackbox import Blackbox
from .blackbox import Blackbox
class AudioToText(Blackbox):

View File

@ -1,16 +1,23 @@
from blackbox.audio_to_text import AudioToText
from blackbox.blackbox import Blackbox
from blackbox.calculator import Calculator
from blackbox.text_to_audio import TextToAudio
from ..asr.asr import ASR
from .audio_to_text import AudioToText
from .blackbox import Blackbox
from .calculator import Calculator
from .text_to_audio import TextToAudio
class BlackboxFactory:
def create_blackbox(self, blackbox_type: str, blackbox_config: dict) -> Blackbox:
if blackbox_type == "audio_to_text":
def __init__(self) -> None:
self.asr = ASR("./.env.yaml")
pass
def create_blackbox(self, blackbox_name: str, blackbox_config: dict) -> Blackbox:
if blackbox_name == "audio_to_text":
return AudioToText(blackbox_config)
if blackbox_type == "text_to_audio":
if blackbox_name == "text_to_audio":
return TextToAudio(blackbox_config)
if blackbox_type == "calculator":
if blackbox_name == "calculator":
return Calculator(blackbox_config)
if blackbox_name == "asr":
return self.asr
raise ValueError("Invalid blockbox type")

View File

@ -1,6 +1,6 @@
from fastapi import status
from fastapi.responses import JSONResponse
from blackbox.blackbox import Blackbox
from .blackbox import Blackbox
class Calculator(Blackbox):

View File

@ -1,6 +1,6 @@
from fastapi import Response, status
from fastapi.responses import JSONResponse
from blackbox.blackbox import Blackbox
from .blackbox import Blackbox
from gtts import gTTS
from io import BytesIO