論 文
WWW 上での歌声による曲検索システム
園田 智也†

後藤 真孝††

村岡 洋一†A WWW-Based Melody Retrieval System
Tomonari SONODA† , Masataka GOTO†† , and Yoichi MURAOKA†

あらまし 本論文では，WWW 上で動作する，歌声の旋律からその曲のタイトルを検索するシステムについて述べる．歌声による検索では，入力の旋律情報（ 音高・音長）が正確とは限らないため，しきい値によってそれらを粗い旋律情報に変換したものを検索キーとし ，データベースの曲とのマッチングを行う．しかし ，このための適切なしきい値の設定は難しく，特に音長情報においては，有効な検索キーを得ることが困難であった．また，粗い旋律情報では正答の絞込みも難しい．そこで，本研究では（ 1 ）有効な検索キーを得るための最適なし
きい値を設定する手法，（ 2 ）データベースの曲から正答の曲の候補を精度良く絞り込むためのマッチング手法の二つを提案することで，従来手法よりも正答率の高い検索を実現し ，WWW 上で複数の利用者が活用できるシ
ステムを構築できた．
キーワード

音楽データベース，メロデ ィ検索，WWW アプ リケーション，旋律情報

文献 [2]〜 [6] では，旋律の音高や音長の系列を音符間

1. ま え が きの相対音高差・相対音長比の系列に変換してから，検本論文では WWW ブラウザ上で歌声を入力し，ネッ

索に用いていた．更に，利用者の記憶違いや歌唱能力

トワーク経由で曲データベース（ DB ）サーバからそによる誤差を許容するため，相対音高差に対しては，の曲のタイトルを検索するシステムについて述べる．

前音から「上がった，同じ ，下がった」，相対音長比にWWW 上には多くの曲 DB が公開されているが，こ対しては，「長くなった，同じ ，短くなった」などのれまで，それらに対する主な検索手法は歌詞などを文ように，粗い精度の相対値を変換したものを検索キー

字で入力して行うものであった．しかし ，耳で聞いてとしていた．

記憶し ている旋律を検索に用いる方が より直感的で

しかし ，粗い精度の相対値を用いる場合，しきい値ある．そこで，本研究では歌声の旋律情報（ 音高と音によってある範囲の値を同一の値とみなして検索キー

長の二つの属性値をもつ音符の系列）を用いた検索をを生成するために，そのしきい値や検索効率に関して

WWW 上で実現することを目的とする．

以下の問題があった．

WWW 上で歌声による曲検索システムを構築する（ 1 ） 有効な検索キー生成のための適切なしきい値には，様々な利用者に対して，精度良い検索を行う必の設定が難しかった．特に音長に対しては設定が困難

要がある．また，ネットワークの負荷を軽減するため，であり，従来研究では有効に用いられていなかった．

転送するデータサイズは小さい方が望ましい．

（ 2 ） 粗い相対値を検索キーとした検索では，DB

従来の曲検索システム [1]〜[6] はいずれも 1 台の計

中の曲も同様に粗い相対値に変換してマッチングを行

算機上で実装され，ネットワーク上での利用は考慮さうため，複数の曲で同様の旋律パターンをもつことがれていなかった．歌声の旋律情報は，DB 中の曲のもあり，正答の曲が精度良く絞り込めないことがあった．

のとは正確に調・テンポが一致するとは限らないため，

そこで，本研究ではこれらの問題を解決するために，
以下の二つの手法を提案する．
（ 1 ） 曲 DB のすべての曲中に出現する音高・音長† 早稲田大学理工学部，東京都
School of Science and Engineering, Waseda University,
Tokyo, 169–8555 Japan†† 電子技術総合研究所，つくば市

率的に正答を絞り込む検索キーを生成する手法．

Electrotechnical Laboratory, Tsukuba-shi, 305–8568 Japan

電子情報通信学会論文誌 D–IIの分布を利用してしきい値を決定することで，最も効（ 2 ） 検索キーの相対値の粗さを徐々に細かくしな

Vol. J82–D–II No. 4 pp. 721–731 1999 年 4 月

721

電子情報通信学会論文誌 ’99/4 Vol. J82–D–II No. 4

がら検索を行うことで，正答の曲を効率良く絞り込む

る．最後にサーバから検索結果である曲のタイトルをマッチング手法．

受け取ると WWW ブラウザ上に表示を行う．

以上の手法により，音高・音長の両者を有効に用いクライアントの各処理を以下に示す．

た精度の良い検索を実現することができた．また，旋• 歌声入力律入力用の WWW ブ ラウザのプ ラグ インを開発し ，

歌声の入力では，利用者はマイクを使用し ，自由な歌声の膨大な音響信号を少量の旋律情報に変換したこ

音高，自由なテンポ，自由な歌い出し（ 曲中の位置）とで，ネットワークにかかる負荷の少ない検索システ

で入力することが可能である．歌い方は，歌詞を歌わムを構築することができた．

ずに，ta-ta-ta，cha-cha-cha 等のように，1 音符を無2. WWW 上での曲検索システム

声音かつ破裂音で始まり ‘a’ の有声音で終わる 1 モーラに対応させたものに限定する．この形式により，シ本システムの概要を図 1 に示す．本システムはサー

ステムは安定して旋律情報を抽出でき，利用者にとっバ・ク ラ イアン ト 型の シ ステ ムで あ り，利 用 者はても，この歌い方は無理がないために特に負担とはな

