J Z commited on
Commit
b8cfbc2
·
verified ·
1 Parent(s): fb4c5b7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -6
app.py CHANGED
@@ -56,7 +56,7 @@ async def init_tts():
56
  logger.info(f"[{_ts()}] [STARTUP] Initializing TTS...")
57
  t0 = _time.time()
58
  try:
59
- import tts as tts_module
60
  logger.info(f"[{_ts()}] [STARTUP] TTS module imported OK")
61
  tts_module.initialize()
62
  logger.info(f"[{_ts()}] [STARTUP] ✓ TTS ready in {_time.time()-t0:.2f}s")
@@ -74,7 +74,7 @@ async def generate_greeting():
74
  t0 = _time.time()
75
 
76
  try:
77
- from tts import generate_audio
78
  t_tts = _time.time()
79
  audio_path = generate_audio(greeting_text)
80
  t_tts_done = _time.time()
@@ -186,7 +186,7 @@ async def download_videos():
186
  try:
187
  api = HfApi()
188
  files = api.list_repo_files(repo_id=REPO_ID, repo_type="space")
189
- vids = [f for f in files if f.startswith("app/p2/") and f.endswith((".mp4",".webm",".mkv",".mov"))]
190
  logger.info(f"Found {len(vids)} video files")
191
  for vf in vids:
192
  dest = VIDEOS_DIR / Path(vf).name
@@ -242,8 +242,9 @@ def split_sentences(text):
242
  parts = re.split(r'(?<=[.!?])\s+', text)
243
  parts = [s.strip() for s in parts if s.strip()]
244
 
245
- # Merge short sentences together (minimum ~8 words per chunk)
246
- MIN_WORDS = 8
 
247
  merged = []
248
  buffer = ""
249
  for p in parts:
@@ -377,7 +378,7 @@ def _generate_chunk(sentence, idx, total):
377
  # Both TTS (Orpheus) and FLOAT use GPU — serialize with lock
378
  with _gpu_lock:
379
  # 1. TTS (local Orpheus - GPU)
380
- from tts import generate_audio
381
  t_tts_start = _time.time()
382
  audio_path = generate_audio(sentence)
383
  t_tts_end = _time.time()
 
56
  logger.info(f"[{_ts()}] [STARTUP] Initializing TTS...")
57
  t0 = _time.time()
58
  try:
59
+ import orpheus_tts as tts_module
60
  logger.info(f"[{_ts()}] [STARTUP] TTS module imported OK")
61
  tts_module.initialize()
62
  logger.info(f"[{_ts()}] [STARTUP] ✓ TTS ready in {_time.time()-t0:.2f}s")
 
74
  t0 = _time.time()
75
 
76
  try:
77
+ from orpheus_tts import generate_audio
78
  t_tts = _time.time()
79
  audio_path = generate_audio(greeting_text)
80
  t_tts_done = _time.time()
 
186
  try:
187
  api = HfApi()
188
  files = api.list_repo_files(repo_id=REPO_ID, repo_type="space")
189
+ vids = [f for f in files if f.startswith("app/videos/") and f.endswith((".mp4",".webm",".mkv",".mov"))]
190
  logger.info(f"Found {len(vids)} video files")
191
  for vf in vids:
192
  dest = VIDEOS_DIR / Path(vf).name
 
242
  parts = re.split(r'(?<=[.!?])\s+', text)
243
  parts = [s.strip() for s in parts if s.strip()]
244
 
245
+ # Merge sentences into longer chunks (minimum ~25 words per chunk)
246
+ # Voice cloning works much better with longer text context
247
+ MIN_WORDS = 25
248
  merged = []
249
  buffer = ""
250
  for p in parts:
 
378
  # Both TTS (Orpheus) and FLOAT use GPU — serialize with lock
379
  with _gpu_lock:
380
  # 1. TTS (local Orpheus - GPU)
381
+ from orpheus_tts import generate_audio
382
  t_tts_start = _time.time()
383
  audio_path = generate_audio(sentence)
384
  t_tts_end = _time.time()