|
|
import pytest |
|
|
from test_data.texts import read_translation |
|
|
from lib.utils import save_csv |
|
|
from environment import REPORTS_DIR |
|
|
|
|
|
|
|
|
@pytest.fixture(scope="module") |
|
|
def tts(get_platform): |
|
|
if get_platform == "apple": |
|
|
from lib.models.mac.kokoro import KokoroTTS |
|
|
return KokoroTTS |
|
|
elif get_platform == "intel": |
|
|
from lib.models.intel.kokoro import KokoroTTS |
|
|
return KokoroTTS |
|
|
|
|
|
|
|
|
def test_tts_zh(tts): |
|
|
tts = tts.from_language("zh") |
|
|
report = [] |
|
|
for text in read_translation("zh", count_limit=20): |
|
|
samples, sr, time_cost = tts.generate(text) |
|
|
report.append([text, time_cost]) |
|
|
save_csv(REPORTS_DIR / "test_tts_zh.csv", ["text", "time"], report) |
|
|
speed = [i[1] for i in report] |
|
|
print("tts zh average speed: ", sum(speed) / len(speed)) |
|
|
|
|
|
|
|
|
def test_tts_en(tts): |
|
|
tts = tts.from_language("en") |
|
|
report = [] |
|
|
for text in read_translation("en",count_limit=20): |
|
|
samples, sr, time_cost = tts.generate(text, speed=1.4) |
|
|
report.append([text, time_cost]) |
|
|
save_csv(REPORTS_DIR / "test_tts_en.csv", ["text", "time"], report) |
|
|
speed = [i[1] for i in report] |
|
|
print("tts en average speed: ", sum(speed) / len(speed)) |