Add time_suffix option

This commit is contained in:
aka7774
2024-03-13 16:07:09 +09:00
parent cd02238b28
commit 3d36778e06
2 changed files with 22 additions and 2 deletions

View File

@@ -60,6 +60,7 @@ def split_wav(
min_sec=2,
max_sec=12,
min_silence_dur_ms=700,
time_suffix=False,
):
margin = 200 # ミリ秒単位で、音声の前後に余裕を持たせる
speech_timestamps = get_stamps(
@@ -88,7 +89,11 @@ def split_wav(
end_sample = int(end_ms / 1000 * sr)
segment = data[start_sample:end_sample]
sf.write(os.path.join(target_dir, f"{file_name}-{i}.wav"), segment, sr)
if time_suffix:
file = f"{file_name}-{int(start_ms)}-{int(end_ms)}.wav"
else:
file = f"{file_name}-{i}.wav"
sf.write(os.path.join(target_dir, file), segment, sr)
total_time_ms += end_ms - start_ms
count += 1
@@ -123,6 +128,12 @@ if __name__ == "__main__":
default=700,
help="Silence above this duration (ms) is considered as a split point.",
)
parser.add_argument(
"--time_suffix",
"-t",
action='store_true',
help="Make the filename end with -start_ms-end_ms when saving wav.",
)
args = parser.parse_args()
with open(os.path.join("configs", "paths.yml"), "r", encoding="utf-8") as f:
@@ -134,6 +145,7 @@ if __name__ == "__main__":
min_sec = args.min_sec
max_sec = args.max_sec
min_silence_dur_ms = args.min_silence_dur_ms
time_suffix = args.time_suffix
wav_files = Path(input_dir).glob("**/*.wav")
wav_files = list(wav_files)
@@ -151,6 +163,7 @@ if __name__ == "__main__":
min_sec=min_sec,
max_sec=max_sec,
min_silence_dur_ms=min_silence_dur_ms,
time_suffix=time_suffix,
)
total_sec += time_sec
total_count += count