Files
scripts/dialectsnipper.py

37 lines
1016 B
Python
Executable File

#! /usr/bin/python
import sys
import os
from pathlib import Path
from pydub import AudioSegment, silence
directory = str(sys.argv[1])
for path in Path(directory).rglob('*.mp3'):
full_path = str(path)
audio = AudioSegment.from_mp3(full_path)
silences = silence.detect_silence(audio, 500, -35, 50)
exported = False
sub_path = full_path[len(directory):].strip('/')
stripped_path = str(Path(directory).parent).rstrip('/') + '/strippedAccents/' + sub_path
try:
os.makedirs(os.path.dirname(stripped_path))
except:
pass
for silence_times in silences:
if (silence_times[1] - silence_times[0] >= 600 and silence_times[0] > 5000 and silence_times[1] < 15000):
sliced = audio[silence_times[1] - 500:].fade_in(400)
sliced.export(stripped_path, format='mp3')
exported = True
break
if (not exported):
print('Failed to find the break in: '+full_path)
audio.export(stripped_path, format='mp3')