import json import simpleaudio import tempfile import re import requests VOICEVOX_HOST = "127.0.0.1" VOICEVOX_PORT = 50021 headers = {"x-api-key": "fugafuga"} data = {"text": "領収書は発行できますか?"} response = requests.post( "https://xxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/faq", headers=headers, data=json.dumps(data) ) text = response.text.split("SOURCES")[0] text = re.sub("\n", "", text) print(text) params = (("text", text), ("speaker", 3)) response1 = requests.post( f"http://{VOICEVOX_HOST}:{VOICEVOX_PORT}/audio_query", params=params ) response2 = requests.post( f"http://{VOICEVOX_HOST}:{VOICEVOX_PORT}/synthesis", headers={"Content-Type": "application/json"}, params=params, data=json.dumps(response1.json()) ) with tempfile.TemporaryDirectory() as tmp: with open(f"{tmp}/audi.wav", "wb") as f: f.write(response2.content) wav_obj = simpleaudio.WaveObject.from_wave_file(f"{tmp}/audi.wav") play_obj = wav_obj.play() play_obj.wait_done()