WWW ブ ラウ ザの クラ イアント 側で 曲の メロデ ィ（ 旋律）を歌うことで，サーバの保有する DB の曲のらない．

中から，最も似ている旋律をもつと解釈された曲のタイトルを得ることができる．
以下ではサーバ・クライアントそれぞれの処理の概要について述べる．

2. 1 クライアント（ 音高・音長抽出）• 有声音の判定歌っている最中はマイクには周囲の環境音が入らないことを前提に，歌声の音響信号の振幅が一定値以上のとき，有声音と判断する．

• 音高・音長の同定
連続する有声音のフレ ームの うち，一番最初のフ

クライアントにおける処理の中心となる，各音符のレ ームを音符の発音時刻とし ，各音符を発音時刻に・音長（ span ）の抽出 」について述べ「 音高（ pitch ）よって区切る．更に，各音符の発音時刻と，次の音符る．クライアントは，歌声の音響信号の A–D 変換後，の発音時刻との時間差（フレーム数）をその音符の音

まず，処理の単位時間（ フレーム，16 msec ）ご とに長とする．次に，各音符に対し ，音長として定められ有声音の判定を行う．次に，有声音のフレームを利用た区間における各フレームのピッチを，以下の手順でし，各音符の音高・音長の同定を行う．最後に，音高・求める．

音長の系列を相対音高差（ relative-pitch diﬀerence ）・まず，各フレームに対し ，FFT（サンプリング周波

相対音長比（ relative-span ratio ）の系列に変換して

数 8 kHz，512 点）の結果から得られた，音声波形のサーバに転送する．その際，膨大な音響信号データをパワースペクトルを用い，スペクトル包絡のピークをデータサイズの小さい旋律情報にクライアント側で変抽出する．抽出した m 個のピークのうちの i 番目の換（ 具体的には，WWW ブ ラウザ上のプ ラグ インでピーク Pi (0 <= i < m) (Hz) に対して，Pi がそのフ変換）することで，ネットワークの負荷を小さくでき

レ ームでのピッチであることの確信度 R(i) を設け，その初期値を R(i) = Pi としておく．ここで，ピーク

Pi と 2 以上の整数 N ，十分に小さな値  (Hz) に対し，
N Pi −  < Pk < N Pi + (i < k < m)となる Pk が存在するたびに，Pi が倍音 Pk をもつと判断し ，確信度 R(i) の値を次の計算で増加させていく．

R(i) ← R(i) + Pk
この計算の結果，すべての i (0 <= i < m) に対して確
図 1 システムの概要
Fig. 1 Image of the system.

722

信度 R(i) が最も高くなった Pi を，そのフレームのピッチとする．

論文／ WWW 上での歌声による曲検索システム

以上のようにして求めた，各音符の音長区間における各フレームのピッチのうちの最大値を，その音符の音高とする（ 予備実験から最大値の方が平均値よりも精度良くピッチを同定できた ）．

• 相対音高差・相対音長比の送信
同定した音高・音長の系列を，それぞれ相対音高差・相対音長比に変換し ，サーバに送信する．相対音高差
は半音の差が 100 となるように正規化し ，相対音長比は前音の音長との比をパーセンテージで表す．

2. 2 サーバ（ 検索）
サーバは曲 DB を保有しており，曲の「 検索」処理を行う．検索には DP マッチングを用い，クライアン
トからの入力の系列と DB 中の各曲中の系列との距離を求める．マッチングの結果，入力の系列と最も距離が近い系列をもつ曲から順に正答の候補とし ，クライ

図 2 DP マッチング行列 m(i, j)
Fig. 2 DP matching matrix m(i, j).

値の集合を，それぞれ Cp · Cs とし ，相対値間のペナ
ルティ dx を次のように定義する．

アントにそのタイトルのリスト（ 曲数は任意に設定でQRx = q0 , q1 , q2 , . . . , qI−1 , qi ∈ Cxきる）を送信する．

SRx = s0 , s1 , s2 , . . . , sJ −1 , sj ∈ Cx

サーバの各処理を以下に示す．

• 曲 DB
本システムでは曲 DB を歌声で作成し，歌声の入力と同様の方法で，各音符を相対音高差・相対音長比の系列として保存しておく．歌声で DB を作成する利点

dx (a, b) = |a − b|
: a と b の間のペナルティ, a, b ∈ Cx
(ただし x = p, s)

少ないこと，楽譜のない曲でも容易に DB に追加可能

DP マッチング の 計算は 2 次元の マッチング 行列m(i, j) を用いて行う．各要素の計算は図 2 のように，はじめに 1 行目の計算（ Step A ），次に 1 列目の計算であることが挙げられる．

を行う（ Step B ）．それからすべての要素について計として，楽譜形式での手入力よりも DB 作成の労力が• DP マッチング
DP マッチングでは，入力と DB 中の各曲の旋律のいて距離 Dx を求める（ Step D ）．以上の処理を DB

系列間の距離を求める．マッチングには，相対音高差・中のすべての曲について行い，入力の系列との距離

相対音長比を，それぞれしきい値によって粗いカテゴ

Dx を求める．

算を行い（ Step C ），最後に一番下の行の最小値を用リーに分割して，粗い精度に変換した相対値を用い，以下に各 Step A〜D の計算手順を示す．

比較する粗い相対値同士の差を DP マッチングにおけ［ Step A の計算］

るペナルティとし，その合計値を系列間の距離とする．

0<= j < J において

