(57)【要約】【課題】ユーザはデータを修正しなくても正しいデータを取得することが可能なデータ管理システム、ユーザ端末、及びサーバを提供すること。【解決手段】データ管理システムは、複数のユーザ端末とサーバとを備える。サーバは、データの特徴情報と修正データとをユーザ端末から受信すると、修正データを特徴情報に対応付けて記憶し、特徴情報に対応付けて記憶されている複数の修正データのうち基準数以上存在する同一のデータを抽出することにより的確データを作成し、的確データを特徴情報に対応付けて登録する。サーバは、データの特徴情報をユーザ端末から受信すると、特徴情報に対応付けて登録されている的確データをユーザ端末に送信する。【選択図】図１
2018081412.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザ端末とサーバとを備えてデータを管理するデータ管理システムであって、
前記ユーザ端末は、
修正データをアップロードする場合には、
データを解析することにより、該データを同定するための特徴情報を生成する第１生成処理と、
前記データを解析することにより、解析データを生成する第２生成処理と、
前記解析データをユーザが修正することにより作成された前記修正データと前記特徴情報とを前記サーバに送信する第１端末側送信処理とを実行し、
的確データをダウンロードする場合には、
前記第１生成処理と、
前記特徴情報を前記サーバに送信する第２端末側送信処理と、
前記サーバに登録されている前記的確データを受信する受信処理とを実行し、
前記サーバは、
前記第１端末側送信処理が実行された場合に、前記修正データを前記特徴情報に対応付けて記憶する記憶処理と、
前記特徴情報に対応付けて記憶されている複数の修正データのうち基準数以上存在する同一のデータを抽出することにより前記的確データを作成し、該的確データを該特徴情報に対応付けて登録する登録処理と、
前記第２端末側送信処理が実行された場合に、前記特徴情報に対応付けて登録されている前記的確データを前記ユーザ端末に送信するサーバ側送信処理とを実行することを特徴とするデータ管理システム。
【請求項２】
データをサーバとの間で送受信するユーザ端末であって、
修正データをアップロードする場合には、
データを解析することにより、該データを同定するための特徴情報を生成する第１生成処理と、
前記データを解析することにより、解析データを生成する第２生成処理と、
前記解析データをユーザが修正することにより作成された前記修正データと前記特徴情報とを前記サーバに送信する第１端末側送信処理とを実行し、
的確データをダウンロードする場合には、
前記第１生成処理と、
前記特徴情報を前記サーバに送信する第２端末側送信処理と、
前記サーバに前記特徴情報に対応付けて登録されている前記的確データを受信する受信処理とを実行することを特徴とするユーザ端末。
【請求項３】
前記データは、オーディオ曲のコード進行データであることを特徴とする請求項１に記載のデータ管理システム。
【請求項４】
前記データは、オーディオ曲のコード進行データであることを特徴とする請求項２に記載のユーザ端末。
【請求項５】
オーディオ曲のコード進行データをユーザ端末との間で送受信するサーバであって、
オーディオ曲を同定するための特徴情報と、該オーディオ曲の解析により得られた解析コード進行データに修正を加えた修正コード進行データとを前記ユーザ端末から受信した場合に、該修正コード進行データを該特徴情報に対応付けて記憶する記憶処理と、
前記特徴情報に対応付けて記憶されている複数の修正コード進行データのうち基準数以上存在する同一のデータを抽出することにより的確コード進行データを作成し、該的確コード進行データを該特徴情報に対応付けて登録する登録処理と、
前記特徴情報を前記ユーザ端末から受信した場合に、前記特徴情報に対応付けて登録されている前記的確コード進行データを前記ユーザ端末に送信するサーバ側送信処理とを実行することを特徴とするサーバ。
【請求項６】
前記特徴情報は、フィンガープリントであることを特徴とする請求項１又は請求項３に記載のデータ管理システム。
【請求項７】
前記特徴情報は、フィンガープリントであることを特徴とする請求項２又は請求項４に記載のユーザ端末。
【請求項８】
前記特徴情報は、フィンガープリントであることを特徴とする請求項５に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを管理するデータ管理システム、ユーザ端末、及びサーバに関するものである。
【背景技術】
【０００２】
従来より、オーディオ曲に関連した情報を管理する技術が種々提案されている。
【０００３】
例えば、下記特許文献１に記載された音楽概念データ処理サーバは、それぞれ映像提供地域を示す複数の目的地情報と前記複数の目的地情報の中の１つ又は複数に関連付けされており、かつ楽曲の概念を表す複数の語彙分類ノード情報とを含む概念グラフのデータを格納したデータファイルと、外部のクライアントより再生希望の楽曲の情報を受け取る受信情報処理部と、前記楽曲の概念を表す楽曲概念情報と類似又は同一意味の語彙分類ノード情報を前記複数の語彙分類ノード情報中から検索し、検索した語彙分類ノード情報に対応するヒット目的地情報を前記複数の目的地情報の中から抽出し、かつ前記楽曲概念情報を変更して複数回前記検索を実行して、前記選択された楽曲に関連性の高い１つ又は複数のヒット目的地情報を取得する検索部と、前記１つ又は複数のヒット目的地情報を利用して対応するカメラ配置情報を取得する検索及び通信部と、前記カメラ配置情報を前記クライアントに送信する送信情報処理部とを有したことを特徴とする。
【０００４】
さらに、前記概念グラフのデータは、前記クライアント側で改良されアップロードされたものであることを特徴とする。
【０００５】
従って、下記特許文献１に記載された音楽概念データ処理サーバでは、データファイルに格納された概念グラフのデータをクライアントが改良してアップロードし、他のクライアントに提供することが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２１８４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、オーディオ曲のデータから解析されたコード進行データをユーザが修正してアップロードし、他のユーザに提供しても、その提供されたコード進行データが正しいコード進行データとは限らなかった。
【０００８】
そこで、本発明は、上述した点を鑑みてなされたものであり、ユーザはデータを修正しなくても正しいデータを取得することが可能なデータ管理システム、ユーザ端末、及びサーバを提供することを課題とする。
【課題を解決するための手段】
【０００９】
この課題を解決するためになされた請求項１に係る発明は、複数のユーザ端末とサーバとを備えてデータを管理するデータ管理システムであって、ユーザ端末は、修正データをアップロードする場合には、データを解析することにより、データを同定するための特徴情報を生成する第１生成処理と、データを解析することにより、解析データを生成する第２生成処理と、解析データをユーザが修正することにより作成された修正データと特徴情報とをサーバに送信する第１端末側送信処理とを実行し、的確データをダウンロードする場合には、第１生成処理と、特徴情報をサーバに送信する第２端末側送信処理と、サーバに登録されている的確データを受信する受信処理とを実行し、サーバは、第１端末側送信処理が実行された場合に、修正データを特徴情報に対応付けて記憶する記憶処理と、特徴情報に対応付けて記憶されている複数の修正データのうち基準数以上存在する同一のデータを抽出することにより的確データを作成し、的確データを特徴情報に対応付けて登録する登録処理と、第２端末側送信処理が実行された場合に、特徴情報に対応付けて登録されている的確データをユーザ端末に送信するサーバ側送信処理とを実行することを特徴とする。
【００１０】
請求項２に係る発明は、データをサーバとの間で送受信するユーザ端末であって、修正データをアップロードする場合には、データを解析することにより、データを同定するための特徴情報を生成する第１生成処理と、データを解析することにより、解析データを生成する第２生成処理と、解析データをユーザが修正することにより作成された修正データと特徴情報とをサーバに送信する第１端末側送信処理とを実行し、的確データをダウンロードする場合には、第１生成処理と、特徴情報をサーバに送信する第２端末側送信処理と、サーバに特徴情報に対応付けて登録されている的確データを受信する受信処理とを実行することを特徴とする。
【００１１】
請求項３に係る発明は、請求項１に記載のデータ管理システムであって、データは、オーディオ曲のコード進行データであることを特徴とする。
【００１２】
請求項４に係る発明は、請求項２に記載のユーザ端末であって、データは、オーディオ曲のコード進行データであることを特徴とする。
【００１３】
請求項５に係る発明は、オーディオ曲のコード進行データをユーザ端末との間で送受信するサーバであって、オーディオ曲を同定するための特徴情報と、オーディオ曲の解析により得られた解析コード進行データに修正を加えた修正コード進行データとをユーザ端末から受信した場合に、修正コード進行データを特徴情報に対応付けて記憶する記憶処理と、特徴情報に対応付けて記憶されている複数の修正コード進行データのうち基準数以上存在する同一のデータを抽出することにより的確コード進行データを作成し、的確コード進行データを特徴情報に対応付けて登録する登録処理と、特徴情報をユーザ端末から受信した場合に、特徴情報に対応付けて登録されている的確コード進行データをユーザ端末に送信するサーバ側送信処理とを実行することを特徴とする。
【００１４】
請求項６に係る発明は、請求項１又は請求項３に記載のデータ管理システムであって、特徴情報は、フィンガープリントであることを特徴とする。
【００１５】
請求項７に係る発明は、請求項２又は請求項４に記載のユーザ端末であって、特徴情報は、フィンガープリントであることを特徴とする。
【００１６】
請求項８に係る発明は、請求項５に記載のサーバであって、特徴情報は、フィンガープリントであることを特徴とする。
【発明の効果】
【００１７】
本発明のデータ管理システム、ユーザ端末、及びサーバによれば、ユーザはデータを修正しなくても正しいデータを取得することが可能である。
【図面の簡単な説明】
【００１８】
【図１】本実施形態のコード管理システムの概要を表す図である。
【図２】本実施形態のスマートフォンの電気的構成を表すブロック図である。
【図３】本実施形態のサーバの電気的構成を表すブロック図である。
【図４】本実施形態のスマートフォンに表示されたオーディオ曲の解析コード進行データの一例を表す図である。
【図５】本実施形態のスマートフォンに表示されたオーディオ曲の修正コード進行データの一例を表す図である。
【図６】本実施形態のスマートフォンに表示されたオーディオ曲の的確コード進行データの一例を表す図である。
【図７】本実施形態のスマートフォンがオーディオ曲の修正コード進行データをアップロードする場合のフローチャート図である。
【図８】本実施形態のスマートフォンがオーディオ曲の的確コード進行データをダウンロードする場合のフローチャート図である。
【発明を実施するための形態】
【００１９】
以下、本発明のデータ管理システム、ユーザ端末、及びサーバを具体化した実施形態について、図面を参照しつつ説明する。
【００２０】
［１．コード管理システムの概要］
先ず、本実施形態のコード管理システムの概要について説明する。図１に表すように、コード管理システム１は、複数のスマートフォン３及びサーバ５を備えている。複数のスマートフォン３及びサーバ５は、通信網７に接続されている。通信網７には、例えば、インターネット（登録商標）又はＬＡＮ（Local Area Network）がある。
【００２１】
各スマートフォン３には、アプリケーションソフトウェアが搭載されている。そのアプリケーションソフトウェアは、オーディオ曲Ｓのデータから、フィンガープリント（以下、「フィンガープリントＦ」と記載する。）とコード進行データとを生成する。尚、オーディオ曲Ｓは、そのデータがＭＰ３（MPEG-1 Audio Layer-3）形式又はＷＭＡ（Windows Media Audio）形式等の圧縮技術の音声ファイルフォーマットで作られたものであっても良いし、ＷＡＶ（RIFF waveform Audio Format）形式等の無圧縮技術の音声ファイルフォーマットで作られたものであっても良い。
【００２２】
上記アプリケーションソフトウェアによって生成されるフィンガープリントＦは、上記アプリケーションソフトウェアがオーディオ曲Ｓのデータを自動解析することによって、オーディオ曲Ｓの特徴を抽出したものであり、オーディオ曲Ｓの同一性を確認するために使用される。フィンガープリントＦには、例えば、オーディオ曲Ｓのデータをハッシュ関数にかけて得られたハッシュ値がある。
【００２３】
尚、オーディオ曲Ｓの同一性を確認するために使用される情報は、フィンガープリントＦに限るものでなく、オーディオ曲Ｓの特徴が表された情報であれば良い。
【００２４】
上記アプリケーションソフトウェアによって生成されるコード進行データは、上記アプリケーションソフトウェアがオーディオ曲Ｓのデータを自動解析することによって得られるものであり、解析コード進行データ（以下、「解析コード進行Ｃ」と記載する。）という。解析コード進行Ｃは、ユーザが手動修正することによって、修正コード進行データ（以下、「修正コード進行ＡＣ」と記載する。）になる。尚、下記の通り、ユーザが、サーバ５より的確コード進行データ（以下、「的確コード進行ＣＣ」と記載する。）をダウンロードできた場合には、的確コード進行ＣＣは、ユーザが手動修正すると、修正コード進行ＡＣになる。
【００２５】
ユーザＵ１…Ｕｎ（ｎは２以上の整数とする）は、オーディオ曲Ｓの各自の修正コード進行ＡＣ１…ＡＣｎ（ｎは２以上の整数とする）をサーバ５にアップロードすることができる。そのために、各ユーザＵ１…Ｕｎは、それぞれのスマートフォン３において、上記アプリケーションソフトウェアを起動させた後に、同一のオーディオ曲Ｓを選択し、同一のフィンガープリントＦ及び同一の解析コード進行Ｃを上記アプリケーションソフトウェアによって生成させる。
【００２６】
ユーザＵ１のスマートフォン３においては、ユーザＵ１が、解析コード進行Ｃを修正することによって、修正コード進行ＡＣ１を作成する。上記アプリケーションソフトウェアは、フィンガープリントＦと修正コード進行ＡＣ１とを関連付けたペアの状態で、サーバ５に送信する。これにより、ユーザＵ１は、オーディオ曲Ｓの修正コード進行ＡＣ１をサーバ５にアップロードする。
【００２７】
ユーザＵ２のスマートフォン３においては、ユーザＵ２が、解析コード進行Ｃを修正することによって、修正コード進行ＡＣ２を作成する。修正コード進行ＡＣ２は、上記修正コード進行ＡＣ１とは同一又は異なるものである。上記アプリケーションソフトウェアは、フィンガープリントＦと修正コード進行ＡＣ２とを関連付けたペアの状態で、サーバ５に送信する。これにより、ユーザＵ２は、オーディオ曲Ｓの修正コード進行ＡＣ２をサーバ５にアップロードする。
【００２８】
尚、ユーザＵ１，Ｕ２以外のユーザも、同様にして、上記各修正コード進行ＡＣ１，ＡＣ２とは同一又は異なるオーディオ曲Ｓの修正コード進行を、オーディオ曲ＳのフィンガープリントＦに関連付けたペアの状態で、サーバ５にアップロードすることができる。
【００２９】
サーバ５は、同一のフィンガープリントＦに関連付けられたペアの状態で受信した各修正コード進行ＡＣ１…ＡＣｎを、当該フィンガープリントＦに対応付けて記憶する。サーバ５は、当該フィンガープリントＦに対応付けて記憶した修正コード進行ＡＣ１…ＡＣｎが一定数まで蓄積されると、修正コード進行ＡＣ１…ＡＣｎの中で統計的に多いと判断したものを、当該フィンガープリントＦの正しいコード進行データと見なす。サーバ５は、その正しいコード進行データを、的確コード進行ＣＣとして、当該フィンガープリントＦに対応付けて記憶する。このようにして、サーバ５においては、フィンガープリントＦ、各修正コード進行ＡＣ１…ＡＣｎ、及び的確コード進行ＣＣ等を整理したデータベースが構築される。
【００３０】
尚、統計的に多いか否かのサーバ５による判断の詳細については、後述する。
【００３１】
一方、ユーザＵは、オーディオ曲Ｓの的確コード進行ＣＣをサーバ５からダウンロードすることができる。そのために、ユーザＵは、スマートフォン３において、上記アプリケーションソフトウェアを起動させた後に、オーディオ曲Ｓを選択し、フィンガープリントＦを上記アプリケーションソフトウェアによって生成させる。ユーザＵは、そのフィンガープリントＦを、上記アプリケーションソフトウェアによって、サーバ５に送信させる。
【００３２】
サーバ５は、ユーザＵのスマートフォン３から受信したフィンガープリントＦについて、そのフィンガープリントＦに対応する的確コード進行ＣＣを記憶している場合には、その的確コード進行ＣＣをユーザＵのスマートフォン３に送信する。これにより、ユーザＵは、オーディオ曲Ｓの的確コード進行ＣＣをサーバ５からダウンロードする。ユーザＵは、ダウンロードした的確コード進行ＣＣを手動修正することによって、修正コード進行ＡＣを作成しても良い。
【００３３】
尚、上記説明では、同一のオーディオ曲Ｓについて記載されているが、オーディオ曲Ｓとは異なるオーディオ曲についても、同様である。
【００３４】
［２．スマートフォンの電気的構成］
次に、スマートフォン３の電気的構成について説明する。図２に表すように、スマートフォン３は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１３、ＲＡＭ（Random Access Memory）１５、記憶部１７、通信部１９、表示部２１、及び操作部２３を備えている。ＣＰＵ１１は、スマートフォン３の全体制御を司る中央演算処理装置であって、例えば、上記アプリケーションソフトウェアを実行するものである。ＲＯＭ１３は、読み出し専用のメモリである。ＲＡＭ１５は、ランダムアクセスで読み書き共に可能なメモリであって、上記アプリケーションソフトウェアが実行された際に使用される。
【００３５】
記憶部１７は、上記アプリケーションソフトウェア及びオーディオ曲Ｓのデータ等が記憶されている記憶媒体であって、例えば、フラッシュメモリ等が用いられる。尚、記憶部１７には、オーディオ曲Ｓを含めて複数のオーディオ曲が記憶されている。通信部１９は、通信網７に接続されたサーバ５等と双方向通信を行うものである。表示部２１は、液晶ディスプレイであって、各種情報が表示されるものである。操作部２３は、各種指令が入力されるタッチパネルであって、表示部２１の液晶ディスプレイに重ねて設けられている。
【００３６】
［３．サーバの電気的構成］
次に、サーバ５の電気的構成について説明する。図３に表すように、サーバ５は、ＣＰＵ３１、ＲＯＭ３３、ＲＡＭ３５、記憶部３７、及び通信部３９を備えている。ＣＰＵ３１は、サーバ５の全体制御を司る中央演算処理装置であって、例えば、後述するフローチャートで示されたプログラム等を実行するものである。ＲＯＭ３３は、読み出し専用のメモリである。ＲＡＭ３５は、ランダムアクセスで読み書き共に可能なメモリであって、上記プログラムが実行された際に使用される。ＲＡＭ３５には、例えば、後述する変数Ｎが設けられる。記憶部３７は、上記データベース及び上記プログラム等が記憶されている記憶媒体であって、例えば、ＨＤＤ（Hard Disc Drive）等が用いられる。通信部３９は、通信網７に接続されたスマートフォン３等と双方向通信を行うものである。
【００３７】
［４．スマートフォンに表示されるコード進行］
次に、スマートフォン３におけるオーディオ曲Ｓのコード進行データの表示例について説明する。スマートフォン３では、オーディオ曲Ｓのデータが上記アプリケーションソフトウェアによって自動解析されると、例えば、図４に表すように、「ＣＦＧ…」がオーディオ曲Ｓの解析コード進行Ｃとして表示部２１に表示される。
【００３８】
スマートフォン３では、ユーザＵ１が「ＣＦＧ…」の解析コード進行Ｃを操作部２３を使用して修正すると、例えば、図５に表すように、「ＣＤｍＧ…」の修正コード進行ＡＣ１が表示部２１に表示される。尚、ここでの修正では、解析コード進行Ｃにおける２番目のコードの「Ｆ」が、「Ｄｍ」に変更されている。
【００３９】
スマートフォン３では、オーディオ曲ＳのフィンガープリントＦが上記アプリケーションソフトウェアによってサーバ５に送信されると、例えば、図６に表すように、「ＣＤｍＧ…」がオーディオ曲Ｓの的確コード進行ＣＣとして表示部２１に表示される。尚、図６の的確コード進行ＣＣと図５の修正コード進行ＡＣ１とにおいては、最初から３番目までの各コードが同じである。
【００４０】
［５．コード管理システムを構成するスマートフォン及びサーバの動作］
次に、コード管理システム１を構成するスマートフォン３及びサーバ５の動作について、図７及び図８に表されたフローチャートを参照して説明する。
【００４１】
先ず、フィンガープリントと修正コード進行とをサーバ５にアップロードする場合のスマートフォン３の動作について、ユーザＵ１が使用するスマートフォン３を例にして説明する。
【００４２】
図７に表すように、ユーザＵ１のスマートフォン３では、第１選択処理が行われる（ステップＳ１１）。この処理では、ユーザＵ１は、上記アプリケーションソフトウェアを起動させた後、上記アプリケーションソフトウェアを介して任意のオーディオ曲を選択する。ここでは、スマートフォン３の記憶部１７に記憶されている複数のオーディオ曲の中から、オーディオ曲Ｓが選択されたものとする。
【００４３】
オーディオ曲Ｓが選択されると、第１生成処理が行われる（ステップＳ１３）。この処理では、選択されたオーディオ曲Ｓのデータを上記アプリケーションソフトウェアが自動解析することによって、オーディオ曲ＳのフィンガープリントＦが生成される。
【００４４】
フィンガープリントＦが生成されると、第２生成処理が行われる（ステップＳ１５）。この処理では、選択されたオーディオ曲Ｓのデータを上記アプリケーションソフトウェアが自動解析することによって、オーディオ曲Ｓの解析コード進行Ｃが生成される。解析コード進行Ｃは、例えば、上記図４に表すように、スマートフォン３の表示部２１に表示される。
【００４５】
尚、上記ステップＳ１３の第１生成処理と上記ステップＳ１５の第２生成処理については、同時に行われても良いし、上記ステップＳ１５の第２生成処理が上記ステップＳ１３の第１生成処理よりも先に行われても良い。
【００４６】
解析コード進行Ｃが生成されると、修正処理が行われる（ステップＳ１７）。この処理では、ユーザＵ１は、解析コード進行Ｃの中で誤っていると思われる箇所をスマートフォン３の操作部２３を使用して修正することにより、修正コード進行ＡＣ１を作成する。修正中又は修正後の修正コード進行ＡＣ１は、例えば、上記図５に表すように、スマートフォン３の表示部２１に表示される。
【００４７】
修正コード進行ＡＣ１が作成されると、第１送信処理が行われる（ステップＳ１９）。この処理では、上記アプリケーションソフトウェアは、修正コード進行ＡＣ１をオーディオ曲ＳのフィンガープリントＦに関連付けたペアの状態でサーバ５に送信する。これにより、ユーザＵ１のスマートフォン３の動作は終了する。
【００４８】
尚、ユーザＵ２が使用するスマートフォン３においても、同一のオーディオ曲Ｓが選択された場合には（ステップＳ１１）、オーディオ曲ＳのフィンガープリントＦが生成され（ステップＳ１３）、オーディオ曲Ｓの解析コード進行Ｃが生成され（ステップＳ１５）、修正コード進行ＡＣ２が作成されると（ステップＳ１７）、修正コード進行ＡＣ２がオーディオ曲ＳのフィンガープリントＦに関連付けられたペアの状態でサーバ５に送信される（ステップＳ１９）。ユーザＵ１，Ｕ２以外のユーザについても同様である。
【００４９】
一方、サーバ５では、先ず、変数Ｎに数値の「０」が初期設定される（ステップＳ１０１）。次に、第１受信処理が行われる（ステップＳ１０３）。この処理では、サーバ５は、例えば、ユーザＵ１のスマートフォン３から、オーディオ曲ＳのフィンガープリントＦと修正コード進行ＡＣ１とを関連付けられたペアの状態で受信する。
【００５０】
オーディオ曲ＳのフィンガープリントＦと修正コード進行ＡＣ１とが受信されると、第１記憶処理が行われる（ステップＳ１０５）。この処理では、サーバ５は、修正コード進行ＡＣ１をオーディオ曲ＳのフィンガープリントＦに対応付けて記憶部３７に記憶する。
【００５１】
その後、サーバ５は、変数Ｎをインクリメントする処理を行う（ステップＳ１０７）。次に、サーバ５は、変数Ｎが一定数Ｎ１以上であるか否かを判断する（ステップＳ１０９）。
【００５２】
ここで、変数Ｎが一定数Ｎ１未満である場合には（ステップＳ１０９：ＮＯ）、サーバ５は、上記ステップＳ１０３に戻り、上記ステップＳ１０３以降の処理を繰り返して行う。この繰り返しがサーバ５で行われている最中において、例えば、ユーザＵ２のスマートフォン３から、オーディオ曲ＳのフィンガープリントＦと修正コード進行ＡＣ２とが関連付けられたペアの状態で受信されると（ステップＳ１０３）、上記修正コード進行ＡＣ１に加えて、修正コード進行ＡＣ２がオーディオ曲ＳのフィンガープリントＦに対応付けて記憶部３７に記憶され（ステップＳ１０５）、変数Ｎがインクリメントされる（ステップＳ１０７）。
【００５３】
ユーザＵ１，Ｕ２以外のユーザのスマートフォンから、オーディオ曲ＳのフィンガープリントＦと修正コード進行とが関連付けられたペアの状態で受信された場合も同様である。このようにして、オーディオ曲ＳのフィンガープリントＦに対しては、ｎ個の修正コード進行ＡＣ１…ＡＣｎが対応付けられて記憶部３７に記憶される。上述したように、オーディオ曲ＳのフィンガープリントＦは、オーディオ曲Ｓの同一性を確認するものである。従って、オーディオ曲Ｓについてのｎ個の修正コード進行ＡＣ１…ＡＣｎが、オーディオ曲ＳのフィンガープリントＦを介して整理されて記憶部３７に記憶される。
【００５４】
これに対して、変数Ｎが一定数Ｎ１以上である場合には（ステップＳ１０９：ＹＥＳ）、見なし処理が行われる（ステップＳ１１１）。この処理では、サーバ５は、オーディオ曲ＳのフィンガープリントＦに対応付けられて記憶部３７に記憶されているｎ個の修正コード進行ＡＣ１…ＡＣｎのうち、同一の修正コード進行が基準数以上あると判断すると、その基準数以上ある同一の修正コード進行を、正しいコード進行とみなし、的確コード進行ＣＣとして導き出す。尚、同一の修正コード進行においては、同じ順番にあるコードが同一のコードで修正されている。
【００５５】
的確コード進行ＣＣが導き出されると、第２記憶処理が行われる（ステップＳ１１３）。この処理では、サーバ５は、その導き出した的確コード進行ＣＣを、オーディオ曲ＳのフィンガープリントＦに対応付けて記憶部３７に記憶する。その後、サーバ５は、上記ステップＳ１０３に戻り、上記ステップＳ１０３以降の処理を繰り返して行う。
【００５６】
次に、的確コード進行をサーバ５からダウンロードする場合のスマートフォン３の動作について、ユーザＵ３が使用するスマートフォン３を例にして説明する。
【００５７】
図８に表すように、ユーザＵ３のスマートフォン３では、第２選択処理が行われる（ステップＳ２１）。この処理では、ユーザＵ３は、上記アプリケーションソフトウェアを起動させた後、上記アプリケーションソフトウェアを介して任意のオーディオ曲を選択する。ここでは、スマートフォン３の記憶部１７に記憶されている複数のオーディオ曲の中から、オーディオ曲Ｓが選択されたものとする。つまり、ユーザＵ３が選択したオーディオ曲Ｓは、上述のユーザＵ１，Ｕ２が選択したオーディオ曲Ｓと同じである。
【００５８】
オーディオ曲Ｓが選択されると、第１生成処理が行われる（ステップＳ２３）。この処理では、上記ステップＳ１３の第１生成処理と同様にして、選択されたオーディオ曲Ｓのデータを上記アプリケーションソフトウェアが自動解析することによって、オーディオ曲ＳのフィンガープリントＦが生成される。
【００５９】
オーディオ曲ＳのフィンガープリントＦが生成されると、第２送信処理が行われる（ステップＳ２５）。この処理では、上記アプリケーションソフトウェアは、オーディオ曲ＳのフィンガープリントＦをサーバ５に送信する。尚、この処理が行われる前において、上記ステップＳ１５の第２生成処理が行われても良い。
【００６０】
一方、サーバ５では、第２受信処理が行われる（ステップＳ１２１）。この処理では、サーバ５は、例えば、ユーザＵ３のスマートフォン３から、オーディオ曲ＳのフィンガープリントＦを受信する。
【００６１】
オーディオ曲ＳのフィンガープリントＦが受信されると、サーバ５は、オーディオ曲ＳのフィンガープリントＦに対する正しいコード進行があるか否かを判断する（ステップＳ１２３）。この判断は、オーディオ曲ＳのフィンガープリントＦに対応付けられた的確コード進行ＣＣが記憶部３７に記憶されているか否かによって行われる。
【００６２】
ここで、オーディオ曲ＳのフィンガープリントＦに対する正しいコード進行がある場合、つまり、オーディオ曲ＳのフィンガープリントＦに対応付けられた的確コード進行ＣＣが記憶部３７に記憶されている場合には（ステップＳ１２３：ＹＥＳ）、第１送信処理が行われる（ステップＳ１２５）。この処理では、サーバ５は、オーディオ曲ＳのフィンガープリントＦに対応付けられた的確コード進行ＣＣをユーザＵ３のスマートフォン３に送信する。これにより、サーバ５の動作は終了する。
【００６３】
これに対して、オーディオ曲ＳのフィンガープリントＦに対する正しいコード進行がない場合、つまり、オーディオ曲ＳのフィンガープリントＦに対応付けられた的確コード進行ＣＣが記憶部３７に記憶されていない場合には（ステップＳ１２３：ＮＯ）、第２送信処理が行われる（ステップＳ１２７）。この処理では、サーバ５は、オーディオ曲ＳのフィンガープリントＦに対応付けられた的確コード進行ＣＣが存在しない旨の情報をユーザＵ３のスマートフォン３に送信する。これにより、サーバ５の動作は終了する。
【００６４】
一方、ユーザＵ３のスマートフォン３では、受信処理が行われる（ステップＳ２７）。この処理では、上記アプリケーションソフトウェアは、サーバ５から、オーディオ曲ＳのフィンガープリントＦに対応付けられた的確コード進行ＣＣを受信し、或いは、オーディオ曲ＳのフィンガープリントＦに対応付けられた的確コード進行ＣＣが存在しない旨の情報を受信する。
【００６５】
その後、ユーザＵ３のスマートフォン３では、上記アプリケーションソフトウェアは、サーバ５に送信したオーディオ曲ＳのフィンガープリントＦに対する正しいコード進行があるか否かを判断する（ステップＳ２９）。この判断は、上記ステップＳ２７でサーバ５から受信したデータに基づいて行われる。
【００６６】
ここで、サーバ５に送信したオーディオ曲ＳのフィンガープリントＦに対する正しいコード進行がある場合、つまり、上記ステップＳ２７でオーディオ曲ＳのフィンガープリントＦに対応付けられた的確コード進行ＣＣをサーバ５から受信した場合には（ステップＳ２９：ＹＥＳ）、第１表示処理が行われる（ステップＳ３１）。この処理では、上記アプリケーションソフトウェアは、サーバ５から受信した的確コード進行ＣＣを表示部２１に表示する。的確コード進行ＣＣは、例えば、上記図６に表したように、表示部２１に表示される。これにより、ユーザＵ３のスマートフォン３の動作は終了する。
【００６７】
これに対して、サーバ５に送信したオーディオ曲ＳのフィンガープリントＦに対する正しいコード進行がない場合、つまり、上記ステップＳ２７でオーディオ曲ＳのフィンガープリントＦに対応付けられた的確コード進行ＣＣが存在しない旨の情報をサーバ５から受信した場合には（ステップＳ２９：ＮＯ）、第２表示処理が行われる（ステップＳ３３）。この処理では、上記アプリケーションソフトウェアは、例えば、上記旨のメッセージを表示部２１に表示する。尚、上記アプリケーションソフトウェアは、オーディオ曲Ｓの解析コード進行Ｃを生成し、上記メッセージに代えて、例えば、上記図４に表したように、解析コード進行Ｃを表示部２１に表示しても良い。
【００６８】
その後、ユーザＵ３のスマートフォン３は、上記図７のステップＳ１７の修正処理に進む。これにより、ユーザＵ３のスマートフォン３は、オーディオ曲ＳのフィンガープリントＦと、オーディオ曲Ｓの解析コード進行Ｃを修正した修正コード進行とを、サーバ５にアップロードすることが可能となる。
【００６９】
尚、上記フローチャートの説明では、同一のオーディオ曲Ｓについて記載されているが、オーディオ曲Ｓとは異なるオーディオ曲についても、同様である。
【００７０】
ちなみに、本実施形態において、コード管理システム１は、「データ管理システム」の一例である。スマートフォン３は、「ユーザ端末」の一例である。オーディオ曲Ｓのコード進行データは、「データ」の一例である。修正コード進行ＡＣｎ（ｎは２以上の整数とする）は、「修正データ」の一例である。フィンガープリントＦは、「特徴情報」の一例である。解析コード進行Ｃは、「解析データ」の一例である。的確コード進行ＣＣは、「的確データ」の一例である。スマートフォン３で実行されるステップＳ１７の第１送信処理は、「第１端末側送信処理」の一例である。スマートフォン３で実行されるステップＳ２５の第２送信処理は、「第２端末側送信処理」の一例である。スマートフォン３で実行されるステップＳ２７の受信処理は、「受信処理」の一例である。サーバ５が実行するステップＳ１０３の第１記憶処理は、「記憶処理」の一例である。サーバ５が実行するステップＳ１１１の見なし処理及びステップＳ１１３の第２記憶処理は、「登録処理」の一例である。サーバ５が実行するステップＳ１２５の第１送信処理は、「サーバ側送信処理」の一例である。
【００７１】
［６．まとめ］
以上詳細に説明したように、本実施形態では、コード管理システム１が、複数のスマートフォン３とサーバ５とを備えることにより、オーディオ曲のコード進行データを管理している。
【００７２】
例えば、ユーザＵ１，Ｕ２のスマートフォン３において、オーディオ曲Ｓの修正コード進行ＡＣ１，ＡＣ２をサーバ５にアップロードする場合には、上記アプリケーションソフトウェアが起動された後に、上記アプリケーションソフトウェアが以下の各処理を実行する。
【００７３】
上記ステップＳ１３の第１生成処理では、上記アプリケーションソフトウェアがオーディオ曲Ｓのデータを自動解析することにより、オーディオ曲Ｓを同定するためのフィンガープリントＦが生成される。上記ステップＳ１５の第２生成処理では、上記アプリケーションソフトウェアがオーディオ曲Ｓのデータを自動解析することにより、オーディオ曲Ｓの解析コード進行Ｃが生成される。上記ステップＳ１９の第１送信処理では、オーディオ曲ＳのフィンガープリントＦと、オーディオ曲Ｓの解析コード進行ＣをユーザＵ１，Ｕ２が修正することにより作成された修正コード進行ＡＣ１，ＡＣ２とが、上記アプリケーションソフトウェアによってサーバ５に送信される。
【００７４】
一方、例えば、ユーザＵ３のスマートフォン３において、オーディオ曲Ｓの的確コード進行ＣＣをサーバ５からダウンロードする場合には、上記アプリケーションソフトウェアが起動された後に、上記アプリケーションソフトウェアが以下の各処理を実行する。
【００７５】
上記ステップＳ２３の第１生成処理では、上記アプリケーションソフトウェアがオーディオ曲Ｓのデータを自動解析することにより、オーディオ曲Ｓを同定するためのフィンガープリントＦが生成される。上記ステップＳ２５の第２送信処理では、オーディオ曲ＳのフィンガープリントＦが、上記アプリケーションソフトウェアによってサーバ５に送信される。上記ステップＳ２７の受信処理では、サーバ５の記憶部３７においてオーディオ曲ＳのフィンガープリントＦに対応付けられて記憶されている的確コード進行ＣＣが、上記アプリケーションソフトウェアによってサーバ５から受信される。
【００７６】
これに対して、サーバ５は、ユーザＵ１，Ｕ２の各スマートフォン３から、オーディオ曲ＳのフィンガープリントＦと修正コード進行ＡＣ１，ＡＣ２とを受信した場合には、以下の各処理を実行する。
【００７７】
上記ステップＳ１０５の第１記憶処理では、サーバ５は、オーディオ曲ＳのフィンガープリントＦと修正コード進行ＡＣ１，ＡＣ２とを対応付けて記憶部３７に記憶する。上記ステップＳ１１１の見なし処理では、サーバ５は、オーディオ曲ＳのフィンガープリントＦに対応付けて記憶されている複数の修正コード進行ＡＣ１…ＡＣｎのうち、基準数以上存在する同一の修正コード進行を抽出することにより、オーディオ曲Ｓの的確コード進行ＣＣを作成する。上記ステップＳ１１３の第２記憶処理では、サーバ５は、オーディオ曲Ｓの的確コード進行ＣＣを、オーディオ曲ＳのフィンガープリントＦに対応付けて記憶部３７に記憶する。
【００７８】
一方、サーバ５は、ユーザＵ３のスマートフォン３から、オーディオ曲ＳのフィンガープリントＦを受信した場合には、以下の処理を実行する。上記ステップＳ１２５の第１送信処理では、サーバ５は、オーディオ曲ＳのフィンガープリントＦに対応付けて記憶部３７に記憶されているオーディオ曲Ｓの的確コード進行ＣＣを、ユーザＵ３のスマートフォン３に送信する。
【００７９】
このような処理が実行される本実施形態の管理システム１では、ユーザＵ１…Ｕｎの各スマートフォン３において、上記アプリケーションソフトウェアによって生成されたオーディオ曲Ｓの解析コード進行Ｃに誤りがあるとユーザＵ１…Ｕｎが思う場合には、ユーザＵ１…Ｕｎは、解析コード進行Ｃを修正することにより、修正コード進行ＡＣ１…ＡＣｎを作成する。但し、ユーザＵ１…Ｕｎが作成した修正コード進行ＡＣ１…ＡＣｎは、オーディオ曲Ｓの正しいコード進行ではあるとは限らない。
【００８０】
しかしながら、サーバ５は、ユーザＵ１…Ｕｎの各スマートフォン３から、オーディオ曲ＳのフィンガープリントＦと修正コード進行ＡＣ１…ＡＣｎとを受信すると、修正コード進行ＡＣ１…ＡＣｎをオーディオ曲ＳのフィンガープリントＦに対応付けて記憶する。さらに、サーバ５は、オーディオ曲ＳのフィンガープリントＦに対応付けて記憶しているｎ個の修正コード進行ＡＣ１…ＡＣｎのうち、基準数以上ある同一の修正コード進行を、オーディオ曲Ｓの正しいコード進行とみなして、オーディオ曲Ｓの的確コード進行ＣＣとして導き出す。さらに、サーバ５は、オーディオ曲Ｓの的確コード進行ＣＣを、オーディオ曲ＳのフィンガープリントＦに対応付けて記憶する。
【００８１】
そして、ユーザＵ３のスマートフォン３からオーディオ曲ＳのフィンガープリントＦがサーバ５に送信された場合には、サーバ５は、オーディオ曲ＳのフィンガープリントＦに対応付けて記憶している的確コード進行ＣＣを、ユーザＵ３のスマートフォン３に返信する。
【００８２】
これにより、ユーザＵ３は、オーディオ曲Ｓの解析コード進行Ｃを修正しなくても正しいコード進行、つまりオーディオ曲Ｓの的確コード進行ＣＣを取得することが可能である。
【００８３】
［７．その他］
尚、本発明は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
例えば、各ユーザＵ１…Ｕｎについては、その全員が別人であっても良いし、その全員又は一部の人が同一人であっても良い。また、各ユーザＵ１…Ｕｎのスマートフォン３は、その全部が別物であってもよいし、その全部又は一部のものが同一であっても良い。
【００８４】
オーディオ曲Ｓの的確コード進行ＣＣをサーバ５からダウンロードする場合のスマートフォン３の動作においては、上記ステップＳ３３の第２表示処理が省略されても良い。このような場合には、上記ステップＳ２３の生成処理において、オーディオ曲Ｓの解析コード進行Ｃは、表示部２１に表示されなくても良く、或いは、生成されなくても良い。
【００８５】
ユーザＵ１，Ｕ２のスマートフォン３で起動されるアプリケーションソフトウェアと、ユーザＵ３のスマートフォン３で起動されるアプリケーションソフトウェアとは、異なるものであっても良い。つまり、オーディオ曲ＳのフィンガープリントＦと各修正コード進行ＡＣ１、ＡＣ２とをサーバ５にアップロードする場合のスマートフォン３の各動作（図７に表された上記ステップＳ１１乃至ステップＳ１７の各処理）と、オーディオ曲Ｓの的確コード進行ＣＣをサーバ５からダウンロードする場合のスマートフォン３の動作（図８に表された上記ステップＳ２１乃至ステップＳ３３の各処理）とは、別々のアプリケーションソフトウェアによって実行されても良い。
【００８６】
スマートフォン３は、情報端末であればどのようなものでも良く、例えば、スマートフォンとは異なるモバイル端末（携帯電話又はタブレットＰＣ（Personal Computer）等）であっても良く、或いは、机上据置型のＰＣ端末等であっても良い。
【００８７】
上記実施形態では、オーディオ曲Ｓのデータを扱っているが、オーディオ曲Ｓのデータに換えて、例えば、映像データを扱っても良い。
【符号の説明】
【００８８】
１    コード管理システム
３    スマートフォン
５    サーバ
ＡＣ１  修正コード進行
ＡＣ２  修正コード進行
Ｃ    解析コード進行
ＣＣ    的確コード進行
Ｆ    フィンガープリント
Ｓ    オーディオ曲
【図１】
2018081412.tif 000003
【図２】
2018081412.tif 000004
【図３】
2018081412.tif 000005
【図４】
2018081412.tif 000006
【図５】
2018081412.tif 000007
【図６】
2018081412.tif 000008
【図７】
2018081412.tif 000009
【図８】
2018081412.tif 000010