JP3906681B2 - 伴奏試聴システム - Google Patents
伴奏試聴システム Download PDFInfo
- Publication number
- JP3906681B2 JP3906681B2 JP2001385751A JP2001385751A JP3906681B2 JP 3906681 B2 JP3906681 B2 JP 3906681B2 JP 2001385751 A JP2001385751 A JP 2001385751A JP 2001385751 A JP2001385751 A JP 2001385751A JP 3906681 B2 JP3906681 B2 JP 3906681B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- accompaniment
- audition
- server
- code
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Reverberation, Karaoke And Other Acoustics (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、ネットワークを介して、伴奏の試聴を希望している試聴希望者に、それを再生するための試聴用の伴奏データを提供するための技術に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
例えば電子楽器では、その多くに、旋律以外の演奏要素からなる伴奏を自動再生できる機能(以降、伴奏再生機能と呼ぶ)が搭載されている。それにより、電子楽器のユーザーは、その機能を利用することで1人でもアンサンブル演奏のような楽しみ方ができるようになっている。
【0003】
電子楽器には、通常、その伴奏を自動再生するための伴奏データが複数、用意されている。最近では、その伴奏データの販売が行われるようになってきている。それに合わせ、電子楽器には、購入した伴奏データを読み込んで再生する機能が搭載されるようになってきている。
【0004】
その伴奏データは、「8Beat」や「Rock」或いは「Bossa Nova」などといった音楽ジャンルに合わせて作成されるのが普通である。このため、その伴奏名として音楽ジャンル名を流用することが多い。
各音楽ジャンルの音楽的な範囲には比較的に大きな幅があり、同じジャンルに属する曲の内容は様々である。このことから、音楽ジャンルに対して複数の伴奏データを用意することも多い。複数の伴奏データを用意した場合には、例えば「8Beat1」「8Beat2」「8Beat3」といったようにして、それらの伴奏名は形式的に異ならせているのが普通である。
【0005】
音楽ジャンルの音楽的な範囲に大きな幅があるということは、伴奏データによる伴奏内容はその伴奏名(音楽ジャンル)からある程度、予想することができたとしても、正確には知ることができないということを意味する。このため、販売の対象となる伴奏データは、購入希望者がその内容を確認したうえで購入できるようにすることが望ましいと考えられる。即ち伴奏データの試聴を希望する試聴希望者が試聴できるようにすることが望ましいと考えられる。
【0006】
これまで、販売の対象となる伴奏データは、フレキシブルディスク、或いはROMカードなどの記録媒体に記録して販売(提供)するようになっていた。しかし、近年では、情報通信インフラストラクチャが充実してきていることから、今後は伴奏データの販売にネットワークが幅広く利用されると考えられる。そのネットワークを利用して伴奏データを販売(提供)するようにしたとしても、上述したような理由から、試聴希望者が試聴できるようにすることが重要であると考えられる。
【0007】
本発明の課題は、ネットワークを介して、試聴を希望している試聴希望者に伴奏試聴用の伴奏データを提供できる伴奏データ提供システムを提供することにある。
【0008】
【課題を解決するための手段】
本発明の伴奏試聴システムは、複数種の伴奏エレメントからなる伴奏データを記憶する記憶手段を有するサーバーにて、当該伴奏データに基づいた伴奏音データを生成して端末に送信する伴奏試聴システムであって、端末は、外部よりコードデータを取得するコード取得手段と、外部よりエレメント種を指定するエレメント種データを取得するエレメント種データ取得手段と、サーバーに対してコード取得手段によりコードデータが取得される毎に当該コードデータを送信するとともに、エレメント種データ取得手段によりエレメント種データが取得される毎に当該エレメント種データを送信するコード/エレメントデータ送信手段と、サーバーから送信される伴奏データを受信する伴奏データ受信手段と、伴奏データ受信手段より受信された伴奏データを接続された楽器に転送する転送手段と、からなり、サーバーは、端末からコードデータ及びエレメント種データを受信するコード/エレメントデータ受信手段と、コード/エレメント受信手段により受信されたエレメント種データにて指定された伴奏エレメントを記憶手段から読み出すとともに、当該読み出された伴奏エレメントを受信されたコードデータにより変換して伴奏音データを生成する伴奏音データ生成手段と、伴奏音データ生成手段により生成された伴奏音データを端末に送信する伴奏音データ送信手段と、を更に有する。
【0009】
さらに本発明の伴奏試聴システムは、複数種の伴奏エレメント、当該エレメントの指定順序を表わすエレメント種進行データ及びコードの指定順序を表わすコード進行データからなる伴奏データを記憶する記憶手段を有するサーバーにて、当該伴奏データに基づいた伴奏音データを生成して端末に送信する伴奏試聴システムであって、端末は、サーバーに対して第1、第2及び第3の試聴形態のいずれかを指定する試聴形態選択信号を送信する試聴形態選択信号送信手段と、外部より単一のコード及びエレメント種を取得するコード/エレメント取得手段と、外部よりコードデータを取得するコード取得手段と、外部よりエレメント種を指定するエレメント種データを取得するエレメント種データ取得手段と、第1の試聴形態が選択されている場合に、サーバーに対して試聴開始信号を送信する第1の試聴開始信号送信手段と、第2の試聴形態が選択されている場合に、サーバーに対して取得された単一のコード及びエレメント種を送信し、その後試聴開始信号を送信する第2の試聴開始信号送信手段と、第3の試聴形態が選択されている場合に、サーバーに対して試聴開始信号を送信し、その後、前記サーバーに対して前記コード取得手段によりコードデータが取得される毎に当該コードデータを送信するとともに、エレメント種データ取得手段によりエレメント種データが取得される毎に当該エレメント種データを送信する第3の試聴開始信号送信手段と、サーバーから送信される伴奏音データを受信する伴奏音データ受信手段と、伴奏音データ受信手段より受信された伴奏音データを接続された楽器に転送する転送手段と、からなり、サーバーは、端末から送信された試聴形態選択信号を受信する試聴形態選択信号受信手段と、端末から送信された第1、第2及び第3の試聴開始信号のいずれかを受信する試聴開始信号受信手段と、試聴形態選択信号受信手段により第1の試聴形態選択信号が受信されかつ試聴開始信号受信手段により第1の試聴開始信号が受信された場合は、記憶手段に記憶されたエレメント種進行データに対応する順序で伴奏エレメントを読み出すとともに、当該読み出された伴奏エレメントを記憶手段に記憶されたコード進行データにより変換して伴奏音データを生成する第1の伴奏データ音生成手段と、試聴形態選択信号受信手段により第2の試聴形態選択信号が受信されかつ試聴開始信号受信手段により第2の試聴開始信号が受信された場合は、受信されたエレメント種に対応する伴奏エレメントを前記記憶手段から読み出すとともに、当該読み出された伴奏エレメントを受信されたコードにより変換して伴奏音データを生成する第2の伴奏音データ生成手段と、試聴形態選択信号受信手段により第3の試聴形態選択信号が受信されかつ試聴開始信号受信手段により第3の試聴開始信号が受信された場合は、受信されたエレメント種データにて指定された伴奏エレメントを記憶手段から読み出すとともに、当該読み出された伴奏エレメントを受信されたコードデータにより変換して伴奏音データを生成する第3の伴奏音データ生成手段と、第1、第2及び第3の伴奏データ生成手段いずれかにより生成された伴奏データを端末に送信する伴奏データ送信手段と、を更に有する。
【0012】
本発明では、試聴希望者からネットワークを介して、伴奏に対する試聴を要求するための試聴要求を受け付け、その試聴要求で試聴を要求された伴奏を再生するための試聴用の伴奏データを、ネットワークを介して送信することで試聴希望者に提供し、その提供した伴奏データを再生させることで試聴希望者に伴奏を試聴させる。その試聴によって、試聴希望者は伴奏の内容を確認することが可能となる。それにより、試聴希望者は自身が所望する伴奏データをより容易、且つ確実に取得(例えば購入)できることとなる。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施の形態による伴奏データ提供システムを用いて構築されたネットワークシステムの構成を示す図である。
【0014】
そのネットワークシステムは、図1に示すように、本実施の形態による伴奏データ提供システム(以降、提供システムと略記)101をネットワーク102と接続することにより、ネットワーク102を介してその提供システム101を複数の端末システム103と接続できるように構築されている。それにより、提供システム101は、ネットワーク102を介して接続された端末システム103のユーザーに対し、伴奏を再生するための伴奏データを提供するものとして実現されている。その伴奏とは、ここでは例えば鍵盤では右手による演奏の対象となる旋律(メロディ)以外の1つ以上の演奏要素(リズムや左手によるコード演奏、など)で構成される演奏と定義している。
【0015】
上記ネットワーク102は、例えばインターネットや公衆回線などをまとめて表したものである。端末システム103は、例えば公衆回線、及びインターネットとの接続サービスを行っているISP(Internet Service Provider )を介してそのインターネットと接続される。なお、ネットワーク102は、それら以外のもの、或いは別の組み合わせのものであっても良い。
【0016】
その端末システム103は、図1に示すように、例えばパーソナル・コンピュータ、PDA(Personal Digital Assistants )、或いは携帯電話機である端末装置121と、それに接続された電子楽器122と、を用いて構築されている。端末装置121は、ネットワーク102を介して提供システム101との間でデータのやりとりを行い、電子楽器122は、端末装置121から送信された伴奏データを受信してその再生を行う。
【0017】
なお、端末システム103は、端末装置121に、楽音を放音するための音源と、伴奏データなどを再生して音源に楽音を放音させる機能と、を搭載して実現させても良い。或いはネットワーク102と交信する機能を電子楽器122などの楽音発生装置に搭載して実現させても良い。当然のことながら、3つ以上の装置を用いて実現させても良い。これらのことから明らかなように、端末システム103は様々な形で実現させることができる。提供システム101によるサービスを受けるために端末システム103(端末装置121など)に実行させるソフトウェア(プログラム)については、本実施の形態では専用のソフトウェアとしているが、既存の一般的なソフトウェア(ブラウザ)を使用できるようにしても良い。
【0018】
上記提供システム101には、例えば専用線などのネットワーク104を介して金融機関105が接続されている。その金融機関105とは、例えばキャッシュカードを用いて行われたショッピングの情報を対応する金融機関に中継したり、或いは金融機関が提供するサービスを代行するといったサービスを提供するセンタである。提供システム101は、そのような金融期間105を介して、有償の伴奏データを購入(ダウンロード)した端末システム103のユーザーとの間の決済を行う。
【0019】
その提供システム101は、ネットワーク102を介して接続される端末システム103のユーザーに対して各種サービスを提供するサーバー111と、そのユーザーに提供可能な伴奏データを管理するデータベース(DB)サーバー112と、を用いて構築されている。端末システム103への伴奏データの送信や金融機関105との間のデータのやりとりなどはサーバー111が行う。なお、提供システム101は、1台のサーバーで構築しても良く、3台以上のサーバーで構築するようにしても良い。
【0020】
図2は、上記DBサーバー112が管理するデータの種類、及びその内容を説明する図である。サーバー112が内蔵のハードディスク、或いはそれと接続された外部記憶装置にDB化して保存・管理しているデータのなかから、サービスとして提供する伴奏データ、及びそれに特に係わるデータを抜粋して表したものである。
【0021】
そのDBサーバー112は、図2に示すように、販売の対象となる多数の伴奏データ、楽音の音高の組み合わせからコード(和音)を判定するためのコード判定テーブル、及び鳴らすコードの構成音の音高の組み合わせを指定のコードに応じて変換するためのコード変換テーブルを管理・保存している。DBには、例えばそれらのデータ毎にレコードを用意し、各レコードには対応するデータ(伴奏データ、或いはテーブル)の保存場所(ファイル名、など)を保存することで、アクセスできるようにしている。各レコードには、各伴奏データに識別用に割り当てられた番号(図中、「(1)」〜「(N)」と表記)なども合わせて保存している。
【0022】
伴奏は、通常、複数の構成要素(エレメント)から構成される。このことに合わせ、各伴奏データは、エレメント別に、その再生用の伴奏データ(以降、便宜的にエレメント伴奏データと呼ぶ)を複数、備えた構成としている。そのエレメントとしては、図2に示すように、序奏として再生されるイントロダクション(以降、イントロと略記)、繰り返し再生されるノーマル、ノーマルの演奏内容と比較して装飾性が高く、それに代わって一時的に再生されるフィルイン、及び伴奏(曲)を終わらせる際に再生されるエンディングを想定している。各エレメント伴奏データは、基本的にリズムを再生するためのものとして、各エレメント(の伴奏データ)を再生していく流れ(エレメント進行)や、その流れに沿って鳴らしていくべきコードの流れ(コード進行)を表すコード進行/エレメント進行データを別に用意している。
【0023】
各エレメント伴奏データは、図中、「TIME」で表す時間データ、及びその時間データで指定されるタイミングで処理すべきイベントの内容を示すMIDI(イベント)データ(図中、「MIDI」と表記)からなるデータ対が、処理順序に従って並べた形で構成されている。コード進行/エレメント進行データは、処理順序に従って並べられた再生すべきエレメントの種類(エレメント種)を示すデータ(エレメント種データ)、或いはそのエレメントで鳴らすべきコードを示すイベントデータ(以降、コードデータと呼ぶ)に、そのデータを処理すべきタイミングを指定する時間データを付加する形で構成されている。その時間データは、後述する最小単位時間を単位として表した数値である。コードデータは、例えばコードの種類(コード種)を示すデータ、及び根音(ルート)を示すデータから構成される。
【0024】
上記コード判定テーブルは、例えば楽音の音高の組み合わせ別に、その組み合わせで表されるコードの種類を定義したテーブルである。コード変換テーブルは、例えばコード種、及びその構成音の音高の組み合わせを示す指定内容別に、変換対象とするコードの構成音の音高の組み合わせを指定内容に応じて変換した後のその組み合わせを変換対象別に定義したテーブルである。
【0025】
上述のように構成された伴奏データは、購入を希望したユーザーの使用する端末システム103には、それを保存できるように、ファイルとして送信する。それの試聴を希望したユーザーの使用する端末システム103には、それの保存が行えないように、それを構成するイベントデータ(MIDIデータ、或いはコードデータ)を時間データに従って送信する。そのように送信形態を変更することにより、1つの伴奏データを販売、試聴の両方に用いている。以降は、図3〜図22に示す各種フローチャート、及び図23〜図30に示す各種説明図を参照して、提供システム101が提供するサービスの内容、及びそのサービスの提供を実現させる提供システム101や端末システム103の動作について詳細に説明する。
【0026】
図3〜図13は、端末システム103を提供システム101と接続させた場合に、それらが実行する処理の流れを示すフローチャートである。端末システム103と提供システム101間の通信に係わる処理に着目して、端末システム103を構成する端末装置121、及び提供システム101を構成するサーバー111が実行する処理を抜粋してその流れの例を示したものである。始めに、図3〜図13を参照して、端末システム103を提供システム101と接続させた場合に、端末装置121、サーバー111がそれぞれ実行する処理の内容、及びその流れについて詳細に説明する。
【0027】
なお、図3〜図13に示すフローチャートは、例えばそれぞれ、端末装置121に搭載されたCPU、及びサーバー111に搭載されたCPUが、それに搭載のハードディスク装置のハードディスクに格納されたプログラムを実行することで実現される。端末装置121とサーバー111の接続(リンクの確立)、即ち通信の開設は、例えばダイヤルアップ接続により端末装置121をISPと接続させた後、サーバー111のURLを指定してそれとの接続を指示することで行われる。
【0028】
本実施の形態では、提供システム101は会員登録をした人を対象にサービスを提供するようになっている。このことから、端末装置121との通信が開設すると、サーバー111は、特には図示していないが、その端末装置121に、会員にそのID、そのパスワードの入力を求めるための図23に示すような認証用画面を送信する。その認証用画面を受信した端末装置121は、それを搭載、或いは接続された表示装置上に表示させ、ユーザーの操作に応じてID、パスワードを入力する。それらの入力後、その画面上に配置された「送信」アイコンをユーザーがクリックすると、ユーザーが入力のID、パスワードをサーバー111に送信する(以上、ステップST1)。
【0029】
上記認証用画面には、特に図示していないが、会員でない人に会員登録を行うか否か問い合わせるためのアイコン(例えば「新規登録」アイコン)が配置されている。その「新規登録」アイコンをユーザーがクリックすると、その旨がサーバー111に通知されて、そのサーバー111から登録のために個人データの入力を求める図24に示すような登録画面が送信される。
【0030】
その画面上には、図24に示すように、氏名、住所、決済用であるクレジットカード番号、ID、パスワードを入力するための複数のボックスや、各ボックスに入力された個人データの送信を指示するための「送信」アイコンが配置されている。それにより、本実施の形態では、IDはユーザーに決めさせるようにしている。その画面上で入力された個人データは、「送信」アイコンをユーザーがクリックすることで、端末装置121からサーバー111に送信される。
【0031】
サーバー111は、端末装置121から個人データを受信すると、例えばそのなかからIDを取り出してDBサーバー112に送信し、そのサーバー112に、そのIDをキーにして、特には図示しない会員DBの検索を行わせる。それにより、そのIDを格納したレコードが会員DBに既に存在するか否か確認し、そのIDを格納したレコードが既に存在していることを確認すると、その旨を通知するための画面を端末装置121に送信し、そのユーザーに登録をやり直しさせる。反対に、そのIDを格納したレコードが存在していないことを確認すると、端末装置121から受信した個人データをDBサーバー112に送信して、そのサーバー112に、会員DBにその個人データを格納したレコードを追加させる。端末装置121には、会員登録が完了した旨を通知するための画面を送信して、そのことをユーザーに通知する。
【0032】
図3の説明に戻る。
端末装置121から送信されたID、パスワードを受信したサーバー111は、それらの組み合わせが登録した会員のものか否か確認することで認証を行う(ステップSS1)。その認証を行った結果、それらが登録した会員のものであることを確認すると、図25に示すようなメニュー(MENU)画面を端末装置121に送信する(ステップSS2)。その後は、端末装置121のユーザーがメニュー画面上でクリックしたアイコンの種類に応じた処理を実行する。他方の端末装置121は、サーバー111から送信されたメニュー画面を受信すると、それを表示装置上に表示させる。なお、上記認証は、例えば端末装置121から受信したID、パスワードをDBサーバー112に送り、それらの組み合わせが会員DBを構成するレコードに格納されているか否か確認させ、その結果を受け取ることで行われる。
【0033】
上記メニュー画面には、図25に示すように、伴奏データを購入するサービスを要求するための「伴奏データ購入」アイコン、それ以外のサービスを要求するための「その他」アイコン、及びサービスの終了を要求するための「終了」アイコンが配置されている。ユーザーは、所望するサービスの内容に応じて決まるアイコンをクリックすることで、そのサービスの提供を要求する。
【0034】
そのメニュー画面を受信した後には、ユーザーが「伴奏データ購入」アイコンをクリックしたか否か判定する(ステップST3)。そのアイコンをユーザーがクリックした場合、判定はYESとなって図4のステップST7に移行する。そうでない場合には、判定はNOとなってステップST4に移行する。
【0035】
ステップST4では、ユーザーが「その他」アイコンをクリックしたか否か判定する。そのアイコンをユーザーがクリックした場合、判定はYESとなり、そのアイコンに応じた処理をステップST7で実行し、その後はユーザーの操作に対応するためのその他の処理を行う。そうでない場合には、判定はNOとなってステップST5に移行する。
【0036】
ステップST5では、ユーザーが「終了」アイコンをクリックしたか否か判定する。そのアイコンをユーザーがクリックした場合、判定はYESとなり、その後はユーザーの操作に対応するためのその他の処理を行う。サーバー111との間に開設された通信は切断させる。一方、そうでない場合には、判定はNOとなって上記ステップST3に戻る。それにより、メニュー画面を表示させた後は、ユーザーが「伴奏データ購入」「その他」及び「終了」の各アイコンのなかの何れかをクリックするまでの間、ステップST3〜5で形成される処理ループを繰り返し実行する。
【0037】
上記ステップST3の判定がYESとなって移行する図4のステップST7では、伴奏データを購入できるサービスの提供を要求するための信号である伴奏データ購入要求信号をサーバー111に送信する。
そのステップST7の処理を実行、言い換えれば、ユーザーが「伴奏データ購入」アイコンをクリックした場合、サーバー111は、そのユーザーに伴奏データの購入に係わるサービスを提供するために図3のステップSS2から図4のステップSS3に移行する。そのアイコンをユーザーがクリックしなかった場合には、サーバー111はそれ以外のサービスをユーザーに提供するための他の処理をステップSS2の次に実行する。
【0038】
上記伴奏データ購入要求信号を受信したサーバー111は、その信号を送信してきた端末装置121に対し、図26に示すような伴奏データ選択画面を送信する(ステップSS3)。
上記伴奏データ選択画面には、図26に示すように、販売の対象となる伴奏データを示す伴奏の種類(以降、伴奏データ種、或いは伴奏名と呼ぶ)のリストが配置され、アイコンとして、伴奏データの試聴を要求するための「試聴」アイコン、その購入を要求するための「購入」アイコン、及び1つ前の画面(ここでは図25に示すメニュー画面)に戻るのを指示するための「戻る」アイコンが配置されている。伴奏データの試聴、或いは購入は、リストのなかで所望の伴奏データ種を選択した後、「試聴」アイコン、或いは「購入」アイコンをクリックすることで行うようにようになっている。
【0039】
サーバー111から送信された伴奏データ選択画面を受信した端末装置121は、それを表示装置上に表示させる(ステップST8)。次に、ユーザーが行った操作に応じて、リスト中の伴奏データ種を選択し、背景の表示色を他と変えるなどしてそれを強調表示させる(ステップST9)。その後は、「試聴」アイコンをユーザーがクリックしたか否か判定する(ステップST10)。そのアイコンをユーザーがクリックした場合、判定はYESとなり、図5のステップST15に移行する。そうでない場合には、判定はNOとなってステップST11に移行する。
【0040】
ステップST11では、「購入」アイコンをユーザーがクリックしたか否か判定する。そのアイコンをユーザーがクリックした場合、判定はYESとなり、図5のステップST15に移行する。そうでない場合には、判定はNOとなってステップST12に移行する。
【0041】
ステップST12では、「戻る」アイコンをユーザーがクリックしたか否か判定する。そのアイコンをユーザーがクリックした場合、判定はYESとなり、次にステップST13で1つ前の画面であるメニュー画面の送信を要求するための戻り要求信号をサーバー111に送信した後、ステップST14に移行する。そうでない場合には、判定はNOとなって上記ステップST9に戻る。それにより、ユーザーが何らかのアイコンをクリックするまでの間、ステップST9〜ST12で形成される処理ループを繰り返し実行する。
【0042】
サーバー111は、上記戻り要求信号を受信すると、それを送信した端末装置121にメニュー画面を再度、送信する(ステップSS4)。その後は、図3のステップSS2の処理を実行した後の状態に移行する。それにより、端末装置121のユーザーがそのメニュー画面上でアイコンをクリックするのに備える。
【0043】
その端末装置121は、サーバー111から再度、送信されたメニュー画面を受信すると、それを表示装置上に表示させる(ステップST14)。その後は、図3のステップST3に戻り、それ以降のステップの処理を同様に実行する。
上記ステップST10の判定がYES、即ち伴奏データ選択画面上の「伴奏データ購入」アイコンをユーザーがクリックすることで移行する図5のステップST15では、現在、選択されている伴奏データ種(伴奏名)の伴奏データの試聴を要求するための伴奏データ種試聴要求信号をサーバー111に送信する。
【0044】
その信号を受信したサーバー111は、その信号中で示された伴奏データ種で指定される伴奏データをDBサーバー112から取得し(ステップSS5)、図27に示すような試聴選択画面を、その信号を送信してきた端末装置121に送信する(ステップSS6)。
【0045】
その試聴選択画面には、図27に示すように、「同一コード/エレメント」「プリセットコード/エレメント」「ユーザー指定コード/エレメント」及び「戻る」の各アイコンが配置されている。「同一コード/エレメント」は、指定するコードで指定するエレメントのコード進行のみの再生を指示するためのものであり、「プリセットコード/エレメント」アイコンは、プリセットされたコード、即ちコード進行/エレメント進行データ(図2参照)に従った各エレメント伴奏データの再生を指示するためのものである。「ユーザー指定コード/エレメント」アイコンは、コード、或いはエレメントを随時、指定しつつ、指定したエレメントのコード進行の再生を指示するためのものである。ユーザーは、試聴選択画面上に配置されたアイコンのうちの一つをクリックすることにより、所望の再生形態の選択を行う。
【0046】
その試聴選択画面を受信した端末装置121は、それを表示装置上に表示させる(ステップST16)。その後は、「同一コード/エレメント」「プリセットコード/エレメント」「ユーザー指定コード/エレメント」及び「戻る」の順序でそのアイコンがクリックされたか否か判定し、その判定結果に応じて処理を移行させる(ステップST17〜ST20)。それらのアイコンの何れかをユーザーがクリックするまでの間、ステップST17〜ST20で形成される処理ループを繰り返し実行する。
【0047】
ユーザーが「戻る」アイコンをクリックした場合、上記ステップST20の判定がYESとなってステップST21に移行する。そのステップST21では、試聴選択画面の1つ前の画面である伴奏データ選択画面(図26参照)の送信を要求するための戻り要求信号をサーバー111に送信する。
【0048】
サーバー111は、その戻り要求信号を受信すると、それを送信してきた端末装置121に伴奏データ選択画面を送信する(ステップSS7)。その後は、図4のステップSS3の処理を実行した後の状態に移行する。それにより、端末装置121のユーザーが伴奏データ選択画面上のアイコンをクリックすることに備える。
【0049】
端末装置121は、サーバー111から伴奏データ選択画面を受信するのを待って、それを表示装置上に表示させる(ステップST22)。その後は、図4のステップST9に戻り、端末装置121のユーザーが伴奏データ選択画面上で行う操作に備える。
【0050】
図27に示す試聴選択画面上で「同一コード/エレメント」アイコンをユーザーがクリックした場合、上記ステップST17での判定がYESとなる。その場合、端末装置121は、図28に示すようなコード/エレメント入力画面を要求する信号をサーバー111に送信する(図6のステップST23)。それにより、サーバー111は、端末装置121にその入力画面を送信する(図6のステップSS8)。
【0051】
上記コード/エレメント入力画面には、図28に示すように、ボックスとして、コード入力用のボックス、「イントロ」「ノーマル」「フィルイン」或いは「エンディング」が表示された4つのボックスが配置され、アイコンとして、「送信」及び「戻る」の各アイコンが配置されている。コード、エレメントの指定は、コード入力用のボックスにコードを入力し、「イントロ」「ノーマル」「フィルイン」或いは「エンディング」が表示された4つのボックスのうちの何れか一つを選択状態にした後、「送信」アイコンをクリックすることで行うようになっている。
【0052】
コードは、そのボックス内にカーソルを表示させた状態で、コード種、その根音(ルート)の音高を示すシンボルをキーボードから入力する。コード/エレメント入力画面を表示させている間、端末装置121は、電子楽器122から受信するMIDIデータを監視し、所定の時間内に受信した複数のMIDIデータがそれぞれ発音を指示する楽音の音高の組み合わせが何らかのコードの構成音のそれと一致するか否か確認するコード判定を行う。そのコード判定の結果、それらMIDIデータがそれぞれ発音を指示する楽音の音高の組み合わせが何らかのコードの構成音のそれと一致するのを確認すると、そのコード種、その根音の音高を示すシンボルをボックス内に表示させる。それにより、コード入力用ボックスへのデータ入力は電子楽器122の鍵盤を操作しても行えるようにしている。なお、コード判定は、例えば図2に示すようなコード判定テーブルを専用のプログラムと共に端末装置121にインストールさせておくことで行わせるようにしているが、そのテーブルをコード/エレメント入力画面とともに送信し、随時、端末装置121にそれを参照させて行わせるようにしても良い。
【0053】
端末装置121は、サーバー111からコード/エレメント入力画面を受信するのを待ってそれを表示装置上に表示させる(ステップST24)。その画面を表示させた後は、マウスなどのポインティングデバイス、キーボードなどの端末装置121が備えた、或いはそれと接続された入力装置、或いは電子楽器122へのユーザーの操作に応じて、上述したようなコード種、ルートを指定するシンボルの入力、或いはエレメントの選択を行う(ステップST25)。その後は、「送信」アイコンがクリック(オン)されたか否か判定する(ステップST26)。そのアイコンをユーザーがクリックしていない場合、判定はNOとなり、次に「戻る」アイコンがクリックされたか否か判定する(ステップST27)。そのアイコンをユーザーがクリックしていない場合、判定はNOとなり、上記ステップST25に戻る。それにより、「送信」アイコン、或いは「戻る」アイコンをユーザーがクリックするまでの間、ステップST25〜ST27で形成される処理ループを繰り返し実行する。そのようにして、「送信」アイコン、或いは「戻る」アイコンをユーザーがクリックするまでの間、コード種やルートを示すシンボルの入力やエレメントの選択を可能とさせる。
【0054】
ユーザーが「戻る」アイコンをクリックした場合、上記ステップST27の判定がYESとなり、次にコード/エレメント入力画面の一つ前の画面である試聴選択画面(図27参照)の送信を要求するための戻り要求信号をサーバー111に送信する(ステップST28)。
【0055】
その戻り要求信号を受信したサーバー111は、図27に示す試聴選択画面を端末装置121に送信する(ステップSS9)。それを送信すると、図5のステップSS6の処理を実行した後の状態に移行する。
上記戻り要求信号を送信した端末装置121は、サーバー111から図27に示す試聴選択画面を受信するのを待って、それを表示装置上に表示させる(ステップST29)。その後は図5のステップST17に戻り、それ以降の処理を同様に実行する。
【0056】
図28に示すコード/エレメント入力画面上の「送信」アイコンをユーザーがクリックした場合、上記ステップST26の判定がYESとなる。その場合、端末装置121は、次にその画面上で入力されたシンボルや選択されたエレメントを示すデータをサーバー111に送信する(図7のステップST30)。
【0057】
一方のサーバー111は、そのデータを受信すると、それをストアする(ステップSS10)。ストアした後は、図29に示すような試聴画面を端末装置121に送信する(ステップSS11)。
上記試聴画面には、図29に示すように、「スタート」「ストップ」及び「戻る」の各アイコンが配置されている。「スタート」アイコンは、伴奏データの再生開始を指示するためのものであり、「ストップ」アイコンは、その再生の中止を指示するためのものである。「戻る」アイコンは、一つ前の画面に戻るのを指示するためのものである。
【0058】
上記データを送信した端末装置121は、サーバー111から試聴画面を受信するのを待ってそれを表示装置上に表示させる(ステップST31)。その後は、「戻る」アイコンがクリック(オン)されたか否か判定する(ステップST32)。そのアイコンをユーザーがクリックした場合、判定はYESとなり、次に1つ前の画面に戻るのを要求するための戻り要求信号をサーバー111に送信する(ステップST33)。このとき、伴奏データを再生(演奏)中であれば、変数STFにそれが再生中でないことを示す値の0を代入するとともに、発音中の全楽音の消音を指示するためのオールノートオフ信号(MIDIデータ)を電子楽器122に送信することも合わせて行う。
【0059】
サーバー111は、その戻り要求信号を受信すると、コード/エレメント入力画面(図28参照)を端末装置121に送信する(ステップSS12)。このとき、伴奏データを再生(演奏)中であれば、変数STFにそれが再生中でないことを示す値の0を代入することも合わせて行う。その画面を送信すると、図6のステップSS8を実行した後の状態に移行する。
【0060】
サーバー111からコード/エレメント入力画面を受信した端末装置121は、それを表示装置上に表示させる(ステップST34)。その後は、図6のステップST25に戻り、それ以降の処理を同様に実行する。
図29に示す試聴画面上の「戻る」アイコンをユーザーがクリックしなかった場合、上記ステップST32の判定はNOとなり、次に「スタート」アイコンをユーザーがクリックしたか否か判定する(図8のステップST35)。その「スタート」アイコンをユーザーがクリックしなかった場合、判定はNOとなってステップST38に移行する。そうでない場合には、判定はYESとなり、伴奏データの再生開始を要求するためのスタート信号をサーバー111に送信し(ステップST36)、更に変数STFに伴奏データが再生中であることを示す値の1を代入した(ステップST37)後に、そのステップST38に移行する。
【0061】
ステップST38では、「ストップ」アイコンがクリックされたか否か判定する。そのアイコンをユーザーがクリックしなかった場合、判定はNOとなってステップST42に移行する。そうでない場合には、判定はYESとなり、伴奏データの再生中止を要求するためのストップ信号をサーバー111に送信し(ステップST39)、上記変数STFに0を代入し(ステップST40)、更に電子楽器122にオールノートオフコマンド(MIDIデータ)を信号として送信した(ステップST41)後、そのステップST42に移行する。
【0062】
ステップST42では、変数STFの値が1か否か判定する。伴奏データを再生中でなかった場合、その変数STFには0が代入されていることから、判定はNOとなって図7のステップST32に戻る。そうでない場合には、即ち伴奏データを再生中の場合には、変数STFには1が代入されていることから、判定はYESとなってステップST43に移行する。
【0063】
端末装置121における試聴のための伴奏データの再生は、上述したように、サーバー111から随時、処理すべきタイミングで送信されるイベントデータ(MIDIデータ、或いはコードデータ)を受信し、それを電子楽器122に送信することで行うようになっている。このことから、ステップST43では、サーバー111からイベントデータ(ここではコードデータ)を新たに受信したか否か判定する。そのデータをサーバー111から新たに受信していない場合、判定はNOとなって図7のステップST32に戻る。そうでない場合には、判定はYESとなり、次にサーバー111から新たに受信したコードデータに対応するMIDIデータ(コードの構成音毎に生成されるMIDIデータ)を複数、生成して電子楽器122に送信した(ステップST44)後、ステップST45に移行する。
【0064】
上記サーバー111は、伴奏データ再生のために送信すべきMIDIデータが無くなると、その旨を示すコマンド(終了コマンド)を端末装置121に送信する。ステップST45では、その終了コマンドをサーバー111から新たに受信したか否か判定する。そのコマンドをサーバー111から新たに受信した場合、判定はYESとなり、変数STFに0を代入した(ステップST46)後、図7のステップST32に戻る。そうでない場合には、判定はNOとなり、他のステップの処理を実行することなく、そのステップST32に戻る。それにより、図29に示す試聴画面を表示装置上に表示させている間は、図7のステップST32、図8のステップST35〜ST46で形成される処理ループを繰り返し実行して、その画面上に配置された各種アイコンへのクリックや伴奏データの再生に対応するようになっている。
【0065】
その試聴画面を端末装置121が表示させている間、サーバー111は、図8のステップSS13〜SS20で形成される処理ループを繰り返し実行する。それにより、以下のようにして、その試聴画面上に配置された各種アイコンを端末装置121のユーザーがクリックすることに対応する。
【0066】
先ず、ステップSS13では、端末装置121からスタート信号を受信したか否か判定する。端末装置121のユーザーが試聴画面上の「スタート」アイコンをクリックした場合、その端末装置121はスタート信号を送信することから、判定はYESとなってステップSS14に移行する。そうでない場合には、判定はNOとなってステップSS15に移行する。
【0067】
ステップSS14では、スタート信号の受信により、試聴用の伴奏データの再生開始を準備するための演奏開始準備処理を実行する。このとき、そのスタート信号を送信させた端末装置121のユーザーは、図28に示すコード/エレメント入力画面上でエレメント、及びコード(ここではコード種、及び根音を示すシンボル)を入力している。このため、ここでは、ユーザーが入力(選択)した伴奏のエレメントを入力(選択)したコードで再生するために、図14に示す第1の演奏開始準備処理を実行する。その後に上記ステップSS15に移行する。
【0068】
ここで、その第1の演奏開始準備処理について、図14に示すそのフローチャートを参照して詳細に説明する。
図28に示すコード/エレメント入力画面は、上述したように、端末装置121のユーザーが、図26に示す伴奏データ選択画面上で試聴を希望する伴奏データ種(伴奏名)を選択し、更に図27に示す試聴選択画面上の「同一コード/エレメント」アイコンをクリックした場合に表示される。このことから、図14に示す準備処理では、ユーザーが指定したエレメントのコード進行を指定のコードで再生するための準備が行われる。
【0069】
先ず、ステップ1401では、変数STFに、伴奏データを再生(演奏)中であることを示す値の1を代入する。続くステップ1402では、図7のステップSS10でストアしたデータが指定するコード種を示す値を変数TYPEに、そのデータが指定する根音(ルート)を示す値(例えばノートナンバー)を変数ROOTにそれぞれ代入する。その後はステップ1403に移行する。
【0070】
ステップ1403では、図26に示す伴奏データ選択画面上でユーザーが選択した伴奏名(伴奏データ種)の伴奏データを構成するコード進行/エレメント進行データのなかで、図28に示すコード/エレメント入力画面上でユーザーが選択したエレメントを示すエレメント種データの直後に存在する時間データの位置をスタートアドレスとして、そのアドレス値を変数ADに代入する。次に移行するステップ1404では、その変数ADの値で指定されるデータ(時間データ)を変数TIMEに代入する。一連の処理はその後に終了する。
【0071】
コード進行/エレメント進行データ(図2参照)を構成するエレメント種データは、エレメントの区切りを表している。このため、先頭でコードを鳴らすエレメントには、エレメント種データの直後に時間データではなく、コードデータが存在しているものもある。このことから、エレメント種データの直後に時間データが存在していない場合、上記ステップ1403では、エレメント種データを指定するアドレス値を変数ADに代入し、それに続くステップ1404では、変数TIMEに直ちに演奏を開始することを指示することになる値の0を代入するようにしている。そのようにして、ステップ1403、1404では、ユーザーが選択したエレメント種に応じた処理を行うようになっている。これは、後述する図20に示すエレメント選択処理でも同様である。
【0072】
図8の説明に戻る。
上述の準備処理を実行した後に移行するステップSS15では、端末装置121からストップ信号を受信したか否か判定する。端末装置121のユーザーが試聴画面上の「ストップ」アイコンをクリックした場合、その端末装置121はストップ信号を送信することから、判定はYESとなり、次にステップSS16で変数STFに0を代入した後、ステップSS17に移行する。そうでない場合には、判定はNOとなって、他のステップの処理を実行することなくそのステップSS17に移行する。
【0073】
ステップSS17では、上記ステップSS14の演奏開始準備処理を実行することで準備した伴奏データの演奏を実現させる演奏処理を実行する。ここでは、ユーザーが図27に示す試聴選択画面上で「同一コード/エレメント」アイコンをクリックしていることから、その演奏処理として、図15に示す第1の演奏処理を実行する。その実行後にステップSS18に移行する。
【0074】
図15に示す第1の演奏処理では、その実行時に、伴奏データを試聴させるために端末装置121に送信すべきイベントデータ(MIDIデータ、或いはコードデータ)が存在していれば、それを主記憶装置、或いは補助記憶装置に確保した領域である出力バッファに一時的に格納するようにしている。これは、後述する図17、及び図18に示す第2の演奏処理や、図21、及び図22に示す第3の演奏処理でも同様である。
【0075】
ステップSS18では、その出力バッファにイベントデータ(MIDIデータ、或いはコードデータ)が存在するか否か判定する。直前にステップSS17として演奏処理を実行した際にイベントデータを出力バッファに格納していた場合、判定はYESとなり、次にステップSS19でそのイベントデータを端末装置121に送信し、更にステップSS20で出力バッファのクリアを行った後、上記ステップSS13、或いは図7のステップSS11の処理を実行した後の状態に戻る。そうでない場合には、判定はNOとなって、他のステップの処理を実行することなく、そのステップSS13に、或いは図7のステップSS11の処理を実行した後の状態に戻る。端末装置121から戻り要求信号を受信した場合には、上述したように、ステップSS11に続いてステップSS12の処理を実行する。
【0076】
ここで、上記ステップSS17の演奏処理としてサーバー111が実行する第1の演奏処理について、図15に示すそのフローチャートを参照して詳細に説明する。その第1の演奏処理は、上述したように、図27に示す試聴選択画面上で「同一コード/エレメント」アイコンをユーザーがクリックしていた場合に実行される。その演奏処理を実行することで演奏するのは、図28に示すコード/エレメント入力画面上でユーザーが入力したエレメントのコード進行である。
【0077】
先ず、ステップ1501では、変数STFの値が1か否か判定する。伴奏データを演奏中であった場合、それには1が代入されていることから、判定はYESとなってステップ1502に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0078】
ステップ1502では、伴奏データを構成するイベントデータ(MIDIデータ、或いはコードデータ)の処理タイミングを管理するうえで単位とする最小単位時間が経過したか否か判定する。前回、経過したと判定してからその最小単位時間が経過した場合、判定はYESとなり、次にステップ1503で変数TIMEの値をデクリメントした後、ステップ1504に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0079】
ステップ1504では、変数TIMEの値が0か否か判定する。その変数TIMEに代入の時間データが付加されたイベントデータ(ここではコードデータ)を処理すべきタイミングとなった場合、その変数TIMEの値は0になることから、判定はYESとなってステップ1505に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0080】
ステップ1505では、変数ADの値をインクリメントする。続くステップ1506では、変数ADの値が示すアドレスが、コード進行/エレメント進行データ中のユーザーが選択したエレメント部分の最終アドレス以内のアドレスか否か判定する。そのエレメント部分の演奏(再生)が完了していない場合、変数ADの値はそのエレメント部分の最終アドレス以内のアドレスを示すことから、判定はYESとなってステップ1508に移行する。そうでない場合には、判定はNOとなり、次にステップ1507で終了コマンドを出力バッファにストアした後、一連の処理を終了する。
【0081】
エレメントは、エレメント種データを処理することで切り換わる。エンディングに続くエレメントは存在しない。このことから、エレメント部分の最終アドレスは、再生しているのがエンディング以外のエレメントでは次のエレメント種データの位置が対応する。そのエレメントがエンディングであれば、コード進行/エレメント進行データで最後のデータの位置が対応する。それにより、上記ステップ1506の判定は、変数ADの値で指定されるデータが無いか、或いはそのデータが次のエレメント種データであった場合にNOとなる。
【0082】
ステップ1508では、変数ADの値で指定されるデータの種類を判定する。そのデータがイベントデータ(ここではコードデータ)であった場合、その旨が判定され、ステップ1509に移行する。そのデータが時間データであった場合には、その旨が判定されてステップ1511に移行し、変数TIMEにその時間データを代入した後、一連の処理を終了する。
【0083】
ステップ1509では、変数TYPE、ROOTに代入された値に従ってコード変換テーブルを参照することにより、そのコードデータが表すコード(コード種、及び根音)の変換を行う。続くステップ1510では、変換後のコードの発音を指示するコードデータを出力バッファにストアする。その後は上記ステップ1505に戻る。それにより、ステップ1505〜1510で形成される処理ループは、ステップ1508の判定がYESとなって次に処理すべきコードデータに付加された時間データを変数TIMEに代入するまでの間、繰り返し実行される。
【0084】
上述したようにして出力バッファにストアされたコードデータが上記ステップSS20で端末装置121に送信される。それにより、端末装置121は、ユーザーが選択した伴奏の選択したエレメントのコード進行を、選択(指定)したコードで再生することになる。このため、ユーザーは、エレメント毎に、そのコード進行(指定したコードで変換したものを含む)を試聴により確認することができる。
【0085】
図27に示す試聴選択画面上の「プリセット/エレメント」アイコンをユーザーがクリックした場合、図5のステップST18の判定がYESとなる。その場合、端末装置121は、次に、図29に示すような試聴画面の送信を要求するための信号をサーバー111に送信する(図9のステップST47)。一方のサーバー111は、その信号を受信すると、その信号で要求された図29に示すような試聴画面を端末装置121に送信する(ステップSS21)。それにより、端末装置121は、その信号を送信した後、サーバー111から試聴画面を受信するのを待って、それを表示装置上に表示させる(ステップST48)。
【0086】
上記試聴画面を表示させた後は、「戻る」アイコンがクリック(オン)されたか否か判定する(ステップST49)。そのアイコンをユーザーがクリックした場合、判定はYESとなり、次に1つ前の画面に戻るのを要求するための戻り要求信号をサーバー111に送信する(ステップST50)。このとき、伴奏データを再生(演奏)中であれば、変数STFにそれが再生中でないことを示す値の0を代入するとともに、発音中の全楽音の消音を指示するためのオールノートオフ信号(MIDIデータ)を電子楽器122に送信することも合わせて行う。
【0087】
サーバー111は、その戻り要求信号を受信すると、試聴選択画面(図27参照)を端末装置121に再度、送信する(ステップSS22)。このとき、伴奏データを再生(演奏)中であれば、変数STFに0を代入することも合わせて行う。その画面を送信すると、図5のステップSS6を実行した後の状態に移行する。
【0088】
サーバー111から試聴選択画面を受信した端末装置121は、それを表示装置上に表示させる(ステップST51)。その後は、図5のステップST17に戻り、それ以降の処理を同様に実行する。
図27に示す試聴選択画面上の「戻る」アイコンをユーザーがクリックしなかった場合、上記ステップST49の判定はNOとなり、図8のステップST35に移行して、そのステップST35〜ST46を上述したようにしてユーザーが行う操作に応じて実行する。その後に、そのステップST49に戻る。
【0089】
他方のサーバー111は、端末装置121が図9のステップ49、図8のステップST35〜ST46で形成される処理ループを実行している間、図8のステップSS13〜SS20で形成される処理ループを実行する。このとき、ステップSS14の演奏開始準備処理として、図16に示す第2の演奏開始準備処理を実行し、ステップSS17の演奏処理として、図17、及び図18に示す第2の演奏処理を実行する。それにより、ユーザーが図26の伴奏データ選択画面上で選択した伴奏名に対応する伴奏データを、コード進行/エレメント進行データに従い、エレメント伴奏データを含めて再生するのを実現させる。ここで、それらの処理について、図16〜図18を参照して詳細に説明する。
【0090】
始めに、図16を参照して、図27に示す試聴選択画面上の「プリセットコード/エレメント」アイコンをユーザーがクリックした場合に、図8のステップSS14として実行される第2の演奏処理について詳細に説明する。
先ず、ステップ1601では、変数STFに1を代入する。次にステップ1602に移行して、ユーザーが図26の伴奏データ選択画面上で選択した伴奏名(伴奏データ種)に対応する伴奏データを構成するコード進行/エレメント進行データの先頭のデータの位置をスタートアドレスとして、そのアドレス値を変数AD1に代入する。ステップ1603にはその後に移行する。
【0091】
ステップ1603では、変数AD1の値で示されるデータの種類を判定する。そのデータがコードデータであった場合、その旨が判定されてステップ1604に移行し、そのコードデータが指定するコード種を示す値を変数TYPEに、それが指定する根音を示す値を変数ROOTにそれぞれ代入し、更にステップ1606で変数AD1の値をインクリメントした後、そのステップ1603に戻る。変数AD1の値で示されるデータがエレメント種を示すエレメント種データであった場合には、その旨が判定されてステップ1605に移行し、変数ELEMENTに、そのエレメント種データを代入し、更にステップ1606で変数AD1の値をインクリメントした後、そのステップ1603に戻る。その変数AD1の値で示されるデータが時間(タイム)データであった場合には、その旨が判定されてステップ1607に移行する。
【0092】
ステップ1607では、変数TIME1に、その時間データを代入する。続くステップ1607では、変数AD2に、変数ELEMENTの値(エレメント種データ)で示されるエレメント伴奏データの先頭のデータの位置をスタートアドレスとして、そのアドレス値を代入する。次に移行するステップ1609では、変数TIME2に、変数AD2の値で示されるデータ(ここではエレメント伴奏データの先頭に位置する時間データ)を代入する。その後、一連の処理を終了する。
【0093】
このようにして、第2の演奏開始準備処理では、図26の伴奏データ選択画面上でユーザーが選択した伴奏データを構成するコード進行/エレメント進行データに従い、最初に再生すべきエレメント(通常はイントロ)の再生を開始できるようにするまでの準備を行うようになっている。ステップ1603で時間データと判定した場合に一連の処理を終了するのは、図2に示すように、コード進行/エレメント進行データはその先頭に時間データが位置しないように作成するのを前提としているためである。
【0094】
次に、図17、及び図18を参照して、図27に示す試聴選択画面上の「プリセットコード/エレメント」アイコンをユーザーがクリックした場合に、図8のステップSS17として実行される第2の演奏処理について詳細に説明する。
上記第2の演奏開始準備処理を実行することで、変数AD1、AD2には、それぞれ、コード進行/エレメント進行データ中、エレメント伴奏データ中で処理の対象とすべきデータのアドレス値が代入される。第2の演奏処理は、それら変数AD1、AD2の値を随時インクリメント(更新)しながら、それら各値で指定されるデータを処理していくために実行される。
【0095】
先ず、ステップ1701では、変数STFの値が1か否か判定する。伴奏データを演奏中であった場合、それには1が代入されていることから、判定はYESとなってステップ1702に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0096】
ステップ1702では、上記最小単位時間が経過したか否か判定する。前回、経過したと判定してからその最小単位時間が経過した場合、判定はYESとなり、変数TIME1、及びTIME2の各値をそれぞれデクリメントした(ステップ1703、1704)後、ステップ1705に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0097】
ステップ1705〜1714では、変数AD1の値を必要に応じて更新しながら、コード進行/エレメント進行データの処理を進行させるための処理が行われる。
先ず、ステップ1705では、変数TIME1の値が0か否か判定する。その変数TIME1に代入の時間データが付加されたイベントデータ、或いはエレメント種データを処理すべきタイミングとなった場合、その変数TIMEの値は0になることから、判定はYESとなり、次にステップ1706で変数AD1の値をインクリメントした後、ステップ1707に移行する。そうでない場合には、判定はNOとなり、図18のステップ1715に移行する。
【0098】
ステップ1707では、変数AD1の値が示すアドレスが、コード進行/エレメント進行データの最終アドレス以内のアドレスか否か判定する。変数AD1の値が、その値をインクリメントしていくことでコード進行/エレメント進行データを構成するデータを示していない状態となった場合、判定はNOとなって図18のステップ1715に移行する。そうでない場合には、判定はYESとなってステップ1708に移行する。
【0099】
ステップ1708では、変数AD1の値で指定されるデータの種類を判定する。そのデータが時間(タイム)データであった場合、その旨が判定されてステップ1711に移行し、変数TIME1にその時間データを代入した後、図8のステップ1715に移行する。そのデータがイベントデータ(ここではコードデータ)であった場合には、その旨が判定され、次にステップ1710でそのコードデータが指定するコード種、及びその根音を示す値を変数TYPE、及びROOTにそれぞれ代入した後、上記ステップ1706に戻る。そのデータがエレメント種データであった場合には、その旨が判定されてステップ1711に移行する。
【0100】
ステップ1711では、変数ELEMENTに、そのエレメント種データを代入する。次のステップ1712では、エレメントの区切りをより明確にするために、オールノートオフコマンド(MIDIデータ)を出力バッファにストアする。その次に移行するステップ1713では、変数AD2に、変数ELEMENTに代入されたエレメント種データで示されるエレメント伴奏データのスタートアドレス(先頭に位置するデータ)を示す値を代入し、その後に移行するステップ1714では、変数AD2の値で示されるデータ(スタートアドレスに格納されるのは時間データである。図2参照)を変数TIME2に代入する。その代入を行った後、上記ステップ1706に戻る。
【0101】
ステップ1705〜1714で上述したような処理が実行されることにより、コード進行/エレメント進行データ中で処理すべきタイミングとなったデータは処理される。それにより、処理すべきタイミングとなったコードデータにより変数TYPE、ROOTの内容は随時、更新され、エレメント種データを処理すべきタイミングで再生の対象とするエレメント伴奏データが切り換えられる。
【0102】
上記ステップ1705の判定がNO、或いはステップ1707の判定がYESとなるか、またはステップ1709の処理を実行することで移行する図18のステップ1715では、変数TIME2の値が0か否か判定する。その変数TIME2に代入の時間データが付加されたイベントデータ(MIDIデータ)を処理すべきタイミングとなった場合、その値は0になることから、判定はYESとり、ステップ1716で変数AD2の値をインクリメントした後、ステップ1717に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0103】
ステップ1717では、変数AD2の値が示すアドレスが、エレメント伴奏データの最終アドレス(それの最後に位置するデータのアドレス)以内のアドレスか否か判定する。変数ELEMENTに代入されたエレメント種データで指定されるエレメント伴奏データの再生が完了した場合、変数AD2の値はそのエレメント伴奏データを構成するデータのアドレスを示さなくなることから、判定はNOとなってステップ1722に移行する。そうでない場合には、判定はYESとなってステップ1718に移行する。
【0104】
ステップ1718では、変数AD2で示されるデータの種類を判定する。そのデータがイベントデータ(MIDIデータ、或いはコードデータ)であった場合、その旨が判定されてステップ1719aに移行し、それがMIDIデータであればそのままそれを、それがコードデータであれば変数TYPE,ROOTで音高変換した後、そのMIDIデータを出力バッファにストアし(ステップ1719b)、上記ステップ1716に戻る。そのデータが時間(タイム)データであった場合には、その旨が判定されてステップ1720に移行し、その時間データを変数TIME2に代入した後、一連の処理を終了する。
【0105】
上記ステップ1717の判定がNOとなって移行するステップ1721では、変数ELEMENTに代入のエレメント種データがエンディングを示しているか否か判定する。そのデータがエンディングを示していた場合、判定はYESとなり、ステップ1722で出力バッファにオールノートオフコマンドと終了コマンドをストアし、次にステップ1723で変数STFに0を代入した後、一連の処理を終了する。一方、そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0106】
上述したようにして、変数TYPE、ROOTで必要に応じて変換する、エレメント伴奏データを再生するためのMIDIデータが出力バッファにストアされて端末装置121に送信される。このため、端末装置121のユーザーは、各エレメントのコード進行やリズムを、エレメントの流れに沿って確認することができる。
【0107】
図27に示す試聴選択画面上の「プリセットコード/エレメント」アイコンをユーザーがクリックした場合には、上述したような第2の演奏開始準備処理、及び第2の演奏処理をサーバー111は状況に応じて実行する。それにより、図26に示す伴奏データ選択画面上で選択した伴奏名の伴奏データのプリセットに従った形での試聴をユーザーが行えるようにさせている。
【0108】
図5の説明に戻る。
その図27に示す試聴選択画面上の「ユーザー指定コード/エレメント」アイコンをユーザーがクリックした場合、図5のステップST19の判定はYESとなる。その場合、端末装置121は、次に図30に示すような演奏画面の送信を要求するための信号をサーバー111に送信する(図10のステップST52)。その信号を受信したサーバー111は、その演奏画面を端末装置121に送信する(図10のステップSS23)。このことから、端末装置121は、その信号を送信すると、サーバー111から演奏画面を受信するのを待って、それを表示装置上に表示させる(ステップST53)。
【0109】
上記演奏画面には、図30に示すように、「スタート」「ストップ」「イントロ」「フィルイン」「エンディング」及び「戻る」の各アイコンが配置されている。「スタート」「ストップ」の各アイコンは、伴奏データの再生開始、或いはその中止を要求するためのものであり、「戻る」アイコンは、一つ前の画面(ここでは図27に示す試聴選択画面)に戻るのを要求するためのものである。「イントロ」「フィルイン」及び「エンディング」の各アイコンは、再生させるエレメントを選択するためのものである。それらのアイコンを配置することにより、ユーザーが随時、再生させるエレメントを切り換えられるようにさせている。「イントロ」「フィルイン」及び「エンディング」の各アイコンを総称してエレメントアイコンと呼ぶことにする。
【0110】
上記演奏画面を表示させた端末装置121は、次に、「戻る」アイコンがクリック(オン)されたか否か判定する(ステップST54)。そのアイコンをユーザーがクリックした場合、判定はYESとなり、次に1つ前の画面に戻るのを要求するための戻り要求信号をサーバー111に送信する(ステップST55)。このとき、伴奏データを再生(演奏)中であれば、変数STFにそれが再生中でないことを示す値の0を代入するとともに、発音中の全楽音の消音を指示するためのオールノートオフ信号(MIDIデータ)を電子楽器122に送信することも合わせて行う。
【0111】
サーバー111は、その戻り要求信号を受信すると、試聴選択画面(図27参照)を端末装置121に送信する(ステップSS24)。このとき、伴奏データを再生(演奏)中であれば、変数STFに0を代入することも合わせて行う。その画面を送信すると、図5のステップSS6を実行した後の状態に移行する。
【0112】
サーバー111から試聴選択画面を受信した端末装置121は、それを表示装置上に表示させる(ステップST56)。その後は、図5のステップST17に戻り、それ以降の処理を同様に実行する。
図30に示す演奏画面上の「戻る」アイコンをユーザーがクリックしなかった場合、上記ステップST54の判定はNOとなり、次に「スタート」アイコンをユーザーがクリックしたか否か判定する(図11のステップST57)。その「スタート」アイコンをユーザーがクリックしなかった場合、判定はNOとなってステップST60に移行する。そうでない場合には、判定はYESとなり、伴奏データの再生開始を要求するためのスタート信号をサーバー111に送信し(ステップST58)、更に変数STFに1を代入した(ステップST59)後に、そのステップST60に移行する。
【0113】
ステップST60では、「ストップ」アイコンがクリックされたか否か判定する。そのアイコンをユーザーがクリックしなかった場合、判定はNOとなってステップST64に移行する。そうでない場合には、判定はYESとなり、伴奏データの再生中止を要求するためのストップ信号をサーバー111に送信し(ステップST61)、上記変数STFに0を代入し(ステップST62)、更に電子楽器122にオールノートオフコマンド(MIDIデータ)を信号として送信した(ステップST63)後、そのステップST64に移行する。
【0114】
ステップST64では、エレメントアイコンがクリックされたか否か判定する。「イントロ」「フィルイン」及び「エンディング」の各アイコンの何れもユーザーがクリックしなかった場合、判定はNOとなってステップST66に移行する。そうでない場合には、即ちそれらのうちの何れかをユーザーがクリックした場合には、判定はYESとなり、ユーザーがクリックしたアイコンに対応するエレメント種データをサーバー111に送信する(ステップST65)。ステップST66にはその後に移行する。
【0115】
ステップST66では、電子楽器122から楽音の音高を示すMIDIデータを受信したか否か判定する。その電子楽器122は、特には図示しない鍵盤上の鍵をユーザーが押鍵すると、その鍵の音高(ノートナンバー)を含むMIDIデータを端末装置121に送信する。このことから、ユーザーが鍵盤上の鍵を押鍵した場合、判定はYESとなり、電子楽器122から受信したMIDIデータをサーバー111に送信した(ステップST67)後、図12のステップST68に移行する。そうでない場合には、判定はNOとなって、他のステップの処理を実行することなく、そのステップST68に移行する。
【0116】
図12のステップST68では、変数STFの値が1か否か判定する。伴奏データを再生中でなかった場合、その変数STFには0が代入されていることから、判定はNOとなって図10のステップST54に戻る。そうでない場合には、即ち伴奏データを再生中の場合には、変数STFには1が代入されていることから、判定はYESとなってステップST69に移行する。
【0117】
ステップST69では、サーバー111からイベントデータ(ここではコードデータ)を新たに受信したか否か判定する。そのデータをサーバー111から新たに受信していない場合、判定はNOとなって図10のステップST54に戻る。そうでない場合には、判定はYESとなり、次にサーバー111から新たに受信したコードデータに対応するMIDIデータを生成して電子楽器122に送信した(ステップST70)後、ステップST71に移行する。
【0118】
ステップST71では、終了コマンドをサーバー111から新たに受信したか否か判定する。そのコマンドをサーバー111から新たに受信した場合、判定はYESとなり、変数STFに0を代入した(ステップST72)後、図10のステップST54に戻る。そうでない場合には、判定はNOとなり、他のステップの処理を実行することなく、そのステップST54に戻る。
【0119】
このようにして、端末装置121は、図30に示す演奏画面を表示装置上に表示させている間、図10のステップST54、図11のステップST57〜ST67、及び図12のステップST68〜ST72で形成される処理ループを繰り返し実行して、その画面上に配置された各種アイコンへのクリックや伴奏データの再生、或いは電子楽器122から受信したMIDIデータに対応するようになっている。
【0120】
その演奏画面を端末装置121が表示させている間、サーバー111は、図11のステップSS25〜SS35、図12のSS36〜SS38で形成される処理ループを繰り返し実行する。それにより、以下のようにして、その演奏画面を表示させた端末装置121のユーザーの要求に対応する。
【0121】
先ず、ステップSS25では、端末装置121から何らかの信号を受信したか否か判定する。ユーザーが演奏画面上の何らかのアイコンをクリックするか、或いは電子楽器122の鍵盤上の鍵を押鍵した場合、端末装置121はユーザーが行った操作に応じた信号をサーバー111に送信する。このことから、そのような場合、判定はYESとなってステップSS26に移行する。そうでない場合には、判定はNOとなってステップSS35に移行する。
【0122】
ステップSS26では、端末装置121から受信した信号がスタート信号か否か判定する。端末装置121のユーザーが演奏画面上の「スタート」アイコンをクリックした場合、その端末装置121はスタート信号を送信することから、判定はYESとなってステップSS27に移行し、図26に示す伴奏データ選択画面上でユーザーが選択した伴奏名(伴奏データ種)の伴奏データの再生を開始するためのスタート処理を実行した後、ステップSS35に移行する。そうでない場合には、判定はNOとなってステップSS28に移行する。
【0123】
ここで、そのスタート処理について、図19に示すそのフローチャートを参照して詳細に説明する。処理の対象は、図26に示す伴奏データ選択画面上でユーザーが選択した伴奏名(伴奏データ種)伴奏データを構成するコード進行/エレメント進行データである。
【0124】
先ず、ステップ1901では、変数STFに1を代入する。続くステップ1902では、変数ELEMENTに、「ノーマル」を示すエレメント種データを代入する。その後はステップ1903に移行する。
ステップ1903では、図26に示す伴奏データ選択画面上でユーザーが選択した伴奏名の伴奏データを構成するコード進行/エレメント進行データのなかで、変数ELEMENTに代入のエレメント種データに付加された時間データ(その直前に配置)の位置をスタートアドレスとして、そのアドレス値を変数ADに代入する。次に移行するステップ1904では、その変数ADの値で指定されるデータ(時間データ)を変数TIMEに代入する。一連の処理はその後に終了する。
【0125】
上述したようなスタート処理を実行することにより、本実施の形態では、「スタート」アイコンをユーザーがクリックした場合、ノーマルからコード進行の再生を開始させるようにしている。ノーマルからコード進行の再生を開始させるようにしたのは、試聴を希望する人にとって最も内容を確認したいエレメントがノーマルであるのが普通であるためである。
【0126】
図11に戻り、ステップSS28以降の処理を説明する。
ステップSS28では、端末装置121から受信した信号がストップ信号か判定する。端末装置121のユーザーが演奏画面(図30)上の「ストップ」アイコンをクリックした場合、その端末装置121はストップ信号を送信することから、判定はYESとなり、次にステップSS29で変数STFに0を代入した後、ステップSS35に移行する。そうでない場合には、判定はNOとなってステップSS30に移行する。
【0127】
ステップSS30では、端末装置121から受信した信号がエレメント種データを含むものか判定する。端末装置121のユーザーが演奏画面上の何れかのエレメントアイコンをクリックした場合、その端末装置121はクリックされたアイコンに割り当てられたエレメント種データを送信することから、判定はYESとなり、ステップSS29でそれに対応するためのエレメント選択処理を実行した後、ステップSS35に移行する。そうでない場合には、判定はNOとなってステップSS32に移行する。
【0128】
図20は、ステップSS29として実行されるエレメント選択処理のフローチャートである。ここで、その選択処理について、図20を参照して詳細に説明する。
先ず、ステップ2001では、変数ELEMENTに、端末装置121から受信した信号中のエレメント種データを代入する。続くステップ2002では、出力バッファにオールノートオフコマンドをストアする。その後はステップ2003に移行する。
【0129】
ステップ2003では、図26に示す伴奏データ選択画面上でユーザーが選択した伴奏名の伴奏データを構成するコード進行/エレメント進行データのなかで、変数ELEMENTに代入したエレメント種データに付加された時間データ(その直前に配置)の位置をスタートアドレスとして、そのアドレス値を変数ADに代入する。次に移行するステップ2004では、その変数ADの値で指定されるデータ(時間データ)を変数TIMEに代入する。
【0130】
ステップ2004に続くステップ2005では、変数ELEMENTに代入されたエレメント種データが示すエレメントがイントロか否か判定する。図30に示す演奏画面上の「イントロ」アイコンをユーザーがクリックしたことで端末装置121が信号をサーバー111に送信した場合、その信号中にはイントロを示すエレメント種データが含まれていることから、判定はYESとなり、ステップ2006で変数STFに1を代入した後、一連の処理を終了する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0131】
伴奏データの再生中は、上記ステップ2001〜2004の処理を実行することで、ユーザーがクリックしたエレメントアイコンに応じたエレメントの選択・切り換えが実現される。伴奏データの再生中でない場合には、ユーザーが「イントロ」アイコンをクリックすると、ステップ2006で変数STFに1を代入することから、ステップ2001〜2004として実行した処理が他のエレメントとは異なって有効になり、イントロから伴奏データの再生が開始することになる。コード進行/エレメント進行データでは、そのイントロを示すエレメント種データに時間データは付加していない(図2参照)。このことから、図14と同様に、ステップ2003ではそのエレメント種データの位置をスタートアドレスとして変数ADにアドレス値を代入し、ステップ2004では変数TIMEに0を代入する。そのようにして、特には図示していないが、イントロとそれ以外のエレメントとで処理内容を切り換えている。
【0132】
図11の説明に戻る。
図11のステップSS32では、端末装置121から受信した信号がMIDIデータを含むものか判定する。端末装置121のユーザーが電子楽器122の鍵盤上の鍵を押鍵した場合、その端末装置121は電子楽器122から受信したMIDIデータをサーバー111に送信することから、判定はYESとなってステップSS33に移行する。そうでない場合には、判定はNOとなってステップSS35に移行する。
【0133】
ステップSS33では、現時点の所定の時間前から端末装置121より受信したMIDIデータを対象にしたコード判定を行う。そのコード判定は、上述したように、対象とするMIDIデータが示す楽音の音高の組み合わせ(電子楽器122の鍵盤上で所定の時間内にユーザが押鍵した鍵の音高の組み合わせ)がコード判定テーブル(図2参照)に存在するか否か確認することで行う。その次に移行するステップSS34では、そのコード判定を行った結果、何らかのコードを判定した場合に、言い換えれば所定の時間内に端末装置121から受信したMIDIデータの組み合わせがコードを放音させるものであることを確認した場合に、そのコードの種類を示す値は変数TYPE、その根音を示す値(例えばその音高であるノートナンバー)は変数ROOTにそれぞれ代入した後、ステップSS35に移行する。
【0134】
ユーザーが電子楽器122の鍵盤上でコードを鳴らすための複数の鍵を押鍵すると、伴奏データを再生中か否かに係わらず、上述したようにして変数TYPE、ROOTの各値が更新される。それらは、コード進行/エレメント進行データを構成するコードデータの変換に用いる変数である。このことから明らかなように、コードデータの変換用のコード指定をユーザーが随時、行えるようにさせている。
【0135】
ステップSS35では、ユーザーが選択したエレメントのコード進行をユーザーが指定のコードで再生するための第3の演奏処理を実行する。その実行後に移行する図12のステップSS36では、出力バッファにイベントデータ(ここではコードデータ)があるか否か判定する。第3の演奏処理の実行時にコードデータを出力バッファにストアしていた場合、判定はYESとなり、ステップSS37で出力バッファにストアされているコードデータを端末装置121に送信し、更にステップSS38で出力バッファのクリアを行った後、図10のステップSS23の処理を実行した後の状態に移行する。そうでない場合には、判定はNOとなり、他のステップの処理を実行することなく、その状態に移行する。
【0136】
図21、及び図22は、上記ステップSS35として実行される第3の演奏処理のフローチャートである。ここで図21、及び図22を参照して、その演奏処理について詳細に説明する。その演奏処理で再生の対象とするのは、上述したように、図26の伴奏データ選択画面上でユーザーが選択した伴奏名(伴奏データ種)の伴奏データを構成するコード進行/エレメント進行データである。
【0137】
先ず、ステップ2101では、変数STFの値が1か否か判定する。伴奏データを演奏中であった場合、それには1が代入されていることから、判定はYESとなってステップ2102に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0138】
ステップ2102では、上記最小単位時間が経過したか否か判定する。前回、経過したと判定してからその最小単位時間が経過した場合、判定はYESとなり、次にステップ2103で変数TIMEの値をデクリメントした後、ステップ2104に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0139】
ステップ2104では、変数TIMEの値が0か否か判定する。その変数TIMEに代入の時間データが付加されたイベントデータ(コードデータ)を処理すべきタイミングとなった場合、その変数TIMEの値は0になることから、判定はYESとなり、ステップ2105で変数ADの値をインクリメントした後、ステップ2106に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0140】
ステップ2106では、変数ADの値が示すアドレスが、コード進行/エレメント進行データ中で現在、再生の対象としているエレメント部分の最終アドレス以内のアドレスか否か判定する。そのエレメント部分の演奏(再生)が完了していない場合、変数ADの値はそのエレメント部分の最終アドレス以内のアドレスを示すことから、判定はYESとなってステップ2107に移行する。そうでない場合には、即ち変数ADの値で指定されるデータが無いか、或いはそのデータが次のエレメント種データであった場合、判定はNOとなり、図22のステップ2111に移行する。
【0141】
ステップ2107は、変数ADの値で指定されるデータの種類を判定する。そのデータがイベントデータ(ここではコードデータ)であった場合、その旨が判定され、ステップ2109に移行する。そのデータが時間データであった場合には、その旨が判定されてステップ2108に移行し、変数TIMEにその時間データを代入した後、一連の処理を終了する。
【0142】
ステップ2109では、変数TYPE、ROOTに代入された値に従ってコード変換テーブルを参照することにより、そのコードデータが表すコード(コード種、及び根音)の変換を行う。続くステップ2110では、変換後のコードの発音を指示するコードデータを出力バッファにストアする。その後は上記ステップ2105に戻る。
【0143】
上記ステップ2106の判定がNOとなって移行する図22のステップ2111では、変数ELEMENTに代入されたエレメント種データが示すエレメントがエンディングか否か判定する。現在、エンディングのコード進行を演奏していない場合、変数ELEMENTにはエンディングを示すエレメント種データが代入されていないことから、判定はNOとなってステップ2115に移行する。そうでない場合には、判定はYESとなってステップ2112に移行する。
【0144】
ステップ2112では、出力バッファにオールノートオフコマンドをストアする。続くステップ2113では、その出力バッファに、更に終了コマンドをストアする。その後は、ステップ2114で変数STFに0を代入してから一連の処理を終了する。
【0145】
一方、ステップ2115では、出力バッファにオールノートオフコマンドをストアする。次のステップ2116では、変数ELEMENTに、「ノーマル」を示すエレメント種データを代入する。その次に移行するステップ2117では、コード進行/エレメント進行データ中で変数ELEMENTにエレメント種データを代入したノーマルに対応する部分のスタートアドレスを示す値を変数ADに代入する。その後は、ステップ2118で変数ADの値で示されるデータ(スタートアドレスに格納されるのは時間データである。図2参照)を変数TIMEに代入してから一連の処理を終了する。
【0146】
このようにして、本実施の形態では、エンディング以外のエレメントのコード進行の再生が終了すると、ノーマルのコード進行を再度、再生するようにしている。これは、ユーザーが、ノーマルの演奏を重点的に確認できるようにするとともに、イントロ→ノーマル、フィルイン→ノーマルといったようにエレメントが切り換わる際の伴奏の流れを確認できるようにするためである。エンディングのコード進行の再生が終了すると、その終了によって伴奏データの再生自体を終了させるのは、エンディングの後に他のエレメントが続かないためである。
【0147】
伴奏データの購入は、上述したように、図26に示す伴奏データ選択画面上で伴奏名(伴奏データ種)を選択した後、「購入」アイコンをクリックすることで行うようになっている。そのようにしてユーザーが「購入」アイコンをクリックした場合、図4のステップST11の判定がNOとなる。その場合、端末装置121は、次にユーザーが伴奏名で選択した伴奏データの購入を要求するための購入要求信号をサーバー111に送信する(図13のステップST73)。
【0148】
その購入要求信号は、ユーザーが伴奏名で選択した伴奏データを特定するためのデータを含む信号である。サーバー111は、それを受信すると、ユーザーが購入を希望した伴奏データに関するデータや、その購入に係る決済(課金)を行うためのデータをユーザーに入力させる各種ボックス、及び「送信」「戻る」といった各種アイコンなどを配置した購入画面を作成して端末装置121に送信する(図13のステップSS39)。
【0149】
本実施の形態では、会員登録を行った人を対象にサービスを提供するようにしている。その会員登録時に、決済に用いるカードに関する情報もユーザーに入力させている(図24参照)。会員登録時にユーザーが入力したデータは会員DBに保存している。このことから、上記購入画面では、決済を行うためのデータとして、ユーザー(会員登録した購入希望者)のID、及びパスワードの入力を求めるようにしている。伴奏データの購入は、ID、パスワードを対応するボックスに入力した後、「送信」アイコンをクリックすることで行い、そのキャンセルは、「戻る」アイコンをクリックすることで行うようになっている。
【0150】
上記購入画面を受信した端末装置121は、それを表示装置上に表示させる(ステップST74)。それを表示させた後は、ユーザーが入力装置を操作して入力したデータをボックス内に表示させる(ステップST75)。各ボックス内に表示させたデータは、課金データとして、ユーザーが「送信」アイコンをクリックするのを待ってサーバー111に送信する(ステップST76)。
【0151】
サーバー111は、端末装置121から課金データを受信すると、そのデータを用いた課金処理を行い、それのユーザーが購入を希望する伴奏データの代金を徴収する(ステップSS40)。その伴奏データは、代金を徴収した後に端末装置121に送信する(ステップSS41)。
【0152】
上記課金処理は、例えば端末装置121から課金データとして受信したID、パスワードをDBサーバー122に送信してその組み合わせを持つ会員の有無を会員DBから確認させ、そのような会員が登録されているのを確認できれば、その会員が登録時にデータを入力のカードを発行したカード会社が代金を予め決められた銀行口座に振り込むように金融機関105に依頼することで行う。その課金処理を実行後に端末装置121に送信する伴奏データもDBサーバー122から取得する。
【0153】
サーバー111から送信された伴奏データを受信した端末装置121は、それの保存先をユーザーに問い合わせることで、受信した伴奏データをユーザーが指定した場所にストアする(ステップST77)。その後は図5のステップST21に移行して、図26に示す伴奏データ送信画面の送信を要求するための戻り要求信号をサーバー111に送信する。このことから、サーバー111は、伴奏データを送信した後には図5のステップSS7に移行する。
【0154】
サーバー111は、上述したようにして、ネットワーク103を介して接続された端末装置121のユーザーに対して伴奏データの試聴を含むその購入に係るサービスを提供するための処理を実行する。それにより、伴奏データの内容を試聴により確認できるようにして、ユーザーが所望の伴奏データを確実に購入できる環境を実現させている。
【0155】
なお、本実施の形態では、提供システム101から端末システム103に伴奏再生用のイベントデータ(MIDIデータ、或いはコードデータ)を随時、送信することで、その端末システム103のユーザーが伴奏の試聴を行えるようにしているが、伴奏データを送り、それを端末システム103側で再生させることにより、その試聴を行えるようにしても良い。
【0156】
試聴のための伴奏データの再生形態については、本実施の形態では図27に示す試聴選択画面上で選択できる3種類を用意しているが、その再生形態はそれらに限定されるものではなく、適宜、決定して良い。どのような再生形態で伴奏データを再生したとしても、その内容を部分的、或いは全体的に確認できることから、何れもしても、ユーザーは自身が所望の伴奏データをより容易、且つ確実に取得できるようになる。
【0157】
上述したような提供システム101、或いはその変形例の動作を実現させるようなプログラムは、CD−ROM、DVD、或いは光磁気ディスク等の記録媒体に記録させて配布しても良い。或いは、公衆網等で用いられる伝送媒体を介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得してコンピュータなどのデータ処理装置にロードすることにより、そのデータ処理装置を用いて本発明を適用させた伴奏データ提供システムを構築することができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。本発明を適用させた伴奏データ提供システムの構成も本実施の形態に限定されるものではない。
【0158】
【発明の効果】
以上、説明したように本発明は、試聴希望者からネットワークを介して、伴奏に対する試聴を要求するための試聴要求を受け付け、その試聴要求で試聴を要求された伴奏を再生するための試聴用の伴奏データを、ネットワークを介して送信することで試聴希望者に提供し、その提供した伴奏データを再生させることで試聴希望者に伴奏を試聴させる。その試聴によって、試聴希望者は伴奏の内容を確認することができる。このため、試聴希望者は自身が所望する伴奏データをより容易、且つ確実に取得(例えば購入)することができるようになる。
【図面の簡単な説明】
【図1】本実施の形態による伴奏データ提供システムを用いて構築されたネットワークシステムの構成を示す図である。
【図2】データベースサーバーが管理するデータの種類、及びその内容を説明する図である。
【図3】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである。
【図4】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き1)。
【図5】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き2)。
【図6】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き3)。
【図7】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き4)。
【図8】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き5)。
【図9】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き6)。
【図10】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き7)。
【図11】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き8)。
【図12】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き9)。
【図13】端末システムを伴奏データ提供システムと接続させた場合に、それらが実行する処理の流れを示すフローチャートである(続き10)。
【図14】第1の演奏開始準備処理のフローチャートである。
【図15】第1の演奏処理のフローチャートである。
【図16】第2の演奏開始準備処理のフローチャートである。
【図17】第2の演奏処理のフローチャートである。
【図18】第2の演奏処理のフローチャートである(続き)。
【図19】スタート処理のフローチャートである。
【図20】エレメント選択処理のフローチャートである。
【図21】第3の演奏処理のフローチャートである。
【図22】第3の演奏処理のフローチャートである(続き)。
【図23】認証用画面を示す図である。
【図24】登録画面を示す図である。
【図25】メニュー画面を示す図である。
【図26】伴奏データ選択画面を示す図である。
【図27】試聴選択画面を示す図である。
【図28】コード/エレメント入力画面を示す図である。
【図29】試聴画面を示す図である。
【図30】演奏画面を示す図である。
【符号の説明】
101 伴奏データ提供システム
102 ネットワーク
103 端末システム
111 サーバー
112 データベースサーバー
121 端末装置
122 電子楽器
Claims (2)
- 複数種の伴奏エレメントからなる伴奏データを記憶する記憶手段を有するサーバーにて、当該伴奏データに基づいた伴奏音データを生成して端末に送信する伴奏試聴システムであって、
前記端末は、
外部よりコードデータを取得するコード取得手段と、
外部よりエレメント種を指定するエレメント種データを取得するエレメント種データ取得手段と、
前記サーバーに対して前記コード取得手段によりコードデータが取得される毎に当該コードデータを送信するとともに、前記エレメント種データ取得手段によりエレメント種データが取得される毎に当該エレメント種データを送信するコード/エレメントデータ送信手段と、
前記サーバーから送信される伴奏データを受信する伴奏データ受信手段と、
この伴奏データ受信手段より受信された伴奏データを接続された楽器に転送する転送手段と、からなり、
前記サーバーは、
前記端末からコードデータ及びエレメント種データを受信するコード/エレメントデータ受信手段と、
このコード/エレメント受信手段により受信されたエレメント種データにて指定された伴奏エレメントを前記記憶手段から読み出すとともに、当該読み出された伴奏エレメントを受信されたコードデータにより変換して伴奏音データを生成する伴奏音データ生成手段と、
この伴奏音データ生成手段により生成された伴奏音データを前記端末に送信する伴奏音データ送信手段と、を更に有する、
ことを特徴とする伴奏試聴システム。 - 複数種の伴奏エレメント、当該エレメントの指定順序を表わすエレメント種進行データ及びコードの指定順序を表わすコード進行データからなる伴奏データを記憶する記憶手段を有するサーバーにて、当該伴奏データに基づいた伴奏音データを生成して端末に送信する伴奏試聴システムであって、
前記端末は、
前記サーバーに対して第1、第2及び第3の試聴形態のいずれかを指定する試聴形態選択信号を送信する試聴形態選択信号送信手段と、
外部より単一のコード及びエレメント種を取得するコード/エレメント取得手段と、
外部よりコードデータを取得するコード取得手段と、
外部よりエレメント種を指定するエレメント種データを取得するエレメント種データ取得手段と、
前記第1の試聴形態が選択されている場合に、前記サーバーに対して試聴開始信号を送信する第1の試聴開始信号送信手段と、
前記第2の試聴形態が選択されている場合に、前記サーバーに対して取得された単一のコード及びエレメント種を送信し、その後試聴開始信号を送信する第2の試聴開始信号送信手段と、
前記第3の試聴形態が選択されている場合に、前記サーバーに対して試聴開始信号を送信し、その後、前記サーバーに対して前記コード取得手段によりコードデータが取得される毎に当該コードデータを送信するとともに、前記エレメント種データ取得手段によりエレメント種データが取得される毎に当該エレメント種データを送信する第3の試聴開始信号送信手段と、
前記サーバーから送信される伴奏音データを受信する伴奏音データ受信手段と、
この伴奏音データ受信手段より受信された伴奏音データを接続された楽器に転送する転送手段と、からなり、
前記サーバーは、
前記端末から送信された試聴形態選択信号を受信する試聴形態選択信号受信手段と、
前記端末から送信された第1、第2及び第3の試聴開始信号のいずれかを受信する試聴開始信号受信手段と、
この試聴形態選択信号受信手段により第1の試聴形態選択信号が受信されかつ試聴開始信号受信手段により第1の試聴開始信号が受信された場合は、前記記憶手段に記憶されたエレメント種進行データに対応する順序で伴奏エレメントを読み出すとともに、当該読み出された伴奏エレメントを前記記憶手段に記憶されたコード進行データにより変換して伴奏音データを生成する第1の伴奏データ音生成手段と、
前記試聴形態選択信号受信手段により第2の試聴形態選択信号が受信されかつ試聴開始信号受信手段により第2の試聴開始信号が受信された場合は、受信されたエレメント種に対応する伴奏エレメントを前記記憶手段から読み出すとともに、当該読み出された伴奏エレメントを受信されたコードにより変換して伴奏音データを生成する第2の伴奏音データ生成手段と
前記試聴形態選択信号受信手段により第3の試聴形態選択信号が受信されかつ試聴開始信号受信手段により第3の試聴開始信号が受信された場合は、受信されたエレメント種データにて指定された伴奏エレメントを前記記憶手段から読み出すとともに、当該読み出された伴奏エレメントを受信されたコードデータにより変換して伴奏音データを生成する第3の伴奏音データ生成手段と、
この第1、第2及び第3の伴奏データ生成手段いずれかにより生成された伴奏データを前記端末に送信する伴奏データ送信手段と、を更に有する、
ことを特徴とする伴奏試聴システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001385751A JP3906681B2 (ja) | 2001-12-19 | 2001-12-19 | 伴奏試聴システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001385751A JP3906681B2 (ja) | 2001-12-19 | 2001-12-19 | 伴奏試聴システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003186468A JP2003186468A (ja) | 2003-07-04 |
JP3906681B2 true JP3906681B2 (ja) | 2007-04-18 |
Family
ID=27595077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001385751A Expired - Fee Related JP3906681B2 (ja) | 2001-12-19 | 2001-12-19 | 伴奏試聴システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3906681B2 (ja) |
-
2001
- 2001-12-19 JP JP2001385751A patent/JP3906681B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003186468A (ja) | 2003-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100354850C (zh) | 具有服务器计算机和电子音乐装置的音乐内容存储系统 | |
EP1221688A1 (en) | Music data distribution system and method | |
US6949704B2 (en) | Apparatus for delivering music performance information via communication network and apparatus for receiving and reproducing delivered music performance information | |
US7203726B2 (en) | System and method for appending advertisement to music card, and storage medium storing program for realizing such method | |
JP2003076364A (ja) | 電子音楽装置 | |
JP3381519B2 (ja) | 情報提供装置 | |
JP3906681B2 (ja) | 伴奏試聴システム | |
JP2002311967A (ja) | 替え歌作成装置及び替え歌作成プログラム及び替え歌作成方法 | |
JPH11161288A (ja) | カラオケ装置およびカラオケシステム | |
JP3180643B2 (ja) | 通信カラオケ装置の楽曲データの登録・削除・設定変更方法 | |
JP3788265B2 (ja) | 楽曲宣伝方法、楽音発生装置、及びプログラム | |
JP2004109148A (ja) | 携帯電話機を媒介とする通信カラオケシステムの運用方法 | |
JP2004021926A (ja) | 二次的情報配信方法、及びシステム | |
JP3225817B2 (ja) | 通信カラオケ装置の画像選択方法 | |
JPH11184481A (ja) | カラオケ装置 | |
JP3221273B2 (ja) | 音楽再生システム | |
JP4214900B2 (ja) | コンテンツデータ再生装置及びプログラム | |
JP2004093683A (ja) | コンテンツ配信システム、及びプログラム | |
JP4135317B2 (ja) | データ処理装置、及び記録媒体 | |
JP2004206604A (ja) | アンケートシステム、サービス提供システム、及びプログラム | |
JP3211646B2 (ja) | 演奏情報記録方法及びその演奏情報の再生装置 | |
JP2004220208A (ja) | プログラム環境を簡便に切り替え可能とする基本プログラムおよび記録媒体 | |
JP4164099B2 (ja) | オルゴール製造装置、オルゴール製造方法、オルゴール製造プログラム | |
KR20060066812A (ko) | 유무선 네트워크를 이용한 음악 편곡 서비스 시스템 | |
JP2004198738A (ja) | コンテンツ再生装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061006 |
|
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: 20061226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070108 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120126 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130126 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130126 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |