Spaces:
Paused
Paused
| """ | |
| TTSのテスト | |
| """ | |
| from test.utility import hash_wave_floats_from_wav_bytes | |
| from fastapi.testclient import TestClient | |
| from syrupy.assertion import SnapshotAssertion | |
| def test_テキストとキャラクターIDから音声を合成できる( | |
| client: TestClient, snapshot: SnapshotAssertion | |
| ) -> None: | |
| # テキストとキャラクター ID から AudioQuery を生成する | |
| audio_query_res = client.post( | |
| "/audio_query", params={"text": "テストです", "speaker": 0} | |
| ) | |
| audio_query = audio_query_res.json() | |
| # AudioQuery から音声波形を生成する | |
| synthesis_res = client.post("/synthesis", params={"speaker": 0}, json=audio_query) | |
| # リクエストが成功している | |
| assert synthesis_res.status_code == 200 | |
| # FileResponse 内の .wav から抽出された音声波形が一致する | |
| assert synthesis_res.headers["content-type"] == "audio/wav" | |
| assert snapshot == hash_wave_floats_from_wav_bytes(synthesis_res.read()) | |