Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Add new tab Rename Speaker
Browse files
utils.py
CHANGED
|
@@ -84,11 +84,11 @@ def processFile(filePath, pipeline, enableDenoise, earlyCleanup,
|
|
| 84 |
|
| 85 |
|
| 86 |
# ---------------------------------------------------------------------------
|
| 87 |
-
# Speaker
|
| 88 |
# ---------------------------------------------------------------------------
|
| 89 |
|
| 90 |
def extract_clip_bytes(waveform, sample_rate, seg_start, seg_end):
|
| 91 |
-
"""Return WAV bytes for the loudest
|
| 92 |
total_samples = waveform.shape[-1]
|
| 93 |
seg_start_s = int(seg_start * sample_rate)
|
| 94 |
seg_end_s = min(int(seg_end * sample_rate), total_samples)
|
|
@@ -118,9 +118,9 @@ def extract_clip_bytes(waveform, sample_rate, seg_start, seg_end):
|
|
| 118 |
|
| 119 |
|
| 120 |
def build_speaker_clips(annotations, waveform, sample_rate):
|
| 121 |
-
"""Return (
|
| 122 |
|
| 123 |
-
|
| 124 |
segments_dict : {speaker: [(start, end), ...]}
|
| 125 |
"""
|
| 126 |
clips = {}
|
|
@@ -142,7 +142,7 @@ def build_speaker_clips(annotations, waveform, sample_rate):
|
|
| 142 |
|
| 143 |
|
| 144 |
def get_randomized_clip(waveform, sample_rate, segments):
|
| 145 |
-
"""Return WAV bytes for a random 3–5 s
|
| 146 |
|
| 147 |
segments : [(start, end), ...] (all segments for one speaker)
|
| 148 |
"""
|
|
@@ -478,4 +478,4 @@ def build_multifile_voice_df(validNames, summaries):
|
|
| 478 |
for i, name in enumerate(voiceNames):
|
| 479 |
df7_dict[name].append(partial["percentiles"][i])
|
| 480 |
|
| 481 |
-
return pd.DataFrame(df7_dict), voiceNames
|
|
|
|
| 84 |
|
| 85 |
|
| 86 |
# ---------------------------------------------------------------------------
|
| 87 |
+
# Speaker sample helpers
|
| 88 |
# ---------------------------------------------------------------------------
|
| 89 |
|
| 90 |
def extract_clip_bytes(waveform, sample_rate, seg_start, seg_end):
|
| 91 |
+
"""Return WAV bytes for the loudest SAMPLE_MIN–SAMPLE_MAX window in [seg_start, seg_end]."""
|
| 92 |
total_samples = waveform.shape[-1]
|
| 93 |
seg_start_s = int(seg_start * sample_rate)
|
| 94 |
seg_end_s = min(int(seg_end * sample_rate), total_samples)
|
|
|
|
| 118 |
|
| 119 |
|
| 120 |
def build_speaker_clips(annotations, waveform, sample_rate):
|
| 121 |
+
"""Return (samples_dict, segments_dict) for all speakers in annotations.
|
| 122 |
|
| 123 |
+
samples_dict : {speaker: wav_bytes}
|
| 124 |
segments_dict : {speaker: [(start, end), ...]}
|
| 125 |
"""
|
| 126 |
clips = {}
|
|
|
|
| 142 |
|
| 143 |
|
| 144 |
def get_randomized_clip(waveform, sample_rate, segments):
|
| 145 |
+
"""Return WAV bytes for a random 3–5 s audio sample drawn from a random segment.
|
| 146 |
|
| 147 |
segments : [(start, end), ...] (all segments for one speaker)
|
| 148 |
"""
|
|
|
|
| 478 |
for i, name in enumerate(voiceNames):
|
| 479 |
df7_dict[name].append(partial["percentiles"][i])
|
| 480 |
|
| 481 |
+
return pd.DataFrame(df7_dict), voiceNames
|