IRiS nX
529 ARTICLES / 1384 REPLIES [1:2.6]
=ADMIN=


#1295. lolized
피리매니아에 대해 2009/07/31 (Fri)

요즘 사운드 인식 관련 모듈을 만들면서 고생을 하고 있는데요. 입력으로 일반적인 음악을 넣으면 출력으로는 시간대별로 주파수 대역을 분석해서 시간대별로 소리를 구성하고 있는 기본 주파수들을 내보내는게 목적입니다. 이를테면 도미솔 화음이 들어가면 C4, E4, G4 이런 형태로...

세상이 좋아져서 주파수 특성을 알아내는건 여러 툴이나 라이브러리를 이용해서 쉽게 할 수 있었는데, 이걸 분석해서 유의미한 결과를 뽑는게 쉽지 않더군요. 배수음을 추출해서 가장 큰 값을 택한다는 이론은 간단하지만 실제 음악에서나 샘플링 과정에서 살짝 오차가 생기는 부분 땜시...

여튼 피리매니아를 구현하실 때 이러한 인식을 하는 부분은 어떻게 하셨는지 궁금합니다.

 

#1295-1. 안영기 2009/08/05 (Wed)


2007/09/16에 제가 쓴 글에 보면 제가 만든 인식 툴에 대한 내용이 나옵니다.



일반 MP3에서 이런 데이터를 뽑아 내는 툴인데, 피리매니아도 이 툴을 만들 때 썼던 분석 알고리즘을 그대로 사용하였습니다. (말씀하신 툴이나 라이브러리도 이 정도의 결과는 나올 것입니다)

이 그림을 보면 그림 안에서 음과 박자를 눈으로 구분해 낼 수 있습니다. 아래 저주파 쪽은 퍼쿠션 영역인데 실제 음악에서도 이 부분이 박자를 담당하고 있습니다. 그래서 아래 영역에 등간격으로 보이는 세로선이 박자입니다. 그리고 음계의 경우는 아시다시피 가로의 배음들이고요. 배음이라는 것은 말그대로 '배'가 되는 음이기 때문에 이 음들의 공약수를 구하면 그것이 배음의 원음 주파수가 됩니다. (가장 큰 음이 원음이 아닙니다)

그런데 살짝 오차가 생기는 것까지 판별해내기에는 조금 무리가 있지 않나 생각됩니다. 기계적으로는 분명 오차인 것인데 사람이 '정신 음향학'적으로 오차가 아닌 것으로 인식하기 때문입니다. 그리고 피리의 경우는 현을 기반으로 하는 악기에 비해서는 배음이 적기 때문에 원음의 판별이 쉽다는 점도 있습니다.



이름/e-mail  
홈페이지
제목
내용
첨부
첨부 스타일 쿠키  
[PREV] [NEXT] return


IRiS nX by NvyU =starry scape=