Spaces:
Running
Running
Adityahulk
commited on
Commit
·
0ed929a
1
Parent(s):
d5287fd
fixing it for huggingface
Browse files- manimator/services/voiceover.py +9 -5
- start.sh +1 -0
- streamlit_app.py +1 -0
manimator/services/voiceover.py
CHANGED
|
@@ -9,6 +9,9 @@ from typing import Optional, Dict, Any
|
|
| 9 |
|
| 10 |
logger = logging.getLogger(__name__)
|
| 11 |
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
# Edge-TTS Voice mapping - high quality neural voices
|
| 14 |
EDGE_TTS_VOICES = {
|
|
@@ -47,11 +50,11 @@ class SimpleElevenLabsService:
|
|
| 47 |
if not self.api_key:
|
| 48 |
logger.warning("ELEVENLABS_API_KEY not set. Will use Edge TTS (free).")
|
| 49 |
|
| 50 |
-
# Use provided cache_dir or default
|
| 51 |
if cache_dir:
|
| 52 |
self.cache_dir = Path(cache_dir) if not isinstance(cache_dir, Path) else cache_dir
|
| 53 |
else:
|
| 54 |
-
self.cache_dir =
|
| 55 |
|
| 56 |
# Ensure cache directory exists
|
| 57 |
self.cache_dir.mkdir(parents=True, exist_ok=True)
|
|
@@ -125,8 +128,8 @@ class SimpleElevenLabsService:
|
|
| 125 |
try:
|
| 126 |
import edge_tts
|
| 127 |
|
| 128 |
-
# Use
|
| 129 |
-
edge_cache_dir =
|
| 130 |
edge_cache_dir.mkdir(parents=True, exist_ok=True)
|
| 131 |
|
| 132 |
# Map the voice name to edge-tts voice
|
|
@@ -174,7 +177,8 @@ class SimpleElevenLabsService:
|
|
| 174 |
try:
|
| 175 |
from gtts import gTTS
|
| 176 |
|
| 177 |
-
|
|
|
|
| 178 |
gtts_cache_dir.mkdir(parents=True, exist_ok=True)
|
| 179 |
|
| 180 |
content_hash = hashlib.md5(text.encode("utf-8")).hexdigest()
|
|
|
|
| 9 |
|
| 10 |
logger = logging.getLogger(__name__)
|
| 11 |
|
| 12 |
+
# Get the base directory (2 levels up from this file: manimator/services -> manimator -> texttoanimation)
|
| 13 |
+
BASE_DIR = Path(__file__).parent.parent.parent
|
| 14 |
+
|
| 15 |
|
| 16 |
# Edge-TTS Voice mapping - high quality neural voices
|
| 17 |
EDGE_TTS_VOICES = {
|
|
|
|
| 50 |
if not self.api_key:
|
| 51 |
logger.warning("ELEVENLABS_API_KEY not set. Will use Edge TTS (free).")
|
| 52 |
|
| 53 |
+
# Use provided cache_dir or default (use absolute path for containerized environments)
|
| 54 |
if cache_dir:
|
| 55 |
self.cache_dir = Path(cache_dir) if not isinstance(cache_dir, Path) else cache_dir
|
| 56 |
else:
|
| 57 |
+
self.cache_dir = BASE_DIR / "media" / "voiceover" / "elevenlabs"
|
| 58 |
|
| 59 |
# Ensure cache directory exists
|
| 60 |
self.cache_dir.mkdir(parents=True, exist_ok=True)
|
|
|
|
| 128 |
try:
|
| 129 |
import edge_tts
|
| 130 |
|
| 131 |
+
# Use absolute path for edge-tts cache (important for containerized environments)
|
| 132 |
+
edge_cache_dir = BASE_DIR / "media" / "voiceover" / "edge_tts"
|
| 133 |
edge_cache_dir.mkdir(parents=True, exist_ok=True)
|
| 134 |
|
| 135 |
# Map the voice name to edge-tts voice
|
|
|
|
| 177 |
try:
|
| 178 |
from gtts import gTTS
|
| 179 |
|
| 180 |
+
# Use absolute path for gTTS cache (important for containerized environments)
|
| 181 |
+
gtts_cache_dir = BASE_DIR / "media" / "voiceover" / "gtts"
|
| 182 |
gtts_cache_dir.mkdir(parents=True, exist_ok=True)
|
| 183 |
|
| 184 |
content_hash = hashlib.md5(text.encode("utf-8")).hexdigest()
|
start.sh
CHANGED
|
@@ -18,6 +18,7 @@ export DIRECT_MODE=true
|
|
| 18 |
# Ensure all required directories exist
|
| 19 |
mkdir -p media/voiceover/elevenlabs
|
| 20 |
mkdir -p media/voiceover/gtts
|
|
|
|
| 21 |
mkdir -p media/videos
|
| 22 |
|
| 23 |
# Start Streamlit with Hugging Face-compatible settings
|
|
|
|
| 18 |
# Ensure all required directories exist
|
| 19 |
mkdir -p media/voiceover/elevenlabs
|
| 20 |
mkdir -p media/voiceover/gtts
|
| 21 |
+
mkdir -p media/voiceover/edge_tts
|
| 22 |
mkdir -p media/videos
|
| 23 |
|
| 24 |
# Start Streamlit with Hugging Face-compatible settings
|
streamlit_app.py
CHANGED
|
@@ -512,6 +512,7 @@ def generate_video_direct(input_type: str, input_data: str, quality: str, catego
|
|
| 512 |
media_dir = base_dir / "media"
|
| 513 |
(media_dir / "voiceover" / "elevenlabs").mkdir(parents=True, exist_ok=True)
|
| 514 |
(media_dir / "voiceover" / "gtts").mkdir(parents=True, exist_ok=True)
|
|
|
|
| 515 |
(media_dir / "videos").mkdir(parents=True, exist_ok=True)
|
| 516 |
|
| 517 |
for attempt in range(max_retries):
|
|
|
|
| 512 |
media_dir = base_dir / "media"
|
| 513 |
(media_dir / "voiceover" / "elevenlabs").mkdir(parents=True, exist_ok=True)
|
| 514 |
(media_dir / "voiceover" / "gtts").mkdir(parents=True, exist_ok=True)
|
| 515 |
+
(media_dir / "voiceover" / "edge_tts").mkdir(parents=True, exist_ok=True)
|
| 516 |
(media_dir / "videos").mkdir(parents=True, exist_ok=True)
|
| 517 |
|
| 518 |
for attempt in range(max_retries):
|