8.1. 내용 기반 오디오 검색: 개요

Content-Based Audio Retrieval: Introduction

내용 기반 오디오 검색
Author

Cheonghyo Cho

Published

February 18, 2023

내용 기반 오디오 검색(Content-Based Audio Retrieval)에 대해 자세히 다루기 전에 간단히 그 개요를 살펴본다.

이 글은 FMP(Fundamentals of Music Processing) Notebooks을 참고로 합니다.

import numpy as np
import pandas as pd

import IPython.display as ipd
from IPython.display import Image, Audio

path_img = '../img/8.content-based_audio_retrieval/'
path_data = '../data_FMP/'

내용 기반 오디오 검색 (Content-Based Audio Retrieval)

  • 정보 검색(information retrieval, IR)이란 정보를 구성하고 액세스 가능하고 유용하게 만드는 작업에 관한 분야이다. 정보 검색 프로세스는 사용자가 쿼리(=검색오디오)(query)를 통해 자신의 정보 요구 사항을 지정하면 시작된다. 그런 다음 검색 시스템은 주어진 자료에서 쿼리와 관련된 모든 문서 또는 아이템을 전달한다.

  • 음악 추천 및 재생 목록 생성의 대부분의 서비스는 실제 오디오 컨텐츠의 메타데이터 및 텍스트 주석에 의존한다. 예를 들어, 음악 녹음은 아티스트 또는 작곡가의 이름, 작품의 제목 또는 노래 가사 등의 수동적으로 편집된 데이터로 설명 될 수 있다. 최근의 검색 시스템은 일반적이고 표현적인 주석으로 편집 메타데이터를 보완하며, 이는 태그(tag)라고도 한다. 이러한 태그는 녹음의 음악 스타일 또는 장르를 설명 할 수 있으며 분위기, 키(key) 또는 템포에 대한 정보도 포함 할 수 있다. 많은 음악 추천 시스템은 여러 사용자가 생성하고 음악 블로그 등에서 자동으로 추출된 태그에 의존하며, 이는 사용자 행동 및 음악 소비에 대한 통계 정보를 담는다. 비록 이러한 태그는 꽤 노이지(noisy)하지만, 여전히 일반적인 추세를 표현하고 음악 내용을 통계적 및 인간 중심 방식으로 설명한다.

  • 텍스트 기반 검색 시스템은 매우 강력할 수 있지만, 적절하고 풍부한 메타데이터의 음악 자료를 필요로 한다. 이는 특히 덜 인기 있는 음악이나 구조화되지 않은 공간에 흩어져 있는 음악 자료의 경우 종종 유효하지 않은 가정이다. 또한 모든 검색 시나리오를 순전히 텍스트 기반 접근 방식으로 처리할 수 있는 것은 아니다. 사용자의 쿼리가 CD 녹음의 짧은 발췌문이나 마이크에 대고 부르는 멜로디로 구성되어 있다면 검색 시스템은 어떻게 설계되어야 할까? 악보의 몇 소절만 사용할 수 있는 경우 어떻게 할 수 있을까? 주석이 없는 특정 리듬 패턴이나 화음 진행이 있는 음악을 사용자가 찾는다면 어떻게 찾을 수 있을까?

    • 이러한 시나리오를 처리하려면 수동으로 생성된 메타데이터에 의존하지 않고, 원래의 음악 데이터만 사용하는 내용 기반 검색(content-based retrieval) 시스템이 필요한다. 내용(content)이라는 용어는 대략적으로 쿼리, 비교 및 검색할 음악 자료에서 직접적으로 얻을 수 있는 모든 종류의 정보를 나타낸다.
Image(path_img+"FMP_C7_F01_text.png", width=600)

쿼리별 예제 (Query-By-Example)

  • 많은 콘텐츠-기반 검색 전략은 쿼리별 예제(query-by-example) 패러다임을 따른다. 음악 표현 또는 그 일부(쿼리 또는 예제로 사용됨)가 주어지면, 음악 컬렉션에서 쿼리와 유사한 부분 또는 측면을 포함하는 문서를 자동으로 검색하는 것이다. 이 패러다임을 기반으로 세 가지 콘텐츠 기반 검색 작업의 예를 보자.

    • 쿼리로 작은 오디오가 주어지면 오디오 식별(audio identification)(오디오 핑거프린팅(fingerprinting)이라고도 함) 작업은 쿼리의 원천인 특정 오디오 녹음을 식별하는 것으로 구성된다. 예를 들어, 베토벤 교향곡 5번의 Bernstein의 연주 녹음의 작은 발췌가 주어지면, 목표는 이 녹음을 정확히 식별하는 것이다.

    • 핑거프린팅 시스템은 Karajan의 연주 녹음과 같은 동일한 작품의 다른 녹음을 식별할 수 없다. 이것이 바로 오디오 매칭(audio matching)이라는 검색 작업의 목표이다. 쿼리 조각이 주어지면 오디오 매칭의 목표는 해당되는 모든 오디오 발췌 부분을 음악적으로 검색하는 것이다. 이 시나리오에서는 일반적으로 다른 연주 및 음악 편곡에서 발생하는 변형을 명시적으로 허용한다.

    • 유사성의 개념을 더욱 부드럽게 하는 버전 식별(version identification)(때때로 커버 곡 검색(cover song identification)이라고도 함) 작업은 악기 편성 및 템포뿐만 아니라 일반적으로 리믹스 및 커버 곡에서 발생하는 음악 구조, 키 또는 멜로디와 관련하여 더 극단적인 변형을 고려한다.

    • 마지막으로 카테고리 기반(category-based) 검색 시나리오(장르 분류(genre classification) 포함)의 유사성 관계는 다소 모호하며 문화적 또는 음악학적 범주를 표현한다.