具体的には次のように行う．
入力の歌声の旋律を粗い精度に変換し た，長さ Im(0, j) = dx (q0 , sj )の相対音高差・相対音長比の系列を QRp · QRs とす［ Step B の計算］

る．また，DB 中のある曲がもつ旋律を粗い精度に変0 < i < I において換した，長さ J の相対音高差・相対音長比の系列を

m(i, 0) = ∞

SRp · SRs とする．入力の系列 QRx と DB 中の曲のもつ系列 SRx についての距離 Dx (QRx , SRx ) をDP マッチングによって求める（ここで，x = p, s とする）．本システムでは SRx のすべての箇所を開始点として QRx の先頭からのマッチングを行うことが可能となっている．
粗い精度の相対音高差・相対音長比が取り得る整数［ Step C の計算］

1<
= i < I ，1 <= j < J においてm(i, j) = dx (qi , sj ) + min(m(i − 1, j),m(i − 1, j − 1), m(i, j − 1))［ Step D の計算］
723

電子情報通信学会論文誌 ’99/4 Vol. J82–D–II No. 4

Dx (QRx , SRx ) = min{m(I − 1, j) |1 <= j < J}

3. 実現上の課題と解決法
本システム全体の検索精度に大きく影響を与えるのがサーバの DP マッチングに利用する情報の精度である．利用者の歌声の変動や誤差の影響を吸収するために，従来研究 [2]〜[6] では，いずれもアド ホックなし
きい値を利用し ，相対音高差・相対音長比を粗い精度の相対値に変換して，マッチングに用いる検索キーとしていた．例えば ，文献 [6] では，音高において，前音より「上がった，同じ ，下がった」ということを表

図 3 相対音高差の分布（ 200 曲）としきい値
Fig. 3 Histogram of relative-pitch diﬀerence (in 200
songs) and thresholds.

す値を U，E，D のなど のような三つの記号で表し ，「ドレミミレド 」を「 XUUEDD 」などと変換したものを用いた（ X は最初の音なので相対値がないことを示す ）．しかし ，検索に効果的なし きい値を設定することは難しく，特に音長に対しては有効な検索キーを生成することができなかった．また，粗い精度の相対値だけでは，正答を絞り込むことが困難であった．
以下，3. 1，3. 2 ではしきい値の決定問題とその解決法を述べる．また，3. 3，3. 4 では正答の絞込み問
題とその解決法を述べる．

3. 1 検索キー生成のためのしきい値決定問題
図 3，図 4 はそれぞれ，歌声によって作成した DB（ 6. 3 の実験で用いたものと同じ もので ，日本・西洋

Fig. 4図 4 相対音長比の分布（ 200 曲）としきい値
Histogram of relative-span ratio (in 200 songs)
and thresholds.

のポップ ス，童謡，民謡，演歌などのジャンルから選んだ 200 曲 ）の曲中に出現する，すべての音符の相対音高差・相対音長比のヒストグラムである．相対音

各々ほぼ等しい確率で出現する．マッチング処理の際

高は半音の差が 100 となるように正規化しており，相には，検索キーとして入力される系列中の各音符の相

対音長は比をパーセンテージで表現し ている．ここ対音高差に対しても，同じしきい値を用いて U，E，D

で，図の上部に従来研究 [2] で用いられた検索キー生の三つカテゴ リーに変換することで，入力系列中の一成のためのしきい値を示す（ 図の下部の動的しきい値

つの音符ごとに，正答として絞られる DB 中の曲の候（ dynamic thresholds ）については 3. 2 で述べる）．文

補数は，約 1/3 ずつになっていくことが期待され，望献 [2] では，相対音高差に関しては，前の音符から半ましい．

音の幅の差をし きい値とし ，相対音長比に関しては，

一方，音長に関しては，多くのものが E に分類され，50%と 200%をしきい値としていた．ここで，しきい

L，S に分類され るものは比較的少なかった．このた値によって変換される粗い精度の相対値を表す記号とめ，DB 中の多くの曲の音長の系列は，E が L，S にして，音高には「上がった（ Up ），同じ（ Equal ），下比べ多く出現する系列に変換されていた．この結果，がった（ Down ）」を表すカテゴ リー U，E，D を用い複数の曲で同様のパターンが出現する確率が高くなり，る．音長には「長くなった（ Longer ），同じ（ Equal ），正答の曲を絞り込むことが難しかった．

短くなった（ Shorter ）」を表すカテゴ リー L，E，S を

以上のように，DB 中の曲の系列パターンに適した用いる．これらの図を見ると，音高に関しては U，E，

しきい値をアド ホックに設定することは難しく，特にD それぞれのカテゴ リーにほぼ均等に変換されていた．
このため，DB 中の曲の系列に出現する U，E，D は，

音長は，精度の良い検索を行うためのしきい値の設定724がなされていなかった．また，曲 DB によっては，各

論文／ WWW 上での歌声による曲検索システム

曲の相対音高差・相対音長比の分布に偏りのある場合が考えられるため，本来は曲 DB の性質に応じたしきい値を決定すべきであった．

3. 2 しきい値決定問題に対する解決法
本研究では，DB 中の曲のすべての相対音高差・相対音長比の分布を考慮し ，変換される値のカテゴ リーに含まれる相対値の合計度数が，カテゴ リー間でできるだけ均等となるように，しきい値を設定する手法を提案する．このしきい値の決定手法は，相対音高差・相対音長比の分布から動的に定めているので，従来の静的な決定法に対して，動的しきい値決定法と名づけ

