Path: blob/main/misc/py-kokoro/files/kokoro-text-to-audio.py
50284 views
#!%%PYTHON%%12import sys3import os4import shutil5import subprocess6from datetime import datetime7from kokoro import KPipeline8import soundfile as sf910def main():11if len(sys.argv) != 2:12print("Usage: kokoro-text-to-audio <text>", file=sys.stderr)13sys.exit(1)1415text = sys.argv[1]1617timestamp = datetime.now().strftime("%Y%m%d%H%M%S%f")18temp_dir = f"/tmp/kokoro-{timestamp}"19temp_wav = os.path.join(temp_dir, "output.wav")2021try:22os.makedirs(temp_dir, exist_ok=True)2324pipeline = KPipeline(lang_code='a')25generator = pipeline(text, voice='af_heart')2627audio_data = None28for _, _, audio in generator:29audio_data = audio3031if audio_data is not None:32sf.write(temp_wav, audio_data, 24000)33subprocess.run(['mpv', temp_wav], check=True)34else:35print("Error: No audio generated", file=sys.stderr)36sys.exit(1)3738finally:39if os.path.exists(temp_dir):40shutil.rmtree(temp_dir)4142if __name__ == '__main__':43main()444546