본문 바로가기

프로그래밍/머신러닝

#2. 티쳐블머신(Teachable Machine) 오디오 학습

반응형

이번에는 티쳐블머신 오디오 학습을 알아보도록 하겠습니다.

 

<내가 만들어본 티처블머신 활용>

■ 관상로또 만들어보기

https://facelotto.site 

 

관상 로또

내 얼굴이 로또가 될 상인가?!! 오늘 나의 얼굴로 이번주 로또번호를 맞춰보세요.

facelotto.site

 

티쳐블머신 오디오 학습 방법 소개

지난번에는 이미지 학습방법에 대해서 살펴보았습니다.

혹시, 재미있는 프로젝트를 많이 해보셨나요?

저도 많은 이미지를 학습하기 위해서 아주 많은 이미지들을 학습 시켰습니다. 네이버에서 밤새 크롤링을 하고나니 수천장이 폴더에 담겨있네요. 더욱 더 정확한 데이터를 제공해주기 위한 노력이라 보면 좋을 것 같습니다.

 

밤새? 제가 한건 아니고.... 컴퓨터가... 

잉? 이건 파이썬의 크롤링 기술을 활용하면 아주 쉽게 할 수 있었습니다. 아래 링크 참고해주세요 ^^

2020/05/17 - [프로그래밍/Python] - Python 네이버 이미지 크롤링 방법

 

Python 네이버 이미지 크롤링 방법

네이버 크롤링 방법들이 여러가지가 있는데, 최근 네이버에서 크롤링 하는 방법들을 상당히 막아둬서 여기저기 찾아보다가 어렵사리 구현을 완료했네요. 저는 우리나라 영화배우 이미지를 모��

kgu0724.tistory.com

 


오디오 학습
알아 보기


역시 이번 포스팅도 구글 티쳐블 머신 가이드를 참조했습니다!

 

이번에는 오디오 학습 방법에 대해서 알아보도록 하겠습니다. 

이번 역시, 티쳐블 머신에서 알려주는 튜토리얼을 활용하여 연구 해보도록 하겠습니다.

 

오늘은 오디오 클립을 사용하여 스냅, 박수 및 휘파람 을 감지하는 기계 학습 모델을 만드는 과정을 해볼것입니다 . 스냅 박수와 휘파람을 감지할 수 있다고? 정말 대단하지 않나요? 글을 쓰면서도 이미 신납니다. (흐흐)

 

Let's Get Started! 

 

 

  • 프로젝트 생성

    ( 왼쪽 상단에 햄버거 메뉴 >> New Project )

    시작하기 위해서는 우선 New 프로젝트를 생성해주세요. 지난번에 했던 내용은 구글 로그인을 하셨다면 자동 저장이되니, 너무 걱정하지마시고, 새로운 프로젝트를 만들어 주도록 하겠습니다.기계 훈련을 시작하려면 먼저 다른 범주 또는 클래스 를 만들어서 가르쳐야합니다.

  • 클래스 추가

    (클래스 리스트 하단에 + 버튼 클릭)
    왼쪽에 보시면 “Background Noise”와“Class 2”라는 두 개의 상자가 있다는 것을 알 수 있습니다. Teachable Machine은 프로젝트를 만들 때 제공하는 기본 클래스 입니다. 

  • 오디오 입력

    Background Noise는 "
    소음이 전혀 발생하지 않을 때를 감지하려면 항상 배경 소음 클래스가 필요합니다. 그리고 숲의 배경 소음은 사무실 (또는 다른 곳)과 다르기 때문에 모델을 사용하는 것으로 예상되는 모든 곳에서 해당 클래스의 오디오 샘플을 제공해야합니다."

    즉, 오디오에서 필터링 하고자 하는 말들을 모두 녹음해줘서 정확한 값을 얻기 위함입니다. 저는 방에서 진행을 하기 때문에 아무 소음도 들리지 않는 20초 배경 소리를 녹음해보도록 하겠습니다.

    앞서, 이미지 학습 했던 것과 같이 스냅, 박수 및 휘파람 세 가지를 감지하고 싶기 때문에 두 개의 새로운 클래스를 추가하고이 이름을 모두 반영하도록 이름을 바꿉니다. 물론 원하는 사운드를 만들 수 있습니다. 시연하기 쉽습니다.

    그 다음에는 소리를 학습 시켜 줄 건데요 우선 하단에 레코드 에잇세컨 샘플 클릭을 해 주고 8초 동안 스냅 소리를 녹음해 줍니다. 녹음해 준 소리가 많으면 많을수록 훨씬 더 정확한 데이터를 얻을 수 있습니다 아마 저희가 이미지 학습 할 때도 역시나 더 많은 사진들을 학습시켜 주는 것과 똑같은 원리라고 보시면 됩니다 그리고 extract 샘플 클릭을 해서 오디오를 추출하여 주세요.

    똑같은 방식으로 휘파람과 박수소리를 여러 번 녹음을 하여 주면 이제 모든 준비가 끝났습니다. 학습을 해보도록 하겠습니다.

  • 트레이닝
    이미지학습 때 했던 것처럼 트레이닝을 해주시면 됩니다.

  • 테스트 끝!