Image(path_img + "FMP_C7_F01_BeetFifth.png", width=500)

Metadata Audio
Beethoven:
Symphony No. 5
(Bernstein)
Beethoven:
Symphony No. 5
(Karajan)
Beethoven:
Symphony No. 5
(Gould)
Beethoven:
Symphony No. 9
(Bernstein)
Beethoven:
Symphony No. 3
(Blomstedt)
Haydn:
Symphony No. 94

특이성과 세분성 (specificity and granularity)

  • 내용 기반 검색 전략은 특이성(specificity) 및 세분성(granularity)에 따라 느슨하게 분류할 수 있다.
    • 검색 시스템의 특이성은 쿼리와 검색할 데이터베이스 문서 간의 유사성 정도를 의미한다. 특이성이 높은 검색 시스템은 쿼리의 정확하거나 가까운 복사본을 반환하는 반면, 낮은 특이성의 검색 시스템은 수치적 관점에서 원래 쿼리와 상당히 다를 수 있는 항목을 반환한다.
    • 세분성은 검색 시나리오에서 고려되는 시간적 수준을 나타낸다. 조각 수준(fragment-level) 검색 시나리오에서 쿼리는 오디오 녹음의 짧은 조각으로 구성되며 목표는 데이터베이스 문서에 포함된 모든 관련 조각(fragement)을 검색하는 것이다. 예를 들어, 이러한 조각은 오디오 내용의 몇 초를 커버하거나 모티프, 테마 또는 음악 파트에 해당할 수 있다. 반면 문서 수준(document-level) 검색에서는 쿼리가 전체 문서의 특성을 반영하여 데이터베이스의 전체 문서와 비교한다. 이 경우 전체 유사성 점수가 여전히 로컬 조각 수준 비교를 기반으로 할 수 있지만 유사성 개념이 더 거친 경향이 있다.
  • 다양한 내용 기반 검색 시나리오는 특이성과 세분성에 따라 특이성-세분성 평면에 느슨하게 배열될 수 있다. 다음 그림에서 세 가지 시나리오(오디오 식별, 오디오 매칭 및 버전 식별)는 여러 관련 검색 시나리오를 포함하는 구름으로 표시된다. 카테고리 기반 검색 시나리오를 나타내는 네 번째 구름도 추가된다. 이 분류법은 너무 단순할 수 있지만, 미묘하지만 중요한 차이점을 설명하면서 다양한 검색 패러다임에 대한 직관적인 개요를 제공한다.
Image(path_img+"FMP_C7_F22_small.png", width=600)