図 5 粗いカテゴ リーを用いたマッチングに見られる問題
Fig. 5 Problem in using approximate categories formatching.

る．具体的な動的し きい値決定法については 4. で述べる．
図 3，図 4 の下部に本手法によって求められたし
きい値を示す．このように，DB 中の曲に含まれる相対音高差・相対音長比の系列を動的しきい値によって変換すると，粗い相対値である各カテゴ リー（ U，E，

D/L，E，S ）の値の出現確率が等しくなる．検索時においても，歌声入力の相対音高差・相対音長比の系列
を動的しきい値によって変換することで，入力の 1 音符ごとに，正答の曲が効率良く均等に絞られていく．
また，後述する 3. 4 にも関連するが，このしきい値決定法によって，従来 3 段階にしか分類されなかった

図 6 Coarse-to-Fine マッチング法の例
Fig. 6 Example for Coarse-to-Fine matching.

情報の粗さの精度を，自由に設定することが容易となる．例えば 5 段階に情報の粗さを設定する場合には，五つのカテゴ リーに分類される相対値の度数が均等にめのカテゴ リー数を徐々に向上させながらマッチング

分類され るように，動的し きい値を決定すれば よい．

を行う手法を提案する．本手法では，まず，大まかなより細かい分類のカテゴ リーを用いることで，3 段階

カテゴ リー数（ 例えば 3 段階）の相対音高差・相対音の粗さの精度では絞り込めなかったような曲 DB に対長比を利用し，DP マッチングを行う．その結果，DBしても，正答の曲をより精度良く絞り込むことが可能

中の曲で入力との距離が近いと解釈された曲の上位にとなる．

着目する．ここで，その精度で絞込みが十分かど うか

3. 3 正答の絞込み問題の判定を行い，絞り込めていなかった場合にのみ，よ相対値を粗くカテゴ リー分けして検索時のマッチン

り細かい精度（ 例えば 9 段階 ）の相対値を利用し たグを行うと，曲 DB 中の多くの曲で同様の系列パター

マッチングを上位の曲に対して再度行う．そして，カンが 出現する可能性が 高くなり，正答の絞込みは一テゴ リーを細かくしながら絞込みが十分にできるまで般に難し くなる（ 図 5 ）．この問題を解決するために，これを繰り返す（ 図 6 ）．

3. 2 の最後に述べたようなより細かい分類のカテゴ

たとえ粗い精度のマッチングで正答を絞り込めなくリーを用いることも考えられる．しかし ，最初から細ても，正答の曲は上位に含まれる性質があるため，こかい精度の相対値を用いると，利用者の歌声の変動やのように上位の曲を対象に繰り返しより精密なマッチ

誤差による影響を吸収できず，逆に正答率が落ちてしングを行うことで，正答の曲が適切に絞り込める．

まう．そこで，このトレード オフを勘案しながら，精度の高い検索を行う手法が必要となる．

このように精度を徐々に高めながらマッチングを行う手法を，曲検索における Coarse-to-Fine マッチング

3. 4 正答の絞込み問題に対する解決法法と呼ぶ．同様な概念の手法は画像のマッチング処理

本研究では，検索時に情報を粗い精度に変換するたなどでもよく用いられており，本研究ではそれを曲検725

電子情報通信学会論文誌 ’99/4 Vol. J82–D–II No. 4索システムに応用した．具体的な Coarse-to-Fine マッ
チング法の手順については，5. で述べる．

5. Coarse-to-Fine マッチング法
以下では，Coarse-to-Fine マッチング法の処理手順

4. 動的しきい値決定法を述べる．

本章では，動的しきい値決定法の手順と，得られた

本シ ステムでは ，クライアントからサーバに送ら

動的しきい値を用いた検索キーの生成方法について述

れ る歌声入力の相対音高差・相対音長比の系列 Qp ，べる．

Qs と DB 中のある曲の相対音高差・相対音長比の系

4. 1 動的しきい値決定法の手順
動的しきい値 DT の決定手順を以下に示す．
（ 1 ） DB 内の全曲中の音高，音長の相対値で図 3，
図 4 のようなヒストグラムを作成する．
（ 2 ） ヒストグラムの総度数を Sum とし ，カテゴ

列 Sp ，Ss との間で DP マッチング を行う前に ，それぞれの系列を ，動的し きい値によって粗い相対値の系列に変換する．このとき，粗さの カテゴ リー数
を n(0), n(1), . . . , n(M − 1) というように M 段階に変化させながら ，粗い相対値の系列に変換し て ，意

リー数を n としたとき，一つのカテゴ リー内の合計度

図する曲の 候補を 絞り込 むことを 考え る（ ただし ，数の期待値を EX = Sum/n とする．

n(i) < n(i + 1), i = 0, 1, . . . , M − 2 とする）．
以下では，Qx と Sx（ x = p，または s ）を，動的
し きい値 DTx (i, j) (0 <= j < n(i)) によって，n(i)個の粗い精度の相対値で構成され る系列 QRx (i) と（ 3 ） 各カテゴ リーの合計度数が均等に EX に近くなるようにヒストグラムを分割し ，その各境界線を動的しきい値 DT (j) (0 <=j<= n − 2) とする．
このようにして決定した動的しきい値を用いて，歌声の入力と DB 中の曲に出現するすべての音高・音長の粗い相対値を得る．以下では，その具体的な方法を述べる．

4. 2 動的しきい値を用いた検索キーの生成
歌声の相対音高差の系列 Qp ，相対音長比の系列 Qs
に対する動的しきい値 DTp ，DTs を利用し ，それぞれの粗い相対値情報の系列 QRp ，QRs を求める．

