JP5720451B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP5720451B2
JP5720451B2 JP2011153859A JP2011153859A JP5720451B2 JP 5720451 B2 JP5720451 B2 JP 5720451B2 JP 2011153859 A JP2011153859 A JP 2011153859A JP 2011153859 A JP2011153859 A JP 2011153859A JP 5720451 B2 JP5720451 B2 JP 5720451B2
Authority
JP
Japan
Prior art keywords
audio data
melody
music
partial audio
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011153859A
Other languages
English (en)
Other versions
JP2013020482A (ja
Inventor
知代子 植村
知代子 植村
菊池 健
菊池  健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2011153859A priority Critical patent/JP5720451B2/ja
Publication of JP2013020482A publication Critical patent/JP2013020482A/ja
Application granted granted Critical
Publication of JP5720451B2 publication Critical patent/JP5720451B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

本発明は、楽曲を検索する技術に関する。
特許文献1には、サーバ装置とクライアント端末とからなるシステムにおいて、サーバ装置に記憶された楽曲のオーディオデータのうち、ユーザが所望する楽曲のオーディオデータをクライアント端末を用いて検索することで、ユーザが検索結果のオーディオデータを試聴することのできる技術が記載されている。
特開2001−125583号公報
特許文献1に記載の技術では、ユーザが歌詞を指定して楽曲の検索を指示すると、サーバ装置は、検索を経て特定した楽曲を表すオーディオデータから、指定された歌詞に該当する箇所の前後の部分のみを抽出したオーディオデータを生成し、この生成したオーディオデータを検索結果としてクライアント端末に提供している。このような方法では、検索が行われるたびにオーディオデータの一部を抽出して、クライアント端末に提供するオーディオデータを生成するという処理が必要になり、その分だけサーバ装置の処理の負荷は大きくなる。さらに、システムに接続されているクライアント端末の数が多くなればなるほど、このような負荷は増大することになるが、このような事態は、システムを利用するユーザに対して、楽曲を試聴するサービスの安定的な提供を損ねることになるから、望ましくない。
本発明は上述の背景に鑑みてなされたものであり、ユーザが指定した楽曲の検索結果が試聴される際の負荷を少なくすることを目的とする。
上述した課題を解決するために、本発明は、音の配列であるメロディを取得するメロディ取得手段と、楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第1の記憶手段と、前記楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸上で隣り合う当該部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第2の記憶手段と、前記第1の記憶手段に記憶されている楽曲のメロディから、前記メロディ取得手段によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段と、前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲を表す部分オーディオデータのうち、前記特定手段によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、前記第2の記憶手段から読み出して出力する出力手段とを備え、前記特定手段は、前記検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて先頭に配列された音に対応付けられた発音時刻とを特定し、前記出力手段は、前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、その開始時刻と前記特定手段によって特定された発音時刻との差分が最も小さい部分オーディオデータを特定する情報を、前記第2の記憶手段から読み出して出力することを特徴とする情報処理装置を提供する。
また、本発明は、音の配列であるメロディを取得するメロディ取得手段と、楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第1の記憶手段と、前記楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸上で隣り合う当該部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第2の記憶手段と、前記第1の記憶手段に記憶されている楽曲のメロディから、前記メロディ取得手段によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段と、前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲を表す部分オーディオデータのうち、前記特定手段によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、前記第2の記憶手段から読み出して出力する出力手段とを備え、前記特定手段は、前記検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて末尾に配列された音に対応付けられた発音時刻とを特定し、前記出力手段は、前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、その終了時刻と前記特定手段によって特定された発音時刻との差分が最も小さい部分オーディオデータを特定する情報、前記第2の記憶手段から読み出して出力することを特徴とする情報処理装置を提供する。
また、別の好ましい態様において、前記通信端末において指定された時間を取得する指定時間取得手段を備え、前記出力手段は、前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、前記特定手段によって特定された発音時刻よりも前記指定時間取得手段によって取得された時間だけその開始時刻が早い部分オーディオデータを特定する情報を、前記第2の記憶手段から読み出して出力することを特徴とする。
また、別の好ましい態様において、前記出力手段は、前記特定手段によって特定された発音時刻と、前記部分オーディオデータを特定する情報とを対応付けて出力することを特徴とする。
本発明によれば、ユーザが指定した楽曲の検索結果が試聴される際の負荷を少なくすることが可能となる。
本発明の実施形態におけるシステムの構成を表した図 通信端末のハードウェア構成を表したブロック図 サーバ装置のハードウェア構成を表したブロック図 メロディデータDBの内容を表す図 部分オーディオデータDBの内容を表す図 サーバ装置の制御部とその周辺の機能的構成を表したブロック図 部分オーディオデータを検索する際の処理を表すシーケンス図 部分オーディオデータの検索画面を表す図 メロディデータDBを検索する処理のフローチャート 部分オーディオデータを検索する処理を説明するための模式図 部分オーディオデータDBを検索する処理のフローチャート 部分オーディオデータの検索結果を表す図 変形例1において絞り込まれた検索結果を表す図 変形例2において部分オーディオデータを検索する処理を説明するための模式図 変形例3において指定された楽譜データの画像を表す図 変形例4における部分オーディオデータDBの内容を表す図 変形例9において部分オーディオデータを検索する処理を説明するための模式図 変形例12においてメロディデータDBを検索する処理のフローチャート
<実施形態>
以下に、図面を参照しながら本発明の実施形態について説明する。
<構成>
図1は、本発明の実施形態におけるシステムの構成を表した図である。このシステムは、通信端末100と、サーバ装置200と、ネットワークNWとを備えている。通信端末100は、例えば携帯電話機、無線LAN(Local Area Network)に接続可能な無線端末、通信機能を備えたキーボードやギター等の楽器またはPC(Personal Computer)のような、サーバ装置200と通信が可能な通信端末であって、図1ではPCの例を挙げている。ネットワークNWは、例えば携帯電話網や無線LANなどの移動通信網やインターネットなどの固定通信網を含む通信網である。サーバ装置200は、ネットワークNWを介して通信端末100と情報のやり取りを行い、ユーザが通信端末100を用いて指定したメロディを含むオーディオデータを検索して、その検索結果を通信端末100に提供する情報処理装置である。ここでメロディとは、音(ノートという)の配列によって構成されているものである。このシステムでは、サーバ装置200が様々な楽曲のオーディオデータをライブラリとして保持しており、ユーザは、通信端末100を用いてメロディを指定した検索を指示することで、サーバ装置200から、指定したメロディを含む楽曲のオーディオデータを特定する情報を検索結果として取得し、この検索結果のオーディオデータを試聴することが可能である。
図2は、通信端末100のハードウェア構成を表したブロック図である。通信端末100は、制御部11、記憶部12、通信部13、操作部14、表示部15及び出力部16を備えており、これらの各部がバス17を介して互いに接続されている。制御部11は、CPU(Central Processing Unit)、RAM(Random Access Memory)及びROM(Read Only Memory)を有する。CPUは、ROMや記憶部12に記憶されているプログラムを読み出しRAMにロードして実行することにより、通信端末100の各部を制御する。記憶部12は、例えばHDD(Hard Disk Drive)などの不揮発性の記憶手段であり、各種閾値及びプログラムを記憶する。通信部13は、制御部11の制御の下で、ネットワークNWを介して、サーバ装置200と通信を行う。
操作部14は、クリック操作を受け付けるマウスや複数のキーを有しており、ユーザによってこれらのマウスやキーが操作されるとその操作内容に応じた信号を制御部11へ供給する。制御部11は、この信号に基づいて操作内容を判断して処理を行う。表示部15は、液晶ディスプレイ151のような表示体やVRAM(Video Random Access Memory)などのメモリを備えており、制御部11の制御の下で各種の画像を液晶ディスプレイ151に表示する。出力部16は、スピーカー等の放音手段を備え、制御部11の制御の下で、このスピーカーから音声を出力する。
図3は、サーバ装置200のハードウェア構成を表したブロック図である。サーバ装置200は、制御部21、記憶部22及び通信部23を備えており、これらの各部がバス24を介して互いに接続されている。制御部21は、CPU、RAM及びROMを有する。CPUは、ROMや記憶部22に記憶されているプログラムを読み出しRAMにロードして実行することにより、サーバ装置200の各部を制御する。通信部23は、制御部21の制御の下で、ネットワークNWを介して、通信端末100と通信を行う。
記憶部22は、例えばHDDなどの不揮発性の記憶手段であり、メロディデータDB(Database)221、部分オーディオデータDB222、楽譜DB223、各種閾値及びプログラムを記憶する。メロディデータDB221は、各楽曲のメロディを表すメロディデータの集合からなるデータベースである。このメロディデータは、楽曲を構成する各ノートの音高と、各ノートの発音時刻とが、各ノートの発音順に対応付けられたものである。部分オーディオデータDB222は、楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータの集まりからなるデータベースである。ここで、時間軸上で隣り合う部分オーディオデータどうしは、共通の期間を有する。換言すると、部分オーディオデータDB222は、各々が楽曲を表すオーディオデータの一部の期間として抽出された複数の部分オーディオデータの集まりからなるデータベースである。ここで、一の部分オーディオデータが抽出された期間と、この一の部分オーディオデータに時間軸上で隣り合う部分オーディオデータが抽出された期間とは、一部において重複する。楽譜DB223は、各楽曲のメロディが五線譜上に音符として表現された楽譜を表す楽譜データの集まりからなるデータベースである。各々の楽譜データは、楽曲IDによって各楽曲と対応付けられている。
図4は、メロディデータDB221の内容を表す図である。メロディデータDB221は、「楽曲ID」、「配列番号」、「音高」及び「発音時刻」を含んでいる。「楽曲ID」は、楽曲を一意に識別するための識別子であり、例えば図の場合では、2桁のアルファベットと6桁の数字の組み合わせからなる。メロディデータDB221には、1又は複数の楽曲に関するメロディデータが含まれる。「配列番号」は、楽曲を構成する各ノートの発音の順番を表す数字である。或る「楽曲ID」が割り当てられた楽曲において、「配列番号」の昇順にメロディデータを並べると、ノートが、この楽曲における時間の経過に沿って発音順で並ぶこととなる。
「音高」は、各ノートの音高である。メロディデータDB221における「音高」は、「C3」や「A4#」といった具体的な音高を表す記号ではなく、或る音高を基準としたときの相対的な音高の差分を表す数字によって表現されている。例えば、図4において、「配列番号」が「1」の音高は、具体的には「C3」であって、ここではこの音高を基準としているため、「音高」が「0」の値で表現されている。そして、「配列番号」が「2」の音高は、具体的には「D3」であって、基準となる音高「C3」に対して半音2つ分高いため、「音高」が「2」の値で表現されている、といった具合である。「発音時刻」は、各々のノートが発音されるまでに、楽曲の開始から経過した時刻を表す。例えば、図において、「AA000001」の楽曲IDを有する楽曲では、楽曲の開始から「00:00:08」のタイミングで、配列番号が「2」であり音高が「2」(D3の音高)であるノートが発音されることを表している。
図5は、部分オーディオデータDB222の内容を表す図である。部分オーディオデータDB222は、「楽曲ID」、「部分オーディオデータID」、「楽曲名」、「アーティスト名」、「部分期間」及び「部分オーディオデータ」といった複数の項目からなる。「楽曲ID」は、図4におけるものと同様である。部分オーディオデータDB222には、1又は複数の楽曲に関する部分オーディオデータが含まれる。「部分オーディオデータID」は、部分オーディオデータを一意に識別するための識別子であり、例えば図の場合では、2桁のアルファベットと6桁の数字で表された前半部分と、3桁の数字で表された後半部分との組み合わせからなる。この前半部分は、各部分オーディオデータの楽曲IDと同じ内容となる。つまり、或る楽曲における部分オーディオデータIDは、この楽曲の楽曲IDを表す前半部分と、この楽曲において時間軸に沿って採番された数字を表す後半部分との組み合わせからなる。
「楽曲名」は、楽曲の名称である。「アーティスト名」は、楽曲を発表した者の名前であって、楽曲の演奏者又は歌唱者の識別情報に相当する。「部分期間」は、前述した部分オーディオデータの各々について、楽曲の先頭を基準(00:00:00)としたときの開始時刻及び終了時刻を端部として部分に分けられた期間を表す。「部分オーディオデータ」は、各々の部分オーディオデータの格納場所を表す。部分オーディオデータはファイル形式で格納されるが、図においては、説明の便宜上、ファイルパスを省略して、ファイル名のみを表している。
例えば、図において、「AA001.mp3」というファイル名の部分オーディオデータは、楽曲の先頭を基準として開始時刻から終了時刻が「00:00:00〜00:00:10」であることを表しており、「AA002.mp3」というファイル名の部分オーディオデータは、楽曲の先頭を基準として開始時刻から終了時刻が「00:00:05〜00:00:15」であることを表している。ここで、これらの部分オーディオデータはともに、それぞれが10秒間ずつの長さで部分に分けられている。また、これらの開始時刻は、5秒ずつ異なるものとなっている。この結果、例えば、「AA001.mp3」というファイル名の部分オーディオデータと「AA002.mp3」というファイル名の部分オーディオデータは、「00:00:05〜00:00:15」という共通の期間を持つこととなる。また、例えば、「AA001.mp3」というファイル名の部分オーディオデータと「AA003.mp3」というファイル名の部分オーディオデータは、「00:00:10〜00:00:15」という共通の期間を持つこととなる。
図6は、サーバ装置200の制御部21とその周辺の機能的構成を表したブロック図である。制御部21は、ユーザによって通信端末100に入力された音の配列であるメロディを、当該通信端末100から取得するメロディ取得手段211として機能する。また、メロディデータDB221を記憶する記憶部22は、楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第1の記憶手段22aとして機能する。また、部分オーディオデータDB222を記憶する記憶部22は、楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸において隣り合うこれらの部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第2の記憶手段22bとして機能する。また、制御部21は、第1の記憶手段22aに記憶されている楽曲のメロディから、メロディ取得手段211によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、この楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段212として機能する。また、制御部21は、第2の記憶手段22bに記憶された部分オーディオデータであって、特定手段212によって特定された楽曲の部分オーディオデータのうち、特定手段212によって特定された発音時刻を含み、この発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、第2の記憶手段22bから読み出して通信端末100に出力する出力手段213として機能する。
<動作>
図7は、部分オーディオデータを検索する際の処理を表すシーケンス図である。通信端末100の制御部11は、ユーザにより指定されたメロディ、すなわちノートの配列を、通信部13を用いてサーバ装置200に送信する(ステップS100)。
図8は、部分オーディオデータの検索画面を表す図である。通信端末100の制御部11は、例えば、ユーザが操作部14を用いて液晶ディスプレイ151に表示させたウェブブラウザ上に、図8のような検索画面を表示させる。ここでは、ユーザが、操作部14を用いて、ウェブブラウザに検索画面のURL(Uniform Resource Locator)を指定することで、制御部11が、通信部13を用いてサーバ装置200から受信した検索画面のウェブページをウェブブラウザ上に表示させるものとする。
検索画面における表示内容は、画面の上部と下部とで大別される。検索画面の上部には、ユーザによるメロディの指定を受け付けるための、鍵盤を模した画像である鍵盤301と、テンポを表すBPM(Beat Per Minute)の指定を受け付けるBPM指定欄302と、検索を指示するための検索ボタン303とが表示され、検索画面の下部には、検索結果が表示される。制御部11は、BPM指定欄302に指定されているBPMの速度でメトロノームの音声を出力部16から出力させる。ユーザは、このメトロノームの音声に合わせて、自身が所望するメロディを、鍵盤301を用いて入力する。より具体的には、ユーザが、操作部14を用いて、鍵盤301の或る箇所をクリックする操作を行うたびに、制御部11は、クリックされた箇所に相当する鍵に応じたノートの音声を出力部16から出力させるとともに、このノートをRAMに記憶させる。例えば、ユーザによる鍵盤301に対するクリックに応じて、制御部21は、音高が「G3」のノートのピアノの音声を出力部16から出力させるとともに、このノートをRAMに記憶させる。つまり、ユーザによって鍵盤301がクリックされたノートが、そのクリックの順に配列されて、RAMに記憶されることとなる。
そして、ユーザが、操作部14を用いて、検索ボタン303を押下すると、制御部11は、RAMに記憶されたノートの配列を、通信部13を用いてサーバ装置200に送信する。サーバ装置200の制御部21は、通信部23を用いてこれを受信すると、このノートの配列をメロディとして含む部分オーディオデータの部分オーディオデータIDを、部分オーディオデータDB222から検索する。
検索画面の下部には、検索結果が表示される。検索結果は、「No.」、「楽曲名」、「アーティスト名」、「楽曲データ」、「試聴開始時刻」、「楽譜データ」という複数の項目からなる。「No.」は、各々の検索結果を識別する番号である。「楽曲名」は、各々の検索結果である部分オーディオデータIDを有する部分オーディオデータの楽曲の名称を表す。「アーティスト名」は、各々の検索結果である部分オーディオデータIDを有する部分オーディオデータの楽曲の歌唱者又は演奏者を表す。「楽曲データ」の欄には、検索結果である部分オーディオデータIDを有する部分オーディオデータへのリンクが表示される。ユーザが、操作部14を用いて、このリンクをクリックすると、制御部11が、検索結果である部分オーディオデータIDを有する部分オーディオデータを、リンク先、つまりサーバ装置200から通信部23を用いてダウンロードして、出力部16から音声として出力させる。
「試聴開始時刻」には、検索結果である部分オーディオデータIDを有する部分オーディオデータの部分期間のうち開始時刻が表示される。つまり、ある部分オーディオデータが、楽曲の開始から30秒の時点を先頭として部分に分けられたものである場合、「開始時刻」には、「00:00:30」という内容が表示される。「楽譜データ」には、検索結果である部分オーディオデータIDを有する部分オーディオデータの楽曲の楽譜データへのリンクが表示される。ユーザが、操作部14を用いて、このリンクをクリックすると、制御部11が、この楽譜データを、リンク先、つまりサーバ装置200から通信部23を用いてダウンロードして、楽譜データによって表される楽譜を液晶ディスプレイ151に表示させる。
図7に戻る。ステップS100の次に、サーバ装置200の制御部21は、受信したノートの配列に基づいて、メロディデータDB221から楽曲IDと発音時刻の組を検索する(ステップS200)。
図9は、メロディデータDB221を検索する処理のフローチャートである。制御部21は、通信部23を用いて受信したノートの配列をRAMに記憶させる(ステップS210)。制御部21は、RAMに記憶されたノートの配列に基づいて、メロディデータDB221を検索した結果、同じノートの配列で並んだメロディデータが存在していた場合(ステップS220;YES)、このメロディデータの楽曲ID及び、上記配列で並んだメロディデータを構成するノートのうち先頭のノートの発音時刻を特定する(ステップS230)。具体的には、例えば、RAMに記憶されたメロディが「0―2―4」(「C3―D3―E3」)であった場合、制御部21は、ステップS220において、メロディデータDB221から、「0―2―4」の配列で並んだメロディデータを検索する。そして検索結果があった場合、制御部21は、「0―2―4」の配列で並んだメロディデータのうち先頭のノート、すなわち音高が「0」であるノートの発音時刻と、検索結果のメロディデータの楽曲IDとの組を特定すると、この組をRAMに記憶させる。一方、制御部21は、ステップS220でNOと判定すると、図に示した処理を終了する。
再び図7に戻る。制御部21は、ステップS200で特定した楽曲IDと発音時刻との組を用いて、部分オーディオデータDB222から、ユーザにより指定されたメロディを含む部分オーディオデータを検索する(ステップS300)。
図10は、部分オーディオデータを検索する処理を説明するための模式図である。図においてtは時間を表し、図中で右へ進むほど時間が経過することを表す。矩形で表された部分オーディオデータ222a〜222dは、それぞれ異なる開始時刻tstart及び終了時刻tendを有する。図に示されるように、部分オーディオデータ222a〜222dは、時間軸において共通の期間を持っている。
ここで、制御部21が、ユーザにより指定されたメロディを含むオーディオデータを検索する場合、まず、指定されたメロディにおけるノートの配列に基づいて、メロディデータDB221から同じノートの配列で並んだメロディデータを検索する。そして制御部21は、検索の結果得られたメロディデータの楽曲ID及び、このメロディデータを構成するノートのうち先頭のノートの発音時刻を特定する。図に表された円形は、通信端末100を用いてユーザにより指定されたメロディの先頭ノート400を表しており、この先頭ノート400の発音時刻は「tn」である。ここで、「tn」を部分期間に含む部分オーディオデータは、図に示すように、部分オーディオデータ222a〜222dという4つである。そして、制御部21は、「tn」を部分期間に含む部分オーディオデータのうち、その開始時刻と先頭ノート400の発音時刻との差分が最も小さい部分オーディオデータを特定すると、特定した部分オーディオデータの部分オーディオデータIDを検索結果として出力する。図の例において、制御部21は、部分オーディオデータ222dの部分オーディオデータIDを、検索結果としてRAMに記憶させる。
図11は、部分オーディオデータDB222を検索する処理のフローチャートである。ステップS200において楽曲IDと先頭ノートの発音時刻との組が特定されている場合(ステップS310;YES)、制御部21は、部分オーディオデータDB222から、特定された楽曲IDを有する部分オーディオデータのうち、その開始時刻と特定された発音時刻との差分が最も小さい部分オーディオデータの部分オーディオデータIDをRAMに記憶させる(ステップS320)。一方、制御部21は、ステップS310でNOと判定した場合、図に示した処理を終了する。
ステップS320の次に、制御部21は、ステップS320でRAMに記憶させた部分オーディオデータIDを有する楽曲の楽譜データが、楽譜DB223にある場合、この楽譜データへのリンク先を表す情報を、上記部分オーディオデータIDと対応付けてRAMに記憶させる(ステップS330)。ステップS330において、具体的には、制御部21は、ステップS320でRAMに記憶させた部分オーディオデータIDを有する部分オーディオデータの楽曲IDを用いて楽譜DB223を検索して、この部分オーディオデータの楽曲の楽譜データを特定する。ステップS330の次に、ステップS200において特定された、楽曲IDと先頭ノートの発音時刻との組について未処理のものが残っている場合(ステップS340;NO)、制御部21は、この未処理の組について、ステップS320及びS330の処理を行う。制御部21は、ステップS200において特定された、楽曲IDと先頭ノートの発音時刻との組の全てについて、ステップS320及びS330の処理を行うと(ステップS340;YES)、図に示した処理を終了する。
再び、図7に戻る。サーバ装置200の制御部21は、ステップS320及びS330でRAMに記憶させた部分オーディオデータID及び楽譜データへのリンク先を表す情報を、通信部23を用いて、通信端末100へ送信、つまり出力する(ステップS400)。通信端末100の制御部11は、通信部13を用いてこれを受信すると、受信した部分オーディオデータIDを有する部分オーディオデータへのリンク先及び楽譜データへのリンク先を表す表示内容を、検索結果として検索画面に表示させる(ステップS500)。
図12は、部分オーディオデータの検索結果を表す図である。制御部11は、ステップS400で受信した内容に基づいて、検索画面の下部に、検索結果である部分オーディオデータIDを有する部分オーディオデータの情報を表示させる。図12では、3件の検索結果が表示された場合を例示している。図において、「□ワルツ」及び「△マーチ」という楽曲名の検索結果は、楽譜データがサーバ装置200の楽譜DB223に含まれているため、楽譜データへのリンク先を表す情報が楽譜を模した画像として表示されている。
再び、図7に戻る。ユーザが、操作部14を用いて、検索画面に表示される内容のうち、「楽曲データ」に音符を模した画像として表示されるリンク、すなわち、部分オーディオデータへのリンクをクリックすると、通信端末100の制御部11は、通信部13を用いて、サーバ装置200に対して、このリンク先に格納されている部分オーディオデータのダウンロード要求を送信する(ステップS600)。サーバ装置200の制御部21は、これを受信すると、要求された部分オーディオデータをそのリンク先によって特定される記憶部22の領域から読み出し、通信部23を用いて通信端末100へ送信する(ステップS700)。通信端末100の制御部11は、通信部13を用いて受信した部分オーディオデータに基づく音声を、出力部16から出力させる(ステップS800)。なお、音声の出力にあたっては、制御部11が、ダウンロードを完了していなくてもダウンロードした部分から音声の再生を開始する、いわゆるストリーミング再生が用いられてもよい。
このように、実施形態によれば、楽曲が予め部分に分けられた部分オーディオデータを、サーバ装置200が記憶することで、ユーザによりメロディを指定して楽曲の検索が行われた際に、サーバ装置200が、指定されたメロディを含む部分オーディオデータのうち、指定されたメロディがその先頭から再生されるような部分オーディオデータの部分オーディオデータIDを検索結果として出力する。このとき、楽曲のオーディオデータから指定されたメロディの箇所を抽出するような処理など、負荷の高い処理が発生しないため、ユーザが指定した楽曲の検索結果が試聴される際の負荷を少なくすることが可能となる。
<変形例>
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施してもよい。
<変形例1>
制御部11が制御部21に対して指示する検索の方法として、インククリメンタル検索という方法を用いてもよい。ここで、インクリメンタル検索とは、ユーザにより明示的に指示が行われたことを契機として検索が開始されるのではなく、検索条件に変更が生じるごとに、所定のタイミングで、検索が開始される方法をいう。例えば、図12は、「0―2―4」というノートの配列を用いて検索が行われた結果を表していた。例えばここで、ユーザが、操作部14を用いて、さらに「5」という音高のノートを指定し、その後所定の時間が経過した場合、制御部11は、「0―2―4―5」というノートの配列を用いた検索の指示を、通信部13を用いて、サーバ装置200に送信することとなる。そして、サーバ装置200の制御部21は、受信したノートの配列に従って行った検索結果を、通信部23を用いて、通信端末100に送信する。この場合、音高が「5」というノートが追加され、検索条件が絞り込まれることとなるので、結果として、検索結果は、図12の状態から、例えば、図13のような状態に変化することとなる。図13は変形例1において絞り込まれた検索結果を表す図である。図13では、図12において3件表示されていた検索結果のうち、楽曲名が「△マーチ」という検索結果のみが表示されている。
変形例1によれば、ユーザは、指定するメロディを変更するたびに、操作部14を用いて、ボタンを押下するなどの操作を行う必要がないため、操作の手間を少なくすることが可能となる。
<変形例2>
実施形態では、図7に示されるように、制御部21が、部分オーディオデータ222a〜222dのうち、その開始時刻と先頭ノート400の発音時刻との差分が最も小さい部分オーディオデータの部分オーディオデータIDを、検索結果の部分オーディオデータIDとして出力していた。これに代えて、次のようにしてもよい。変形例2では、ユーザが、部分オーディオデータを検索する際に、検索結果である部分オーディオデータIDを有する部分オーディオデータにおいて、先頭の時刻から、ユーザが指定したメロディの箇所が再生される時刻までの時間をユーザが指定することが可能である。この場合、検索画面の上部に、上記ユーザが指定する時間である指定時間を入力可能な指定時間入力欄が表示される。例えば、ユーザは、操作部14を用いることで、指定時間入力欄に「5秒」という時間を入力する。
図14は、変形例2において部分オーディオデータを検索する処理を説明するための模式図である。同一の符号が付されたものは、図10と同じ内容を表す。ユーザが、操作部14を用いて鍵盤301をクリックすることで、このクリックに応じて、「0―2―4」というノートの配列を、制御部11がRAMに記憶させたとする。制御部11は、RAMに記憶された内容と、入力された指定時間(ここでは「5秒」)を表す情報とを、通信部13を用いてサーバ装置200に送信する。サーバ装置200の制御部21は、通信部23を用いて、これらを受信すると、RAMに記憶させる。
制御部21は、メロディデータDB221から、RAMに記憶された「0―2―4」というノートの配列で並んだメロディデータを検索すると、このメロディデータの楽曲ID及び、このメロディデータを構成するノートのうち先頭のノート(「0」)の発音時刻を特定する。図14では、制御部21が、先頭ノート400の発音時刻を「tn」であると特定したものとする。制御部21は、先頭ノート400の発音時刻「tn」からRAMに記憶された指定時間だけ前の時刻を、指定時刻「ti」として算出し、これをRAMに記憶させる。図14の例では、指定時間が「5秒」であるため、先頭ノート400の発音時刻「tn」から「5秒」だけ前の時刻が、指定時刻「ti」として算出される。ここで、図において、部分オーディオデータ222a〜222cが、「ti」を部分期間に含む部分オーディオデータである。そして、制御部21は、指定時刻「ti」を部分期間に含む部分オーディオデータのうち、その開始時刻と指定時刻「ti」との差分が最も小さい部分オーディオデータの部分オーディオデータIDを、検索結果として出力する。この結果、図において、制御部21は、部分オーディオデータ222cの部分オーディオデータIDを、検索結果としてRAMに記憶させる。
このように、変形例2によれば、ユーザは、指定時間に相当する期間の音声を前もって聴いたうえで、自らの指定したメロディを確認することができるので、指定したメロディに相当する箇所を聴き逃すようなことが少なくなるほか、気分を高めたタイミングで指定したメロディに相当する箇所を聴くという楽しみ方が可能となる。
<変形例3>
楽譜データを表す画像が液晶ディスプレイ151に表示される際に、ユーザにより指定されたメロディに相当する箇所をそのユーザに伝えるようにしてもよい。例えば、図12のような検索結果が液晶ディスプレイ151に表示されているときに、ユーザが、操作部14を用いて、楽曲名が「□ワルツ」である検索結果の楽譜データへのリンクをクリックしたとする。図15は、変形例3において指定された楽譜データの画像を表す図である。図では、指定された楽譜データの画像のうち、一部を表示している。図に示すように、ユーザにより指定されたメロディに相当する箇所が、丸印で囲われて液晶ディスプレイ151に表示されることとなる。
ユーザは、自らが指定したメロディに基づいて楽曲を覚えていることが多いと考えられるため、変形例3によれば、ユーザは、指定したメロディに相当する箇所を、楽譜データの画像上で確認しやすいことで、楽曲のうち自らにとって特徴的な箇所の楽譜を、即座に見誤ることなく確認することが可能となる。
<変形例4>
実施形態においては、全ての楽曲において部分オーディオデータの時間軸上の長さ、つまり時間長が同一であったが、BPMの異なる楽曲ごとに時間長が異なるようにしてもよい。図16は、変形例4における部分オーディオデータDB222の内容を表す図である。変形例4における部分オーディオデータDB222には、図5の内容に加えて、「BPM」という項目が含まれている。この「BPM」は、楽曲のBPMを表す。同一の楽曲IDを有する部分オーディオデータは、通常、BPMとして同じ値を有している。図16に示されるように、「△マーチ」という楽曲名の部分オーディオデータは、BPMが「110」であって、各々が「10秒間」の時間長で部分に分けられている。これに対して、「○のテーマ」という楽曲名の部分オーディオデータは、BPMが「135」であって、各々が「5秒間」の時間長で部分に分けられている。つまり、「△マーチ」より速いBPMを有する「○のテーマ」という楽曲の部分オーディオデータは、「△マーチ」より短い時間長で部分に分けられていることとなる。これは、以下のような理由による。BPMが速い楽曲の場合、メロディも速いテンポで移り変わる可能性が高く、従って、オーディオデータがより短い時間長で部分に分けられた方が、検索が行われる際に、部分オーディオデータの開始時刻と指定されたメロディの先頭ノートの発音時刻との差分がより小さく検出されやすくなる。この結果、検索結果の部分オーディオデータにおいて、ユーザが指定したメロディが先頭から再生されやすくなる。
BPMと、オーディオデータが部分に分けられるときの時間長とは、その対応関係がテーブルとして記憶部22に記憶されている。例えば、BPM「100〜115」に対して時間長が「10秒間」、BPM「115〜130」に対して時間長が「7秒間」、BPM「130〜145」に対して時間長が「5秒間」といった具合である。つまり、部分オーディオデータDB222に含まれる部分オーディオデータは、楽曲のテンポが速いほど短い時間長で部分に分けられることとなる。
このように、変形例4によれば、楽曲のBPMに応じて、指定されたメロディの先頭ノートが、検索結果の部分オーディオデータにおいて先頭から再生されやすくなり、ユーザは、検索結果を再生する際に、指定したメロディと関係ない箇所を聴く手間が少なくなり、スムーズに試聴を行うことが可能となる。
<変形例5>
実施形態において、部分オーディオデータの時間長は所定の長さの期間(つまり固定長)であったが、そうでなくてもよい。例えば、楽曲においていわゆるサビに相当する部分は、耳につくメロディであることが多いため、検索時に指定されることが多いと考えられる。つまり、このような部分については、検索対象となることが多いため、部分に分けるときの時間長をより短いものとすることで、ユーザは、指定したメロディが頭出しされた状態で検索結果を得やすくなる。従って、部分オーディオデータにおいて、サビに相当する部分は時間長が短くなるように、それ以外の部分はサビと比較して時間長が長くなるようにしてもよい。また、実施形態では、部分オーディオデータは、時間軸において共通の期間を持つ複数の部分に分けられたものであったが、この共通の期間についても固定長でなくてもよい。例えば、検索時における上述した理由から、サビに相当する部分は、部分オーディオデータ同士の共通の期間が長くなるようにし、それ以外の部分は、共通の期間が短くなるようにしてもよい。
変形例5によれば、検索対象となりやすい箇所の部分オーディオデータにおいて、ユーザが、指定したメロディが頭出しされた状態で検索結果を得やすくなる。
<変形例6>
ユーザがメロディを指定する方法は、実施形態のように、検索画面に表示される鍵盤301を、操作部14を用いてクリックするものに限らず、メロディを表す文字列又は記号が記述されたファイルを用いたり、テキストボックスにメロディを表す文字列又は記号を入力する方法を用いてもよい。ファイルを用いる場合、ユーザは、検索画面に表示された入力ボックスに、指定したいメロディを表す文字列又は記号が記述されたファイルのファイルパスを入力する。この入力は、直接入力に限らず、ユーザがファイルを選択して決定することによって実現されてもよい。そしてユーザは、変形例6において検索画面に表示されるメロディの指定を指示するボタンを押下する。制御部11は、ボタンの押下を検知すると、通信部13を用いてこのファイルをサーバ装置200に送信する。サーバ装置200の制御部21は、通信部23を用いてファイルを受信すると、ファイルに記述された文字列又は記号を解析して、ノートの配列に変換する。以降、制御部21は、実施形態と同様の処理を行う。テキスト入力の場合、制御部11が通信部13を用いてサーバ装置200に送信する内容が、ファイルに変わって文字列又は記号そのものとなるだけであって、それ以降の処理はファイルの場合と同様である。
このように変形例6によれば、ユーザは、鍵盤301を用いてメロディを指定することに慣れていない場合や、メロディが複雑であって、鍵盤301を用いて指定することが煩雑である場合に、手間を減らすことが可能となる。
<変形例7>
ユーザにより指定されたメロディを転調したものも検索対象となるようにしてもよい。変形例7では、検索画面の上部に、転調したメロディを検索対象とするか否かを指示するための、チェックボックスが表示される。ユーザが、操作部14を用いて、このチェックボックスにチェックを入れると、制御部11は、転調したメロディも検索対象とする旨の指示を、通信部13を用いてサーバ装置200に送信する。サーバ装置200は、通信部23を用いてこれを受信すると、指定されたノートの配列を所定の規則に従って転調させることで、指定されたものとは異なるノートの配列を生成する。この所定の規則は記憶部22に予め記憶されている。ここでは、所定の規則を、例えば、各々のノートにおける音高の相対的な関係を維持したまま、ノートの音高を上下させる方法とする。例えば、音高が「C3−D3−E3」というノートの配列を指定され、音高の相対的な関係が「0−2−4」であった場合、制御部21は、音高の相対的な関係が「1−3−5」であって、音高が「C3#−D3#−F」というノートの配列を生成する。転調したメロディを何通り作成するか、あるいは1回の転調につき半音何個分の音高を上下させるかは、パラメータとして記憶部22に予め記憶されていてもよい。また、これらのパラメータは、ユーザが、操作部14を用いて、検索画面においてチェックボックスにチェックを入れるときに、テキストボックスやプルダウン形式のリストボックスで指定してもよい。
変形例7において、制御部21は、ステップS210で、転調後のメロディを生成すると、ユーザにより指定されたノートの配列とともに、生成した転調後のノートの配列をRAMに記憶させる。そして制御部21は、ステップS220で、RAMに記憶された全てのノートの配列を用いてメロディデータDB221を検索する。以降の処理は、実施形態と同様である。このように、変形例7において、特定手段212として機能する制御部21は、ユーザにより指定されたメロディそのものと、このメロディを転調したものとを用いてメロディデータDB221の検索を行い、これらのメロディを含む楽曲と、これらのメロディにおいて先頭に配列されている音に対応付けられた発音時刻との組を特定する。
変形例7によれば、ユーザがメロディを指定する際に、記憶違いなどにより本来の調とは異なる調でメロディを指定した場合であっても、ユーザは、意図していた検索結果を得る可能性が高くなる。
<変形例8>
1つの楽曲内で、同じメロディが複数回繰り返されることがある。これにより、或る楽曲において、ユーザにより指定されたメロディに相当する箇所が複数存在する場合、次のようにしてもよい。ステップS230で制御部21は、或る楽曲において、ユーザにより指定されたものと同じメロディがメロディデータに複数箇所存在する場合、各々の箇所を表すメロディデータを構成するノートのうち先頭のノートの発音時刻を特定すると、楽曲IDと対応付けた組としてRAMに記憶させる。つまり、この場合、制御部21は、ある楽曲について、楽曲IDと先頭のノートの発音時刻との組をRAMに複数記憶させることとなる。以降、制御部21は、RAMに記憶された内容に従って処理を行う。この結果、ステップS500の処理が行われると、例えば、液晶ディスプレイ151に表示される検索画面の下部には、「楽曲名」及び「アーティスト名」が同一であって、「試聴開始時刻」が異なる複数の検索結果が表示されることとなる。
変形例8によれば、ユーザは、同一の楽曲において、指定したメロディを含み各々が異なる複数の検索結果を得る。これにより、同一の楽曲内に上記メロディを含む箇所が複数存在している場合でも、ユーザは、自らの意図していた箇所に相当する部分オーディオデータに基づく音声を聴くことが可能となる。
<変形例9>
実施形態においては、制御部21が、その開始時刻と先頭ノート400の発音時刻との差分が最も小さい部分オーディオデータの部分オーディオデータIDを、検索結果としてRAMに記憶させていたが、これに代えて次のようにしてもよい。図17は、変形例9において部分オーディオデータを検索する処理を説明するための模式図である。図においてtは時間を表し、図中で右へ進むほど時間が経過することを表す。矩形で表された部分オーディオデータ222a〜222dは、図10と同様であり、それぞれ異なる開始時刻tstart及び終了時刻tendを有する。
変形例9において、制御部21は、指定されたノートの配列に基づいて、メロディデータDB221から同じノートの配列で並んだメロディデータを検索すると、このメロディデータの楽曲ID及び、このメロディデータを構成するノートのうち末尾のノートの発音時刻を特定する。図に表された円形は、通信端末100を通じて指定されたメロディの末尾ノート500を表しており、この末尾ノート500の発音時刻は「tm」である。ここで、「tm」を部分期間に含む部分オーディオデータは、図に示すように、部分オーディオデータ222a〜222dという4つである。そして、制御部21は、「tm」を部分期間に含む部分オーディオデータのうち、その終了時刻と末尾ノート500の発音時刻との差分が最も小さい部分オーディオデータを特定すると、特定した部分オーディオデータの部分オーディオデータIDを検索結果として出力する。この結果、図において、制御部21は、部分オーディオデータ222aの部分オーディオデータIDを、検索結果として出力する。
変形例9によれば、制御部21は、ユーザにより指定されたメロディを含み、かつ、このメロディに対して前もって演奏される箇所をより多く含む部分オーディオデータの部分オーディオデータIDを出力する。この結果、出力結果の部分オーディオデータIDを有する部分オーディオデータにおいて、ユーザにより指定されたメロディは後方の箇所に相当することとなる。これにより、ユーザは、変形例2のように指定時間を明示的に入力する手間を要さずに、指定したメロディに相当する箇所を聴き逃すようなことが少なくなるほか、気分を高めたタイミングで指定したメロディに相当する箇所を聴くという楽しみ方が可能となる。
また、特定手段212として機能する制御部21は、発音時刻を特定する際の対象を、メロディデータを構成するノートのうち末尾のノートや先頭のノートに限らなくともよい。例えば、制御部21は、メロディデータの配列番号が「0〜n」であった場合、この「0〜n」のうちいずれかの配列番号を持ちメロディデータを構成するノートのうち、いずれのノートの発音時刻を特定してもよい。このようにしても、出力手段213として機能する制御部21は、特定手段212によって特定された楽曲を表す部分オーディオデータのうち、特定手段212によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを出力することが可能となる。
<変形例10>
検索が行われる際に、ユーザにより指定されたメロディを表す画像が、検索画面に視覚的に表示されるようにしてもよい。例えば、ユーザにより指定されたメロディを表す画像が、五線譜を用いて音符として表されてもよいし、「C3−E3−G」といった音高を示す記号として表されてもよい。このとき、ユーザは、上述のように五線譜や記号で示された、指定したメロディを表す画像に対して、操作部14を用いて、表示された音符や記号のうち特定のものを指定して削除することが可能である。また、検索画面の上部に、ユーザにより指定されたメロディを白紙の状態、すなわちメロディが未指定の状態に戻すクリアーボタンが表示されるようにしてもよい。ユーザが、操作部14を用いて、このクリアーボタンを押下すると、制御部11は、RAMに記憶されたノートの配列を消去するとともに、検索画面の下部に表示されていた検索結果も消去させて0件表示とする。
このように変形例10によれば、ユーザは、自らの指定したメロディの内容を視覚的に確認することで、検索対象のメロディの指定ミスを少なくすることが可能となる。また、ユーザは、誤って指定した音を削除する操作が可能であり、かつ、一度指定したメロディをクリアーする操作が可能であるため、様々なメロディを試しに指定したりするときに、メロディを指定しなおすときの余計な手間が省けるうえ、誤って指定した場合でも簡単にやり直しを行うことが可能となり、ユーザにとって操作性が向上する。
<変形例11>
実施形態のように、通信端末100と、サーバ装置200と、ネットワークNWとを備えるシステムではなく、サーバ装置のみによって実現される構成としてもよい。変形例11におけるサーバ装置は、操作部、液晶ディスプレイを有する表示部、出力部を備えている。これらの各部は、通信端末100の備えるものと同様の機能を有する。そして、変形例11において、サーバ装置は、ユーザによって指定されたノートの配列であるメロディを、このサーバ装置に入力する入力手段を備えている。この入力手段は、例えば、サーバ装置と通信可能に接続された、鍵盤型のキーボードやタイピング用のキーボードであればよい。また、操作部によって入力手段が実現されてもよい。
ユーザが、このような入力手段を用いてメロディを指定すると、サーバ装置の制御部は、ユーザによって指定された、つまり、サーバ装置に入力されたノートの配列であるメロディを取得する。そして、制御部は、取得したメロディに基づいて検索を行い、検索結果である部分オーディオデータへのリンクを液晶ディスプレイに表示させる。ユーザが、操作部を用いてリンクをクリックすると、制御部は、リンクで表される情報に基づいて記憶部に記憶された部分オーディオデータを読み出すと、この部分オーディオデータの音声を出力部から出力させる。このようにしても、実施形態と同様の効果を奏することができる。
<変形例12>
実施形態においては、ユーザにより指定されたメロディにおけるノートの配列のみに基づいて、制御部21が、メロディデータDB221からメロディデータを検索していたが、これに代えて、制御部21が、指定されたメロディにおけるノートの時刻情報をも考慮してメロディデータを検索するようにしてもよい。
変形例12では、図7におけるステップS100と同じタイミングにおいて、通信端末100の制御部11が、ユーザにより指定されたメロディ、すなわちノートの配列を、各ノートの時刻情報と対応付けて、通信部13を用いてサーバ装置200に送信する。この時刻情報を、以降、各ノートが指定されたときの発音時刻を意味することから、指定発音時刻という。ここで、制御部11は、指定されたメロディのうち、先頭のノートの指定発音時刻を「00:00:00」とすると、これを基準として、以降の各ノートが指定されるまでに経過した時間長に応じて、各ノートの指定発音時刻を決定する。例えば、ユーザにより指定されたメロディが「0―2―4」(「C3―D3―E3」)であった場合、制御部11は、「0」のノートの指定発音時刻を「00:00:00」とし、「2」のノートの指定発音時刻を「00:00:02」とし、「4」のノートの指定発音時刻を「00:00:03」とする、といった具体である。そして、図7におけるステップS200と同じタイミングにおいて、サーバ装置200の制御部21は、受信した、指定発音時刻と対応付けられたノートの配列に基づいて、メロディデータDB221から楽曲IDと発音時刻の組を検索する。
図18は、変形例12においてメロディデータDB221を検索する処理のフローチャートである。制御部21は、通信部23を用いて受信した、指定発音時刻と対応付けられたノートの配列をRAMに記憶させる(ステップS210a)。制御部21は、RAMに記憶された、指定発音時刻と対応付けられたノートの配列に基づいて、メロディデータDB221を検索する(ステップS220a)。制御部21は、同じノートの配列で並び、かつ、指定発音時刻で表された時刻どうしの相対的な間隔と同じ間隔で発音時刻が並んだメロディデータが存在していた場合(ステップS220a;YES)、このメロディデータの楽曲ID及び、上記配列で並んだメロディデータを構成するノートのうち、先頭のノートの発音時刻を特定する(ステップS230a)。
具体的には、例えば、RAMに記憶されたメロディが「0―2―4」(「C3―D3―E3」)であり、各ノートの指定発音時刻どうしの相対的な間隔が、「00:00:00−00:00:02―00:00:03」であったとする。この場合、制御部21は、ステップS220aにおいて、メロディデータDB221から、「0―2―4」の配列で並んだメロディデータのうち、発音時刻どうしの相対的な間隔が「00:00:00−00:00:02―00:00:03」であるメロディデータを検索する。例えば、制御部21は、メロディデータDB221において、「0−2−4」の配列で並び、かつ、発音時刻が「00:00:15−00:00:17−00:00:18」であるメロディデータを検索結果として出力する。そして検索結果があった場合、制御部21は、検索結果のメロディデータのうち、先頭のノート(すなわち、上記例では音高が「0」であるノート)の発音時刻(すなわち、上記例では「00:00:15」)と、検索結果のメロディデータの楽曲IDとの組を特定すると、この組をRAMに記憶させる。一方、制御部21は、ステップS220aでNOと判定すると、図に示した処理を終了する。以降の処理は、実施形態と同様にして行われる。
制御部21が、ステップS220aで検索を行う際に、指定発音時刻で表された時刻どうしの相対的な間隔とメロディデータの発音時刻どうしの間隔が完全に一致するものを検索結果として出力してもよいし、設定により、完全に一致しなくとも一定の誤差を許容するようにしてもよい。この誤差は、例えば「1秒」という時間で表され、パラメータとして予め記憶部22に記憶されている。このような誤差を許容する設定とした場合、RAMに記憶されたメロディにおける各ノートの指定発音時刻どうしの相対的な間隔が、「00:00:00−00:00:02―00:00:03」であったときに、このメロディと同じノートの配列で並び、発音時刻が「00:00:15−00:00:18−00:00:19」であるメロディデータなどを検索結果として出力することが可能となる。
このように、変形例12によれば、指定されたメロディにおけるノートの時刻情報を考慮してメロディデータが検索されるため、ユーザは、より意図していたものに近い検索結果を得ることができる。
<変形例13>
実施形態においては、ユーザが操作部14を用いて、検索画面に表示された或る部分オーディオデータのリンクをクリックすると、通信端末100の制御部11が、この部分オーディオデータの先頭から末尾にあたる範囲に基づく音声を、出力部16から出力させていた。これに代えて、次のようにしてもよい。
変形例13では、図11のステップS320のタイミングで、制御部21が、部分オーディオデータDB222において、特定された楽曲IDを有する部分オーディオデータのうち、その開始時刻と特定された発音時刻との差分が最も小さい部分オーディオデータの部分オーディオデータIDと、上記特定された発音時刻とを対応付けてRAMに記憶させる。そして、図7のステップS400のタイミングで、制御部21は、RAMに記憶された部分オーディオデータのIDと、特定された発音時刻と、楽譜データへのリンク先を表す情報とを、通信部23を用いて、通信端末100へ送信、つまり出力する。また、図7のステップS800のタイミングで、通信端末100の制御部11は、通信部13を用いて受信した部分オーディオデータに基づく音声を、上記特定された発音時刻から再生されるように出力部16から出力させる。
変形例13によれば、検索結果の部分オーディオデータにおいて、ユーザにより指定されたメロディが先頭から再生されるので、ユーザは、自らが所望している楽曲かどうかを認識することが容易になる、という効果を奏する。
11,21…制御部、12,22…記憶部、221…メロディデータDB、222…部分オーディオデータDB、222a〜222d…部分オーディオデータ、223…楽譜DB、13,23…通信部、14…操作部、15…表示部、151…液晶ディスプレイ、16…出力部、17,24…バス、100…通信端末、200…サーバ装置、301…鍵盤、302…BPM指定欄、303…検索ボタン、400…先頭ノート、500…末尾ノート、NW…ネットワーク

Claims (4)

  1. 音の配列であるメロディを取得するメロディ取得手段と、
    楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第1の記憶手段と、
    前記楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸上で隣り合う当該部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第2の記憶手段と、
    前記第1の記憶手段に記憶されている楽曲のメロディから、前記メロディ取得手段によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段と、
    前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲を表す部分オーディオデータのうち、前記特定手段によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、前記第2の記憶手段から読み出して出力する出力手段と
    を備え
    前記特定手段は、
    前記検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて先頭に配列された音に対応付けられた発音時刻とを特定し、
    前記出力手段は、
    前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、その開始時刻と前記特定手段によって特定された発音時刻との差分が最も小さい部分オーディオデータを特定する情報を、前記第2の記憶手段から読み出して出力する
    ことを特徴とする情報処理装置。
  2. 音の配列であるメロディを取得するメロディ取得手段と、
    楽曲のメロディと、当該メロディに含まれる各音の発音時刻とを対応付けて記憶した第1の記憶手段と、
    前記楽曲を表すオーディオデータが時間軸において複数の部分に分けられた部分オーディオデータであって、時間軸上で隣り合う当該部分オーディオデータどうしが共通の期間を有する部分オーディオデータを記憶する第2の記憶手段と、
    前記第1の記憶手段に記憶されている楽曲のメロディから、前記メロディ取得手段によって取得されたメロディと同じ音の配列のメロディを検索し、この検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて配列された音に対応付けられた発音時刻とを特定する特定手段と、
    前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲を表す部分オーディオデータのうち、前記特定手段によって特定された発音時刻を含み、当該発音時刻との時間軸上の関係が予め決められた関係である部分オーディオデータを特定する情報を、前記第2の記憶手段から読み出して出力する出力手段と
    を備え
    前記特定手段は、
    前記検索の結果得られたメロディを含む楽曲と、当該楽曲のメロディにおいて末尾に配列された音に対応付けられた発音時刻とを特定し、
    前記出力手段は、
    前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、その終了時刻と前記特定手段によって特定された発音時刻との差分が最も小さい部分オーディオデータを特定する情報、前記第2の記憶手段から読み出して出力する
    ことを特徴とする情報処理装置。
  3. 前記通信端末において指定された時間を取得する指定時間取得手段を備え、
    前記出力手段は、
    前記第2の記憶手段に記憶された部分オーディオデータであって、前記特定手段によって特定された楽曲の部分オーディオデータのうち、前記特定手段によって特定された発音時刻よりも前記指定時間取得手段によって取得された時間だけその開始時刻が早い部分オーディオデータを特定する情報を、前記第2の記憶手段から読み出して出力する
    ことを特徴とする請求項に記載の情報処理装置。
  4. 前記出力手段は、
    前記特定手段によって特定された発音時刻と、前記部分オーディオデータを特定する情報とを対応付けて出力する
    ことを特徴とする請求項1〜のいずれかに記載の情報処理装置。
JP2011153859A 2011-07-12 2011-07-12 情報処理装置 Active JP5720451B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011153859A JP5720451B2 (ja) 2011-07-12 2011-07-12 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011153859A JP5720451B2 (ja) 2011-07-12 2011-07-12 情報処理装置

Publications (2)

Publication Number Publication Date
JP2013020482A JP2013020482A (ja) 2013-01-31
JP5720451B2 true JP5720451B2 (ja) 2015-05-20

Family

ID=47691849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011153859A Active JP5720451B2 (ja) 2011-07-12 2011-07-12 情報処理装置

Country Status (1)

Country Link
JP (1) JP5720451B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3467415B2 (ja) * 1998-12-01 2003-11-17 日本電信電話株式会社 音楽検索装置,音楽検索方法および音楽検索プログラムを記録した記録媒体
JP2002157255A (ja) * 2000-11-21 2002-05-31 Sony Corp 楽曲検索装置及び方法
US20050103187A1 (en) * 2002-01-24 2005-05-19 Bodlaender Maarten P. Music retrieval system for joining in with the retrieved piece of music
JP4241445B2 (ja) * 2004-03-10 2009-03-18 日本電信電話株式会社 音楽内容検索装置及びプログラム及びコンピュータ読み取り可能な記録媒体
JP2006276560A (ja) * 2005-03-30 2006-10-12 Kenwood Corp 音楽再生装置および音楽再生方法
JP2009015535A (ja) * 2007-07-03 2009-01-22 Nippon Laboatec Kk 類似音楽検索装置、類似音楽検索方法、類似音楽検索プログラム及びコンピュータで読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP2013020482A (ja) 2013-01-31

Similar Documents

Publication Publication Date Title
JP5369689B2 (ja) 情報処理装置及びプログラム
JP2005309029A (ja) 楽曲データのストリーミング提供サーバ装置及び方法並びにストリーミング利用電子音楽装置
US7968787B2 (en) Electronic musical instrument and storage medium
JP2008041043A (ja) 情報処理装置
CN101551997A (zh) 一种乐曲辅助学习***
JP2006201654A (ja) 伴奏追従システム
JP3958207B2 (ja) いま予約した楽曲に関連する楽曲を検索しやすくして続けて予約できるようにしたカラオケ選曲予約装置
JP2005227850A (ja) 情報処理装置、情報処理方法及びプログラム
JP4882980B2 (ja) 楽曲検索装置及びプログラム
JP5720451B2 (ja) 情報処理装置
JP5394301B2 (ja) タイミング指定装置、曲再生装置、カラオケシステム及びタイミング指定方法
JP2007163575A (ja) 電子楽器及び演奏レベル表示方法
JP5552968B2 (ja) 楽曲検索装置および楽曲検索方法
JP2005345559A (ja) 替え歌演奏機能を有するカラオケシステム
JP5633446B2 (ja) ライブ配信システム、データ中継装置及びプログラム
JP4498221B2 (ja) カラオケ装置、およびプログラム
JP6580927B2 (ja) カラオケ用制御装置及びプログラム
JP2008083297A (ja) 音楽プレーヤー及びサーバー装置
JP4407419B2 (ja) 電子音楽装置
JP4924040B2 (ja) 電子楽器及びプログラム
JP5834514B2 (ja) 情報処理装置、情報処理システム、情報処理方法、および、プログラム
JP6611633B2 (ja) カラオケシステム用サーバ
JP6699137B2 (ja) データ管理装置、コンテンツ再生装置、コンテンツ再生方法、及びプログラム
JP6638429B2 (ja) カラオケ装置及びカラオケ用プログラム
JP6525841B2 (ja) カラオケシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150309

R151 Written notification of patent or utility model registration

Ref document number: 5720451

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151