sreepathi-ravikumar commited on
Commit
1abbe6c
·
verified ·
1 Parent(s): 05e623b

Create generate_voice.py

Browse files
Files changed (1) hide show
  1. generate_voice.py +29 -0
generate_voice.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # generate_voice.py
2
+
3
+ import os
4
+ from gtts import gTTS
5
+ from pathlib import Path
6
+ import hashlib
7
+
8
+ ASSET_DIR = "assets/audio"
9
+ Path(ASSET_DIR).mkdir(parents=True, exist_ok=True)
10
+
11
+ def generate_audio_for_slides(slides, lang="en"):
12
+ audio_paths = []
13
+
14
+ for i, text in enumerate(slides):
15
+ # Hash to avoid repeated files
16
+ file_hash = hashlib.md5(text.encode()).hexdigest()
17
+ audio_file = os.path.join(ASSET_DIR, f"{file_hash}.mp3")
18
+
19
+ if not os.path.exists(audio_file):
20
+ try:
21
+ tts = gTTS(text=text, lang=lang)
22
+ tts.save(audio_file)
23
+ except Exception as e:
24
+ print(f"Voice gen failed for slide {i}: {e}")
25
+ continue
26
+
27
+ audio_paths.append(audio_file)
28
+
29
+ return audio_paths