DTx (j) (0 <=j<= n − 2, x = p, s) によって変換される n 段階の粗い相対値 ck (0 <= k < n, ck < ck+1 )の集合を Cx とする．長さ m の入力系列 Qx を

SRx (i) に変換する手順を述べる．
（ 1 ） i = 0 とする．
（ 2 ） 動的しきい値 DTx (i, j) によって Qx と Sx
を ，それぞれ n(i) 個の 粗い相対値の 系列 QRx (i)，SRx (i) に変換する．
（ 3 ） DB 中の すべ て の 曲の SRx (i) に つ い て ，QRx (i) と の 系 列 間の 距 離 Dx を 2. 2 の DP マッ
チングの計算により求め，Dx の小さい順に各曲にランク付けを行う．
（ 4 ） Dx のランクの上位から N (i) 番目までの曲に着目する（ただし ，N (i) > N (i + 1) とする）
．それらの Dx がすべて異なっている場合は絞込みが完了

Qx = q0 q1 q2 . . . qm−1

しているとし，処理を終了する．
で 定 義 す ると き ，Qx に 出 現 す る 各 音 符の 相 対 値

qi (0 <
= i < m) を n 段階の粗い相対値情報 ri (∈ Cx )に変換する際の条件は，以下のようになる．

ri =状態と判断し ，i + 1 を新たな i とみなし て（ 2 ）
〜


c0




 ck

(qi < DTx (0))（ 4 ）の処理を繰り返す．ただし，i = M − 1 となった

(DTx (k − 1) <= qi < DTx (k)),

場合には，処理を終了する．







1<
=k <n−2cn−1(DTx (n − 2) <= qi )

この変換により，Qx は粗い相対値情報の系列

QRx = r0 r1 r2 . . . rm−1

(ri ∈ Cx )に変換される．実際には，DP マッチングの前に，入力の旋律と DB 中の各曲の旋律に対して，ともにこの変換を行う．
726（ 5 ） 上位から N (i) 番目までの曲の中で Dx が同
じ 値のものがある場合には，正答を絞り込めていない

6. 実験と考察
本論文で提案した二つの手法の有効性を実験的に確認するために，次の一連の評価実験を行った．

• 動的しきい値決定法による動的しきい値の情報量の評価（ 6. 2 ）• 動的しきい値決定法の性能評価（ 6. 3 ）• Coarse-to-Fine マッチング法の性能評価（ 6. 4 ）• Coarse-to-Fine マッチング法の歌声の誤差に対論文／ WWW 上での歌声による曲検索システム

する耐久性の評価（ 6. 5 ）• 両手法をともに用いた本システムの検索精度の総合評価（ 6. 6 ）• WWW 上で運用する際の処理時間と転送デー
タサイズの評価（ 6. 7 ）

表 1 しきい値によって分割されるカテゴ リーのもつ情報
エントロピーTable 1 Information entropy of categories devided
by thresholds.
動的しきい値
従来のしきい値

音高1.5850 (bit)1.5836 (bit)

音長1.5846 (bit)1.2025 (bit)上限値
1.5850 (bit)1.5850 (bit)以下，順番に実験結果と考察を述べる．

6. 1 実 験 環 境
サーバは JAVA（ JDK1.1 ）で実装し，Just-In-Timecompiler を用いて Sun Ultra Enterprise 3000（ CPU:UltraSPARC, 167 MHz ）上で実行した．クライアン
トは WWW ブ ラウザとして Netscape Navigator を利用し ，JAVA のアプレットとプラグ インで実装したものを SGI 社のワークステーション Indigo2 Impact

Table 2表 2 従来のしきい値を利用した正答率
Matching accuracy with previous thresholds.

正答率
3 位以内

点での FFT を 1 フレーム 128 点（ 16 msec ）でシフ

音長検索
13.4%
25.0%

組合せ検索
90.2%
95.5%

200 曲に対して 112 回検索

Table 3表 3 動的しきい値を利用した正答率
Matching accuracy with dynamic thresholds.

（ CPU: R4400, 250 MHz ）上で実行した．プラグ イン
では，8 kHz でサンプ リングされた音声に対し ，512

音高検索
47.3%
65.2%

正答率
3 位以内

音高検索
49.1%
67.0%

音長検索
35.1%
50.1%

組合せ検索
97.3%
99.1%

200 曲に対して 112 回検索

トしながら計算し ，入力された歌声の音響信号を分析した．

6. 2 動的しきい値決定法による動的しきい値の情較を行った．様々なジャンル（日本・西洋のポップス，
童謡，民謡，演歌など ）からなる 200 曲の DB（ 総音

報量の評価
動的しきい値は，従来のしきい値よりも理論的に情符数 16718 個）に対し，12 人（ 男 8：女 4 ）の被験者

報量の大きい検索キーを生成するはずであるが，ここの音声によって，音高のみ，音長のみ，及び音高・音では，それを実験的にも確認する評価実験を行った．

長の組合せによる検索を計 112 回行った（ 音高・音長

6. 2. 1 実
験
図 3，図 4 の動的しきい値，従来のしきい値のそれぞれを用いて ，音高・音長情報を粗い情報（ 3 段階 ）に変換して比較する．曲 DB 中のすべての音符に対すの組合せ検索では ，2. 2 で述べた DP マッチング のマッチング行列 m の各要素の計算（ Step A，C ）において，入力系列と DB 中の各曲の系列の各音符間の距離のペナルティ d を，各音符の音高間の距離 dp とる各カテゴ リー内の音符の出現確率 pi から情報エン音長間の距離 ds との和 d = dp + ds で定義し ，計算

