from config import settings from playsound import playsound from typing import List from src.metahuman import MetaHuman from src.stt_api import transcribe_file helper_path = settings.data_path / "MetaHuman_Voice" user_path = settings.data_path / "User1_Voice" def run_text(helper): response = None while True: audio_file = helper.flow(response=response) playsound(audio_file, block=False) print(f"Helper: {helper.get_state_transcript()}") response = input("Enter response: ") print(f"User: {response}") if response.lower() == "stop": break def run_robouser(helper, user_response_flow: List[str]): helper.flow() print(f"Helper: {helper.get_state_transcript()}") while user_response_flow: user_audio_file = user_path / user_response_flow.pop(0) print("User:") user_response = transcribe_file(user_audio_file) helper.flow(user_response) print(f"Helper: {helper.get_state_transcript()}") if __name__ == "__main__": from model import ModelCompare helper = MetaHuman(helper_path, compare_func=ModelCompare()) run_text(helper) user_response_flow = ["Block_okidoki.wav", "Block_yep.wav", "Block_service.wav", "Block_production.wav", "Block_back.wav", "Block_menu.wav"] run_robouser(helper, user_response_flow)