• Tidak ada hasil yang ditemukan

a. 음원 분리

입력된 오디오 신호를 음원 분리 알고리즘을 통하여 보컬과 화성 악기, 타악기로 분리한다. 이를 위하여 앞서 설명했던 [28]을 사용한다. 이 방법은 화성악기와 타악기를 각각의 주파수 특징을 이용하여 분리한 뒤에 원래의 오디오 신호에 남아있는 부분을 보컬로 분리하는 방법이다. 이는 화성 악기, 타악기의 정보를 이용하려는 본 연구의 목적과도 부합되고, 다른 방법들과는 달리, 악기들의 속성을 이용한 방식이므로, 분리된 반주 부분과 보컬 부분의 주파수 특성이 특성벡터를 추출하는 데 잡음성분을 줄여줄 것으로 판단되어 이 알고리즘을 사용하기로 하였다.

b. 학습 데이터 생성

대중 음악에서는 각 섹션마다 악기의 구성이 크게 변하지 않는 특성이 있기 때문에, 화성 악기의 음색 정보는 구조 분석에서 중요한 역할을 담당하고, 보컬의 화성 정보 역시 보컬이 가지고 있는 피치를 추정할 수 있기 때문에 도움이 된다고 할 수 있다. 또한 타악기 리듬 패턴의 급격한 변화 역시 경계를 위한 중요한 요소여서 리듬 패턴 역시 중요하게 사용될 수 있다. 이러한 점을 이용하여 본 연구에서 사용한 특성 벡터는 음색, 화성, 리듬 정보이다. 이 음악적 속성은 사람의 구조 인지과정에서 중요한 역할을 담당하고 있음이 입증되었기에 이 속성들과 관련된 특성 벡터를 활용하여 구조 분석에 적용하고자 하였다. 또한 오디오 신호에서 특성 벡터를 추출하는 과정에서 생기는 오류를 줄이기 위하여 보컬, 화성악기, 타악기 성분으로 분리된 각 부분에서 특성 벡터를 추출하였다.

보컬 과 화성 악기 성분에서는 화성 정보를 나타내는 12차원의 크로마 특성과 음색을 표현하는 13차원의 MFCC 를 추출하였고, 타악기 성분에서는 신호의 에너지가 얼마나 빨리 변하는지를 측정하는 스펙트럴 플럭스(spectral flux) 를 추출하였다[38]. 타악기 성분은 반복되는 순간적인

에너지 패턴을 가지고 있기 때문에, 에너지의 변화 정도는 리듬 패턴을 의미한다고 할 수 있다.

𝑆𝐹𝑡= ∑(𝑁𝑡[𝑛] − 𝑁𝑡−1[𝑛])2

𝑁

𝑛=1 (9)

위 식 (9) 는 t 번째 프레임의 스펙트럴 플럭스를 계산하는 식으로 𝑁𝑡 는 t 번째 프레임의 주파수 도메인에서의 정규화된 에너지의 크기를 나타내고, 이전 프레임인 t − 1 번째 프레임과의 에너지 차이를 이용하여 계산한다. 스펙트럴 플럭스의 정보는 타악기 성분의 주파수 분포에 따라서 킥드럼(kick)에 해당하는 40Hz에서 160Hz 의 저음역대1, 스네어 드럼(snare)에 해당하는 영역인 160Hz-300Hz 의 저음역대2, 베이스 기타의 플럭크(pluck) 등이 포함된 300Hz-3KHz 의 중음역대, 하이햇(hi- hat)의 시즐링(sizzle)의 3KHz 이상의 고음역대와 전체 대역에서의 값을 이용하였다.

