以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
(1)通信システムの構成等
始めに、本実施形態に係る通信システムSの概要構成等について、図1を用いて説明する。
図1は、本実施形態に係る通信システムSの概要構成の一例を示すブロック図である。
図1に示すように、通信システムSは、配信装置の一例としての楽曲配信サーバ1と、端末装置の一例としての複数のユーザPC(Personal Computer)2と、各ユーザPC2に夫々接続可能な複数の携帯音楽プレーヤ3と、を含んで構成されている。
楽曲配信サーバ1とユーザPC2とは、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP(Transmission Control Protocol/Internet Protocol)等を用いて相互にデータの送受信が可能である。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
また、ユーザPC2と携帯音楽プレーヤ3とは、例えば、USB(Universal Serial Bus)やIEEE(The Institute of Electrical and Electronics Engineers, Inc.)1394等のバス規格に対応したケーブル等を介して、又は、Bluetooth(IEEE 802.15.1)等の無線通信により、相互にデータの送受信が可能である。なお、ユーザPC2と携帯音楽プレーヤ3との間におけるデータの授受は、メモリカード等の記録媒体を介して行われるようにしても良い。
このような構成の通信システムSにおいて、楽曲配信サーバ1は、ユーザPC2からの要求等に応じ、聴取用楽曲の一例として、ユーザがジョギングしている最中等に聴く楽曲のデータであるジョギング用楽曲データを作成し、このジョギング用楽曲データをユーザPC2に送信する。
なお、本実施形態に係る楽曲配信サーバ1の特徴として、このユーザPC2に送信されるジョギング用楽曲データにおいては、その全体のキーが、予めユーザからユーザPC2を介して送信されて来たキー情報に示されているキー(すなわち、そのユーザが口ずさみ易いキー)に変更されている。
ユーザPC2にダウンロードされたジョギング用楽曲データ(そのキーがユーザの好みにより変更されているジョギング用楽曲データ)は、ユーザ操作等により、有線、無線又は記録媒体を介して携帯音楽プレーヤ3に転送される。そして、ユーザは、携帯音楽プレーヤ3にその(キーが変更された)ジョギング用楽曲データを再生させることにより、ジョギング用の楽曲を聴きながら又は好みに応じて口ずさみながらジョギング等を行う。
詳細は後述するが、このジョギング用楽曲データは、複数の楽曲のデータにより構成されており、ユーザの目標等に合うトレーニングコースに対応した演奏時間及びテンポで各楽曲が再生されるように作成されている。また、本実施形態において、このジョギング用楽曲データは、各楽曲の主要部(前奏、後奏等を除いた部分)が連続するメドレーとして再生されるように構成されている。
また、ジョギング用楽曲データがダウンロードされると、そのジョギング用楽曲データの購入代金(ジョギング用楽曲データを構成する楽曲やその曲数等に応じた著作権料を含む)がシステム側からユーザに対して請求される。
なお、ユーザPC2は、例えば、一般的な構成のパーソナルコンピュータを用いることが可能であり、また、携帯音楽プレーヤ3も、例えば、一般的な構成の携帯用のデジタルオーディオプレーヤを用いることができる。
(2)楽曲配信サーバの構成及び機能等
(2.1)楽曲配信サーバの構成
次に、楽曲配信サーバ1の構成及び機能等について説明するが、始めに、楽曲配信サーバ1の構成について、図2を用いて説明する。
図2は、本実施形態に係る楽曲配信サーバ1の概要構成の一例を示すブロック図である。
図2に示すように、楽曲配信サーバ1は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備える制御部11と、各種データ及びプログラムを記憶する蓄積手段の一例としての記憶部12(例えば、ハードディスクドライブ等)と、ネットワークNWに接続して、ユーザPC2等との通信状態を制御する受信手段及び送信手段夫々の一例としての通信部13と、WAVフォーマット(RIFF(Resource Interchange File Format) waveform Audio Format)の楽曲データをMP3(MPEG Audio Layer-3)フォーマットの楽曲データにエンコードするエンコーダ部14と、を含んで構成されており、制御部11と各部とはシステムバス15を介して接続されている。
制御部11は、本発明において、調変更手段、調変更原楽曲生成手段及び聴取用楽曲生成手段の一例を構成する。そして、制御部11は、CPUが、ROMや記憶部12に記憶された各種プログラムを読み出し実行することにより楽曲配信サーバ1の各部を統括制御すると共に、後述するパーツWAVデータデータベースプログラム201、サーバシステムプログラム202、WEBサイトプログラム203等を読み出し実行することにより、上記調変更手段、調変更原楽曲生成手段及び聴取用楽曲生成手段の一例等として機能する。
(2.2)データ及びプログラム等
次に、記憶部12に記憶されるデータ及びプログラムのソフトウエア構成等について、図3乃至図8を用いて説明する。
図3は、パーツWAVデータデータベースに登録されるデータ、及び、楽曲配信サーバ1におけるソフトウエアの概要構成の一例を示す図である。また、図4は、トレーニングコースを選択するためのメニュー構成の一例を示す図である。また、図5は、あるトレーニングコースにおける、各ステップのジョギング用楽曲データの仕様の一例を示す図である。また、図6は、各ステップにおけるジョギング用楽曲データの概要構成の一例を示す図である。また、図7は、各ジョギング時間におけるジョギング用楽曲データの概要構成の一例を示す図である。また、図8は、ジョギング用楽曲データの1ファイルのデータ構造の概要例を示す図である。
記憶部12には、ユーザの個人情報(例えば、氏名、年齢、メールアドレス、ユーザID、パスワード、そのユーザに指定した(そのユーザに合う)キーを示すキーデータ等)、ユーザのトレーニング情報(例えば、選択されたトレーニングコース、当該トレーニングコースのジョギング用楽曲データを最初にダウンロードした日時、現在のステップ、ジョギング用楽曲データを構成する楽曲の内容及び演奏順等を示す演奏リスト)、作成されたジョギング用楽曲データ(キー変更後のジョギング用楽曲データ)、ユーザの選曲の履歴を示す履歴情報(例えば、選択された楽曲、アルバム、アーティスト、ジャンル等を時系列で示す情報)等が、ユーザ毎に対応付けて記憶されている。
また、記憶部12には、ジョギング用楽曲データを構成するパーツとなるパーツデータが登録されるパーツWAVデータデータベースが構築されている。更にまた、記憶部12には、図3に示すパーツWAVデータデータベースプログラム201、サーバシステムプログラム202、WEBサイトプログラム203等が記憶されている。
上記パーツWAVデータデータベースには、図3に示す楽曲本体WAVパーツデータ101、ジョギングアレンジ曲間つなぎWAVパーツデータ102、ジョギングアレンジ音声ガイダンスWAVパーツデータ103、DJ音声WAVパーツデータ104等が、WAVフォーマットで登録されている。
楽曲本体WAVパーツデータ101は、ジョギング用の楽曲を構成する主要的な位置を占める楽曲本体のWAVデータであり、全てのデータが同一のテンポ(本実施形態においては、140BPM(Beats Per Minute))で記録されている。そして、楽曲本体WAVパーツデータ101は、図3に示す楽曲本体MIDIデータ105とジョギングアレンジドラムベースWAVデータ106とに基づき、楽曲本体WAVパーツデータ書き出しプログラム204を用いて作成される。
楽曲本体MIDIデータ105は、楽曲本体WAVパーツデータ101の原曲が記録されたMIDI(Musical Instrument Digital Interface)フォーマットのデータであり、その原曲におけるジョギングアレンジドラムベースWAVデータ106に相当するドラムベースパートを除いたパート(すなわち、ギターパート又はボーカルパート等のメロディパート)に相当するMIDIフォーマットデータである。また、上記ジョギングアレンジドラムベースWAVデータ106は、ドラムやシンバル等によるリズム音等が記録されたWAVデータであり、楽曲本体MIDIデータ105の原曲をジョギング用にアレンジするために用いられるデータである。そして、本実施形態において上記ユーザの好みに応じてそのキーが変更されるのは、上記楽曲本体MIDIデータ105のみである。
楽曲本体WAVパーツデータ書き出しプログラム204においては、楽曲本体MIDIデータ105から、前奏部分、後奏部分、間奏部分等が小節単位で削除され、残った主要部分に対して140BPMでテンポが調整される。このとき、調整前と調整後とでは、音程が変わらないように調整が行われる。これに加えて上記主要部分のキーは、上記キーデータに対応するように当該キーデータに基づいて変更される。そして、当該主要部分の楽曲本体MIDIデータ105のフォーマットがWAVフォーマットに変換され、ジョギングアレンジドラムベースWAVデータ106と合成されて、ジョギング用のアレンジ(例えば、ハウスミュージック調)が施される。こうして作成された楽曲データが楽曲本体WAVパーツデータ101である。
なお、楽曲本体WAVパーツデータ書き出しプログラム204は、楽曲配信サーバ1にインストールされて、制御部11により実行されるようにしても良いし、他の情報処理装置にインストールされて、当該装置上で実行されるようにしても良い。
ジョギングアレンジ曲間つなぎWAVパーツデータ102は、ジョギング用の楽曲を構成する複数の楽曲本体の曲間に演奏される楽曲(以下、「曲間部」と称する)のWAVデータ(繋ぎ曲の一例)、最初の楽曲本体の前に演奏される前奏のWAVデータ、及び、最後の楽曲本体の演奏の後に演奏される後奏のWAVデータの総称である。そしてこのジョギングアレンジ曲間つなぎWAVパーツデータ102もまた、上記楽曲本体MIDIデータ105の主要部分と同様に、そのキーが上記キーデータに対応するように当該キーデータに基づいて変更される。
ジョギングアレンジ音声ガイダンスWAVパーツデータ103は、専門のアドバイザーによる運動指導やアドバイス等の音声が記録されたWAVデータである。
DJ音声WAVパーツデータ104は、曲間に流されるDJ(Disc Jockey)の音声が記録されたWAVデータである。
なお、以下の説明においては、楽曲本体WAVパーツデータ101を、単に「楽曲本体データ」と称し、ジョギングアレンジ曲間つなぎWAVパーツデータ102を、単に「曲間つなぎデータ」と称する。また、ジョギングアレンジ音声ガイダンスWAVパーツデータ103及びDJ音声WAVパーツデータ104を、まとめて、単に「音声データ」と称する。
パーツWAVデータデータベースプログラム201は、楽曲配信サーバ1の制御部11がパーツWAVデータデータベースを管理するためのプログラムであり、各パーツデータの登録要求に応じて、パーツデータを当該データベースに登録したり、サーバシステムプログラム202から要求されたパーツデータを当該データベースから取得して、サーバシステムプログラム202に渡すためのプログラムである。
サーバシステムプログラム202は、楽曲配信サーバ1の制御部11が、パーツWAVデータデータベースから取得されたパーツデータを用いて、ジョギング用楽曲データを作成するためのプログラムである。
WEBサイトプログラム203は、曲配信サーバ1の制御部11が、作成されたジョギング用楽曲データを配信するWEBサイトとして、ユーザPC2からの要求に応じて、WEBページやジョギング用楽曲データ等を送信するためのプログラムである。
なお、パーツWAVデータデータベースプログラム201、サーバシステムプログラム202、WEBサイトプログラム203等は、例えば、図示せぬネットワークを介して他のサーバ装置等から取得されるようにしても良いし、CD(Compact Disc)−ROM等の記録媒体に記録されてドライブ装置等から読み込まれるようにしても良い。
次に、ジョギング用楽曲データの内容を説明する前に、このジョギング用楽曲データの仕様を決定付けるトレーニングコースを選択するためのメニューの構成について説明する。
このトレーニングコースの選択は、楽曲配信サーバ1からユーザPC2に送信されたコース選択用WEBページに基づいて、ユーザがユーザPC2を操作することにより行われる。
図4に示すように、トレーニングコースを選択するためのメニューの構成は、例えば、最上位の第1階層から最下位の第4階層までの階層構造をなしている。そして、各階層においては、ユーザの目標別等に応じたメニュー項目が定義されており、上位の階層では、大まかな目標に応じたメニュー項目が定義され、下位の階層になっていくに従って、具体的な目標に応じたメニュー項目が定義されている。
先ず、「コース選択」が選択されると、第1階層のメニュー項目として、例えば、「健康維持」、「ダイエット」、「マラソンレース出場」、「タイムアップ」等のユーザの目標に応じるコースメニューがユーザPC2の画面に表示される。そして、例えば、「マラソンレース出場」が選択されると、第2階層のメニュー項目として、「ホノルルマラソン」、「東京マラソン」、「ハーフマラソン」、「10Kmマラソン」等のコースメニューがユーザPC2の画面に表示される。
またここで、例えば、「ホノルルマラソン」が選択されると、第3階層のメニュー項目として、「タイムを狙う」、「完走する」等のコースメニューがユーザPC2の画面に表示される。更に、例えば、「タイムを狙う」が選択されると、第4階層のメニュー項目として、「初心者」、「中級者」、「上級者」等のコースメニューがユーザPC2の画面に表示される。
そして、第4階層のメニュー項目の中から一のメニュー項目が選択されると、これに一意に対応したトレーニングコースが、楽曲配信サーバ1の制御部1により決定される。例えば、「マラソンレース出場」〜「ホノルルマラソン」〜「タイムを狙う」〜「初心者」と選択されると、これに対して、「トレーニングコースA」が決定される。また、同様にして「中級者」が選択されると、「トレーニングコースB」が決定される。また、同様にして「上級者」が選択されると、「トレーニングコースC」が決定される。
楽曲配信サーバ1の記憶部12には、上記メニュー構成を定義するメニューデータが記憶されている。また、記憶部12には、最終的なトレーニングコース毎に、そのコース情報が記憶されている。このコース情報には、そのトレーニングコースの全ステップが定義されていると共に、ステップ毎にそのトレーニングの仕様が定義されている。具体的には、ステップ毎に、対応するトレーニング期間、運動時間の一例としてのジョギング時間(ユーザが走る時間)、ジョギング距離(ユーザが走る距離)、楽曲本体の曲数、初期テンポ(ジョギング用楽曲データの最初の曲のテンポ)、終了テンポ(ジョギング用楽曲データの最後の曲のテンポ)等が定義されている。ここで、ジョギング時間は、ジョギング用楽曲データの、後述するウォームアップ曲及びクールダウン曲の演奏時間を除いた演奏時間を示す時間となる。
図5は、あるトレーニングコースの各ステップにおけるジョギング用楽曲データの仕様の一例を示しており、このトレーニングコースは、ステップ1から開始され、基本的には1ヶ月毎にステップが上昇していく。
ステップ1のトレーニング期間は1ヶ月目に設定されている。すなわち、ステップ1は、本トレーニングコースを開始してから1ヶ月経過するまでのジョギングを対象としている。そして、そのジョギング時間は30分に設定され、ジョギング距離は約5Kmに設定されている。また、初期テンポと最終テンポとは、何れも160BPMに設定されている。
これらの情報は、ステップ1では、ウォームアップ曲及びクールダウン曲を除いたジョギング用楽曲データの演奏時間が30分であり、そのテンポは、160BPMで一定であることを示している。そして、このテンポに対応したペースでユーザが30分間走ることにより、約5Kmの距離を走ることが想定されている。なお、このジョギング用楽曲データのキーが、その主要部並びに前奏及び後奏を含めてユーザの好みに応じて変更されていることになる(以下、同様)。
ここで、演奏される楽曲本体の曲数は8曲に設定されているが、これはあくまでも目安であって、選択された楽曲本体の演奏時間によって曲数は変化するものである。
また、図5において、ステップ1のメドレー楽曲内容、すなわち、演奏される楽曲本体の内容として「○○○メドレー」(「○○○」は、例えば、アルバムの名称やアーティストの名称等)が示され、他のステップにおいても示されているが、これは選択されたアルバムやアーティスト、或いはジャンル等を例示的に示したものであり、例えば、ステップ1に対して必ずしも「○○○メドレー」が選択されるわけではない。
次に、ステップ2のトレーニング期間は2ヶ月目に設定されている。すなわち、ステップ1は、本トレーニングコースを開始して1ヶ月が経過してから更に1ヶ月を経過するまでのジョギングを対象としている。そして、そのジョギング時間は30分に設定され、ジョギング距離は約5.5Kmに設定され、曲数は8曲に設定されている。また、初期テンポは、160BPMに設定され、最終テンポは、165BPMに設定されている。
これらの情報は、ステップ2では、ウォームアップ曲及びクールダウン曲を除いたジョギング用楽曲データの演奏時間が30分であり、そのテンポは、160BPMから165BPMに徐々に上昇することを示している。そして、このテンポに対応したペースでユーザが30分間走ることにより、約5.5Kmの距離を走ることが想定されている。
ステップ2は、ジョギング距離についてはステップ1と同様であるが、テンポが上昇していくことによって、ステップ1よりも約0.5Km長い距離をユーザが走ることが想定されている。
以下同様に、ステップ3のトレーニング期間は3ヶ月目に設定されており、ジョギング時間は45分に設定され、ジョギング距離は約8Kmに設定され、曲数は12曲に設定されている。そして、初期テンポと最終テンポとは、何れも165BPMに設定されている。
また、ステップ4のトレーニング期間は4ヶ月目に設定されており、ジョギング時間は45分に設定され、ジョギング距離は約8.5Kmに設定され、曲数は12曲に設定されている。そして、初期テンポは165BPMに設定され、最終テンポは170BPMに設定されている。
また、ステップ5のトレーニング期間は5ヶ月目に設定されており、ジョギング時間は60分に設定され、ジョギング距離は約11Kmに設定され、曲数は16曲に設定されている。そして、初期テンポと最終テンポとは、何れも170BPMに設定されている。
また、ステップ6のトレーニング期間は6ヶ月目に設定されており、ジョギング時間は60分に設定され、ジョギング距離は約12Kmに設定され、曲数は16曲に設定されている。そして、初期テンポは170BPMに設定され、最終テンポは175BPMに設定されている。
図6に示すように、各ステップにおけるジョギング用の楽曲は、楽曲本体と前奏、後奏、曲間部、ガイド音声、DJ音声によって構成されるジョギング本編と、ジョギング本編の前に再生されるウォームアップ曲と、ジョギング本編の後に再生されるクールダウン曲と、により構成されている。
なお、図中、(a)、(b)、(c)、(d)、(e)、(f)は、ステップ1、ステップ2、ステップ3、ステップ4、ステップ5、ステップ6に夫々対応している。
ウォームアップ曲は、ユーザがジョギングを開始する前に、その準備運動等のウォーミングアップを行う際に再生されることを想定した楽曲であり、例えば、テンポが徐々に上昇して、ユーザの気分を次第に盛り上げるような楽曲が選定される。
また、クールダウン曲は、ユーザがジョギングを終えた後に、心身を平静に戻すクーリングダウンを行う際に再生されることを想定した楽曲であり、例えば、テンポが徐々に下降して、次第落ち着いていくような雰囲気の楽曲が選定される。
ウォームアップ曲及びクールダウン曲の楽曲データは、MP3フォーマットで記憶部12に記憶されている。
このウォームアップ曲及びクールダウン曲としては、全ステップを通じで同一の楽曲を用いることが可能であり、例えば、ユーザPC2が楽曲配信サーバ1から最初にジョギング用楽曲データをダウンロードするときには、ジョギング本編とウォームアップ曲及びクールダウン曲の全ての楽曲データを含むジョギング用楽曲データがダウンロードされるが、2度目以降のダウンロードの際には、ジョギング本編の楽曲データのみのジョギング用楽曲データがダウンロードされる。また、上記ジョギング用楽曲データのキーと同様に、上記ウォームアップ曲及びクールダウン曲夫々のキーもまた、ユーザの好みに応じて当該ジョギング用楽曲データのキーと同一のキーに変更されている。
なお、2度目以降のダウンロードの際においても、ユーザの選択により、最初にダウンロードされたウォームアップ曲及びクールダウン曲とは異なるウォームアップ曲及びクールダウン曲がダウンロードされようにしても良い。
また、図6に示すように、ジョギング距離、すなわち、ジョギング本編の演奏時間は、2ステップ毎に上昇する。その一方で、ジョギング本編のテンポは、奇数ステップにおいては演奏開始から終了まで一定であり、偶数ステップにおいては、徐々に上昇する。また、各ステップにおける最終テンポと、その次のステップにおけるテンポとは一致している。
ステップが上がっていくに従って(トレーニング期間が時間的に未来にあるほど)、ユーザのジョギング能力は向上していくものと考えられることから、それに合わせて、ジョギング時間及びテンポが上昇していく。また、目安ではあるが、ステップが上がっていくに従って曲数も増えていく。そして、このジョギング時間及びテンポは、トレーニングコース毎に決定され、更には、トレーニングコース内のステップ毎に決定されるようになっており、具体的には、例えば、マラソン等の専門家により策定された運動理論や方針等に基づいて、予めトレーニングコース毎に設定されている。
図7は、各ジョギング時間におけるジョギング用楽曲データの概要構成の一例を示す図である。
本実施形態においては、ジョギング時間に応じて、各ユーザに対応したキーデータを用いてキーを変更したジョギング用楽曲データのジョギング本編部分が、1又は複数作成される。これは、次に述べる理由による。
すなわち、ジョギング時間が長いほど一般にジョギング本編部分のデータサイズも大きくなり、また、そのデータのダウンロードに要する時間も長くなる。そして、ダウンロード時間が長いほど、何らかの理由(例えば、コネクションの切断等)でダウンロードが途中で失敗する可能性が高くなる。ダウンロードが失敗してしまったら、また最初からダウンロードを行わなければならず、ダウンロード時間が更に長くなってしまう。そこで、ジョギング時間が長い場合には、ジョギング本編部分のデータを複数に分けて作成することで、ダウンロードも複数回に分けて行われることとなる。よって、ダウンロードが途中で失敗しても、既にダウンロードした部分については再度ダウンロードする必要がなくなる。
具体的には、図7に示すように、ジョギング時間が15分である場合には、15分のファイル1個でジョギング本編部分が構成される(図7(a))。また、ジョギング時間が30分である場合には、30分のファイル1個でジョギング本編部分が構成される(図7(b))。また、ジョギング時間が45分である場合には、30分のファイル1個と15分のファイル1個の合計2個のファイルでジョギング本編部分が構成される(図7(c))。
また、ジョギング時間が60分である場合には、30分のファイル2個でジョギング本編部分が構成される(図7(d))。また、ジョギング時間が90分である場合には、30分のファイル3個でジョギング本編部分が構成される(図7(e))。また、ジョギング時間が120分である場合には、30分のファイル4個でジョギング本編部分が構成される(図7(f))。
ここで、ジョギング本編部分が複数のファイルで構成される場合であって、初期テンポと最終テンポとが異なるときには、再生順において最初のファイルの最初の曲が初期テンポで再生され、複数のファイルにまたがって徐々にテンポが上昇し、最後のファイルの最後の曲が最終テンポで再生されるように、各ファイルが構成される。
一方、ジョギング本編部分のキーについては、原則として、その利用者が例えば口ずさみ易いように、上記テンポが上昇しても一定とされる。
図8は、ジョギング用楽曲データのジョギング本編部分の1ファイルの概要構成を示す図である。
図8に示すように、ジョギング用楽曲データのジョギング本編は、最初に前奏が再生され、次いで、1曲目の楽曲本体が再生される。そして、曲間部が再生された後、2曲目の楽曲本体が再生される。以下同様にして、全ての楽曲本体が再生された後、後奏が再生される。つまり、ジョギング本編は、前奏の曲間つなぎデータ、1曲目の楽曲本体データ、曲間部の曲間つなぎデータ、2曲目の楽曲本体データ、曲間部の曲間つなぎデータ…N曲目の曲本体データ、後奏の曲間つなぎデータの順に再生されるように、楽曲配信サーバ1の制御部11により構成される。
このとき、ジョギング本編は、例えば、図5に示すトレーニングコースのステップ1の場合には、160BPM一定のテンポで各楽曲データが再生されるように構成され、例えば、ステップ2の場合には、160BPMから165BPMまでテンポが徐々に上昇するように楽曲データが再生されるように構成される。
更に、当該ジョギング本編に含まれる前奏、全ての曲間部及び後奏の各曲間つなぎデータ並びに全ての楽曲本体データのキーは、そのジョギング本編を聴取するユーザに対応するキーデータに基づき、全て同一のキーに変更されている。
そして、ガイダンス音声の音声データが、楽曲数等に応じて予め定められた順番の曲間部の曲間つなぎデータが再生されている間に再生されるようにジョギング本編は構成される。また、ジョギング本編の演奏が開始されてから、規定の時間が経過する都度(例えば、5分、10分、20分、…)、その時点での経過時間とこれまでの消費カロリーをユーザに対して告知する音声データが再生されるようにジョギング本編は構成される。
なお、第3階層のメニュー項目が選択された時点で最終的なトレーニングコースを決定し、第4階層のメニュー項目が選択された時点でトレーニングを開始させるステップを決定しても良い。例えば、「初心者」が選択された場合には、トレーニングコースAのステップ1が開始ステップとして決定され、「中級者」が選択された場合には、トレーニングコースAのステップ3が開始ステップとして決定され、「上級者」が選択された場合には、トレーニングコースAのステップ5が開始ステップとして決定されるようにしても良い。
(2.3)ジョギング用楽曲データのジョギング本編部分の作成方法
次に、楽曲配信サーバ1の制御部11によるジョギング用楽曲データのジョギング本編部分の作成方法について、図9及び図10を用いて説明する。
図9は、本実施形態に係る各種設定値等を示す図である。また、図10は、ジョギング用楽曲データのジョギング本編部分の作成方法の一例を示す図である。
先ず、ジョギング本編部分を作成するための各種設定値等について説明する。
図9(a)は、ジョギング本編部分の1ファイル中に含めることができる楽曲本体の曲数の最小値と最大値とを示す表である。図9(a)に示すように、1ファイル中には、3曲以上10曲以下の楽曲本体が含まれる。この最小値と最大値とは、例えば、ジョギング本編部分の長さの調整のし易さや著作権料等に応じて決定される。
図9(b)は、各走行テンポにおけるジョギング本編部分の1ファイルに含まれる小節数を示す表である。
走行テンポとは、ジョギング本編部分の1ファイルに含まれる小節数を算出するための基準となるテンポである。具体的に、初期テンポと最終テンポとが同値である場合には、走行テンポ=初期テンポ=最終テンポであり、初期テンポと最終テンポとが異なる値である場合には、走行テンポ=(初期テンポ+最終テンポ)/2である。本実施形態においては、走行テンポの最小値を100BPMとし、最大値を220BPMとした。
また、図9(b)中、ファイル時間とは、ジョギング本編部分の1ファイルの再生時間であり、各テンポ共に、15分及び30分のファイル時間がある。
また、ファイル総小節数(設定された運動時間分に相当する小節数の一例)とは、ジョギング本編部分の1ファイルに含まれる小節数である。この小節数は、1小節を4BPMとして算出されている。従って、ファイル総小節数=走行テンポ×ファイル時間/4である。また、ジョギング本編が複数のファイルで構成される場合には、各ファイルのファイル総小節数の合計=ジョギング本編の全小節数である。
本実施形態においては、ジョギング本編部分の1ファイルに含まれる楽曲本体、前奏、後奏及び曲間部の再生時間の合計をファイル時間に合わせるために、ジョギング本編部分の長さを小節単位で調整する。これは、走行テンポがどのように変化しても、夫々の曲の小節数は変化しないからで、これによって、ジョギング本編の長さをジョギング時間に合わせることが容易となる。
図9(c)は、前奏、曲間部及び後奏に用いられる曲間つなぎデータの小節数を示す表である。
本実施形態においては、曲間部の曲間つなぎデータとして、小節数が互いに異なる複数の曲間つなぎデータを用意する。曲間に適切な小節数の曲間部が挿入されることで、ジョギング本編部分の1ファイルの再生時間をファイル時間に合わせ易くする。具体的には、図9(c)に示すように、最少が12小節であり、最大が144小節である。そして、12小節から144小節まで12小節間隔で12種類の長さの異なる曲間つなぎデータを用意する。なお、曲間の12小節は、走行テンポが最大の220BPMであってもガイダンス音声が時間的に曲間に収まる小節数である。
また、本実施形態においては、前奏及び後奏の曲間つなぎデータとして、小節数が互いに異なる複数の曲間つなぎデータを用意する。これは、ジョギング本編部分を構成するファイルの個数、及び、ジョギング本編部分を複数のファイルで構成する場合におけるファイルの再生順に応じて、予め定められた長さの前奏及び後奏を夫々のファイルに入れるためである。
図9(d)は、ファイル時間が15分の場合における各テンポの許容最長楽曲小節数を示す表である。
許容最長楽曲小節数(設定された運動時間及びテンポの少なくとも何れか一方に応じた小節数の一例)とは、ジョギング本編部分に含めることができる楽曲本体1曲の最長の小節数である。本実施形態においては、1曲の小節数に上限を設けている。このようにすることの一つの理由は、作成されるジョギング本編部分の長さをファイル時間に合わせることを容易にするためである。
具体的に、ファイル時間を最短の15分として、楽曲本体が長いために1ファイルに3曲の楽曲本体しか入らなかった場合でも、曲間に曲間部を挿入することができるようにしなければならない。従って、
許容最長楽曲小節数≦(ファイル総小節数−前奏と後奏の小節数の合計の最大値−曲間部の小節数の最小値×2)/3+1
を満たす必要がある。ここで、前奏と後奏の小節数の合計が最大値となる組み合わせは、前奏が8、後奏が20である。また、曲間部の小節数の最小値は12である。また、最後の「+1」は、楽曲本体の最初の1小節と、その楽曲本体の前に再生される曲間部又は前奏の最後の1小節を重ねて再生させるために、その1小節分を許容最長楽曲小節数に加算している。
このように、許容最長楽曲小節数を設定することにより、ジョギング本編部分を構成する楽曲の曲数が下限(3曲)を下回らないようにしている。これは、ユーザの立場から曲数は少なくない方が良いからである。
例えば、走行テンポが100BPMの場合における許容最長楽曲小節数は108である(3.09分)。同様に、110BPMの場合は121小節(3.46分)、120BPMの場合は133小節(3.80分)、130BPMの場合は146小節(4.17分)、155BPMの場合は177小節(5.06分)、170BPMの場合は196小節(5.60分)、190BPM及び220BPMの場合は210小節である(6.00分)。なお、図9(c)中の再生時間は140BPMにおける再生時間である。ここで、140BPMにおける1曲の再生時間の許容最大値を6分としたため、許容最長楽曲小節数は、最大でも210小節である。
また、ファイル時間が30分である場合の許容最長楽曲小節数は、どのテンポであっても210小節である。
以下においては、ジョギング本編部分の具体的な作成方法を、テンポが一定の場合とテンポが上昇する場合とで分節して説明する。
(2.3.1)テンポが一定の場合
図10に示す例では、テンポ140BPMの楽曲データを全て160BPMの楽曲データに変換して、ファイル時間30分(ファイル総小節数1200)のジョギング本編を作成する場合の例であり、楽曲本体データとしては、曲A〜曲Jの10個の楽曲本体データが、この選曲順で選択されたものとする。また、曲間つなぎデータとしては、前奏及び後奏の曲間つなぎデータの他に、12小節の曲間部aから144小節の曲間部lまでの12個の曲間つなぎデータが用意されている。
制御部11は、楽曲本体データ及び曲間つなぎーデータを、それらのキーを利用するユーザに対応するキーデータに基づいて変更しつつ、夫々テンポ160BPMの楽曲本体データ及び曲間つなぎーデータに変換する。ここで、各楽曲の演奏時間は、元の7/8(140BPM/160BPM)となる。
そして、制御部11は、前奏の曲間つなぎデータをジョギング本編の先頭に挿入し、後奏の曲間つなぎデータをジョギング本編の最後に挿入する。また、制御部11は、曲A〜曲Jの楽曲本体データを、この曲順で、前奏の曲間つなぎデータと後奏の曲間つなぎデータとの間に挿入する。
この時点におけるジョギング本編の小節数、すなわち、前奏と曲A〜曲Jと後奏との小節数の合計は、160BPMにおけるファイル時間30分に対応する小節数である1200小節未満となる。そして、制御部11が、各楽曲本体データの間に、曲間部a〜曲間部lのうち適切な長さの曲間つなぎデータを夫々挿入することにより、ジョギング本編の最終的な小節数が、ファイル総小節数である1200小節となるように調整する。曲間部の曲間つなぎデータは12小節間隔で用意されているので、ファイル時間に相応する小節数と実際に作成されるジョギング本編部分の小節数の差は最大でも±6小節分で済ませることができる。このように、必ずしも丁度1200小節になるようにジョギング本編を作成する必要はなく、多少のズレがあっても良い。
また、制御部11は、およそ中心に位置する曲間部の小節数が可能な限り多くなるよう、各曲間部の小節数を調整する。これは、長い曲間を1箇所に集中させることで他の曲間を短くし、曲間が間延びした印象をユーザに与えないためである。また、中心に位置する曲間に長い曲間部を挿入することで、メリハリが生まれる。その他の位置には、極力小節数の少なく且つ長さが均等になるような曲間部が挿入される。図10に示す例では、全部で10曲の楽曲が選択されているので、5曲目である曲Eと6曲目である曲Fとの曲間に144小節の曲間部が挿入され、その他の曲間には12小節又は24小節の曲間部が挿入されている。
なお、小節数が多い曲間部を必ずしも中心に位置する曲間に挿入する必要はなく、また、1箇所のみに挿入する必要もない。例えば、全体の3分の1の楽曲が終わった後に小節数が多い曲間部を挿入し、更に3分の1の楽曲が終わった後に小節数が多い曲間部を挿入しても良い。ただし、間延びした印象を与えないためにも、小節数が多い曲間部を挿入する箇所を、極力少なめ(例えば、多くても全曲間の半分以下)にすることが望ましい。
曲間部の曲間つなぎデータは、各楽曲本体の曲間を曲間部でつなぐことにより、音楽的(聴覚的)に自然な形で各楽曲本体を接続して演奏するために用いられる楽曲データである。
ここで、楽曲本体データは、図3において説明したように、楽曲本体MIDIデータ105から変換された楽曲本体のキーが変更されたWAVデータにジョギングアレンジドラムベースWAVデータ106(このジョギングアレンジドラムベースWAVデータ106自体のキーは変更されていない)が合成されて作成される。このとき、楽曲本体の曲調に合ったリズムパターンのジョギングアレンジドラムベースWAVデータ106が選択される。
ジョギング用楽曲データを構成する複数の楽曲本体夫々のリズムパターンが全て同一であれば、曲間部の曲間つなぎデータとしては、これと同一のリズムパターンのデータのみを用意すれば、各楽曲の接続前後でリズムパターンが変化しないため、自然な形で演奏を継続することができる。しかしながら、楽曲本体のリズムパターンが曲毎に異なるような場合においては、一つのパターンでは、各楽曲の接続前後でリズムパターンが急激に変化し、音楽的に不自然となる。
そこで、本実施形態においては、ジョギング用楽曲データを構成する複数の楽曲本体のリズムパターンが2パターン以上存在する場合には、これに応じて、複数のリズムパターンの曲間部の曲間つなぎデータを用意する。
例えば、ある楽曲本体とその次の楽曲本体のリズムパターンとが異なる場合には、前の楽曲本体に接続する部分においては、その楽曲本体のリズムパターンと同じ(又は近い)リズムパターンで演奏が開始され、次の楽曲本体に接続する部分においては、その楽曲本体のリズムパターンと同じ(又は近い)リズムパターンで演奏が終了し、演奏が進行するに従ってリズムパターンが次第に変化していくような曲間部を用意する。なおこの場合でも、ジョギングアレンジドラムベースWAVデータ106を除くパートのキーは、上記キーデータに基づいて変更されている。
そして、例えば、ジョギング用楽曲データを構成する複数の楽曲本体のリズムパターンとして、XとYとの2つのパターンが混在している場合には、リズムパターンがX一定の曲間部、Y一定の曲間部、XからYに変化する曲間部、YからXに変化する曲間部の4つを、曲間部a〜曲間部fの夫々について用意する(例えば、曲間部aの場合には、リズムパターンがX一定の曲間部a1、Y一定の曲間部a2、XからYに変化する曲間部a3、YからXに変化する曲間部a4)。
制御部11は、曲間部を挿入する曲間前後の楽曲本体データの楽曲情報等を参照して、楽曲本体のリズムパターンを認識し、これに対応したリズムパターンとなる曲間部の曲間つなぎデータを挿入する。
ここで、制御部11は、楽曲本体データと曲間部の曲間つなぎデータとを接続する場合に、楽曲本体の最初の1小節と曲間部(楽曲本体がそのファイルの1曲目である場合には前奏)の最後の1小節とを重複させて接続する。これは、シンコペーションで始まる楽曲の本体開始部分と曲間部の終了部分とを自然に繋げるためである。
つまり、小節を跨いだシンコペーションでは、1小節目の最後で実際の演奏が開始される場合がある。例えば、1小節目の4拍子目で演奏が開始されるとする。そうすると、1小節目の最初の3拍子分は何のメロディーも演奏されないこととなるので、曲間部の最後の部分と楽曲本体との最初の部分との接続部分で、音楽的に不自然な部分ができてしまう。そこで、楽曲本体の最初の1小節と曲間部の最後の1小節とを重複させるのである。なお、シンコペーションで始まらない楽曲本体では、最初の1小節は無音で作成されている。そして、制御部11は、楽曲本体と曲間部とを一律に1小節分重複させる。
こうしたことから、小節数を計算する場合においては、各楽曲本体の小節数から夫々1小節減算する必要がある。
なお、ジョギング本編の最初の楽曲本体の前に挿入される前奏の曲間つなぎデータは、その楽曲本体のリズムパターンと同じ(又は近い)リズムパターンのデータを用い、ジョギング本編の最後の楽曲本体の後に挿入される後奏の曲間つなぎデータは、その楽曲本体のリズムパターンと同じ(又は近い)リズムパターンのデータを用いることが望ましい。
(2.3.2)テンポが上昇する場合
テンポが上昇する場合、つまり、変更後のキーを一定としつつ、且つ初期テンポ<最終テンポである場合も、テンポの調整以外は、テンポが一定の場合と基本的に同様である。つまり、再生途中でテンポが変わろうと変わるまいと、各曲の小節数は変わらないから、ファイル総小節数さえ確定していれば、実際に作成するジョギング本編部分の小節数の調整は容易に行うことができる。
これを、例えば、小節数ではなく演奏時間で調整しようとすると、途端に複雑となる。なぜなら、各曲の演奏時間を求めるためには、先ず、夫々のテンポを求めなければならない。しかし、各曲の再生位置(ジョギング本編先頭の再生が開始されてからの経過時間)が判らなければ、各曲に対して適切なテンポを求めることもできない。そこで、演奏時間やテンポを仮に設定等した上で、全体の演奏時間を調整することとなるが、小節数で調整する場合と比較して、明らかに処理が複雑になる。また、テンポが一定の場合とテンポが上昇する場合とで処理を変えなければならない。更には、仮に設定したテンポと実際のテンポとがずれることがあるため、このことに起因して、計算した全体の演奏時間とファイル時間との誤差が大きくなる場合がある。小節数で調整するようにすれば、こうした不都合は生じない。
次に、テンポについても、小節単位で調整を行う。具体的に、ジョギング本編の最初の小節のテンポを初期テンポとし、最後の小節のテンポを最終テンポとして、その間の小節については、初期テンポから最終テンポまでなだらかにテンポが変化するように調整する。例えば、初期テンポが160BPM、最終テンポが170BPM、ファイル総小節数が1200小節である場合は、最初の小節を160BPMとし、1小節経過する毎に1/120BPMずつテンポが上昇するように各小節のテンポを調整する。
(3)楽曲配信サーバの動作
(3.1)メイン処理
次に、楽曲配信サーバ1の動作について説明するが、始めに、メイン処理について、図11を用いて説明する。
図11は、本実施形態に係る楽曲配信サーバ1の制御部11のメイン処理における処理例を示すフローチャートである。
先ず、ユーザ操作により、ユーザPC2が楽曲配信サーバ1にアクセスすると、図11に示すように、楽曲配信サーバ1の制御部11は、ログイン処理を実行する(ステップS1)。具体的に、制御部11は、ユーザPC2からユーザID、パスワード等を受信し、認証処理を行って、ユーザを特定する。
次いで、制御部11は、コース選択処理を実行する(ステップS2)。具体的に、制御部11は、所定のコース選択用WEBページをユーザPC2に送信して、図4において説明したように、ユーザにトレーニングコースを選択させ、選択されたトレーニングコースの情報をユーザPC2から受信する。
次いで、制御部11は、所定のWEBページをユーザPC2に送信して、ユーザに自分の体重及び性別並びに所望する自身のキーを入力させ、これらの情報をユーザPC2から受信する(ステップS3)。このユーザの体重は、ジョギング中におけるユーザのカロリー消費の計算に用いられ、性別は、最終的なトレーニングコースの決定に用いられる。性別によって運動能力に差があるため、同じトレーニングコースでも性別によってその内容(具体的には、ジョギング時間及びテンポ)を若干変えるのである。また、入力されたキーに相当するキーデータは、上述してきたように各楽曲データのキーの変更に用いられる。
ここで、上記ステップS3におけるユーザのキー(換言すれば、そのユーザにおいて発生可能な音域を示す情報)の入力方法としては、例えば、そのユーザが発生可能な音域を示す具体的なキーコードを入力することとしても良い。或いは、ユーザが発生可能な最も高い声と最も低い声とを夫々実際に発声し、夫々のを示す周波数データをそのユーザの発声可能な音域を示す音域データとして入力することとしてもよい。
次いで、制御部11は、ユーザPC2から受信されたトレーニングコースの情報と性別の情報とに基づいて、最終的なトレーニングコースを決定する(ステップS4)。
なお、ステップS2において、特定されたユーザが前回までに選択したトレーニングコースを変更しない場合には、ステップS3の処理を省略し、ユーザのトレーニング情報から、トレーニングコースの情報を取得しても良い。
次いで、制御部11は、ステップを決定する(ステップS5)。具体的に、制御部11は、先ず、システム側で推奨するステップを提示するWEBページをユーザPC2に送信する。例えば、今回新たなトレーニングコースが選択された場合には、ステップ1が推奨され、前回までのトレーニングコースが変更されない場合には、現在のステップ、当該トレーニングコースのジョギング用楽曲データを最初にダウンロードした日からの経過日数等に応じてふさわしいステップが推奨される。ここで、ユーザPC2を操作することによって、提示されたステップをユーザが承諾した場合には、その旨のリクエストがユーザPC2から楽曲配信サーバ1に送信される一方、ユーザがステップを変更する場合には、その旨のリクエストがユーザPC2から楽曲配信サーバ1に送信される。そして、制御部11は、このリクエストに基づいて、ステップを決定する。
次いで、制御部11は、決定されたトレーニングコース及びステップに対応するジョギング時間、初期テンポ及び終了テンポを、コース情報から取得し、RAM上の所定領域に設定する(ステップS6)。
次いで、制御部11は、ジョギング時間に基づいて、図7で説明したように、ファイル時間FT(1)〜FT(N)を設定する。例えば、制御部11は、ジョギング時間が15分である場合には、N=1、FT(1)=15を設定し、ジョギング時間が45分である場合には、N=2、FT(1)=30、FT(2)=15を設定する。
次いで、制御部11は、ウォーミングアップ曲のファイル名を設定する(ステップS8)。具体的に、制御部11は、コース番号及び今日の日付を含むと共に、通し番号として「1」を含むファイル名を設定する(例えば、「001−20080701−1.MP3」等。ここで、「001」はコース番号、「20080701」は日付、「1」は通し番号である)。
後述するが、制御部11は、上記の命名規則で、ジョギング本編とクールダウン曲についても通し番号を増加させながらファイル名を設定する。これは、携帯音楽プレーヤ3でジョギング用楽曲データを再生する際に、規定された順番(ウォーミングアップ曲、ジョギング本編の1番目のファイル、ジョギング本編の2番目のファイル・・・クールダウン曲)でファイルを再生させるためである。MP3フォーマットのデータでは、IDタグを設定することができるが、このIDタグにはトラック番号も含めることができる。携帯音楽プレーヤ3がIDタグを参照してファイルの再生順を決定するのであれば問題はないが、IDタグに対応していない機種も存在する。このような機種では、ファイル名の順(例えば、ASCII(American Standard Code for Information Interchange)コード(文字コードの一例)で昇順となるように)で再生を行うものが多い。そこで、制御部11は、上述したようにファイル名を設定する。
次いで、制御部11は、ファイル番号iに1を設定する(ステップS9)。
次いで、制御部11は、後述する使用楽曲決定処理を実行することにより、i番目のジョギング本編1ファイルに相当するジョギング用楽曲データの作成に用いられる楽曲データ、曲間つなぎデータと、その演奏順序を決定する(ステップS10)。
次いで、制御部11は、ジョギング用楽曲データ作成処理を実行することにより、i番目のジョギング本編1ファイルに相当するジョギング用楽曲データを作成する(ステップS11)。
次いで、制御部11は、ファイル番号iに1を加算して(ステップS12)、ファイル番号iがファイル数Nより大きいか否かを判定する(ステップS13)。このとき、制御部11は、ファイル番号iがファイル数Nよりも大きくはない場合には(ステップS13:NO)、ステップS10に移行する。
一方、制御部11は、ファイル番号iがファイル数Nより大きい場合には(ステップS13:YES)、クールダウン曲のファイル名を設定する(ステップS14)。具体的に、制御部11は、コース番号及び今日の日付を含むと共に、通し番号としてN+1を含むファイル名を設定する。
次いで、制御部11は、作成したジョギング用楽曲データをユーザPC2に送信する(ステップS15)。具体的に、制御部11は、ウォーミングアップ曲のファイル、ジョギング本編のファイル及びクールダウン曲のファイル夫々へのリンクを含むダウンロード用のWEBページをユーザPC2に送信して、ダウンロードするファイルをユーザに選択させる。そして、制御部11は、ユーザに選択されたリンクに設定されているURL(Uniform Resource Locator)の情報をPC2から受信して、このURLに対応するファイルをユーザPC2に送信する。
そして、制御部11は、ユーザが必要なだけのファイルの送信を行うと、メイン処理を終了させる。
(3.2)使用楽曲決定処理
次に、使用楽曲決定処理について、図12乃至図15を用いて説明する。
図12乃至図15は、本実施形態に係る楽曲配信サーバ1の制御部11の使用楽曲決定処理における処理例を示すフローチャートである。
使用楽曲決定処理が開始されると、図12に示すように、制御部11は、演奏リストを初期化する(ステップS101)。
次いで、制御部11は、続くステップS102〜S105において、走行テンポTMPの設定を行う。
具体的に先ず、制御部11は、初期テンポと終了テンポとが一致するか否かを判定する(ステップS102)。このとき、制御部11は、初期テンポと終了テンポとが一致する場合には(ステップS102:YES)、走行テンポTMPに初期テンポを設定して(ステップS103)、ステップS106に移行する。
一方、制御部11は、初期テンポと終了テンポとが一致しない場合には(ステップS102:NO)、ファイル初期テンポとファイル終了テンポとを算出する(ステップS104)。
ここで、ファイル初期テンポとは、ジョギング本編のi番目のファイルにおける最初の曲のテンポであり、ファイル終了テンポとは、ジョギング本編のi番目のファイルにおける最後の曲のテンポである。具体的に、制御部11は、
ファイル初期テンポ=(初期テンポ−終了テンポ)×(FT(1)〜FT(i−1)の合計)/ジョギング時間
を計算すると共に、
ファイル終了テンポ=(初期テンポ−終了テンポ)×(FT(1)〜FT(i)の合計)/ジョギング時間
を計算する。
次いで、制御部11は、
(ファイル初期テンポ+ファイル終了テンポ)/2
を計算し、この計算結果を走行テンポTMPに設定する(ステップS105)。制御部11は、この処理を終えると、ステップS106に移行する。
制御部11は、走行テンポTMPを設定すると、
TMP×FT(i)/4
を計算し、この計算結果をファイル総小節数FMに設定する(ステップS106)。
次いで、制御部11は、続くステップS107〜S117において、前奏の小節数と後奏の小節数とを設定する。
先ず、制御部11は、ファイル数Nが1であるか否かを判定する(ステップS107)。このとき、制御部11は、ファイル数Nが1である場合には(ステップS107:YES)、演奏リストの先頭に4小節の前奏をセットすると共に、演奏リストの最後に20小節の後奏をセットする(ステップS108)。
次いで、制御部11は、前奏小節数Pに4を設定すると共に、後奏小節数Eに20を設定すると(ステップS109)、ステップS151に移行する。
一方、制御部11は、ファイル数Nが1ではない場合には(ステップS107:NO)、ファイル番号iが1であるか否かを判定する(ステップS110)。つまり、制御部11は、現在処理しようとしているファイルが、最初のファイルであるか否かを判定するのである。このとき、制御部11は、ファイル番号iが1である場合には(ステップS110:YES)、演奏リストの先頭に4小節の前奏をセットすると共に、演奏リストの最後に4小節の後奏をセットする(ステップS111)。
次いで、制御部11は、前奏小節数Pに4を設定すると共に、後奏小節数Eに4を設定すると(ステップS112)、ステップS151に移行する。
一方、制御部11は、ファイル番号iが1ではない場合には(ステップS110:NO)、ファイル番号iがファイル数Nと一致するか否かを判定する(ステップS113)。つまり、制御部11は、現在処理しようとしているファイルが、最後のファイルであるか否かを判定するのである。このとき、制御部11は、ファイル番号iがファイル数Nと一致する場合には(ステップS113:YES)、演奏リストの先頭に8小節の前奏をセットすると共に、演奏リストの最後に20小節の後奏をセットする(ステップS114)。
次いで、制御部11は、前奏小節数Pに8を設定すると共に、後奏小節数Eに20を設定すると(ステップS115)、ステップS151に移行する。
一方、制御部11は、ファイル番号iがファイル数Nと一致しない場合には(ステップS113:NO)、演奏リストの先頭に8小節の前奏をセットすると共に、演奏リストの最後に4小節の後奏をセットする(ステップS116)。
次いで、制御部11は、前奏小節数Pに8を設定すると共に、後奏小節数Eに4を設定すると(ステップS117)、ステップS151に移行する。
制御部11は、前奏の小節数と後奏の小節数とを設定すると、続くステップS151〜S165において、許容最長楽曲小節数MPMを設定する。
先ず、制御部11は、図13に示すように、ファイル時間FT(i)が30分であるか否かを判定する(ステップS151)。このとき、制御部11は、ファイル時間FT(i)が30分である場合には(ステップS151:YES)、許容最長楽曲小節数MPMに210を設定して(ステップS152)、ステップS166に移行する。
一方、制御部11は、ファイル時間FT(i)が15分である場合には(ステップS151:NO)、走行テンポTMPが190BPM以上であるか否かを判定する(ステップS153)。このとき、制御部11は、走行テンポTMPが190BPM以上である場合には(ステップS153:YES)、許容最長楽曲小節数MPMに210を設定して(ステップS154)、ステップS166に移行する。
一方、制御部11は、走行テンポTMPが190BPM未満である場合には(ステップS153:NO)、走行テンポTMPが170BPM以上であるか否かを判定する(ステップS155)。このとき、制御部11は、走行テンポTMPが170BPM以上である場合には(ステップS155:YES)、許容最長楽曲小節数MPMに196を設定して(ステップS156)、ステップS166に移行する。
一方、制御部11は、走行テンポTMPが170BPM未満である場合には(ステップS155:NO)、走行テンポTMPが155BPM以上であるか否かを判定する(ステップS157)。このとき、制御部11は、走行テンポTMPが155BPM以上である場合には(ステップS157:YES)、許容最長楽曲小節数MPMに177を設定して(ステップS158)、ステップS166に移行する。
一方、制御部11は、走行テンポTMPが155BPM未満である場合には(ステップS157:NO)、走行テンポTMPが130BPM以上であるか否かを判定する(ステップS159)。このとき、制御部11は、走行テンポTMPが130BPM以上である場合には(ステップS159:YES)、許容最長楽曲小節数MPMに146を設定して(ステップS160)、ステップS166に移行する。
一方、制御部11は、走行テンポTMPが130BPM未満である場合には(ステップS159:NO)、走行テンポTMPが120BPM以上であるか否かを判定する(ステップS161)。このとき、制御部11は、走行テンポTMPが120BPM以上である場合には(ステップS161:YES)、許容最長楽曲小節数MPMに133を設定して(ステップS162)、ステップS166に移行する。
一方、制御部11は、走行テンポTMPが120BPM未満である場合には(ステップS161:NO)、走行テンポTMPが110BPM以上であるか否かを判定する(ステップS163)。このとき、制御部11は、走行テンポTMPが110BPM以上である場合には(ステップS163:YES)、許容最長楽曲小節数MPMに121を設定して(ステップS164)、ステップS166に移行する。
一方、制御部11は、走行テンポTMPが110BPM未満である場合には(ステップS163:NO)、許容最長楽曲小節数MPMに108を設定して(ステップS165)、ステップS166に移行する。
制御部11は、許容最長楽曲小節数MPMを設定すると、続くステップS166〜S176において、ジョギング本編を構成する複数の楽曲を選定する。
先ず、制御部11は、選択楽曲数Sに0を設定すると共に、合計楽曲小節数Mに0を設定する(ステップS166)。ここで、選択楽曲数Sは、これまでに選択された楽曲の個数であり、合計楽曲小節数Mは、これまでに選択された楽曲の小節数の合計である。
次いで、制御部11は、1曲目の楽曲を選択するための楽曲選択処理を実行する(ステップS167)。
楽曲選択処理において、制御部11は、先ず、特定されたユーザの履歴情報を参照して、前回までにユーザが選択したアルバム、アーティスト又はジャンル(以下、単に「アルバム等」と称する)と、そのアルバム等に含まれる楽曲のリストとを提示するWEBページをユーザPC2に送信する。
ここで、ユーザPC2を操作することによって、ユーザが、提示されたアルバム等を別のアルバム等に変更せずに、リストから楽曲を選択した場合には、その楽曲の楽曲選択リクエスト(楽曲指定情報の一例)がユーザPC2から楽曲配信サーバ1に送信される。
一方、ユーザが、提示されたアルバム等を別のアルバム等に変更した場合には、選択されたアルバム等のアルバム等選択リクエスト(アルバム指定情報の一例)がユーザPC2から楽曲配信サーバ1に送信され、制御部11は、これに応じて、アルバム等のリストやアルバム等の検索メニューを提示するWEBページデータをユーザPC2に送信する。そして、ユーザがアルバム等を選択し、そのアルバム等に含まれる複数の楽曲の中から所望する楽曲を選択すると、その楽曲の楽曲選択リクエスト(楽曲指定情報の一例)がユーザPC2から楽曲配信サーバ1に送信される。
なお、この楽曲の選択においては、蓄積されている全楽曲について、例えば年代別のヒット曲毎のパッケージ又はそれを演奏する演奏家(アーティスト)毎のパッケージ等の如く、同じ属性を有する複数の楽曲を一つのパッケージに纏め、更に夫々のパッケージの属性を端的に示すキーワードを付してユーザに提示するように構成することもできる。この構成によれば、ユーザは、そのパッケージ毎に楽曲を選ぶことで、自身が所望する属性の楽曲をより迅速に複数選べることとなる。
制御部11は、この選択リクエストを受信することによって、1曲目の楽曲データを特定し選定する。そして、制御部11は、選定した楽曲を演奏リストの1曲目にセットする。
ここで、制御部11は、ユーザに楽曲を選択させる際に、選択可能な楽曲の小節数を許容最長楽曲小節数MPM以下に制限する。例えば、制御部11は、楽曲のリストを提示するWEBページをユーザPC2に送信する際、小節数が許容最長楽曲小節数MPMよりも多い楽曲をリストから除外する。
なお、1曲目の楽曲選択の際においてアルバム等が選択された後、ユーザが、例えば「おまかせ選曲」を選択したら、制御部11側で、選択されたアルバム等に含まれる複数の楽曲の中から予め決められた楽曲を演奏順に自動的に選択しても良いし、ランダムに楽曲を選択しても良い。このような場合にも、制御部11は、小節数が許容最長楽曲小節数MPM以下となる楽曲のみを選択する。
次いで、制御部11は、選択楽曲数Sに1を設定すると共に、M+(1曲目の小節数−1)を計算し、この計算結果を合計楽曲小節数Mに設定する(ステップS168)。
次いで、制御部11は、2曲目の楽曲を選択するための楽曲選択処理を実行し(ステップS169)、その後、選択楽曲数Sに2を設定すると共に、M+(2曲目の小節数−1)を計算し、この計算結果を合計楽曲小節数Mに設定する(ステップS170)。
次いで、制御部11は、3曲目の楽曲を選択するための楽曲選択処理を実行し(ステップS171)、その後、選択楽曲数Sに3を設定すると共に、M+(3曲目の小節数−1)を計算し、この計算結果を合計楽曲小節数Mに設定する(ステップS172)。
次いで、制御部11は、FM−(P+E+M+S×6)が許容最長楽曲小節数MPMの値以上であるか否かを判定する(ステップS173)。つまり、制御部11は、前奏、後奏、これまでに選択されたS曲分の楽曲及びS曲分の曲間部の小節数の合計を除いた、現時点での残り小節数が、S+1曲目を選択可能な小節数であるか否かを判定するのである。
このとき、制御部11は、FM−(P+E+M+S×6)が許容最長楽曲小節数MPMの値以上である場合には(ステップS173:YES)、S+1曲目の楽曲を選択するための楽曲選択処理を実行する(ステップS174)。
次いで、制御部11は、
M+((S+1)曲目の小節数−1)
を計算し、この計算結果を合計楽曲小節数Mに設定する(ステップS175)。
次いで、制御部11は、選択楽曲数Sに1を加算して(ステップS176)、ステップS173に移行する。
このように、制御部11は、楽曲を次々と選定していき、楽曲が入りきらなくなる場合、すなわち、FM−(P+E+M+S×6)が許容最長楽曲小節数MPMの値未満となった場合には(ステップS173:NO)、ステップS201に移行する。
制御部11は、楽曲の選定を終えると、続くステップS201〜S228において、およそ中心に位置する曲間に、可能な限り小節数が多い曲間部をセットする。
先ず、制御部11は、合計曲間小節数Kに0を設定すると共に、未セット曲間数ZにS−1を設定する(ステップS201)。ここで、合計曲間小節数Kは、現時点で小節数が決まっている曲間の小節数の合計であり、未セット曲間数Zは、現時点で演奏リストにセットされていない曲間部の個数である。
次いで、制御部11は、(FM−(P+E+M+144))/(S−2)が12以上であるか否かを判定する(ステップS202)。つまり、制御部11は、中心に位置する曲間に144小節の曲間部をセットしたとしても、残りの曲間夫々に最低限12小節の曲間部をセットすることができるか否かを判定するのである。このとき、制御部11は、(FM−(P+E+M+144))/(S−2)が12以上である場合には(ステップS202:YES)、セット小節数Jに144を設定して(ステップS203)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+144))/(S−2)が12未満である場合には(ステップS202:NO)、(FM−(P+E+M+132))/(S−2)が12以上であるか否かを判定する(ステップS204)。このとき、制御部11は、(FM−(P+E+M+132))/(S−2)が12以上である場合には(ステップS204:YES)、セット小節数Jに132を設定して(ステップS205)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+132))/(S−2)が12未満である場合には(ステップS204:NO)、(FM−(P+E+M+120))/(S−2)が12以上であるか否かを判定する(ステップS206)。このとき、制御部11は、(FM−(P+E+M+120))/(S−2)が12以上である場合には(ステップS206:YES)、セット小節数Jに120を設定して(ステップS207)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+120))/(S−2)が12未満である場合には(ステップS206:NO)、(FM−(P+E+M+108))/(S−2)が12以上であるか否かを判定する(ステップS208)。このとき、制御部11は、(FM−(P+E+M+108))/(S−2)が12以上である場合には(ステップS208:YES)、セット小節数Jに108を設定して(ステップS209)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+108))/(S−2)が12未満である場合には(ステップS208:NO)、(FM−(P+E+M+96))/(S−2)が12以上であるか否かを判定する(ステップS210)。このとき、制御部11は、(FM−(P+E+M+96))/(S−2)が12以上である場合には(ステップS210:YES)、セット小節数Jに96を設定して(ステップS211)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+96))/(S−2)が12未満である場合には(ステップS210:NO)、(FM−(P+E+M+84))/(S−2)が12以上であるか否かを判定する(ステップS212)。このとき、制御部11は、(FM−(P+E+M+84))/(S−2)が12以上である場合には(ステップS212:YES)、セット小節数Jに84を設定して(ステップS213)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+84))/(S−2)が12未満である場合には(ステップS212:NO)、(FM−(P+E+M+72))/(S−2)が12以上であるか否かを判定する(ステップS214)。このとき、制御部11は、(FM−(P+E+M+72))/(S−2)が12以上である場合には(ステップS214:YES)、セット小節数Jに72を設定して(ステップS215)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+72))/(S−2)が12未満である場合には(ステップS214:NO)、(FM−(P+E+M+60))/(S−2)が12以上であるか否かを判定する(ステップS216)。このとき、制御部11は、(FM−(P+E+M+60))/(S−2)が12以上である場合には(ステップS216:YES)、セット小節数Jに60を設定して(ステップS217)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+60))/(S−2)が12未満である場合には(ステップS216:NO)、(FM−(P+E+M+48))/(S−2)が12以上であるか否かを判定する(ステップS218)。このとき、制御部11は、(FM−(P+E+M+48))/(S−2)が12以上である場合には(ステップS218:YES)、セット小節数Jに48を設定して(ステップS219)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+48))/(S−2)が12未満である場合には(ステップS218:NO)、(FM−(P+E+M+36))/(S−2)が12以上であるか否かを判定する(ステップS220)。このとき、制御部11は、(FM−(P+E+M+36))/(S−2)が12以上である場合には(ステップS220:YES)、セット小節数Jに36を設定して(ステップS221)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+36))/(S−2)が12未満である場合には(ステップS220:NO)、(FM−(P+E+M+24))/(S−2)が12以上であるか否かを判定する(ステップS222)。このとき、制御部11は、(FM−(P+E+M+24))/(S−2)が12以上である場合には(ステップS222:YES)、セット小節数Jに24を設定して(ステップS223)、ステップS225に移行する。
一方、制御部11は、(FM−(P+E+M+24))/(S−2)が12未満である場合には(ステップS222:NO)、セット小節数Jに12を設定して(ステップS224)、ステップS225に移行する。
制御部11は、セット小節数Jを設定すると、選択楽曲数Sが偶数であるか否かを判定する(ステップS225)。このとき、制御部11は、選択楽曲数Sが偶数である場合には(ステップS225:YES)、セット小節数Jに設定された小節数の曲間部をS/2曲目の後にセットして(ステップS226)、ステップS228に移行する。
一方、制御部11は、選択楽曲数Sが奇数である場合には(ステップS225:NO)、セット小節数Jに設定された小節数の曲間部を(S+1)/2曲目の後にセットして(ステップS227)、ステップS228に移行する。
制御部は、セット小節数Jに設定された小節数の曲間部をセットすると、合計曲間小節数Kにセット小節数Jを加算すると共に、未セット曲関数Zから1を減算する(ステップS228)。
次いで、制御部11は、続くステップS251〜S278において、残りの曲間にも曲間部をセットする。
先ず、制御部11は、図15に示すように、選択楽曲数Sから1を減算し(ステップS251)、未セット曲関数Zが0であるか否かを判定する(ステップS252)。つまり、制御部11は、全ての曲間に曲間部をセットしたか否かを判定するのである。
このとき、制御部11は、未セット曲関数Zが0ではない場合には(ステップS252:NO)、(FM−(P+E+M+K))/Zが132より大きいか否かを判定する(ステップS253)。つまり、制御部11は、残りの曲間全てに132小節の曲間部をセットしても、全体の小節数がファイル総小節数未満に収まるか否かを判定するのである。このとき、制御部11は、(FM−(P+E+M+K))/Z>132より大きい場合には(ステップS253:YES)、セット小節数Jに144をセットして(ステップS254)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが132以下である場合には(ステップS253:NO)、(FM−(P+E+M+K))/Zが120より大きいか否かを判定する(ステップS255)。このとき、制御部11は、(FM−(P+E+M+K))/Zが120より大きい場合には(ステップS255:YES)、セット小節数Jに132をセットして(ステップS256)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが120以下である場合には(ステップS255:NO)、(FM−(P+E+M+K))/Zが108より大きいか否かを判定する(ステップS257)。このとき、制御部11は、(FM−(P+E+M+K))/Zが108より大きい場合には(ステップS257:YES)、セット小節数Jに120をセットして(ステップS258)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが108以下である場合には(ステップS257:NO)、(FM−(P+E+M+K))/Zが96より大きいか否かを判定する(ステップS259)。このとき、制御部11は、(FM−(P+E+M+K))/Zが96より大きい場合には(ステップS259:YES)、セット小節数Jに108をセットして(ステップS260)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが96以下である場合には(ステップS259:NO)、(FM−(P+E+M+K))/Zが84より大きいか否かを判定する(ステップS261)。このとき、制御部11は、(FM−(P+E+M+K))/Zが84より大きい場合には(ステップS261:YES)、セット小節数Jに96をセットして(ステップS262)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが84以下である場合には(ステップS261:NO)、(FM−(P+E+M+K))/Zが72より大きいか否かを判定する(ステップS263)。このとき、制御部11は、(FM−(P+E+M+K))/Zが72より大きい場合には(ステップS263:YES)、セット小節数Jに84をセットして(ステップS264)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが72以下である場合には(ステップS263:NO)、(FM−(P+E+M+K))/Zが60より大きいか否かを判定する(ステップS265)。このとき、制御部11は、(FM−(P+E+M+K))/Zが60より大きい場合には(ステップS265:YES)、セット小節数Jに72をセットして(ステップS266)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが60以下である場合には(ステップS265:NO)、(FM−(P+E+M+K))/Zが48より大きいか否かを判定する(ステップS267)。このとき、制御部11は、(FM−(P+E+M+K))/Zが48より大きい場合には(ステップS267:YES)、セット小節数Jに60をセットして(ステップS268)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが48以下である場合には(ステップS267:NO)、(FM−(P+E+M+K))/Zが36より大きいか否かを判定する(ステップS269)。このとき、制御部11は、(FM−(P+E+M+K))/Zが36より大きい場合には(ステップS269:YES)、セット小節数Jに48をセットして(ステップS270)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが36以下である場合には(ステップS269:NO)、(FM−(P+E+M+K))/Zが24より大きいか否かを判定する(ステップS271)。このとき、制御部11は、(FM−(P+E+M+K))/Zが24より大きい場合には(ステップS271:YES)、セット小節数Jに36をセットして(ステップS272)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが24以下である場合には(ステップS271:NO)、(FM−(P+E+M+K))/Zが12より大きいか否かを判定する(ステップS273)。このとき、制御部11は、(FM−(P+E+M+K))/Zが12より大きい場合には(ステップS273:YES)、セット小節数Jに24をセットして(ステップS274)、ステップS276に移行する。
一方、制御部11は、(FM−(P+E+M+K))/Zが12以下である場合には(ステップS273:NO)、セット小節数Jに12をセットして(ステップS275)、ステップS276に移行する。
制御部11は、セット小節数Jを設定すると、演奏リストを参照して、S曲目の後に曲間部が既にセットされているか否かを判定する(ステップS276)。このとき、制御部11は、S曲目の後に曲間部が既にセットされている場合には(ステップS276:YES)、ステップS251に移行する。
一方、制御部11は、S曲目の後に曲間部が未だセットされていない場合には、(ステップS276:NO)セット小節数Jに設定された小節数の曲間部を、S曲目の後にセットする。
次いで、制御部11は、合計曲間小節数Kにセット小節数Jを加算すると共に、未セット曲関数Zから1を減算して(ステップS228)、ステップS251に移行する。
このようにして、制御部11は、ステップS251〜S278の処理を繰り返し実行することにより全ての曲間に曲間部をセットし、曲間部をセットし終えると、ステップS252において未セット曲関数Zが0であると判定することにより(ステップS252:YES)、使用楽曲決定処理を終了させる。
(3.3)ジョギング用楽曲データ作成処理
次に、ジョギング用楽曲データ作成処理について、図16を用いて説明する。
図16は、本実施形態に係る楽曲配信サーバ1の制御部11のジョギング用楽曲データ作成処理における処理例を示すフローチャートである。
ジョギング用楽曲データ作成処理が開始されると、図16に示すように、制御部11は、演奏リストにセットされている楽曲の楽曲本体データをパーツWAVデータデータベースから取得すると共に、演奏リストにセットされている前奏、後奏及び曲間部の曲間つなぎデータをパーツWAVデータデータベースから取得する(ステップS301)。このとき、各曲間つなぎデータは、その前に接続される楽曲本体データのリズムパターンとその後に接続される楽曲本体データのリズムパターンとに合わせたものが取得される。
次いで、制御部11は、取得した楽曲本体データ及び曲間つなぎデータを、演奏リストにセットされている順序で接続して、ジョギング本編部分のWAVデータを作成する(ステップS302)。このとき、制御部11は、各楽曲の最初の1小節とその前の曲間部の最後の1小節とを重複させて接続する。
次いで、制御部11は、上記作成されたジョギング本編部分のWAVデータにおけるキーを、上記ステップS3においてユーザから取得したキーデータにより示されるキーに変更する(ステップS303)。この結果、当該ジョギング本編部分を構成する楽曲本体データ及び曲間つなぎデータのキーが、ユーザが所望するキーに変更されることとなる。
ここで、当該ステップS303におけるキー変更処理として具体的には、上記ステップS3の処理においてユーザから入力された音域を示す音域データ(すなわち、キーコード又は発声可能音域を示す音域データ)に基づき、上記ジョギング本編部分のWAVデータにおけるキーを、当該音域データにより示される音域内のキーとなるように変更することとなる。
次いで、制御部11は、ファイルの初期テンポから最終テンポまで滑らかにテンポが変化するように小節単位でテンポの調整を行いながら、ジョギング本編部分のWAVデータを変換する。(ステップS304)。この結果、初期テンポ=最終テンポである場合には、全小節が同一のテンポとなり、初期テンポ<最終テンポである場合には、1小節毎にテンポが少しずつ上昇する。
次いで、制御部11は、ガイダンス音声の音声データを、対応する位置の曲間にセットされる曲間部の曲間つなぎデータに合成する(ステップS305)。
次いで、制御部11は、エンコーダ部14によりジョギング本編部分のフォーマットをMP3フォーマットに変換することによってi番目のジョギング用楽曲データのファイルを作成し、これを記憶部12に記憶させる。(ステップS306)。
次いで、制御部11は、i番目のジョギング用楽曲データのファイル名を設定する(ステップS307)。具体的に、制御部11は、コース番号及び今日の日付を含むと共に、通し番号としてi+1を含むファイル名を設定する。
このようにして、制御部11は、そのキーが所望する者に変更されたジョギング用楽曲データをユーザPC2によってダウンロード可能なように記憶させる。つまり、制御部11は、ダウンロード用のWEBページからユーザの選択に基づいてユーザPC2から送信されてきたURLに対応するジョギング用楽曲データを記憶部12から取得し送信することができるように、ジョギング用楽曲データを、記憶位置を示すパス及びファイル名を設定して記憶させるのである。
制御部11は、この処理を終えると、ジョギング用楽曲データ作成処理を終了させる。
以上説明したように、本実施形態によれば、利用者の指示に基づいてキーが変更されたジョギングアレンジドラムベースWAVデータ106を除くパートに相当する楽曲データと、キーが元のままのジョギングアレンジドラムベースWAVデータ106と、により聴取用楽曲を生成してユーザに配信して聴取させるので、当該ユーザの好みに合致したキーの楽曲を含む聴取用楽曲を、そのリズムを維持しつつユーザに聴取させることができる。
従って、ユーザが聴取し易く且つ例えば口ずさみ易いようにキーが変更された聴取用楽曲が配信されるので、ユーザも違和感なく且つ楽しく所望の楽曲を聴取することができる。
また、ユーザに配信される聴取用楽曲を構成する楽曲夫々におけるジョギングアレンジドラムベースWAVデータ106を除くパートのキーが、ユーザが指定したキーとなるように変更されることとなるので、ユーザは一貫したキーで聴取用楽曲を聴取しつつ快適に運動を継続することができる。
更に、一の楽曲の最後におけるテンポと、次に再生されるべき他の楽曲の最初におけるテンポと、が連続するように聴取用楽曲が生成されるので、ユーザの好みにあったキーで且つリズム良く聴取用楽曲を聴取しつつ運動を行うことができる。
なお、上述した実施形態では、キーについては、ユーザに配信される一の聴取用楽曲については同一のキーで一貫されていたが、これ以外に、ユーザが運動等を実施した時間(経過時間)に応じて、当該キーを一の聴取用楽曲の中で徐々に高くなるように変更することもできる。
この場合は、ユーザに配信される聴取用楽曲を構成する楽曲夫々におけるジョギングアレンジドラムベースWAVデータ106を除くパートのキーが聴取用楽曲の再生時間の経過(運動等の経過)に従って高くなるように変更されるので、ユーザは、運動の継続により体力的に厳しい状態となっても、いわゆるランニングハイ状態により継続して聴取用楽曲を聴取しつつ運動を継続することができる。
また、上記実施形態においては、ジョギング用楽曲データに前奏の曲間つなぎデータと後奏の曲間つなぎデータとが挿入されるようにしていたが、何れか一方のみが挿入されるようにしても良いし、何れも挿入されないようにしても良い。
また、上記実施形態における楽曲配信サーバ1は、運動用楽曲として、ジョギングを行っている際に聴取されるジョギング用楽曲データを作成するようにしていたが、例えば、マラソンやウォーキング等を行っている際に聴取される運動用楽曲を作成するように構成しても良いし、エアロビクスやヨーガ、ピラティス・メソッド、マーシャルアーツ、ブートキャンプ、ダンス等を行っている際に聴取される運動用楽曲を作成するように構成しても良い。