음악의 버전(versions)

  • 서양 문화에서 음악 작품(piece of music)이라고 하면 일반적으로 악보로 주어지거나 녹음된 트랙의 형태로 주어진 특정 구성을 생각한다. 종종 음악 작품의 기원을 거슬러 올라가 작곡가나 음악 그룹의 이름과 연관시킬 수 있다. 예를 들어 베토벤이 작곡한 교항곡 5번 악보는 교향곡 5번의 원본으로 간주된다. 또는 노래 “Yellow Submarine”의 원 버전은 의심할 여지 없이 영국 록 밴드 “The Beatles”의 녹음이다.

  • 그러나 일반적으로 음악의 경우 이러한 견해는 다소 단순하며 “원본 버전”이라는 용어는 말할 것도 없고 “piece of music”이라는 용어를 사용하는 것은 문제가 될 수 있다. 다음에서는 단순한 관점을 채택하고 다소 느슨한 방식으로 “piece of music” 및 “버전(version)”이라는 용어를 사용한다. 이러한 용어에 대한 형식적인 정의를 내리기보다는 서양 음악의 맥락에서 몇 가지 전형적인 예를 살펴보도록 한다.

  • 편곡(arrangement)이란 원래 악보에 표기된 악기와 다른 악기로 연주할 수 있도록 악보를 다시 작업하는 것을 말한다.

  • 피아노 편곡(piano transcription)은 교향곡과 실내악을 편곡하여 한 대 또는 두 대의 피아노로 연주할 수 있도록 한 것이다.

  • 쿼들리벳(quodlibet)(15세기에 작곡)은 다양한 멜로디, 일반적으로 대중적인 민속 음악이 유머러스한 방식으로 결합된 음악 작품을 말한다.

  • 포푸리(potpourri)(19세기에 작곡)는 인기 있는 오페라, 오페레타 또는 노래의 개별 섹션이 강력한 연관성이나 관계 없이 단순히 병치된 작품이다.

  • 메들리(medley)는 기존 곡의 일부, 일반적으로 노래에서 가장 기억에 남는 부분을 차례로 연주하며, 중첩하여 구성한 작품이다.

  • DJ 믹스는 DJ가 기존 오디오 자료를 조작, 블렌딩 및 믹싱(예: 턴테이블 스크래칭을 적용하여 원본 녹음에 혼합된 타악기 사운드를 생성)함으로써 공연 뮤지션 역할을 하는 버전이다.

  • 샘플링(sampling)은 하나의 녹음에서 일부 또는 샘플을 가져와 다른 곡에서 “새로운” 악기로 재사용하는 기술을 말한다.

  • 리믹스(remix)는 원래 버전과 다르게 들리도록 편집되었거나 완전히 다시 만들어진 녹음이다. 이러한 수정은 강약, 피치, 템포 및 재생 시간의 변경에서 음성 및 악기 트랙의 완전한 재배열에 이르기까지 다양할 수 있다.

  • 리마스터링(remastering)의 목표는 기존 녹음의 음질을 향상시키는 것이다.

  • 매시업(mash-up)은 한 곡의 보컬 트랙을 다른 곡의 악기 트랙 위에 매끄럽게 오버레이하여 생성되는 새로운 구성이다.

  • 사운드 콜라주(sound collage)는 기존 녹음 또는 음악의 일부를 결합하여 얻은 구성으로, 시각 예술의 콜라주와 유사하다.

  • 인용문(quotation)은 음악에서 멜로디나 주제와 같은 기존 음악 자료를 새로운 구성에 사용하는 것을 의미한다.

  • 변주(variation)는 음악 자료가 하모니, 멜로디, 리듬, 음색, 오케스트레이션 또는 이들의 조합을 포함할 수 있는 변화와 함께 변경된 형태로 반복되는 경우를 말한다.

  • 패러디(parody)는 원작을 조롱하고 하찮게 모방하는 것이다.

  • 커버(cover) 버전 또는 커버 곡은 원곡자가 아닌 다른 사람이 이전에 발표한 곡을 새롭게 퍼포먼스 하는 것을 의미한다.

  • 이들은 음악 작품의 “버전”의 일부 예일 뿐이다. 버전은 음색, 악기 편성, 템포, 키, 하모니, 멜로디, 가사 및 음악 구조의 상당한 변화를 포함하여 여러 면에서 원본 녹음과 다를 수 있다. 예를 들어, 베토벤 교향곡 5번의 버전을 찾을 때 많은 음이 수정되고, 원래 구조의 대부분이 손실된, 예를 들어 록 밴드의 라이브 공연을 검색하는 데 관심이 있을 수 있다. 톤과 템포의 급격한 변화에도 불구하고 수정된 버전에서도 빛을 발하는 원래 구성의 특징적인 선율, 화성 또는 리듬 요소를 통해 원래 구성을 여전히 인식할 수 있다.

  • 커버 송의 예를 보자.

 <td style="border:none;text-align:left;">Apocalyptica: Enter Sandman</td>
<td style="border:none;text-align:left;">Nirvana: Poly (Unplugged)</td>
<td style="border:none;text-align:left;">Cindy & Bert: Der Hund von Baskerville</td>
<td style="border:none;text-align:left;">AC/DC: High Voltage (live)</td>
Song Name Original Version Modification Cover Version Song Name
Bob Dylan: Knockin’ On Heaven’s Door Key Avril Lavigne: Knockin’ On Heaven’s
Metallica: Enter Sandman Timbre
Nirvana: Poly (Incesticide Album) Tempo
Black Sabbath: Paranoid Lyrics
AC/DC: High Voltage Recording conditions

출처:

  • https://www.audiolabs-erlangen.de/resources/MIR/FMP/C7/C7_ContentBasedAudioRetrieval.html

구글 Colab 링크


\(\leftarrow\) 7.3. 비트와 펄스 추적
8.2. 오디오 식별 \(\rightarrow\)