오디오 신호는 11025Hz 로 리샘플링(resampling)하여 사용하였고, 프레임 길이는 50ms, 홉 사이즈는 25ms 로 고정한 뒤 특성 벡터를 추출하였다. 짧은 프레임마다 추출한 특성 벡터는 큰 변화가 없는 경우가 많기 때문에 음악에서 의미 있는 짧은 단위인 비트 정보를 이용하여 동기화하였다. 이를 위해 동적 프로`그래밍 기반의 비트 추적 알고리즘[37]

을 사용하여 비트 정보를 추출하여, 비트 프레임 사이의 특성 벡터의 평균을 취함으로써 비트와 동기화된 특성 벡터를 계산하였고, 이를 유사성 비교 및 구조 분석에 이용하였다.

특성 벡터의 변화 정보를 이용하기 위하여 foote 의 노블티 점수(novelty score) 를 함께 적용하였다. 추출한 특성 벡터를 이용하여 자기 유사 행렬을 구성하였고, 96 × 96 사이즈의 체커보드 커널을 자기 유사 행렬의 대각선 방향으로 이동시키면서 노블티를 계산하였다.

경계 정보는 사용하는 데이터 셋의 정답지에 지정되어 있는 경계의 시점에 해당하는 프레임을 찾아내어 1 로 표시하였고, 그렇지 않은 프레임은 0으로 분류하여 이를 학습에 이용하였다.

이렇게 추출된 특성 벡터는 보컬 부분과 화성 악기 부분에서 크로마 벡터 12차원, mfcc 13차원, 각각의 노블티 점수 1차원씩 총 54차원이고, 타악기 성분의 스펙트럴 플럭스 5차원을 추가하여 총 59 차원을 학습에 이용하였다.

<표 2> 학습 데이터 구성을 위해 사용한 특성 벡터

c. 적응적 부스팅 방법

본 연구에서는 분리된 보컬, 화성 악기, 타악기 부분에서 추출한 특성 벡터 중 음악의 경계를 가장 잘 설명할 수 있는 특성 벡터를 찾아내어 그들의 조합을 통해 구조 분석을 하고자 하였다. 이를 위해 여러 종류의 특성 벡터를 학습하여 어떠한 특성이 유의미한 영향을 줄 수 있는지를 발견하여야 하고, 어떠한 가중치로 조합할 수 있을지에 대한 연구가 필요하였다. 이러한 조건을 만족하는 방법 중 적응적 부스팅(Adaboost, adaptive boosting) 방법을 적용하기로 결정하였다.

부스팅은 여러 개의 약한 분류기(weak classifier) 를 조합하여 강한 분류기(strong classifier) 를 형성하는 목적을 갖는 앙상블 기법이다. 이 중 적응적 부스팅(adaboost, adaptive boosting) 방법은 분류 중 샘플들의 가중치를 변경해 가면서 학습을 하는 방식으로 가장 널리 사용되는 부스팅 알고리즘이다.

적응적 부스팅에서 사용되는 분류기는 학습에 사용하는 데이터에 할당된 가중치를 이용하여 형성된다. 각 데이터 샘플은 학습 시작 단계에서 모두 동일한 가중치를 갖도록 설정이 되지만, 학습이 진행될수록 가중치는 적응적으로 (adaptive) 갱신된다. 이전에 사용된 약한 분류기에 의해 잘못 분류된 샘플의 경우 가중치는 커지고, 맞게 분류된 샘플의 가중치는 줄어들게 되어, 다음 단계의 약한 분류기가 높은 가중치를 갖는 샘플, 즉 어려운 데이터에 초점을 맞추어 학습을 하도록 설계가 된다.

본 연구에서 사용한 적응적 부스팅 방법은 가장 유명한 방식인 viola 와 jones 의 얼굴 인식 분야에서 사용된 알고리즘이다[39].

적응적 부스팅에서 사용되는 약한 분류기 ℎ 는 입력되는 샘플, 특성벡터, 한계점(threshold), 방향성(polarity)을 이용하여 특성 벡터의 한계점보다 큰 샘플들은 1로 분류하고, 그렇지 않은 샘플들은 0으로 분류하게 된다

ℎ(𝑥, 𝑓, 𝑝, 𝜃) = {1, 𝑖𝑓 𝑝𝑓(𝑥) > 𝑝𝜃

0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 (10)

각 특성벡터의 차원에 대해서 한계점을 조사한 뒤 가장 낮은 에러율을 보이는 약한 분류기를 선택하고, 그 때의 에러를 이용하여 가중치를 갱신하게 된다. 𝑦 값이 0과 1 의 두 값만을 가지고 있기 때문에 ℎ 와 𝑦 의 값이 다를 경우의 가중치의 합이 에러율이 된다. 본 연구에서는 음악의 경계 지점이 그렇지 않은 지점보다 수가 적기 때문에 더 높은 초기 가중치를 갖게 되고, 그러므로 에러율은 경계 지점을 많이 찾을수록 낮아지게 된다. 맞게 분류된 샘플에 대해서는 가중치를 낮추고, 잘못 분류된 샘플에 대해서는 가중치를 그대로 유지한다. 이 과정을 통해 다음 반복 시에는 더 높은 샘플 가중치를 갖는 샘플들에 초점을 맞추게 된다.

<표 3> 적응적 부스팅 방법 .

이 과정을 T 번 반복하여 T 개의 약한 분류기를 구하게 되고, 각 분류기는 각 단계에서 얻어진 에러율을 기반으로 분류기의 가중치를

데이터 샘플 (𝑥1, 𝑦1),…, (𝑥𝑛, 𝑦𝑛) 에 대하여 𝑥𝑖 ∈ ℝ𝑑, 𝑦𝑖 ∈ {0,1}

가중치 초기화 𝑤1𝑖 = 1

2𝑚,1

2𝑙 (𝑚 과 𝑙 은 각각 𝑦i가 0, 1 인 샘플의 수) 1. 학습 단계

T 번 반복하여 학습 (a) 가중치 정규화

𝑤𝑡𝑖= 𝑤𝑡𝑗

𝑛𝑗=1𝑤𝑡𝑗

(b) 가장 낮은 에러율을 보이는 약한 분류기를 t 번째 학습의 분류기로 선택

𝜖𝑡= min

𝑓,𝑝,𝜃∑ 𝑤𝑡𝑖|ℎ(𝑥𝑖, 𝑓, 𝑝, 𝜃) − 𝑦𝑖|

𝑖

𝑡(𝑥) = ℎ(𝑥, 𝑓𝑡, 𝑝𝑡, 𝜃𝑡)

(c) 에러율을 이용한 샘플의 가중치 갱신

𝑤𝑡+1,𝑖= 𝑤𝑡𝑖𝛽𝑡1−𝑒𝑖, 𝑒𝑖 = 0, 1 𝛽𝑡 = 𝜖𝑡

1 − 𝜖𝑡

2. 검출 단계

𝐶(𝑥) = {

1, ∑ 𝛼𝑡𝑡(𝑥) ≥1 2∑ 𝛼𝑡

𝑇

𝑡=1 𝑇

𝑡=1

0, otherwise 𝛼𝑡 = log1 𝛽𝑡

결정하고, 새로운 데이터 샘플이 입력으로 들어왔을 때 경계 지점으로 분류한 모든 분류기의 가중치의 합이 전체 가중치 합의 절반 이상일 경우에는 경계 지점으로 분류하는 강한 분류기를 형성한다.

적응적 부스팅 방법을 통한 학습 결과 경계를 잘 설명하는 특성 벡터가 선정되고, 해당 특성 벡터에 가중치가 할당된다. 이는 여러 특성 벡터를 조합하여 경계를 잘 설명하는 분류기가 형성되었음을 의미한다.

한 가지 특성만으로 설명하기에는 한계가 있는 대중 음악에 대해서 여러 특성 벡터를 조합할 수 있는 적응적 부스팅 방법은 장점을 갖는다고 할 수 있다. 특히 장르별 학습을 통하여 각기 다른 학습 모델을 형성함으로써 각기 다른 가중치가 부여된 특성 벡터를 이용하여 장르별 성능을 향상시킬 수 있을 것으로 기대된다.

d. 경계 검출

경계 검출 단계에서는 새로운 데이터의 특성 벡터와 노블티 점수를 입력으로 사용하여 학습 모델 생성 단계에서 만들어진 학습 모델에 적용한다. 이를 통해 경계 지점으로 분류된 샘플들에 대하여 최종적으로 경계 지점을 추출하는 과정을 거친다.

음악 데이터는 급격하게 변화하지 않는 특징을 지닌 연속되는 짧은 프레임단위로 구성이 되어 있다. 학습 모델은 특성 벡터의 특정 값을 기준으로 경계의 가능성을 표현하고 있기 때문에, 해당 값과의 비교 결과는 연속적인 프레임이 동일하게 나타나게 된다. 그러므로 학습 모델을 통해서 경계로 추정되는 프레임은 실제 경계의 수보다 훨씬 많게 되고, 추가적인 후처리 과정이 필요하게 된다.

본 연구에서는 최종 경계를 추정하기 위한 방법으로 후보로 선정된 프레임에 적용된 가중치의 값을 이용하였다.

앞서 설명한 것처럼 적응적 부스팅 방법은 특정 프레임을 경계 지점으로 분류한 모든 분류기의 가중치의 합이 전체 가중치 합의 절반

이상일 경우에는 경계 지점으로 분류하는 강한 분류기를 형성한다.

그러므로 해당 프레임에 대한 가중치의 합은 경계가 될 확률을 의미한다고 볼 수 있다. 이러한 사실을 바탕으로 본 연구에서는 간격이 2초를 넘지 않는 연속되는 프레임 중 가중치의 합이 가장 큰 프레임을 최종 후보로 결정하는 후처리 단계를 도입하였다.

본 연구에서 제안하는 방식은 적응적 부스팅을 사용한 Turnbull 의 연구와 유사하지만, 적응적 부스팅의 전처리 단계에서 음원의 분리를 이용하여 특성 벡터를 추출한다는 점과, 학습 모델을 거쳐서 선정된 음악 경계의 후보들 중 일정한 간격의 연속적인 프레임 단위로 가중치를 분석하는 후처리 과정에서 기존 방식과 차이를 보인다. 또한 기존의 방식이 832차원의 특성 벡터를 사용하였던 것에 비해 59차원의 훨씬 작은 특성 벡터만으로 구조 분석을 하고자 하였다는 차이도 갖는다. 실험을 통하여 본 연구에서 제안하는 방식과 Turnbull 의 연구와의 성능을 비교하여 유의미한 결과를 얻을 수 있을지 확인하였다.

Dokumen terkait