cnph001 commited on
Commit
8cebcbb
·
verified ·
1 Parent(s): 33573d8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -7
app.py CHANGED
@@ -34,9 +34,9 @@ def apply_low_pass_filter(audio_segment, cutoff_freq, sample_rate, order=5):
34
 
35
  filtered_data_int16 = (filtered_data * (2**15 - 1)).astype(np.int16)
36
  filtered_audio = AudioSegment(filtered_data_int16.tobytes(),
37
- frame_rate=sample_rate,
38
- sample_width=audio_segment.sample_width,
39
- channels=audio_segment.channels)
40
  return filtered_audio
41
 
42
 
@@ -111,7 +111,7 @@ async def generate_audio_with_voice_prefix(text_segment, default_voice, rate, pi
111
  processed_text = processed_text[len(prefix):].strip() #this removes the Prefix and leave only number or text after it.
112
  break
113
  #match = re.search(r'([A-Za-z]+)-?(\d+)', processed_text)
114
- match = re.search(r"^(-?\d+)\s*(.*)", processed_text)
115
  if match:
116
  #prefix_pitch = match.group(1)
117
  number = match.group(1)
@@ -121,7 +121,7 @@ async def generate_audio_with_voice_prefix(text_segment, default_voice, rate, pi
121
  #processed_text = re.sub(r'([A-Za-z]+)([-]?\d*)', '', processed_text, count=1).strip()
122
  processed_text = match.group(2)
123
  #elif detect:
124
- # processed_text = processed_text.lstrip('-0123456789').strip() # Remove potential leftover numbers
125
 
126
  if processed_text:
127
  rate_str = f"{current_rate:+d}%"
@@ -279,7 +279,7 @@ async def transcript_to_speech(transcript_text, voice, rate, pitch, speed_adjust
279
  final_audio = AudioSegment.silent(duration=max_end_time_ms, frame_rate=24000)
280
  for segment in timed_audio_segments:
281
  final_audio = final_audio.overlay(segment['audio'], position=segment['start'])
282
-
283
  # Apply the low-pass filter here
284
  cutoff_frequency = 3500 # 3.5 kHz (you can make this a user-configurable parameter later)
285
  filtered_final_audio = apply_low_pass_filter(final_audio, cutoff_frequency, final_audio.frame_rate)
@@ -348,4 +348,4 @@ async def create_demo():
348
 
349
  if __name__ == "__main__":
350
  demo = asyncio.run(create_demo())
351
- demo.launch()
 
34
 
35
  filtered_data_int16 = (filtered_data * (2**15 - 1)).astype(np.int16)
36
  filtered_audio = AudioSegment(filtered_data_int16.tobytes(),
37
+ frame_rate=sample_rate,
38
+ sample_width=audio_segment.sample_width,
39
+ channels=audio_segment.channels)
40
  return filtered_audio
41
 
42
 
 
111
  processed_text = processed_text[len(prefix):].strip() #this removes the Prefix and leave only number or text after it.
112
  break
113
  #match = re.search(r'([A-Za-z]+)-?(\d+)', processed_text)
114
+ match = re.search(r"^(-?\d+)\s*(.*)", processed_text)
115
  if match:
116
  #prefix_pitch = match.group(1)
117
  number = match.group(1)
 
121
  #processed_text = re.sub(r'([A-Za-z]+)([-]?\d*)', '', processed_text, count=1).strip()
122
  processed_text = match.group(2)
123
  #elif detect:
124
+ # processed_text = processed_text.lstrip('-0123456789').strip() # Remove potential leftover numbers
125
 
126
  if processed_text:
127
  rate_str = f"{current_rate:+d}%"
 
279
  final_audio = AudioSegment.silent(duration=max_end_time_ms, frame_rate=24000)
280
  for segment in timed_audio_segments:
281
  final_audio = final_audio.overlay(segment['audio'], position=segment['start'])
282
+
283
  # Apply the low-pass filter here
284
  cutoff_frequency = 3500 # 3.5 kHz (you can make this a user-configurable parameter later)
285
  filtered_final_audio = apply_low_pass_filter(final_audio, cutoff_frequency, final_audio.frame_rate)
 
348
 
349
  if __name__ == "__main__":
350
  demo = asyncio.run(create_demo())
351
+ demo.launch()