Add a Class를 통해서 학습 모델 추가

 

자 모든 학습 이제 끝났으면 실제로 한번 테스트를 해 볼 텐데요 내가 훈련 안 모델이 어떻게 작동하는지 한번 테스트를 해 보세요  우선 아무런 소음이 없을 때 역시 백그라운드 노이즈 100%인 걸 확인을 할 수가 있구요 내가 스냅 소리를내어 쓸 때 스냅이 일시적으로  퍼센테이지가 올라가면서   나의 아주 인식하는걸 확인할 수 있습니다.

 

자 똑같은 실험을 계속적으로 하다 보면 여러분이 느낄 수 있는 것들이 아마 머신러닝이 확실한 데이터를 주고 있지 않다라는 것을 알 수 있습니다 예를 들어 내가 만든 모델이 가끔 스냅과 박수를 혼동하는 것처럼 보이는데 이 두 클래스 모드에서 사운드를 시각화하는 그래프를 보면 비슷한 양상을 보입니다 따라서 기계는 새로운 소외 소리의 차이를 예측하는데 어려움을 겪을 수 있다는 것입니다 

 

자 여기서 우리가 더 시도해 볼 만한 것들이 마이크를 바꾼다거나 혹은 더 멀리 떨어져서 대화를 한다거나 아니면 다른 배경 소음이 발생하는 곳에서 기도를 하게 되었을 때 역시나 다르게 예측하는 것을 확인을 할 수가 있습니다 이것을 최소화하기 위해서는 앞서 이미지 학습 때 했던 것과 같이 우리가 수많은 배경 소음들을 학습시키고 그리고 다양한 스냅 소리를 학습을 시키게 된다면 역시 더욱 더 정확한 값을 얻을 수 있습니다 호루라기 소리를 통해서 여러분이 추가적으로 더 많은 소리를 한번 테스트해 봤으면 좋겠습니다 

 

자 그럼이 소리를 학습한 데이터를 가지고 어떤 것들을 만들 수 있을까요 아 지금 보여주는 튜토리얼에서는 소리를 가지고 캐릭터가 점프를 하거나 아니면 숙이는 제사를 통해서 게임을 제거했습니다 아래 링크를 따라가셔서 유튜브를 보면 재미난 영상을 볼 수 있을 것 같습니다 그렇다면 저는 무엇을 만들 수 있을까요

게임 보기

 

 저는 수 많은 연예인들의 목소리를 학습 시켜서 성대모사를 훈련할 수 있는 어플리케이션을 한번 만들어 보고자 하는데요 문제는 성대모사를 잘하기 위해서 얼마나 정확한 데이터를 학습 시킬 수 있느냐가 관건일 것 같습니다 그래서 저는 한석규 배우의 목소리 하나만을 우선 집중적으로 테스트를 해 보려고 합니다 

 

오늘은 오디오 학습에 대해서 알아보았습니다 다음에는 다양한 포즈를 통해서 티처블머신을 잘 활용해 보도록 하겠습니다 

 

 


 

 

반응형