Audio data를 ML 하는 2가지 방법
포스트 난이도: HOO_Senior
# Audio data와 Machine Learning
ML을 하기 위해서는 Unstrucuture data를 structure data로 만들어주어야 한다.
아니면 정형 데이터화를 하지 않아도 library 자체를 활용해서 쉽게 처리가 가능하다.
Audio data를 Mahcine learning을 돌리기 전에 개발자의 방법에 따라 다르겠지만 필자는 주로 2가지 방법을 선호한다.
하나는 Audio data 자체를 바로 ML 돌릴 수 있는 상태를 만들어주는 라이브러리를 사용하거나 오디오 파일 자체를 한번 데이터 시각화를 과정을 거쳐 이미지화를 해준 다음에 이미지 데이터를 image detection을 확인하는 방법이다.
# Librosa 라이브러리: .wav 파일 변환에 좋음
예를 들어서 첫번째 방법인 경우에는 대표적인 audio data 변환 라이브러리인 librosa를 사용하여 쉽게 처리가 가능하다.
다만. wav 파일을 다룰 때 위주로 사용하며 다른 형식의 오디오인. ogg나. mp4일 경우에는 librosa를 애용하지는 않는다.
이때 사용하는 방법이 2번째 방법인데 소리에 대한 데이터의 특징을 이미지화하여 이를 image detecting 하는 것이다.
사실상 필자가 그동안 많이 다룬 프로젝트가 이미지 디텍팅 쪽이다보니 이 부분이 더 익숙해서 선호하는 경향이 있을 수가 있다.
하지만 필자의 경험에서 보았을때 오디오 데이터를 이미지화하여 ML 하는 방법이 각 오디오 데이터별 정확도를 올리는 것이 유용하다.
사실상 librosa를 사용해서 이미지화가 불가능한 것은 아니다. 하지만 필자가 말한 2번째 방법을 굳이 사용하지 않고도 librosa와 같은 라이브러리를 사용하여 비교적 간단하게 사용이 가능하다.
하지만 그냥 필자는 복잡하더라도 2번째 방법을 더 선호할 뿐이기에 굳이 이 부분에 대해서는 신경을 쓰지 않아도 된다.
# Fastaudio 라이브러리와 Image Detection
2번째 방법을 사용할 경우에는 fast audio 라이브러리를 통해서 각 오디오 데이터의 특징을 도출해낸 뒤에 이것을 시각화하여 이미지를 디렉팅 할 수 있다.
Librosa처럼 꼭 Fastaudio를 사용할 필요는 없지만 이미지 디텍팅을 위해서 오디오 데이터에 대한 특징별 수치화를 얻을 수 있는 라이브러리나 이미지화까지 가능한 라이브러리를 먼저 사용한다.
이후에 데이터 시각화를 통해 각 데이터별 특징을 가져온다.
audio data를 이미지화할 때 사용하는 대표적인 이미지는 Spectrogram이다.
Spectrogram은 라이브러리 자체에서 제공될 수도 있지만 Pyplot으로도 가능하다.
또한 audio data의 특징을 구분 짓자고 할때 sound wave를 파악해야 되는데 이때 Sine wave에 대해서 기억해내면 좋다.
Sine wave를 적용하여 각 지점별 특징점을 고려하고 이를 ML에 적용하면 높은 accuracy를 산출해낼 수 있다.
'AI & Data' 카테고리의 다른 글
[Data Science] Side Project: VAST Challenge 2022 (0) | 2022.07.02 |
---|---|
[데이터 사이언스] 캐글 프로젝트(Kaggle Project): Foursquare - Location Matching (0) | 2022.06.11 |
[Kaggle] Data Visualization: pd.read_csv, filepath (0) | 2022.02.09 |
[AI] Colaboratory: 코랩(Colab)에서 캐글 데이터셋(Kaggle Datasets) 사용하는 방법 (0) | 2021.12.26 |
[AI] Pytorch: Colab에서 파이토치 사용하는 방법 (0) | 2021.12.24 |
댓글