トロピー（ −Σpi log2 pi ）を計算した結果を，表 1 にを行った．以下の実験でも同様 ）．しきい値の条件以示す．

外は同条件で行い，粗い旋律情報のカテゴ リー数は音

なお，表の一番右の欄の「上限値」とは，三つのカ高，音長ともに 3 段階とし，Coarse-to-Fine マッチン

テゴ リーに分類される情報がもつ最大の情報エントロ

グ法は用いていない．従来のしきい値は，音高に関しピーの値（ 3 ∗ (1/3) log2 3 = 1.5850 ）を表す．

6. 2. 2 考察

従来のしきい値による分類では音長情報は明らかにては半音以内の音高差を「 同じ 」とみなし ，音長に関しては 1/2 より大きく 2 倍未満の音長比を同音長とした [2]．入力を 8 秒間以内に限定したところ，入力音符

情報量が少ないが，動的しきい値による分類では音高数は平均で 18.5 となった．評価結果を表 2，表 3 に

情報も音長情報もほとんど 最大値に近づいている．こ示す．「正答率」は，意図する曲が厳密に 1 位に絞らの結果より，動的しきい値が検索キーを生成するのにれていた場合のみを表し ，他の複数の曲とともに入力

有効な手段であることが確かめられた．

旋律からの距離が等し く，1 位となった場合は含まな

6. 3 動的しきい値決定法の性能評価

い．また，「 3 位以内」は意図する曲が上位の 3 曲以

実際の検索での，動的しきい値決定法による正答率

内に入っていた場合を表す．

の向上を確認する評価実験を行った．

6. 3. 1 実験

従来のしきい値と動的しきい値による検索精度の比

6. 3. 2 考察

図 3 からも予想できるように，音高での検索はそれほど 違いが生じなかったが，音長は明らかに正答率が727

電子情報通信学会論文誌 ’99/4 Vol. J82–D–II No. 4

向上したことが確認できた．音高・音長を組み合わせ• 条件 C

た検索も正答率が向上していることから，本手法が有

動的し きい値によって 27 段階の粗い相対値情報に効であることが確かめられた．

6. 4 Coarse-to-Fine マッチング法の性能評価
Coarse-to-Fine マッチング法で 3 → 9 → 27 段階に音高・音長の精度を変化させた検索を行い，その検索の正答率を，各段階で用いた精度でのマッチングの変換した音高・音長を用いた検索．

• 条件 DCoarse-to-Fine を用い，音高・音長を動的しきい値によって 3 → 9 → 27 段階に変化させながら検索．
6. 4. 2 考察結果（ Coarse-to-Fine マッチング法を用いないもの ）Coarse-to-Fine マッチング 法での検索は，27 段階と比較し，Coarse-to-Fine マッチング法の性能についの粗い旋律情報を利用し た検索と正答率がほとんどて考察した．

一致し た ．これは ，Coarse-to-Fine マッチング 法の6. 4. 1 実

験

精度が最終的に 27 段階のものと同様になるというこ

以下の四つの条件 A〜D において検索に用いる音とと，本実験の被験者の入力にはそれほど 大きな 誤

符数を 1〜20 個の間で変化させ，正答率を比較した．

差が含まれていなかったことが原因だと考えられる．

Coarse-to-Fine マッチング法は D のみに用いている．
Coarse-to-Fine マッチング法においては，マッチングに用いるカテゴ リー数を 3 → 9 → 27 と向上させて行った．このとき，カテゴ リー数が 3 の検索の結果，入力との距離が小さいものから上位 30 曲のみに着目

Coarse-to-Fine マッチング法は誤差が含まれたときにし ，絞込みが行えていないときに，カテゴ リー数が 9

効果的であるため，この実験より，ほとんど 誤差の含
まれない入力に対する評価では効果が余り現れないことが確認できた．

6. 5 Coarse-to-Fine マッチング法による歌声の誤差に対する耐久性の評価の検索を行った．更に，絞込みが行えていないときに

Coarse-to-Fine マッチング法が歌声の誤差に対して入力との距離が小さいものから上位 10 曲のみに着目

耐久性をもつことの評価を行うため，人為的に誤差をし ，カテゴ リー数が 27 の検索を行った．図 7 に結果投入した歌声の入力に対する正答率を，誤差を投入しを示す．ここで，正答率は厳密に正答が 1 曲に絞り込ない入力に対する正答率と比較する実験を行った．

まれているもので評価した．

• 条件 A
動的しきい値によって 3 段階の粗い相対値情報に変換した音高・音長を用いた検索．

6. 5. 1 実
験
27 段階の精度での検索と Coarse-to-Fine マッチン
グ法を用いた検索の二つの場合について，実験に用いた被験者の歌声の旋律に人為的な誤差を入れ，正答率• 条件 Bの変化を観察した．Coarse-to-Fine マッチング法にお動的しきい値によって 9 段階の粗い相対値情報に変いては ，6. 4 の D と同じ 条件で行った．誤差は ，一換した音高・音長を用いた検索．

