AICallCenter2 / src /segment_wave_files.py
jerry f
port
ec2398c
raw
history blame contribute delete
855 Bytes
import os
from pydub import AudioSegment
import shutil
def segment_wave_files(speakers, file):
folder = ".segments"
if os.path.exists(folder):
shutil.rmtree(folder)
if not os.path.exists(folder):
os.makedirs(folder)
audio = AudioSegment.from_file(file, format="wav")#.resample(sample_rate_Hz=8000, sample_width=2, channels=1)
i=0
speakers_out = []
for speaker in speakers:
# {'speaker': speaker, 'start': round(turn.start, 1), 'end': round(turn.end, 1)}
start = speaker['start']*1000
stop = speaker['end']*1000
clip = audio[start:stop]
clip_name = folder+"\\clipFor"+speaker['speaker']+"_"+str(i)+".wav"
i+=1
clip.export(clip_name, format="wav")
speaker['clipFile'] = clip_name
speakers_out.append(speaker)
return speakers_out