Update app.py
Browse files
app.py
CHANGED
@@ -39,23 +39,6 @@ async def get_voices():
|
|
39 |
voices = await edge_tts.list_voices()
|
40 |
return {f"{v['ShortName']} - {v['Locale']} ({v['Gender']})": v['ShortName'] for v in voices}
|
41 |
|
42 |
-
def clean_text(text: str) -> str:
|
43 |
-
"""
|
44 |
-
Cleans a text string by:
|
45 |
-
- Removing unwanted characters (except letters, digits, spaces, commas, periods)
|
46 |
-
- Fixing broken words caused by dots and spaces
|
47 |
-
- Normalizing spaces
|
48 |
-
"""
|
49 |
-
# Remove unwanted characters
|
50 |
-
text = re.sub(r"[^a-zA-Z0-9\s,\.]", '', text)
|
51 |
-
# Fix broken words (remove dots and spaces between letters/digits)
|
52 |
-
text = re.sub(r'(?<=\w)[\.\s]+(?=\w)', '', text)
|
53 |
-
# Normalize multiple spaces to one
|
54 |
-
text = re.sub(r"\s+", ' ', text)
|
55 |
-
# Trim leading and trailing spaces
|
56 |
-
text = text.strip()
|
57 |
-
return text
|
58 |
-
|
59 |
# Text-to-speech function for a single paragraph with SS handling
|
60 |
async def paragraph_to_speech(text, voice, rate, pitch):
|
61 |
voice1 = "en-AU-WilliamNeural - en-AU (Male)"
|
@@ -155,8 +138,7 @@ async def paragraph_to_speech(text, voice, rate, pitch):
|
|
155 |
# processed_text = part[4:]
|
156 |
# pitch = int(part[2:4])
|
157 |
pitch_str = f"{current_pitch:+d}Hz"
|
158 |
-
|
159 |
-
communicate = edge_tts.Communicate(texttosend, current_voice, rate=rate_str, pitch=pitch_str)
|
160 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as tmp_file:
|
161 |
tmp_path = tmp_file.name
|
162 |
await communicate.save(tmp_path)
|
|
|
39 |
voices = await edge_tts.list_voices()
|
40 |
return {f"{v['ShortName']} - {v['Locale']} ({v['Gender']})": v['ShortName'] for v in voices}
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
# Text-to-speech function for a single paragraph with SS handling
|
43 |
async def paragraph_to_speech(text, voice, rate, pitch):
|
44 |
voice1 = "en-AU-WilliamNeural - en-AU (Male)"
|
|
|
138 |
# processed_text = part[4:]
|
139 |
# pitch = int(part[2:4])
|
140 |
pitch_str = f"{current_pitch:+d}Hz"
|
141 |
+
communicate = edge_tts.Communicate(processed_text, current_voice, rate=rate_str, pitch=pitch_str)
|
|
|
142 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as tmp_file:
|
143 |
tmp_path = tmp_file.name
|
144 |
await communicate.save(tmp_path)
|