つの入力歌声の旋律の中から二つの音符をランダムに選択し ，相対音高差に対しては，全音の幅ずらす処理（ すなわち，相対値に +200 又は −200 を施すこと ）を行い，相対音長比に対しては，相対値を 1/4 倍又は4 倍にする処理を行った．誤差を含まない場合の条件
C，D それぞれの正答率を表 4 に，誤差を含む場合の正答率を表 5 に示す．なお，正答率は厳密に正答が 1
曲に絞り込まれているもので評価した．

6. 5. 2 考察

人為的な誤差を含まない場合の音高検索，音長検索において，Coarse-to-Fine マッチング法を利用した検索は ，27 段階の精度の検索よりも正答率が低くなっ
図 7 Coarse-to-Fine と各段階の粗さでのマッチング精度
Fig. 7728

Matching accuracy of Coarse-to-Fine matching
and its each phase.

た．これは，Coarse-to-Fine マッチング法が，カテゴ
リー数が粗い段階（ カテゴ リー数 3 又は 9 の段階）でマッチング処理を終了した際に，意図する曲が，マッチ論文／ WWW 上での歌声による曲検索システム
表 4 人為的な誤差を含まない場合の正答率
Table 4 Matching accuracy with no artiﬁcial errors.
27 段階
Coarse-to-Fine

音高検索
87.5%
83.0%

音長検索
82.1%
79.5%

組合せ検索
97.3%
98.2%

表 6 動的し きい値決定法と Coarse-to-Fine マッチング法を用いた検索における正答率
Table 6 Matching accuracy with dynamic thresholddetermination and Coarse-to-Fine matching.

200 曲に対して 112 回検索

正答率
3 位以内

音高検索
83.0%
88.4%

音長検索
79.5%
88.4%

表 5 人為的な誤差を含む場合の正答率
Table 5 Matching accuracy with artiﬁcial errors.
27 段階
Coarse-to-Fine

音高検索
75.9%
80.3%

音長検索
34.8%
50.0%

組合せ検索
90.1%
94.6%

200 曲に対して 112 回検索

組合せ検索
98.2%
100.0%

200 曲に対して 112 回検索

6. 6. 2 考察

動的し きい値決定法と Coarse-to-Fine マッチング
法を組み合わせた検索では，歌声入力の誤差を考慮した上で，精度の良い情報を用いた検索を行うことが可ング結果の上位の曲中に含まれてはいながらも，マッ能となる．このため，表 6 の結果では音高検索，音長チング 精度が 粗いために ，正答にはならなかった場

検索において，検索に用いるカテゴ リー数を 3 とした合があることが原因であった．一方，組合せ検索では

表 3 の正答率よりも 30〜40%の向上が見られた．一

Coarse-to-Fine マッチング法を用いた方が検索率がより向上していた．これは，Coarse-to-Fine マッチング

方，音高・音長の組合せ検索においては DB サイズの法では，音高検索と音長検索のそれぞれにおいて，意200 曲がそれほど 大きくない値であることが原因で ，大きな向上は見られなかったが ，100%に近い正答率図する曲がマッチングの結果の上位に含まれることがが得られた．

多かったため，音高と音長を組み合わせることで，効に対し ，27 段階の精度の検索では ，音高検索，音長以上の結果より，動的しきい値決定法と Coarse-toFine マッチング法を組み合わせた検索が，高い精度の検索を実現する上で非常に有効な手法であり，WWW

検索のそれぞれにおいて，人為的でない誤差の影響が上の様々な利用者に対して歌声検索の処理を行う上で，あった場合，DP マッチングのペナルティが大きくな

十分に活用できるものであることが確認できた．

果的に曲を絞り込めていたからだと考えられる．これり，意図する曲が正答にならないばかりか，上位の曲

6. 7 WWW 上で 運用す る際の処理時間と転送中にも含まれないことが多かった．このため，音高とデータサイズの評価

音長のいずれか一方にでも誤差の影響がある場合には，

WWW 上で検索システムの運用を行う上で重要と組合せ検索においても，その影響を受けており，検索

なる，検索に関する処理時間の評価を行った．また，精度が上がらなかったと考えられる．

ネットワークにかかる負荷を評価するためにクライア

人為的な誤差を含む検索では，いずれの検索においても Coarse-to-Fine マッチング 法を用いた方が正答率が高かった．これは，Coarse-to-Fine マッチング法

ントからサーバに転送され るデ ータのサ イズを計測した．

6. 7. 1 実

験では，粗いマッチングの段階で正答の候補を絞り込む

サーバの検索処理の評価のために動的しきい値の生ことで，精密なマッチングにおいて，誤差の影響を受

成時間，マッチング処理に要する時間の二つを計測しけにくいためである．

た．また，サーバ・クライアント間で転送されるデー

6. 6 両手法をともに用いた本システムの検索精度の総合評価

タサイズの計測を行った．

本研究で提案した動的しきい値決定法と Coarse-to-Fine マッチング法を組み合わせた場合の，システムの検索精度の総合評価を行った．

6. 6. 1 実

タサイズとして，6. 3 で用いた入力の旋律情報のデー

験

サーバの検索処理における各処理時間は以下のようになった．

• 動的しきい値の生成時間（ 6.41 s ）サーバの実装環境で 200 曲（総音符数 16718 個）の本評価には，6. 4 の条件 D における検索結果を用い

DB に対する動的しきい値の生成を 100 回行った平均

た．音高のみ，音長のみ，音高・音長を組み合わせた値である．しきい値は音符の相対音高差・相対音長比

検索について，それぞれ正答率を表 6 にまとめた．

をカテゴ リー数 27 の粗い相対値に分割するものを生729

