Spaces:
Sleeping
Sleeping
Commit
·
9043fad
1
Parent(s):
3e2e994
yet another take on ZeroGPU...
Browse files- app.py +2 -0
- kokoro_tts.py +1 -23
app.py
CHANGED
|
@@ -3,6 +3,7 @@ import requests
|
|
| 3 |
from bs4 import BeautifulSoup
|
| 4 |
from kokoro_tts import generate_audio
|
| 5 |
import logging
|
|
|
|
| 6 |
|
| 7 |
|
| 8 |
logging.basicConfig(level=logging.INFO)
|
|
@@ -123,6 +124,7 @@ def get_voice_choices(lang_code):
|
|
| 123 |
return []
|
| 124 |
|
| 125 |
|
|
|
|
| 126 |
def text_to_audio(text, lang_code, voice, progress=gr.Progress()):
|
| 127 |
try:
|
| 128 |
audio_data = generate_audio(text, voice=voice, progress=progress)
|
|
|
|
| 3 |
from bs4 import BeautifulSoup
|
| 4 |
from kokoro_tts import generate_audio
|
| 5 |
import logging
|
| 6 |
+
import spaces
|
| 7 |
|
| 8 |
|
| 9 |
logging.basicConfig(level=logging.INFO)
|
|
|
|
| 124 |
return []
|
| 125 |
|
| 126 |
|
| 127 |
+
@spaces.GPU(duration=60)
|
| 128 |
def text_to_audio(text, lang_code, voice, progress=gr.Progress()):
|
| 129 |
try:
|
| 130 |
audio_data = generate_audio(text, voice=voice, progress=progress)
|
kokoro_tts.py
CHANGED
|
@@ -4,21 +4,6 @@ import numpy as np
|
|
| 4 |
import logging
|
| 5 |
|
| 6 |
|
| 7 |
-
try:
|
| 8 |
-
import spaces
|
| 9 |
-
|
| 10 |
-
@spaces.GPU(duration=60)
|
| 11 |
-
def get_generator(pipeline, text, voice, speed, split_pattern):
|
| 12 |
-
return pipeline(text, voice=voice, speed=speed, split_pattern=r"\.")
|
| 13 |
-
|
| 14 |
-
logging.info("Running TTS in spaces")
|
| 15 |
-
except:
|
| 16 |
-
logging.info("Spaces not available")
|
| 17 |
-
|
| 18 |
-
def get_generator(pipeline, text, voice, speed, split_pattern):
|
| 19 |
-
return pipeline(text, voice=voice, speed=speed, split_pattern=r"\.")
|
| 20 |
-
|
| 21 |
-
|
| 22 |
pipeline = KPipeline(lang_code="a")
|
| 23 |
try:
|
| 24 |
pipeline = pipeline.to("cuda")
|
|
@@ -46,7 +31,7 @@ def generate_audio(
|
|
| 46 |
Returns:
|
| 47 |
numpy.ndarray: Combined audio data at 24kHz sample rate
|
| 48 |
"""
|
| 49 |
-
generator =
|
| 50 |
|
| 51 |
all_audio = []
|
| 52 |
segments = list(generator) # Get total number of segments
|
|
@@ -65,10 +50,3 @@ def generate_audio(
|
|
| 65 |
# Concatenate all audio segments
|
| 66 |
combined_audio = np.concatenate(all_audio)
|
| 67 |
return combined_audio
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
if __name__ == "__main__":
|
| 71 |
-
# Example usage
|
| 72 |
-
sample_text = "Hello world"
|
| 73 |
-
audio_data = generate_audio(sample_text)
|
| 74 |
-
sf.write("out.wav", audio_data, 24000)
|
|
|
|
| 4 |
import logging
|
| 5 |
|
| 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
pipeline = KPipeline(lang_code="a")
|
| 8 |
try:
|
| 9 |
pipeline = pipeline.to("cuda")
|
|
|
|
| 31 |
Returns:
|
| 32 |
numpy.ndarray: Combined audio data at 24kHz sample rate
|
| 33 |
"""
|
| 34 |
+
generator = pipeline(text, voice=voice, speed=speed, split_pattern=r"\.")
|
| 35 |
|
| 36 |
all_audio = []
|
| 37 |
segments = list(generator) # Get total number of segments
|
|
|
|
| 50 |
# Concatenate all audio segments
|
| 51 |
combined_audio = np.concatenate(all_audio)
|
| 52 |
return combined_audio
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|