카테고리 없음

4주차

ledn05 2024. 8. 17. 05:51

화자 검증을 진행하기 위해서는 크게 데이터셋 준비 과정과 모델 구조 및 학습 과정으로 나뉠 수 있는데

이번 주차에는 데이터셋 준비에 대해서 다뤄볼 예정이다.

 

데이터 전처리 과정

-torch: 기본적인 텐서 연산과 신경망 모델 구현에 필요한 PyTorch의 핵심 라이브러리

- torch.nn: 신경망 레이어, 손실 함수 등을 구현하기 위한 모듈

- torch.optim: 모델 학습을 위한 최적화 알고리즘을 제공하는 모듈

- torch.utils.data: 데이터셋 로더를 만들기 위한 유틸리티를 제공

 

데이터 처리 관련 및 시각화 관련 라이브러리

- numpy: 수치 연산을 위한 Python 라이브러리로, 배열 연산에 유용하다..

- pandas: 데이터 프레임을 이용한 데이터 분석에 사용됨

- json: JSON 형식의 데이터 파일을 파싱하고 생성하는 데 사용됨

- os: 파일 및 디렉토리 경로 조작, 파일 시스템과의 상호작용을 위한 모듈

- random: 랜덤 샘플링 및 데이터 섞기에 사용됨

- tqdm: 코드 실행 시 진행 상태를 시각적으로 보여주는 라이브러리

- matplotlib : 그래프 및 차트 시각화에 사용됨

 

 

 

오디오 처리 관련 라이브러리

- librosa : 오디오 신호 처리를 위한 라이브러리로, 특징 추출 및 변환에 사용됨

- torchaudio : Pytorch를 기반으로 오디오 처리를 위한 라이브러리이다.

 

 

다음과 같은 코드를 통해서 불러온 오디오 파일에 대한 정보를 이름, 지역, 성별, 나이에 따라 오디오 파일을 분류한다.

speaker_dic 이라는 dictionary에 화자의 정보를 입력하여 키로 이용한다.

여기서 audio_path는 오디오 경로를 의미하고, info는 각 오디오 파일에 대한 정보가 담긴 서브 dictionary이다.

 

이 과정들을 통해서 speaker_dic 이라는 dictionary에는 오디오 파일에 대한 정보가 그룹화 되어 저장된다.

각 화자의 이름, 지역, 성별, 나이의 조합은 하나의 키가 되며, 해당 화자가 녹음한 오디오 파일 경로가 값으로 저장된다.

 

Ex)

 

다음과 같이 위 dictionary에 데이터가 존재한다면 아래의 speaker_dic에는 다음과 같이 파일이 저장된다.