電子情報通信学会論文誌 ’99/4 Vol. J82–D–II No. 4
表 7 クライアントからサーバに転送されるデータサイズ
Table 7 Transmission data size from the client to theserver.
平均値
274.5 (bytes)

最大値
420 (bytes)

度を向上させることができた．特に，音長のみを検索キーとして用いた検索においては，200 曲の DB に対して，正答率を 20%以上，向上することができた．更に，Coarse-to-Fine マッチング法を導入することで，正答の曲の候補を効果的に絞り込むシステムを実現し，音高・音長をともに用いて 100%に近い正答率を実現成した．

• マッチング処理時間（ 0.96 s ）サーバの実装環境で 200 曲（総音符数 16718 個）のすることができた．
現在の実装では，あらかじめ用意された曲 DB に対する検索のみ可能であるが，WWW 上には MIDI な

DB に対する 112 回（ 総音符数 3708 個）の検索を行った平均値である．動的しきい値と Coarse-to-Fine（ 3，9，27 段階）マッチング法を用いた検索を行った結果

どの様々な曲データが公開されている．そこで今後は，である．

発することで，世界中の WWW 上の曲 DB に対して

また，クライアントからサーバに転送されるデータ

それらのデータを収集する音楽版 WWW Robot を開検索を行うシステムを構築する予定である．
文のサイズの平均値・最大値は表 7 のようになった（ 入力を 8 秒間以内に限定し ，被験者 12 人が合計 112 回[1]” 54 回情報処理学会全情報をキーとした曲検索システム，
国大会，1997.

の検索を行ったときの平均値・最大値である）．

6. 7. 2 考察

[2]動的しきい値の生成は，DB を更新した場合やサー[3]

pp.349–351, 1993.
[4]

蔭山哲也，“音高・音長情報を利用したメロデ ィ検索，
” 45
回情報処理学会全国大会，1-357, 1992.

[5]

蔭山哲也，島津秀雄，高島洋典，“ メロデ ィ検索—ハミン
グで音楽 DB を検索する，” 43 回情報処理学会全国大会，[6]

A. Ghias and J. Logan, “Query By Humming — Mu-

成に要する時間は，検索システムの運用上，大きな問題にはならないことが確認できた．また，マッチング処理に関しても，実験で用いた 200 曲の DB に対する処理時間は，現在のインターネット利用者が，WWW
ページを閲覧する際に ，しばしば 1 秒以上の表示時間を要していることと比較すると，利用者が結果を待つことに，十分に耐え得る時間内であることが確認でT. Kageyama, K. Mochizuki, and Y. Takashima,“Melody retrieval with humming,” ICMC Proc.,に，毎回，値を計算しなくてもよい．この方式を採用することで，実験結果から得られた，動的しきい値生

蔭山哲也，高島洋典，“ハミング歌唱を手掛かりとするメロ” 信学論（ D-II ），vol.J77-D-II, no.8, pp.1543–
ディ検索，
1551, Aug. 1994.

バを起動した場合にのみ行えば ，各しきい値の情報を保持しておくことで，クライアントからの検索要求時

献

貝塚智憲，後藤真孝，村岡洋一，“歌声の旋律情報と歌詞

4-149, 1991.
sical Information Retrieval in an Audio Database,”
ACM Multimedia 95, Electronic Proc., 1995.

（ 平成 10 年 5 月 19 日受付，10 月 14 日再受付）

きた．
しかし ，これら二つの処理時間は，DB 中の音符の総数に比例した計算時間を伴うため，今後 1 万曲規模の DB に適用するためには，処理を高速化するためのアルゴ リズムの改良が必要となる．

園田智也

1998 早大・理工・情報卒．現在同大大学

一方，クライアントからサーバに対して転送される

院修士前期課程在学中．音楽検索，WWW

データに関しては，非常に小さく，入力時間を，仮にサーチエンジンなど 情報検索に関する研究に従事．情報処理学会第 55 回全国大会奨数倍長くしてもネットワークにかかる負荷や転送時間

励賞受賞．

における問題は発生しないことが確認できた．

7. む

す び

本論文では WWW 上で複数の利用者が活用できる
歌声による曲検索システムを提案した．本研究では，
検索キー生成のための最適なしきい値を得るために動的しきい値決定法を提案し ，システムのマッチング精730

論文／ WWW 上での歌声による曲検索システム

後藤

真孝 （ 正員）

1993 早大・理工・電子通信卒．1998 同大
大学院博士後期課程了．同年，電子技術総合研究所に入所し ，現在に至る．博士（ 工学）．音楽情報処理，マルチモーダ ルイン
タラクションなどに興味をもつ．1992 jus
設立 10 周年記念 UNIX 国際シンポジウム
論文賞受賞．1993 NICOGRAPH ’93 CG 教育シンポジウム
最優秀賞受賞．1997 情報処理学会山下記念研究賞受賞．情報処理学会，日本音楽知覚認知学会，ICMA 各会員．

村岡

洋一 （ 正員）

1965 早大・理工・電気通信卒．1971 イリ

ノイ大学電子計算機学科博士課程了．Ph.D.
この間，Illiac-IV プロジェクトで並列処理
ソフトウェアの研究に従事．同学科助手ののち，日本電信電話公社（ 現 NTT ）電気通信研究所に入所．1985 より早稲田大学
理工学部教授．現在同大学メディアネットワークセンター所長．
並列処理，マンマシンインタフェースなど に興味をもつ．「コンピュータアーキテクチャ（」近代科学社）など 著書多数．

731