cnph001 commited on
Commit
44c7b6f
·
verified ·
1 Parent(s): a4e47b1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -5
app.py CHANGED
@@ -8,7 +8,31 @@ import re # Import the regular expression module
8
  from pathlib import Path
9
  from pydub import AudioSegment
10
 
11
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  # Get all available voices
14
  async def get_voices():
@@ -45,10 +69,8 @@ async def paragraph_to_speech(text, voice, rate, pitch):
45
  print(f"Silence.mp3 file found at {SILENCE_PATH} and is inserted")
46
  else:
47
  print(f"Silence.mp3 file NOT FOUND")
48
- silent_audio = AudioSegment.silent(duration=1000)
49
- with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as tmp_file:
50
- silent_audio.export(tmp_file.name, format="mp3")
51
- audio_segments.append(tmp_file.name)
52
 
53
  elif part.strip():
54
  processed_text = part
 
8
  from pathlib import Path
9
  from pydub import AudioSegment
10
 
11
+ def get_silence(duration_ms=1000):
12
+ # Create silent audio segment with specified parameters
13
+ silent_audio = AudioSegment.silent(
14
+ duration=duration_ms,
15
+ frame_rate=24000 # 24kHz sampling rate
16
+ )
17
+
18
+ # Set audio parameters
19
+ silent_audio = silent_audio.set_channels(1) # Mono
20
+ silent_audio = silent_audio.set_sample_width(4) # 32-bit (4 bytes per sample)
21
+
22
+ with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as tmp_file:
23
+ # Export with specific bitrate and codec parameters
24
+ silent_audio.export(
25
+ tmp_file.name,
26
+ format="mp3",
27
+ bitrate="48k",
28
+ parameters=[
29
+ "-ac", "1", # Mono
30
+ "-ar", "24000", # Sample rate
31
+ "-sample_fmt", "s32", # 32-bit samples
32
+ "-codec:a", "libmp3lame" # MP3 codec
33
+ ]
34
+ )
35
+ return tmp_file.name
36
 
37
  # Get all available voices
38
  async def get_voices():
 
69
  print(f"Silence.mp3 file found at {SILENCE_PATH} and is inserted")
70
  else:
71
  print(f"Silence.mp3 file NOT FOUND")
72
+ silence_file_path = get_silence(5000) # Store the returned filename
73
+ audio_segments.append(silence_file_path) # Use the stored filename
 
 
74
 
75
  elif part.strip():
76
  processed_text = part