일기
08/08/22 23:05(년/월/일 시:분)
사람이 "도레미~" 하고 부른 음성을 어떻게 도레미로 찾을 수 있을까?
분야: 크게는 Music Information Retrieval (MIR), 작게는 Query by Humming (QbH), 더 작게는 Pitch Detection
기본적으로 "도~" 라는 음은 도를 맨 아래에 두고, 그 위로 정수배로 곱한 하모닉스들을 차곡차곡 쌓아 올린다.
그런데 실제로 사람의 음이나 악기의 음을 분석해보면 맨 아래 기본 하모닉스가 없다! 근데 없어도 아무 이상없이 "도"로 들린다!
"도"가 없어도 "도"로 들린다. 아니 세상에 이럴수가.
이런 현상을 음향심리학(Psychoacoustics)에서 missing fundamental 라고 한다.
http://en.wikipedia.org/wiki/Missing_fundamental
그럼 맨 아래 하모닉스를 어떻게 찾아내나? 그거야 하모닉스들의 관계는 아마도 정수배나 1.5배 등 규칙적일 테니까, 나머지 하모닉스들을 가지고 아래로 찾아나가면 되지 않을까. 이런걸 auto correlation이라고 한다.
http://en.wikipedia.org/wiki/Autocorrelation
위의 그림에서는 맨 아래 하모닉스 하나만 없어졌지만, 실제로는 하나보다 더 많이 없어질수도 있다. 그러므로 도대체 몇 개나 더 아래로 내려가야 될지도 문제다.
그리고 하모닉스들의 비율이 항상 정수나 1.5 같이 딱 떨어진다는 보장도 없고, 사람의 음성이 다소 불안할 수도 있고, 비브라토나 꾸밈음 등의 기교도 있고 그래서 참 골치가 아프다.
어떤 방법이 가장 잘 동작할까?
MIREX라고 이런 pitch detection 분야에 대회가 있어서, 누가누가 제일 잘 맞추나 매년 대회를 열어서 상을 준다. 올해도 9월에 열릴 예정이다.
http://www.music-ir.org/mirex/2008
pitch detection은 어디까지나 추측이기 때문에, 지금까지 100% 완벽하게 맞추는 방법은 안 나왔다. 여기 MIREX의 결과를 보고 괜찮아보이는 걸 가져다 쓰거나 개선하면 될 것 같다.
http://www.nature.com/neuro/journal/v4/n8/full/nn0801_839.html
Nature Neuroscience
Human pitch perception is reflected in the timing of stimulus-related cortical activity