from src.blackbox.audio_to_text import AudioToText from src.blackbox.text_to_audio import TextToAudio from runtime.ast.parser import Parser from runtime.ast.runtime import Runtime script = """ let hello = true let text = audio_to_text(audio) print(hello) return tts(text) """ def version(): return "0.0.1" def add(a,b): return a+b def div(a,b): return a/b def minus(a,b): return a-b def mul(a,b): return a*b if __name__ == "__main__": f = open("./test_data/testone.wav", "rb") audio_data = f.read() f.close() tts = TextToAudio() audio_to_text = AudioToText() # 注入函数 runtime = Runtime(records={ "add": add, "div": div, "minus": minus, "mul": mul, "audio_to_text": audio_to_text, "tts": tts, "version": version, "print": print }) # 注入數據 script_output = runtime.run(Parser().parse(script), { "audio": audio_data }) f = open("./test_data/runtime_output.mp3", "wb") f.write(script_output.read()) f.close()