import os
import pandas as pd
from pydub import AudioSegment
from tqdm import tqdm
def main():
#파일이 tsv일경우 delimiter을 '\t'로 해줌으로써 탭 기준으로 불러올 수 있음
file_name=pd.read_csv('file_name.tsv',delimiter='\t',encoding='utf-8')
#파일이 csv일경우
file_name=pd.read_csv('file_name.csv',encoding='utf-8')
path='/path/of/audiodata_folder'
file_list = os.listdir(path) #path 내의 파일들을 리스트로 변환
for i in tqdm(file_list): # tqdm을 통해 로딩바를 만듦으로써 진행상황을 확인할 수 있음
dir=os.path.join(path,i) # /path/of/audiodata_folder/audiofile_name
sound = AudioSegment.from_file(dir) #원본 audio file 지정
for j in range(len(file_name)): #파일의 인덱스개수 만큼
#tsv파일에서 시작시간과, 종료시간을 불러오는것
start = file_name.iloc[j,2]
end = file_name.iloc[j,3]
#인덱스가 j일때의 2열,3열 값을 불러오기
#자르고자 하는 시간 정의 ms기준이므로 10000을 곱해줘야 sec기준이 된다
StartTime=float(start)*1000
Endtime=float(end)*1000
#자르고자 하는 시간대를 정의
extract=sound[StartTime:Endtime]
extract.export('/save_file/path/custom_file_name', format="wav")
main()
a=/data/datasets
b=folderos.path.join(a,b) #a와b사이에 쉼표 사용시에
/data/datasets/folder 와같이 슬래쉬가 자동생성됨
os.path.join(a+b) #a와b사이에 더하기 시에
/data/datasetsfolder 가되므로
- +를 사용할경우
a=/data/datasets/
b=folder
- ,를 사용할경우
a=/data/datasets
b=folder
를 사용하도록 하자
글이 맛이 없어요