(57)【特許請求の範囲】
【請求項１】
音の配列であるメロディを取得するメロディ取得手段と、
楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第１の記憶手段と、
前記楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸上で隣り合う当該部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第２の記憶手段と、
前記第１の記憶手段に記憶されている楽曲のメロディから、前記メロディ取得手段によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段と、
前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲を表す部分オーディオデータのうち、前記特定手段によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、前記第２の記憶手段から読み出して出力する出力手段と
を備え、
前記特定手段は、
前記検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて先頭に配列された音に対応付けられた発音時刻とを特定し、
前記出力手段は、
前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、その開始時刻と前記特定手段によって特定された発音時刻との差分が最も小さい部分オーディオデータを特定する情報を、前記第２の記憶手段から読み出して出力する
ことを特徴とする情報処理装置。
【請求項２】
音の配列であるメロディを取得するメロディ取得手段と、
楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第１の記憶手段と、
前記楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸上で隣り合う当該部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第２の記憶手段と、
前記第１の記憶手段に記憶されている楽曲のメロディから、前記メロディ取得手段によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段と、
前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲を表す部分オーディオデータのうち、前記特定手段によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、前記第２の記憶手段から読み出して出力する出力手段と
を備え、
前記特定手段は、
前記検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて末尾に配列された音に対応付けられた発音時刻とを特定し、
前記出力手段は、
前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、その終了時刻と前記特定手段によって特定された発音時刻との差分が最も小さい部分オーディオデータを特定する情報、前記第２の記憶手段から読み出して出力する
ことを特徴とする情報処理装置。
【請求項３】
前記通信端末において指定された時間を取得する指定時間取得手段を備え、
前記出力手段は、
前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、前記特定手段によって特定された発音時刻よりも前記指定時間取得手段によって取得された時間だけその開始時刻が早い部分オーディオデータを特定する情報を、前記第２の記憶手段から読み出して出力する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記出力手段は、
前記特定手段によって特定された発音時刻と、前記部分オーディオデータを特定する情報とを対応付けて出力する
ことを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲を検索する技術に関する。
【背景技術】
【０００２】
特許文献１には、サーバ装置とクライアント端末とからなるシステムにおいて、サーバ装置に記憶された楽曲のオーディオデータのうち、ユーザが所望する楽曲のオーディオデータをクライアント端末を用いて検索することで、ユーザが検索結果のオーディオデータを試聴することのできる技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１２５５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、ユーザが歌詞を指定して楽曲の検索を指示すると、サーバ装置は、検索を経て特定した楽曲を表すオーディオデータから、指定された歌詞に該当する箇所の前後の部分のみを抽出したオーディオデータを生成し、この生成したオーディオデータを検索結果としてクライアント端末に提供している。このような方法では、検索が行われるたびにオーディオデータの一部を抽出して、クライアント端末に提供するオーディオデータを生成するという処理が必要になり、その分だけサーバ装置の処理の負荷は大きくなる。さらに、システムに接続されているクライアント端末の数が多くなればなるほど、このような負荷は増大することになるが、このような事態は、システムを利用するユーザに対して、楽曲を試聴するサービスの安定的な提供を損ねることになるから、望ましくない。
【０００５】
本発明は上述の背景に鑑みてなされたものであり、ユーザが指定した楽曲の検索結果が試聴される際の負荷を少なくすることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明は、音の配列であるメロディを取得するメロディ取得手段と、楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第１の記憶手段と、前記楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸上で隣り合う当該部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第２の記憶手段と、前記第１の記憶手段に記憶されている楽曲のメロディから、前記メロディ取得手段によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段と、前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲を表す部分オーディオデータのうち、前記特定手段によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、前記第２の記憶手段から読み出して出力する出力手段とを備え、前記特定手段は、前記検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて先頭に配列された音に対応付けられた発音時刻とを特定し、前記出力手段は、前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、その開始時刻と前記特定手段によって特定された発音時刻との差分が最も小さい部分オーディオデータを特定する情報を、前記第２の記憶手段から読み出して出力することを特徴とする情報処理装置を提供する。
【０００８】
また、本発明は、音の配列であるメロディを取得するメロディ取得手段と、楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第１の記憶手段と、前記楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸上で隣り合う当該部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第２の記憶手段と、前記第１の記憶手段に記憶されている楽曲のメロディから、前記メロディ取得手段によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段と、前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲を表す部分オーディオデータのうち、前記特定手段によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、前記第２の記憶手段から読み出して出力する出力手段とを備え、前記特定手段は、前記検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて末尾に配列された音に対応付けられた発音時刻とを特定し、前記出力手段は、前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、その終了時刻と前記特定手段によって特定された発音時刻との差分が最も小さい部分オーディオデータを特定する情報、前記第２の記憶手段から読み出して出力することを特徴とする情報処理装置を提供する。
【０００９】
また、別の好ましい態様において、前記通信端末において指定された時間を取得する指定時間取得手段を備え、前記出力手段は、前記第２の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、前記特定手段によって特定された発音時刻よりも前記指定時間取得手段によって取得された時間だけその開始時刻が早い部分オーディオデータを特定する情報を、前記第２の記憶手段から読み出して出力することを特徴とする。
【００１０】
また、別の好ましい態様において、前記出力手段は、前記特定手段によって特定された発音時刻と、前記部分オーディオデータを特定する情報とを対応付けて出力することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザが指定した楽曲の検索結果が試聴される際の負荷を少なくすることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態におけるシステムの構成を表した図
【図２】通信端末のハードウェア構成を表したブロック図
【図３】サーバ装置のハードウェア構成を表したブロック図
【図４】メロディデータＤＢの内容を表す図
【図５】部分オーディオデータＤＢの内容を表す図
【図６】サーバ装置の制御部とその周辺の機能的構成を表したブロック図
【図７】部分オーディオデータを検索する際の処理を表すシーケンス図
【図８】部分オーディオデータの検索画面を表す図
【図９】メロディデータＤＢを検索する処理のフローチャート
【図１０】部分オーディオデータを検索する処理を説明するための模式図
【図１１】部分オーディオデータＤＢを検索する処理のフローチャート
【図１２】部分オーディオデータの検索結果を表す図
【図１３】変形例１において絞り込まれた検索結果を表す図
【図１４】変形例２において部分オーディオデータを検索する処理を説明するための模式図
【図１５】変形例３において指定された楽譜データの画像を表す図
【図１６】変形例４における部分オーディオデータＤＢの内容を表す図
【図１７】変形例９において部分オーディオデータを検索する処理を説明するための模式図
【図１８】変形例１２においてメロディデータＤＢを検索する処理のフローチャート
【発明を実施するための形態】
【００１３】
＜実施形態＞
以下に、図面を参照しながら本発明の実施形態について説明する。
＜構成＞
図１は、本発明の実施形態におけるシステムの構成を表した図である。このシステムは、通信端末１００と、サーバ装置２００と、ネットワークＮＷとを備えている。通信端末１００は、例えば携帯電話機、無線ＬＡＮ（Local Area Network）に接続可能な無線端末、通信機能を備えたキーボードやギター等の楽器またはＰＣ（Personal Computer）のような、サーバ装置２００と通信が可能な通信端末であって、図１ではＰＣの例を挙げている。ネットワークＮＷは、例えば携帯電話網や無線ＬＡＮなどの移動通信網やインターネットなどの固定通信網を含む通信網である。サーバ装置２００は、ネットワークＮＷを介して通信端末１００と情報のやり取りを行い、ユーザが通信端末１００を用いて指定したメロディを含むオーディオデータを検索して、その検索結果を通信端末１００に提供する情報処理装置である。ここでメロディとは、音（ノートという）の配列によって構成されているものである。このシステムでは、サーバ装置２００が様々な楽曲のオーディオデータをライブラリとして保持しており、ユーザは、通信端末１００を用いてメロディを指定した検索を指示することで、サーバ装置２００から、指定したメロディを含む楽曲のオーディオデータを特定する情報を検索結果として取得し、この検索結果のオーディオデータを試聴することが可能である。
【００１４】
図２は、通信端末１００のハードウェア構成を表したブロック図である。通信端末１００は、制御部１１、記憶部１２、通信部１３、操作部１４、表示部１５及び出力部１６を備えており、これらの各部がバス１７を介して互いに接続されている。制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read Only Memory）を有する。ＣＰＵは、ＲＯＭや記憶部１２に記憶されているプログラムを読み出しＲＡＭにロードして実行することにより、通信端末１００の各部を制御する。記憶部１２は、例えばＨＤＤ（Hard Disk Drive）などの不揮発性の記憶手段であり、各種閾値及びプログラムを記憶する。通信部１３は、制御部１１の制御の下で、ネットワークＮＷを介して、サーバ装置２００と通信を行う。
【００１５】
操作部１４は、クリック操作を受け付けるマウスや複数のキーを有しており、ユーザによってこれらのマウスやキーが操作されるとその操作内容に応じた信号を制御部１１へ供給する。制御部１１は、この信号に基づいて操作内容を判断して処理を行う。表示部１５は、液晶ディスプレイ１５１のような表示体やＶＲＡＭ（Video Random Access Memory）などのメモリを備えており、制御部１１の制御の下で各種の画像を液晶ディスプレイ１５１に表示する。出力部１６は、スピーカー等の放音手段を備え、制御部１１の制御の下で、このスピーカーから音声を出力する。
【００１６】
図３は、サーバ装置２００のハードウェア構成を表したブロック図である。サーバ装置２００は、制御部２１、記憶部２２及び通信部２３を備えており、これらの各部がバス２４を介して互いに接続されている。制御部２１は、ＣＰＵ、ＲＡＭ及びＲＯＭを有する。ＣＰＵは、ＲＯＭや記憶部２２に記憶されているプログラムを読み出しＲＡＭにロードして実行することにより、サーバ装置２００の各部を制御する。通信部２３は、制御部２１の制御の下で、ネットワークＮＷを介して、通信端末１００と通信を行う。
【００１７】
記憶部２２は、例えばＨＤＤなどの不揮発性の記憶手段であり、メロディデータＤＢ（Database）２２１、部分オーディオデータＤＢ２２２、楽譜ＤＢ２２３、各種閾値及びプログラムを記憶する。メロディデータＤＢ２２１は、各楽曲のメロディを表すメロディデータの集合からなるデータベースである。このメロディデータは、楽曲を構成する各ノートの音高と、各ノートの発音時刻とが、各ノートの発音順に対応付けられたものである。部分オーディオデータＤＢ２２２は、楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータの集まりからなるデータベースである。ここで、時間軸上で隣り合う部分オーディオデータどうしは、共通の期間を有する。換言すると、部分オーディオデータＤＢ２２２は、各々が楽曲を表すオーディオデータの一部の期間として抽出された複数の部分オーディオデータの集まりからなるデータベースである。ここで、一の部分オーディオデータが抽出された期間と、この一の部分オーディオデータに時間軸上で隣り合う部分オーディオデータが抽出された期間とは、一部において重複する。楽譜ＤＢ２２３は、各楽曲のメロディが五線譜上に音符として表現された楽譜を表す楽譜データの集まりからなるデータベースである。各々の楽譜データは、楽曲ＩＤによって各楽曲と対応付けられている。
【００１８】
図４は、メロディデータＤＢ２２１の内容を表す図である。メロディデータＤＢ２２１は、「楽曲ＩＤ」、「配列番号」、「音高」及び「発音時刻」を含んでいる。「楽曲ＩＤ」は、楽曲を一意に識別するための識別子であり、例えば図の場合では、２桁のアルファベットと６桁の数字の組み合わせからなる。メロディデータＤＢ２２１には、１又は複数の楽曲に関するメロディデータが含まれる。「配列番号」は、楽曲を構成する各ノートの発音の順番を表す数字である。或る「楽曲ＩＤ」が割り当てられた楽曲において、「配列番号」の昇順にメロディデータを並べると、ノートが、この楽曲における時間の経過に沿って発音順で並ぶこととなる。
【００１９】
「音高」は、各ノートの音高である。メロディデータＤＢ２２１における「音高」は、「Ｃ３」や「Ａ４＃」といった具体的な音高を表す記号ではなく、或る音高を基準としたときの相対的な音高の差分を表す数字によって表現されている。例えば、図４において、「配列番号」が「１」の音高は、具体的には「Ｃ３」であって、ここではこの音高を基準としているため、「音高」が「０」の値で表現されている。そして、「配列番号」が「２」の音高は、具体的には「Ｄ３」であって、基準となる音高「Ｃ３」に対して半音２つ分高いため、「音高」が「２」の値で表現されている、といった具合である。「発音時刻」は、各々のノートが発音されるまでに、楽曲の開始から経過した時刻を表す。例えば、図において、「ＡＡ０００００１」の楽曲ＩＤを有する楽曲では、楽曲の開始から「００：００：０８」のタイミングで、配列番号が「２」であり音高が「２」（Ｄ３の音高）であるノートが発音されることを表している。
【００２０】
図５は、部分オーディオデータＤＢ２２２の内容を表す図である。部分オーディオデータＤＢ２２２は、「楽曲ＩＤ」、「部分オーディオデータＩＤ」、「楽曲名」、「アーティスト名」、「部分期間」及び「部分オーディオデータ」といった複数の項目からなる。「楽曲ＩＤ」は、図４におけるものと同様である。部分オーディオデータＤＢ２２２には、１又は複数の楽曲に関する部分オーディオデータが含まれる。「部分オーディオデータＩＤ」は、部分オーディオデータを一意に識別するための識別子であり、例えば図の場合では、２桁のアルファベットと６桁の数字で表された前半部分と、３桁の数字で表された後半部分との組み合わせからなる。この前半部分は、各部分オーディオデータの楽曲ＩＤと同じ内容となる。つまり、或る楽曲における部分オーディオデータＩＤは、この楽曲の楽曲ＩＤを表す前半部分と、この楽曲において時間軸に沿って採番された数字を表す後半部分との組み合わせからなる。
【００２１】
「楽曲名」は、楽曲の名称である。「アーティスト名」は、楽曲を発表した者の名前であって、楽曲の演奏者又は歌唱者の識別情報に相当する。「部分期間」は、前述した部分オーディオデータの各々について、楽曲の先頭を基準（００：００：００）としたときの開始時刻及び終了時刻を端部として部分に分けられた期間を表す。「部分オーディオデータ」は、各々の部分オーディオデータの格納場所を表す。部分オーディオデータはファイル形式で格納されるが、図においては、説明の便宜上、ファイルパスを省略して、ファイル名のみを表している。
【００２２】
例えば、図において、「ＡＡ００１．ｍｐ３」というファイル名の部分オーディオデータは、楽曲の先頭を基準として開始時刻から終了時刻が「００：００：００〜００：００：１０」であることを表しており、「ＡＡ００２．ｍｐ３」というファイル名の部分オーディオデータは、楽曲の先頭を基準として開始時刻から終了時刻が「００：００：０５〜００：００：１５」であることを表している。ここで、これらの部分オーディオデータはともに、それぞれが１０秒間ずつの長さで部分に分けられている。また、これらの開始時刻は、５秒ずつ異なるものとなっている。この結果、例えば、「ＡＡ００１．ｍｐ３」というファイル名の部分オーディオデータと「ＡＡ００２．ｍｐ３」というファイル名の部分オーディオデータは、「００：００：０５〜００：００：１５」という共通の期間を持つこととなる。また、例えば、「ＡＡ００１．ｍｐ３」というファイル名の部分オーディオデータと「ＡＡ００３．ｍｐ３」というファイル名の部分オーディオデータは、「００：００：１０〜００：００：１５」という共通の期間を持つこととなる。
【００２３】
図６は、サーバ装置２００の制御部２１とその周辺の機能的構成を表したブロック図である。制御部２１は、ユーザによって通信端末１００に入力された音の配列であるメロディを、当該通信端末１００から取得するメロディ取得手段２１１として機能する。また、メロディデータＤＢ２２１を記憶する記憶部２２は、楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第１の記憶手段２２ａとして機能する。また、部分オーディオデータＤＢ２２２を記憶する記憶部２２は、楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸において隣り合うこれらの部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第２の記憶手段２２ｂとして機能する。また、制御部２１は、第１の記憶手段２２ａに記憶されている楽曲のメロディから、メロディ取得手段２１１によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、この楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段２１２として機能する。また、制御部２１は、第２の記憶手段２２ｂに記憶された部分オーディオデータであって、特定手段２１２によって特定された楽曲の部分オーディオデータのうち、特定手段２１２によって特定された発音時刻を含み、この発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、第２の記憶手段２２ｂから読み出して通信端末１００に出力する出力手段２１３として機能する。
【００２４】
＜動作＞
図７は、部分オーディオデータを検索する際の処理を表すシーケンス図である。通信端末１００の制御部１１は、ユーザにより指定されたメロディ、すなわちノートの配列を、通信部１３を用いてサーバ装置２００に送信する（ステップＳ１００）。
【００２５】
図８は、部分オーディオデータの検索画面を表す図である。通信端末１００の制御部１１は、例えば、ユーザが操作部１４を用いて液晶ディスプレイ１５１に表示させたウェブブラウザ上に、図８のような検索画面を表示させる。ここでは、ユーザが、操作部１４を用いて、ウェブブラウザに検索画面のＵＲＬ（Uniform Resource Locator）を指定することで、制御部１１が、通信部１３を用いてサーバ装置２００から受信した検索画面のウェブページをウェブブラウザ上に表示させるものとする。
【００２６】
検索画面における表示内容は、画面の上部と下部とで大別される。検索画面の上部には、ユーザによるメロディの指定を受け付けるための、鍵盤を模した画像である鍵盤３０１と、テンポを表すＢＰＭ（Beat Per Minute）の指定を受け付けるＢＰＭ指定欄３０２と、検索を指示するための検索ボタン３０３とが表示され、検索画面の下部には、検索結果が表示される。制御部１１は、ＢＰＭ指定欄３０２に指定されているＢＰＭの速度でメトロノームの音声を出力部１６から出力させる。ユーザは、このメトロノームの音声に合わせて、自身が所望するメロディを、鍵盤３０１を用いて入力する。より具体的には、ユーザが、操作部１４を用いて、鍵盤３０１の或る箇所をクリックする操作を行うたびに、制御部１１は、クリックされた箇所に相当する鍵に応じたノートの音声を出力部１６から出力させるとともに、このノートをＲＡＭに記憶させる。例えば、ユーザによる鍵盤３０１に対するクリックに応じて、制御部２１は、音高が「Ｇ３」のノートのピアノの音声を出力部１６から出力させるとともに、このノートをＲＡＭに記憶させる。つまり、ユーザによって鍵盤３０１がクリックされたノートが、そのクリックの順に配列されて、ＲＡＭに記憶されることとなる。
【００２７】
そして、ユーザが、操作部１４を用いて、検索ボタン３０３を押下すると、制御部１１は、ＲＡＭに記憶されたノートの配列を、通信部１３を用いてサーバ装置２００に送信する。サーバ装置２００の制御部２１は、通信部２３を用いてこれを受信すると、このノートの配列をメロディとして含む部分オーディオデータの部分オーディオデータＩＤを、部分オーディオデータＤＢ２２２から検索する。
【００２８】
検索画面の下部には、検索結果が表示される。検索結果は、「Ｎｏ．」、「楽曲名」、「アーティスト名」、「楽曲データ」、「試聴開始時刻」、「楽譜データ」という複数の項目からなる。「Ｎｏ．」は、各々の検索結果を識別する番号である。「楽曲名」は、各々の検索結果である部分オーディオデータＩＤを有する部分オーディオデータの楽曲の名称を表す。「アーティスト名」は、各々の検索結果である部分オーディオデータＩＤを有する部分オーディオデータの楽曲の歌唱者又は演奏者を表す。「楽曲データ」の欄には、検索結果である部分オーディオデータＩＤを有する部分オーディオデータへのリンクが表示される。ユーザが、操作部１４を用いて、このリンクをクリックすると、制御部１１が、検索結果である部分オーディオデータＩＤを有する部分オーディオデータを、リンク先、つまりサーバ装置２００から通信部２３を用いてダウンロードして、出力部１６から音声として出力させる。
【００２９】
「試聴開始時刻」には、検索結果である部分オーディオデータＩＤを有する部分オーディオデータの部分期間のうち開始時刻が表示される。つまり、ある部分オーディオデータが、楽曲の開始から３０秒の時点を先頭として部分に分けられたものである場合、「開始時刻」には、「００：００：３０」という内容が表示される。「楽譜データ」には、検索結果である部分オーディオデータＩＤを有する部分オーディオデータの楽曲の楽譜データへのリンクが表示される。ユーザが、操作部１４を用いて、このリンクをクリックすると、制御部１１が、この楽譜データを、リンク先、つまりサーバ装置２００から通信部２３を用いてダウンロードして、楽譜データによって表される楽譜を液晶ディスプレイ１５１に表示させる。
【００３０】
図７に戻る。ステップＳ１００の次に、サーバ装置２００の制御部２１は、受信したノートの配列に基づいて、メロディデータＤＢ２２１から楽曲ＩＤと発音時刻の組を検索する（ステップＳ２００）。
【００３１】
図９は、メロディデータＤＢ２２１を検索する処理のフローチャートである。制御部２１は、通信部２３を用いて受信したノートの配列をＲＡＭに記憶させる（ステップＳ２１０）。制御部２１は、ＲＡＭに記憶されたノートの配列に基づいて、メロディデータＤＢ２２１を検索した結果、同じノートの配列で並んだメロディデータが存在していた場合（ステップＳ２２０；ＹＥＳ）、このメロディデータの楽曲ＩＤ及び、上記配列で並んだメロディデータを構成するノートのうち先頭のノートの発音時刻を特定する（ステップＳ２３０）。具体的には、例えば、ＲＡＭに記憶されたメロディが「０―２―４」（「Ｃ３―Ｄ３―Ｅ３」）であった場合、制御部２１は、ステップＳ２２０において、メロディデータＤＢ２２１から、「０―２―４」の配列で並んだメロディデータを検索する。そして検索結果があった場合、制御部２１は、「０―２―４」の配列で並んだメロディデータのうち先頭のノート、すなわち音高が「０」であるノートの発音時刻と、検索結果のメロディデータの楽曲ＩＤとの組を特定すると、この組をＲＡＭに記憶させる。一方、制御部２１は、ステップＳ２２０でＮＯと判定すると、図に示した処理を終了する。
【００３２】
再び図７に戻る。制御部２１は、ステップＳ２００で特定した楽曲ＩＤと発音時刻との組を用いて、部分オーディオデータＤＢ２２２から、ユーザにより指定されたメロディを含む部分オーディオデータを検索する（ステップＳ３００）。
【００３３】
図１０は、部分オーディオデータを検索する処理を説明するための模式図である。図においてｔは時間を表し、図中で右へ進むほど時間が経過することを表す。矩形で表された部分オーディオデータ２２２ａ〜２２２ｄは、それぞれ異なる開始時刻ｔstart及び終了時刻ｔendを有する。図に示されるように、部分オーディオデータ２２２ａ〜２２２ｄは、時間軸において共通の期間を持っている。
【００３４】
ここで、制御部２１が、ユーザにより指定されたメロディを含むオーディオデータを検索する場合、まず、指定されたメロディにおけるノートの配列に基づいて、メロディデータＤＢ２２１から同じノートの配列で並んだメロディデータを検索する。そして制御部２１は、検索の結果得られたメロディデータの楽曲ＩＤ及び、このメロディデータを構成するノートのうち先頭のノートの発音時刻を特定する。図に表された円形は、通信端末１００を用いてユーザにより指定されたメロディの先頭ノート４００を表しており、この先頭ノート４００の発音時刻は「ｔn」である。ここで、「ｔn」を部分期間に含む部分オーディオデータは、図に示すように、部分オーディオデータ２２２ａ〜２２２ｄという４つである。そして、制御部２１は、「ｔn」を部分期間に含む部分オーディオデータのうち、その開始時刻と先頭ノート４００の発音時刻との差分が最も小さい部分オーディオデータを特定すると、特定した部分オーディオデータの部分オーディオデータＩＤを検索結果として出力する。図の例において、制御部２１は、部分オーディオデータ２２２ｄの部分オーディオデータＩＤを、検索結果としてＲＡＭに記憶させる。
【００３５】
図１１は、部分オーディオデータＤＢ２２２を検索する処理のフローチャートである。ステップＳ２００において楽曲ＩＤと先頭ノートの発音時刻との組が特定されている場合（ステップＳ３１０；ＹＥＳ）、制御部２１は、部分オーディオデータＤＢ２２２から、特定された楽曲ＩＤを有する部分オーディオデータのうち、その開始時刻と特定された発音時刻との差分が最も小さい部分オーディオデータの部分オーディオデータＩＤをＲＡＭに記憶させる（ステップＳ３２０）。一方、制御部２１は、ステップＳ３１０でＮＯと判定した場合、図に示した処理を終了する。
【００３６】
ステップＳ３２０の次に、制御部２１は、ステップＳ３２０でＲＡＭに記憶させた部分オーディオデータＩＤを有する楽曲の楽譜データが、楽譜ＤＢ２２３にある場合、この楽譜データへのリンク先を表す情報を、上記部分オーディオデータＩＤと対応付けてＲＡＭに記憶させる（ステップＳ３３０）。ステップＳ３３０において、具体的には、制御部２１は、ステップＳ３２０でＲＡＭに記憶させた部分オーディオデータＩＤを有する部分オーディオデータの楽曲ＩＤを用いて楽譜ＤＢ２２３を検索して、この部分オーディオデータの楽曲の楽譜データを特定する。ステップＳ３３０の次に、ステップＳ２００において特定された、楽曲ＩＤと先頭ノートの発音時刻との組について未処理のものが残っている場合（ステップＳ３４０；ＮＯ）、制御部２１は、この未処理の組について、ステップＳ３２０及びＳ３３０の処理を行う。制御部２１は、ステップＳ２００において特定された、楽曲ＩＤと先頭ノートの発音時刻との組の全てについて、ステップＳ３２０及びＳ３３０の処理を行うと（ステップＳ３４０；ＹＥＳ）、図に示した処理を終了する。
【００３７】
再び、図７に戻る。サーバ装置２００の制御部２１は、ステップＳ３２０及びＳ３３０でＲＡＭに記憶させた部分オーディオデータＩＤ及び楽譜データへのリンク先を表す情報を、通信部２３を用いて、通信端末１００へ送信、つまり出力する（ステップＳ４００）。通信端末１００の制御部１１は、通信部１３を用いてこれを受信すると、受信した部分オーディオデータＩＤを有する部分オーディオデータへのリンク先及び楽譜データへのリンク先を表す表示内容を、検索結果として検索画面に表示させる（ステップＳ５００）。
【００３８】
図１２は、部分オーディオデータの検索結果を表す図である。制御部１１は、ステップＳ４００で受信した内容に基づいて、検索画面の下部に、検索結果である部分オーディオデータＩＤを有する部分オーディオデータの情報を表示させる。図１２では、３件の検索結果が表示された場合を例示している。図において、「□ワルツ」及び「△マーチ」という楽曲名の検索結果は、楽譜データがサーバ装置２００の楽譜ＤＢ２２３に含まれているため、楽譜データへのリンク先を表す情報が楽譜を模した画像として表示されている。
【００３９】
再び、図７に戻る。ユーザが、操作部１４を用いて、検索画面に表示される内容のうち、「楽曲データ」に音符を模した画像として表示されるリンク、すなわち、部分オーディオデータへのリンクをクリックすると、通信端末１００の制御部１１は、通信部１３を用いて、サーバ装置２００に対して、このリンク先に格納されている部分オーディオデータのダウンロード要求を送信する（ステップＳ６００）。サーバ装置２００の制御部２１は、これを受信すると、要求された部分オーディオデータをそのリンク先によって特定される記憶部２２の領域から読み出し、通信部２３を用いて通信端末１００へ送信する（ステップＳ７００）。通信端末１００の制御部１１は、通信部１３を用いて受信した部分オーディオデータに基づく音声を、出力部１６から出力させる（ステップＳ８００）。なお、音声の出力にあたっては、制御部１１が、ダウンロードを完了していなくてもダウンロードした部分から音声の再生を開始する、いわゆるストリーミング再生が用いられてもよい。
【００４０】
このように、実施形態によれば、楽曲が予め部分に分けられた部分オーディオデータを、サーバ装置２００が記憶することで、ユーザによりメロディを指定して楽曲の検索が行われた際に、サーバ装置２００が、指定されたメロディを含む部分オーディオデータのうち、指定されたメロディがその先頭から再生されるような部分オーディオデータの部分オーディオデータＩＤを検索結果として出力する。このとき、楽曲のオーディオデータから指定されたメロディの箇所を抽出するような処理など、負荷の高い処理が発生しないため、ユーザが指定した楽曲の検索結果が試聴される際の負荷を少なくすることが可能となる。
【００４１】
＜変形例＞
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施してもよい。
【００４２】
＜変形例１＞
制御部１１が制御部２１に対して指示する検索の方法として、インククリメンタル検索という方法を用いてもよい。ここで、インクリメンタル検索とは、ユーザにより明示的に指示が行われたことを契機として検索が開始されるのではなく、検索条件に変更が生じるごとに、所定のタイミングで、検索が開始される方法をいう。例えば、図１２は、「０―２―４」というノートの配列を用いて検索が行われた結果を表していた。例えばここで、ユーザが、操作部１４を用いて、さらに「５」という音高のノートを指定し、その後所定の時間が経過した場合、制御部１１は、「０―２―４―５」というノートの配列を用いた検索の指示を、通信部１３を用いて、サーバ装置２００に送信することとなる。そして、サーバ装置２００の制御部２１は、受信したノートの配列に従って行った検索結果を、通信部２３を用いて、通信端末１００に送信する。この場合、音高が「５」というノートが追加され、検索条件が絞り込まれることとなるので、結果として、検索結果は、図１２の状態から、例えば、図１３のような状態に変化することとなる。図１３は変形例１において絞り込まれた検索結果を表す図である。図１３では、図１２において３件表示されていた検索結果のうち、楽曲名が「△マーチ」という検索結果のみが表示されている。
【００４３】
変形例１によれば、ユーザは、指定するメロディを変更するたびに、操作部１４を用いて、ボタンを押下するなどの操作を行う必要がないため、操作の手間を少なくすることが可能となる。
【００４４】
＜変形例２＞
実施形態では、図７に示されるように、制御部２１が、部分オーディオデータ２２２ａ〜２２２ｄのうち、その開始時刻と先頭ノート４００の発音時刻との差分が最も小さい部分オーディオデータの部分オーディオデータＩＤを、検索結果の部分オーディオデータＩＤとして出力していた。これに代えて、次のようにしてもよい。変形例２では、ユーザが、部分オーディオデータを検索する際に、検索結果である部分オーディオデータＩＤを有する部分オーディオデータにおいて、先頭の時刻から、ユーザが指定したメロディの箇所が再生される時刻までの時間をユーザが指定することが可能である。この場合、検索画面の上部に、上記ユーザが指定する時間である指定時間を入力可能な指定時間入力欄が表示される。例えば、ユーザは、操作部１４を用いることで、指定時間入力欄に「５秒」という時間を入力する。
【００４５】
図１４は、変形例２において部分オーディオデータを検索する処理を説明するための模式図である。同一の符号が付されたものは、図１０と同じ内容を表す。ユーザが、操作部１４を用いて鍵盤３０１をクリックすることで、このクリックに応じて、「０―２―４」というノートの配列を、制御部１１がＲＡＭに記憶させたとする。制御部１１は、ＲＡＭに記憶された内容と、入力された指定時間（ここでは「５秒」）を表す情報とを、通信部１３を用いてサーバ装置２００に送信する。サーバ装置２００の制御部２１は、通信部２３を用いて、これらを受信すると、ＲＡＭに記憶させる。
【００４６】
制御部２１は、メロディデータＤＢ２２１から、ＲＡＭに記憶された「０―２―４」というノートの配列で並んだメロディデータを検索すると、このメロディデータの楽曲ＩＤ及び、このメロディデータを構成するノートのうち先頭のノート（「０」）の発音時刻を特定する。図１４では、制御部２１が、先頭ノート４００の発音時刻を「ｔn」であると特定したものとする。制御部２１は、先頭ノート４００の発音時刻「ｔn」からＲＡＭに記憶された指定時間だけ前の時刻を、指定時刻「ｔi」として算出し、これをＲＡＭに記憶させる。図１４の例では、指定時間が「５秒」であるため、先頭ノート４００の発音時刻「ｔn」から「５秒」だけ前の時刻が、指定時刻「ｔi」として算出される。ここで、図において、部分オーディオデータ２２２ａ〜２２２ｃが、「ｔi」を部分期間に含む部分オーディオデータである。そして、制御部２１は、指定時刻「ｔi」を部分期間に含む部分オーディオデータのうち、その開始時刻と指定時刻「ｔi」との差分が最も小さい部分オーディオデータの部分オーディオデータＩＤを、検索結果として出力する。この結果、図において、制御部２１は、部分オーディオデータ２２２ｃの部分オーディオデータＩＤを、検索結果としてＲＡＭに記憶させる。
【００４７】
このように、変形例２によれば、ユーザは、指定時間に相当する期間の音声を前もって聴いたうえで、自らの指定したメロディを確認することができるので、指定したメロディに相当する箇所を聴き逃すようなことが少なくなるほか、気分を高めたタイミングで指定したメロディに相当する箇所を聴くという楽しみ方が可能となる。
【００４８】
＜変形例３＞
楽譜データを表す画像が液晶ディスプレイ１５１に表示される際に、ユーザにより指定されたメロディに相当する箇所をそのユーザに伝えるようにしてもよい。例えば、図１２のような検索結果が液晶ディスプレイ１５１に表示されているときに、ユーザが、操作部１４を用いて、楽曲名が「□ワルツ」である検索結果の楽譜データへのリンクをクリックしたとする。図１５は、変形例３において指定された楽譜データの画像を表す図である。図では、指定された楽譜データの画像のうち、一部を表示している。図に示すように、ユーザにより指定されたメロディに相当する箇所が、丸印で囲われて液晶ディスプレイ１５１に表示されることとなる。
【００４９】
ユーザは、自らが指定したメロディに基づいて楽曲を覚えていることが多いと考えられるため、変形例３によれば、ユーザは、指定したメロディに相当する箇所を、楽譜データの画像上で確認しやすいことで、楽曲のうち自らにとって特徴的な箇所の楽譜を、即座に見誤ることなく確認することが可能となる。
【００５０】
＜変形例４＞
実施形態においては、全ての楽曲において部分オーディオデータの時間軸上の長さ、つまり時間長が同一であったが、ＢＰＭの異なる楽曲ごとに時間長が異なるようにしてもよい。図１６は、変形例４における部分オーディオデータＤＢ２２２の内容を表す図である。変形例４における部分オーディオデータＤＢ２２２には、図５の内容に加えて、「ＢＰＭ」という項目が含まれている。この「ＢＰＭ」は、楽曲のＢＰＭを表す。同一の楽曲ＩＤを有する部分オーディオデータは、通常、ＢＰＭとして同じ値を有している。図１６に示されるように、「△マーチ」という楽曲名の部分オーディオデータは、ＢＰＭが「１１０」であって、各々が「１０秒間」の時間長で部分に分けられている。これに対して、「○のテーマ」という楽曲名の部分オーディオデータは、ＢＰＭが「１３５」であって、各々が「５秒間」の時間長で部分に分けられている。つまり、「△マーチ」より速いＢＰＭを有する「○のテーマ」という楽曲の部分オーディオデータは、「△マーチ」より短い時間長で部分に分けられていることとなる。これは、以下のような理由による。ＢＰＭが速い楽曲の場合、メロディも速いテンポで移り変わる可能性が高く、従って、オーディオデータがより短い時間長で部分に分けられた方が、検索が行われる際に、部分オーディオデータの開始時刻と指定されたメロディの先頭ノートの発音時刻との差分がより小さく検出されやすくなる。この結果、検索結果の部分オーディオデータにおいて、ユーザが指定したメロディが先頭から再生されやすくなる。
【００５１】
ＢＰＭと、オーディオデータが部分に分けられるときの時間長とは、その対応関係がテーブルとして記憶部２２に記憶されている。例えば、ＢＰＭ「１００〜１１５」に対して時間長が「１０秒間」、ＢＰＭ「１１５〜１３０」に対して時間長が「７秒間」、ＢＰＭ「１３０〜１４５」に対して時間長が「５秒間」といった具合である。つまり、部分オーディオデータＤＢ２２２に含まれる部分オーディオデータは、楽曲のテンポが速いほど短い時間長で部分に分けられることとなる。
【００５２】
このように、変形例４によれば、楽曲のＢＰＭに応じて、指定されたメロディの先頭ノートが、検索結果の部分オーディオデータにおいて先頭から再生されやすくなり、ユーザは、検索結果を再生する際に、指定したメロディと関係ない箇所を聴く手間が少なくなり、スムーズに試聴を行うことが可能となる。
【００５３】
＜変形例５＞
実施形態において、部分オーディオデータの時間長は所定の長さの期間（つまり固定長）であったが、そうでなくてもよい。例えば、楽曲においていわゆるサビに相当する部分は、耳につくメロディであることが多いため、検索時に指定されることが多いと考えられる。つまり、このような部分については、検索対象となることが多いため、部分に分けるときの時間長をより短いものとすることで、ユーザは、指定したメロディが頭出しされた状態で検索結果を得やすくなる。従って、部分オーディオデータにおいて、サビに相当する部分は時間長が短くなるように、それ以外の部分はサビと比較して時間長が長くなるようにしてもよい。また、実施形態では、部分オーディオデータは、時間軸において共通の期間を持つ複数の部分に分けられたものであったが、この共通の期間についても固定長でなくてもよい。例えば、検索時における上述した理由から、サビに相当する部分は、部分オーディオデータ同士の共通の期間が長くなるようにし、それ以外の部分は、共通の期間が短くなるようにしてもよい。
【００５４】
変形例５によれば、検索対象となりやすい箇所の部分オーディオデータにおいて、ユーザが、指定したメロディが頭出しされた状態で検索結果を得やすくなる。
【００５５】
＜変形例６＞
ユーザがメロディを指定する方法は、実施形態のように、検索画面に表示される鍵盤３０１を、操作部１４を用いてクリックするものに限らず、メロディを表す文字列又は記号が記述されたファイルを用いたり、テキストボックスにメロディを表す文字列又は記号を入力する方法を用いてもよい。ファイルを用いる場合、ユーザは、検索画面に表示された入力ボックスに、指定したいメロディを表す文字列又は記号が記述されたファイルのファイルパスを入力する。この入力は、直接入力に限らず、ユーザがファイルを選択して決定することによって実現されてもよい。そしてユーザは、変形例６において検索画面に表示されるメロディの指定を指示するボタンを押下する。制御部１１は、ボタンの押下を検知すると、通信部１３を用いてこのファイルをサーバ装置２００に送信する。サーバ装置２００の制御部２１は、通信部２３を用いてファイルを受信すると、ファイルに記述された文字列又は記号を解析して、ノートの配列に変換する。以降、制御部２１は、実施形態と同様の処理を行う。テキスト入力の場合、制御部１１が通信部１３を用いてサーバ装置２００に送信する内容が、ファイルに変わって文字列又は記号そのものとなるだけであって、それ以降の処理はファイルの場合と同様である。
【００５６】
このように変形例６によれば、ユーザは、鍵盤３０１を用いてメロディを指定することに慣れていない場合や、メロディが複雑であって、鍵盤３０１を用いて指定することが煩雑である場合に、手間を減らすことが可能となる。
【００５７】
＜変形例７＞
ユーザにより指定されたメロディを転調したものも検索対象となるようにしてもよい。変形例７では、検索画面の上部に、転調したメロディを検索対象とするか否かを指示するための、チェックボックスが表示される。ユーザが、操作部１４を用いて、このチェックボックスにチェックを入れると、制御部１１は、転調したメロディも検索対象とする旨の指示を、通信部１３を用いてサーバ装置２００に送信する。サーバ装置２００は、通信部２３を用いてこれを受信すると、指定されたノートの配列を所定の規則に従って転調させることで、指定されたものとは異なるノートの配列を生成する。この所定の規則は記憶部２２に予め記憶されている。ここでは、所定の規則を、例えば、各々のノートにおける音高の相対的な関係を維持したまま、ノートの音高を上下させる方法とする。例えば、音高が「Ｃ３−Ｄ３−Ｅ３」というノートの配列を指定され、音高の相対的な関係が「０−２−４」であった場合、制御部２１は、音高の相対的な関係が「１−３−５」であって、音高が「Ｃ３＃−Ｄ３＃−Ｆ」というノートの配列を生成する。転調したメロディを何通り作成するか、あるいは１回の転調につき半音何個分の音高を上下させるかは、パラメータとして記憶部２２に予め記憶されていてもよい。また、これらのパラメータは、ユーザが、操作部１４を用いて、検索画面においてチェックボックスにチェックを入れるときに、テキストボックスやプルダウン形式のリストボックスで指定してもよい。
【００５８】
変形例７において、制御部２１は、ステップＳ２１０で、転調後のメロディを生成すると、ユーザにより指定されたノートの配列とともに、生成した転調後のノートの配列をＲＡＭに記憶させる。そして制御部２１は、ステップＳ２２０で、ＲＡＭに記憶された全てのノートの配列を用いてメロディデータＤＢ２２１を検索する。以降の処理は、実施形態と同様である。このように、変形例７において、特定手段２１２として機能する制御部２１は、ユーザにより指定されたメロディそのものと、このメロディを転調したものとを用いてメロディデータＤＢ２２１の検索を行い、これらのメロディを含む楽曲と、これらのメロディにおいて先頭に配列されている音に対応付けられた発音時刻との組を特定する。
【００５９】
変形例７によれば、ユーザがメロディを指定する際に、記憶違いなどにより本来の調とは異なる調でメロディを指定した場合であっても、ユーザは、意図していた検索結果を得る可能性が高くなる。
【００６０】
＜変形例８＞
１つの楽曲内で、同じメロディが複数回繰り返されることがある。これにより、或る楽曲において、ユーザにより指定されたメロディに相当する箇所が複数存在する場合、次のようにしてもよい。ステップＳ２３０で制御部２１は、或る楽曲において、ユーザにより指定されたものと同じメロディがメロディデータに複数箇所存在する場合、各々の箇所を表すメロディデータを構成するノートのうち先頭のノートの発音時刻を特定すると、楽曲ＩＤと対応付けた組としてＲＡＭに記憶させる。つまり、この場合、制御部２１は、ある楽曲について、楽曲ＩＤと先頭のノートの発音時刻との組をＲＡＭに複数記憶させることとなる。以降、制御部２１は、ＲＡＭに記憶された内容に従って処理を行う。この結果、ステップＳ５００の処理が行われると、例えば、液晶ディスプレイ１５１に表示される検索画面の下部には、「楽曲名」及び「アーティスト名」が同一であって、「試聴開始時刻」が異なる複数の検索結果が表示されることとなる。
【００６１】
変形例８によれば、ユーザは、同一の楽曲において、指定したメロディを含み各々が異なる複数の検索結果を得る。これにより、同一の楽曲内に上記メロディを含む箇所が複数存在している場合でも、ユーザは、自らの意図していた箇所に相当する部分オーディオデータに基づく音声を聴くことが可能となる。
【００６２】
＜変形例９＞
実施形態においては、制御部２１が、その開始時刻と先頭ノート４００の発音時刻との差分が最も小さい部分オーディオデータの部分オーディオデータＩＤを、検索結果としてＲＡＭに記憶させていたが、これに代えて次のようにしてもよい。図１７は、変形例９において部分オーディオデータを検索する処理を説明するための模式図である。図においてｔは時間を表し、図中で右へ進むほど時間が経過することを表す。矩形で表された部分オーディオデータ２２２ａ〜２２２ｄは、図１０と同様であり、それぞれ異なる開始時刻ｔstart及び終了時刻ｔendを有する。
【００６３】
変形例９において、制御部２１は、指定されたノートの配列に基づいて、メロディデータＤＢ２２１から同じノートの配列で並んだメロディデータを検索すると、このメロディデータの楽曲ＩＤ及び、このメロディデータを構成するノートのうち末尾のノートの発音時刻を特定する。図に表された円形は、通信端末１００を通じて指定されたメロディの末尾ノート５００を表しており、この末尾ノート５００の発音時刻は「ｔm」である。ここで、「ｔm」を部分期間に含む部分オーディオデータは、図に示すように、部分オーディオデータ２２２ａ〜２２２ｄという４つである。そして、制御部２１は、「ｔm」を部分期間に含む部分オーディオデータのうち、その終了時刻と末尾ノート５００の発音時刻との差分が最も小さい部分オーディオデータを特定すると、特定した部分オーディオデータの部分オーディオデータＩＤを検索結果として出力する。この結果、図において、制御部２１は、部分オーディオデータ２２２ａの部分オーディオデータＩＤを、検索結果として出力する。
【００６４】
変形例９によれば、制御部２１は、ユーザにより指定されたメロディを含み、かつ、このメロディに対して前もって演奏される箇所をより多く含む部分オーディオデータの部分オーディオデータＩＤを出力する。この結果、出力結果の部分オーディオデータＩＤを有する部分オーディオデータにおいて、ユーザにより指定されたメロディは後方の箇所に相当することとなる。これにより、ユーザは、変形例２のように指定時間を明示的に入力する手間を要さずに、指定したメロディに相当する箇所を聴き逃すようなことが少なくなるほか、気分を高めたタイミングで指定したメロディに相当する箇所を聴くという楽しみ方が可能となる。
【００６５】
また、特定手段２１２として機能する制御部２１は、発音時刻を特定する際の対象を、メロディデータを構成するノートのうち末尾のノートや先頭のノートに限らなくともよい。例えば、制御部２１は、メロディデータの配列番号が「０〜ｎ」であった場合、この「０〜ｎ」のうちいずれかの配列番号を持ちメロディデータを構成するノートのうち、いずれのノートの発音時刻を特定してもよい。このようにしても、出力手段２１３として機能する制御部２１は、特定手段２１２によって特定された楽曲を表す部分オーディオデータのうち、特定手段２１２によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを出力することが可能となる。
【００６６】
＜変形例１０＞
検索が行われる際に、ユーザにより指定されたメロディを表す画像が、検索画面に視覚的に表示されるようにしてもよい。例えば、ユーザにより指定されたメロディを表す画像が、五線譜を用いて音符として表されてもよいし、「Ｃ３−Ｅ３−Ｇ」といった音高を示す記号として表されてもよい。このとき、ユーザは、上述のように五線譜や記号で示された、指定したメロディを表す画像に対して、操作部１４を用いて、表示された音符や記号のうち特定のものを指定して削除することが可能である。また、検索画面の上部に、ユーザにより指定されたメロディを白紙の状態、すなわちメロディが未指定の状態に戻すクリアーボタンが表示されるようにしてもよい。ユーザが、操作部１４を用いて、このクリアーボタンを押下すると、制御部１１は、ＲＡＭに記憶されたノートの配列を消去するとともに、検索画面の下部に表示されていた検索結果も消去させて０件表示とする。
【００６７】
このように変形例１０によれば、ユーザは、自らの指定したメロディの内容を視覚的に確認することで、検索対象のメロディの指定ミスを少なくすることが可能となる。また、ユーザは、誤って指定した音を削除する操作が可能であり、かつ、一度指定したメロディをクリアーする操作が可能であるため、様々なメロディを試しに指定したりするときに、メロディを指定しなおすときの余計な手間が省けるうえ、誤って指定した場合でも簡単にやり直しを行うことが可能となり、ユーザにとって操作性が向上する。
【００６８】
＜変形例１１＞
実施形態のように、通信端末１００と、サーバ装置２００と、ネットワークＮＷとを備えるシステムではなく、サーバ装置のみによって実現される構成としてもよい。変形例１１におけるサーバ装置は、操作部、液晶ディスプレイを有する表示部、出力部を備えている。これらの各部は、通信端末１００の備えるものと同様の機能を有する。そして、変形例１１において、サーバ装置は、ユーザによって指定されたノートの配列であるメロディを、このサーバ装置に入力する入力手段を備えている。この入力手段は、例えば、サーバ装置と通信可能に接続された、鍵盤型のキーボードやタイピング用のキーボードであればよい。また、操作部によって入力手段が実現されてもよい。
【００６９】
ユーザが、このような入力手段を用いてメロディを指定すると、サーバ装置の制御部は、ユーザによって指定された、つまり、サーバ装置に入力されたノートの配列であるメロディを取得する。そして、制御部は、取得したメロディに基づいて検索を行い、検索結果である部分オーディオデータへのリンクを液晶ディスプレイに表示させる。ユーザが、操作部を用いてリンクをクリックすると、制御部は、リンクで表される情報に基づいて記憶部に記憶された部分オーディオデータを読み出すと、この部分オーディオデータの音声を出力部から出力させる。このようにしても、実施形態と同様の効果を奏することができる。
【００７０】
＜変形例１２＞
実施形態においては、ユーザにより指定されたメロディにおけるノートの配列のみに基づいて、制御部２１が、メロディデータＤＢ２２１からメロディデータを検索していたが、これに代えて、制御部２１が、指定されたメロディにおけるノートの時刻情報をも考慮してメロディデータを検索するようにしてもよい。
【００７１】
変形例１２では、図７におけるステップＳ１００と同じタイミングにおいて、通信端末１００の制御部１１が、ユーザにより指定されたメロディ、すなわちノートの配列を、各ノートの時刻情報と対応付けて、通信部１３を用いてサーバ装置２００に送信する。この時刻情報を、以降、各ノートが指定されたときの発音時刻を意味することから、指定発音時刻という。ここで、制御部１１は、指定されたメロディのうち、先頭のノートの指定発音時刻を「００：００：００」とすると、これを基準として、以降の各ノートが指定されるまでに経過した時間長に応じて、各ノートの指定発音時刻を決定する。例えば、ユーザにより指定されたメロディが「０―２―４」（「Ｃ３―Ｄ３―Ｅ３」）であった場合、制御部１１は、「０」のノートの指定発音時刻を「００：００：００」とし、「２」のノートの指定発音時刻を「００：００：０２」とし、「４」のノートの指定発音時刻を「００：００：０３」とする、といった具体である。そして、図７におけるステップＳ２００と同じタイミングにおいて、サーバ装置２００の制御部２１は、受信した、指定発音時刻と対応付けられたノートの配列に基づいて、メロディデータＤＢ２２１から楽曲ＩＤと発音時刻の組を検索する。
【００７２】
図１８は、変形例１２においてメロディデータＤＢ２２１を検索する処理のフローチャートである。制御部２１は、通信部２３を用いて受信した、指定発音時刻と対応付けられたノートの配列をＲＡＭに記憶させる（ステップＳ２１０ａ）。制御部２１は、ＲＡＭに記憶された、指定発音時刻と対応付けられたノートの配列に基づいて、メロディデータＤＢ２２１を検索する（ステップＳ２２０ａ）。制御部２１は、同じノートの配列で並び、かつ、指定発音時刻で表された時刻どうしの相対的な間隔と同じ間隔で発音時刻が並んだメロディデータが存在していた場合（ステップＳ２２０ａ；ＹＥＳ）、このメロディデータの楽曲ＩＤ及び、上記配列で並んだメロディデータを構成するノートのうち、先頭のノートの発音時刻を特定する（ステップＳ２３０ａ）。
【００７３】
具体的には、例えば、ＲＡＭに記憶されたメロディが「０―２―４」（「Ｃ３―Ｄ３―Ｅ３」）であり、各ノートの指定発音時刻どうしの相対的な間隔が、「００：００：００−００：００：０２―００：００：０３」であったとする。この場合、制御部２１は、ステップＳ２２０ａにおいて、メロディデータＤＢ２２１から、「０―２―４」の配列で並んだメロディデータのうち、発音時刻どうしの相対的な間隔が「００：００：００−００：００：０２―００：００：０３」であるメロディデータを検索する。例えば、制御部２１は、メロディデータＤＢ２２１において、「０−２−４」の配列で並び、かつ、発音時刻が「００：００：１５−００：００：１７−００：００：１８」であるメロディデータを検索結果として出力する。そして検索結果があった場合、制御部２１は、検索結果のメロディデータのうち、先頭のノート（すなわち、上記例では音高が「０」であるノート）の発音時刻（すなわち、上記例では「００：００：１５」）と、検索結果のメロディデータの楽曲ＩＤとの組を特定すると、この組をＲＡＭに記憶させる。一方、制御部２１は、ステップＳ２２０ａでＮＯと判定すると、図に示した処理を終了する。以降の処理は、実施形態と同様にして行われる。
【００７４】
制御部２１が、ステップＳ２２０ａで検索を行う際に、指定発音時刻で表された時刻どうしの相対的な間隔とメロディデータの発音時刻どうしの間隔が完全に一致するものを検索結果として出力してもよいし、設定により、完全に一致しなくとも一定の誤差を許容するようにしてもよい。この誤差は、例えば「１秒」という時間で表され、パラメータとして予め記憶部２２に記憶されている。このような誤差を許容する設定とした場合、ＲＡＭに記憶されたメロディにおける各ノートの指定発音時刻どうしの相対的な間隔が、「００：００：００−００：００：０２―００：００：０３」であったときに、このメロディと同じノートの配列で並び、発音時刻が「００：００：１５−００：００：１８−００：００：１９」であるメロディデータなどを検索結果として出力することが可能となる。
【００７５】
このように、変形例１２によれば、指定されたメロディにおけるノートの時刻情報を考慮してメロディデータが検索されるため、ユーザは、より意図していたものに近い検索結果を得ることができる。
【００７６】
＜変形例１３＞
実施形態においては、ユーザが操作部１４を用いて、検索画面に表示された或る部分オーディオデータのリンクをクリックすると、通信端末１００の制御部１１が、この部分オーディオデータの先頭から末尾にあたる範囲に基づく音声を、出力部１６から出力させていた。これに代えて、次のようにしてもよい。
【００７７】
変形例１３では、図１１のステップＳ３２０のタイミングで、制御部２１が、部分オーディオデータＤＢ２２２において、特定された楽曲ＩＤを有する部分オーディオデータのうち、その開始時刻と特定された発音時刻との差分が最も小さい部分オーディオデータの部分オーディオデータＩＤと、上記特定された発音時刻とを対応付けてＲＡＭに記憶させる。そして、図７のステップＳ４００のタイミングで、制御部２１は、ＲＡＭに記憶された部分オーディオデータのＩＤと、特定された発音時刻と、楽譜データへのリンク先を表す情報とを、通信部２３を用いて、通信端末１００へ送信、つまり出力する。また、図７のステップＳ８００のタイミングで、通信端末１００の制御部１１は、通信部１３を用いて受信した部分オーディオデータに基づく音声を、上記特定された発音時刻から再生されるように出力部１６から出力させる。
【００７８】
変形例１３によれば、検索結果の部分オーディオデータにおいて、ユーザにより指定されたメロディが先頭から再生されるので、ユーザは、自らが所望している楽曲かどうかを認識することが容易になる、という効果を奏する。
【符号の説明】
【００７９】
１１，２１…制御部、１２，２２…記憶部、２２１…メロディデータＤＢ、２２２…部分オーディオデータＤＢ、２２２ａ〜２２２ｄ…部分オーディオデータ、２２３…楽譜ＤＢ、１３，２３…通信部、１４…操作部、１５…表示部、１５１…液晶ディスプレイ、１６…出力部、１７，２４…バス、１００…通信端末、２００…サーバ装置、３０１…鍵盤、３０２…ＢＰＭ指定欄、３０３…検索ボタン、４００…先頭ノート、５００…末尾ノート、ＮＷ…ネットワーク
【図１】
0005720451.tif 000002
【図２】
0005720451.tif 000003
【図３】
0005720451.tif 000004
【図４】
0005720451.tif 000005
【図５】
0005720451.tif 000006
【図６】
0005720451.tif 000007
【図７】
0005720451.tif 000008
【図８】
0005720451.tif 000009
【図９】
0005720451.tif 000010
【図１０】
0005720451.tif 000011
【図１１】
0005720451.tif 000012
【図１２】
0005720451.tif 000013
【図１３】
0005720451.tif 000014
【図１４】
0005720451.tif 000015
【図１５】
0005720451.tif 000016
【図１６】
0005720451.tif 000017
【図１７】
0005720451.tif 000018
【図１８】
0005720451.tif 000019