#!/usr/bin/env python3
"""
生成"师徒一场_中"前10句的英文TTS（0.7倍速，女声）
"""
import sqlite3
import edge_tts
import asyncio
import os

db_path = "\\\\ll\\D\\xtrssvjj\\dpd.db"
output_dir = "shituyichang_middle_tts_10"

if not os.path.exists(output_dir):
    os.makedirs(output_dir)

conn = sqlite3.connect(db_path)
cursor = conn.cursor()

# 查询前10句字幕
adid = 8341
cursor.execute("SELECT idx, en FROM srts WHERE adid = ? AND idx < 10 ORDER BY idx", (adid,))
subtitles = cursor.fetchall()

async def generate_tts(text, output_path, voice="en-US-AriaNeural", rate="-30%"):
    communicate = edge_tts.Communicate(text, voice=voice, rate=rate)
    await communicate.save(output_path)

async def main():
    print(f"开始生成前{len(subtitles)}句TTS...")
    for idx, en in subtitles:
        output_path = os.path.join(output_dir, f"tts_{idx:03d}.mp3")
        await generate_tts(en, output_path)
        print(f"  已生成 tts_{idx:03d}.mp3")
    print(f"\n完成！")

asyncio.run(main())
conn.close()
