音声は WAVE 形式にして aplay コマンドで再生する。ファイルに保存しないで pygame ライブラリで再生することもできるが、再生スピードが爆速になってしまったので断念、ファイルを使わないと不安定なようだ。
音声合成API 機能別リファレンス
https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_name=text_to_speech
import requests
import json
import os
TTS_URL = 'https://api.apigw.smt.docomo.ne.jp/crayon/v1/textToSpeech?APIKEY=発行したKEY'
params = {
"Command":"AP_Synth",
"SpeakerID":"1",
"StyleID":"1",
"SpeechRate":"1.25",
"AudioFileFormat":"2",
"TextData":"こんにちは"
}
r = requests.post(TTS_URL, data=json.dumps(params))
if r.status_code == requests.codes.ok:
wav = r.content
with open("docomo_tts.wav","wb") as fout:
fout.write(wav)
os.system("aplay docomo_tts.wav")
print("ok")
else:
print(r.status_code)