以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
[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に送信する。
ユーザPC2にダウンロードされた走行運動用楽曲データは、ユーザ操作等により、有線、無線又は記録媒体を介して携帯音楽プレーヤー3に転送される。そして、ユーザは、携帯音楽プレーヤー3にその走行運動用楽曲データを再生させることにより、走行運動用楽曲を聴きながら走行運動を行う。
詳細は後述するが、この走行運動用楽曲データは、複数の楽曲のデータにより構成されており、ユーザの目標等に合うトレーニングコースに対応した再生時間及びテンポで各楽曲が再生されるように作成されている。また、本実施形態において、この走行運動用楽曲データは、芸術音楽としての各楽曲の主要部(前奏、後奏等を除いた部分)が連続するメドレーとして再生されるように構成されている。
トレーニングコースの1つとして、ユーザは、マラソンレース当日用コースを選択することができる。マラソンレース当日用コースは、ユーザが実際のマラソンレースに出場してそのマラソンコースを走行するときの実戦用のコースである。ユーザがマラソンレース当日用コースを選択した場合、更に目標完走時間を設定することができる。目標完走時間とは、ユーザが選択したレースのマラソンコース(移動経路の一例)において、ユーザがスタートしてからゴールする(完走する)までに要する時間として目標とする走行時間である。そして、マラソンレース当日用コースが選択された場合、走行運動用楽曲データは、複数の楽曲が曲間を挟んで順次再生されているとともに、設定された目標設定地点距離を報知する音声が適時再生されるように構成されている。
目標設定地点とは、目標設定地点距離の報知を行うように設定された地点であり、マラソンコースのスタート地点からゴール地点までの間にある1又は複数の地点である。また、目標設定地点距離とは、目標完走時間でマラソンコースを完走することを前提とした場合に、その距離が報知された時点でユーザが通過するべき目標設定地点の距離(スタート地点からの距離)をいう。
目標設定地点距離を報知する音声は、例えば、「目標15kmの時間になりました」という内容のものである。この例の場合の音声は、スタートしてから15km地点を通過しているべき時間に再生される。この時間は、走行運動用楽曲データを先頭から再生させた場合の再生開始からの経過時間、すなわち再生時間に相当する。この時間を、「目標通過時間」という。ユーザは、適切なタイミングで目標設定地点距離の報知を受けるべく、レースのスタート時に、走行運動用楽曲データの再生を開始させる。
通常、マラソンコース上には、所定距離間隔(例えば、1km間隔、1マイル間隔等)で、スタート地点からの距離を表示するポスト等の標識が設置されているので、ユーザは、現時点で自分がどの程度の距離を走行しているのかをおおよそ把握することができる。従って、ユーザは、目標設定地点距離を報知する音声を聴取すると、報知された目標設定地点距離と現時点の走行距離とを比較したり、報知された目標設定地点距離と最も直近に通過した標識に表示された距離とを比較することにより、自分が予定通りに走行しているのか、或いは、進んで走行しているのか又は遅れて走行しているのか、ということを容易に判断することができる。そして、ユーザがこの判断結果に基づいて走行ペース(走行速度)を調節しながら走行することで、目標完走時間で完走を果たすことができる仕組みになっている。
また、走行運動用楽曲データがダウンロードされると、その走行運動用楽曲データの購入代金(走行運動用楽曲データ等を構成する楽曲の曲数等に応じた著作権料等を含む)がシステム側からユーザに対して請求される。
なお、ユーザ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、及び楽曲本体WAVパーツデータ書き出しプログラム204等を読み出し実行することにより、前記移動情報取得手段、対応付け手段、音声情報生成手段、楽曲情報選定手段、及び移動運動用楽曲情報生成手段として機能する。
[2.2 データ及びプログラム等]
次に、記憶部12に記憶されるデータ及びプログラムのソフトウェア構成等について、図3を用いて説明する。
図3は、パーツWAVデータデータベースに登録されるデータ、及び、楽曲配信サーバ1におけるソフトウェアの概要構成の一例を示す図である。
記憶部12には、ユーザの個人情報(例えば、氏名、年齢、メールアドレス、ユーザID、パスワード等)、ユーザのトレーニング情報(例えば、選択されたトレーニングコース、当該トレーニングコースの走行運動用楽曲データを最初にダウンロードした日時、現在のレベル、走行運動用楽曲データを構成する楽曲の内容及び再生順等を示す再生リスト)、作成された走行運動用楽曲データ、ユーザの選曲の履歴を示す履歴情報(例えば、選択された楽曲、アルバム、アーティスト、ジャンル等を時系列で示す情報)等が、ユーザ毎に対応付けて記憶されている。
また、記憶部12には、走行運動用楽曲データを構成するパーツとなるパーツデータが登録されるパーツWAVデータデータベースが構築されている。更にまた、記憶部12には、図3に示すパーツWAVデータデータベースプログラム201、サーバシステムプログラム202、Webサイトプログラム203、及び楽曲本体WAVパーツデータ書き出しプログラム204等が記憶されている。
上記パーツWAVデータデータベースには、図3に示す楽曲本体WAVパーツデータ101、アレンジ曲間つなぎWAVパーツデータ102、アレンジ音声ガイダンスWAVパーツデータ103、アレンジ音声通知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は、ドラムやシンバル等によるリズム音等が記録されたWAVデータであり、楽曲本体MIDIデータ105の原曲を走行運動用にアレンジするために用いられるデータである。
楽曲本体WAVパーツデータ書き出しプログラム204においては、楽曲本体MIDIデータ105から、前奏部分、後奏部分、間奏部分等が小節単位で削除され、残った主要部分に対して140BPMでテンポが調整される。このとき、調整前と調整後とでは、音程が変わらないように調整が行われる。そして、当該主要部分の楽曲本体MIDIデータ105のフォーマットがWAVフォーマットに変換され、アレンジドラムベースWAVデータ106と合成されて、走行運動用のアレンジ(例えば、ハウスミュージック調)が施される。こうして作成された楽曲データが楽曲本体WAVパーツデータ101である。
なお、楽曲本体WAVパーツデータ書き出しプログラム204は、楽曲配信サーバ1にインストールされて、制御部11により実行されるようにしても良いし、他の情報処理装置にインストールされて、当該装置上で実行されるようにしても良い。
アレンジ曲間つなぎWAVパーツデータ102は、走行運動用楽曲を構成する複数の主要な楽曲の曲間に再生される従属的な楽曲(以下、「曲間部」と称する)のWAVデータ、最初の楽曲の前に再生される前奏のWAVデータ、及び、最後の楽曲の再生の後に再生される後奏のWAVデータの総称である。従属的な楽曲である曲間部は、主要な楽曲と楽曲とを音楽的にスムーズに繋げるための楽曲である。なお、以降の説明においては、曲間部でない主要な楽曲のみを、楽曲と称する。
アレンジ音声ガイダンスWAVパーツデータ103は、専門のアドバイザーによる運動指導やアドバイス等のガイダンス音声が記録されたWAVデータである。
アレンジ音声通知WAVパーツデータ104は、走行運動中の走行時間、消費カロリー、目標設定地点距離等を通知する通知音声のWAVデータのパーツとなるWAVデータである。例えば、「XX分経過しました」という音声が記録されたWAVデータは、「XX」という数値部分と、「分経過しました」という部分にけられる。そして数値部分は、例えば、「ゼロ」、「イチ」、「ニ」・・・「キュウ」、「テン(.)」、「ジュウ」、「ヒャク」といった音声が夫々記録されたWAVデータを組み合わせることにより構成される。
なお、以下の説明においては、楽曲本体WAVパーツデータ101を、「楽曲本体データ」と称する。また、アレンジ曲間つなぎWAVパーツデータ102を、「曲間つなぎデータ」と称する。また、アレンジ音声ガイダンスWAVパーツデータ103を、「ガイダンス音声データ」と称する。また、アレンジ音声通知WAVパーツデータ104を、「音声パーツデータ」と称する。また、通知音声のWAVデータを、「通知音声データ」と称する。また、ガイダンス音声データと通知音声データとを総称して、「音声データ」と称する。
パーツWAVデータデータベースプログラム201は、楽曲配信サーバ1の制御部11がパーツWAVデータデータベースを管理するためのプログラムであり、各パーツデータの登録要求に応じて、パーツデータを当該データベースに登録したり、サーバシステムプログラム202から要求されたパーツデータを当該データベースから取得して、サーバシステムプログラム202に渡すためのプログラムである。
サーバシステムプログラム202は、楽曲配信サーバ1の制御部11が、パーツWAVデータデータベースから取得されたパーツデータを用いて、走行運動用楽曲データを作成するためのプログラムである。
Webサイトプログラム203は、楽曲配信サーバ1の制御部11が、作成された走行運動用楽曲データを配信するWebサイトとして、ユーザPC2からの要求に応じて、Webページや走行運動用楽曲データを送信するためのプログラムである。
なお、パーツWAVデータデータベースプログラム201、サーバシステムプログラム202、Webサイトプログラム203、楽曲本体WAVパーツデータ書き出しプログラム204等は、例えば、図示せぬネットワークを介して他のサーバ装置等から取得されるようにしても良いし、CD(Compact Disc)−ROM等の記録媒体に記録されてドライブ装置等から読み込まれるようにしても良い。
[2.3 走行運動用楽曲データ]
次に、本実施形態に係る走行運動用楽曲データの内容について、図4を用いて説明する。
図4(a)は、走行運動用楽曲データの概要構成の第1の例を示す図であり、図4(b)は、走行運動用楽曲データの概要構成の第2の例において、距離通知音声データの再生部分を抜き出したものを示す図である。なお、図4に示す構成例は、トレーニングコースとして、マラソンレース当日用コースが選択された場合に生成される走行運動用楽曲データの構成である。
ここで、走行運動用楽曲データの詳細を説明する前に、この走行運動用楽曲データの仕様を決定付けるトレーニングコースについて説明する。
ユーザにより選択可能なトレーニングコースは、マラソンレース当日用コースのほか、例えば、ジョギングコース、ウォーキングコース、ダイエットコース、マラソントレーニングコース等がある。マラソンレース当日用コース以外のトレーニングコースには、夫々複数のレベルが存在し、これらの中からユーザが所望のレベルを選択することが可能である。そして、選択されたレベルが高いほど、走行運動用楽曲データの長さ(以下、「設定総再生時間」という)は長くなり、また楽曲のテンポが速くなる。つまり、ユーザが走行運動用楽曲データの再生に合わせて走行した場合、レベルが高いほど、走行時間が長く、また走行ペースが速くなる。
一方、マラソンレース当日用コースの場合は、出場するレース、目標完走時間及びランニングテンポをユーザが選択することができる。ここで、マラソンレース当日用コースが選択された場合に生成される走行運動用楽曲データの設定総再生時間は、選択された目標完走時間よりも長くなっている。ユーザは、自分で設定した目標完走時間内で必ずしもレースを完走することができるとは限らないからである。そこで、目標完走時間の経過後も楽曲の再生を継続することで、ゴールする前に目標完走時間が経過してしまった後も、ユーザが引き続き楽曲を聴取しながら走行することを可能としている。走行運動用楽曲データの設定総再生時間をどの程度の長さにするかは、マラソンコースの総延長(以下、「コース距離」という)に基づいて、例えば15分刻みで決定される。例えば、10キロマラソン又はハーフマラソンの場合は、目標完走時間+30〜40分程度が設定総再生時間となる。また、30キロマラソン又はフルマラソンの場合は、目標完走時間+60〜70分程度が設定総再生時間となる。
図4(a)に示すように、走行運動用楽曲データは、最初に前奏が再生された後、1曲目の楽曲が再生される。そして、曲間部が再生された後、2曲目の楽曲が再生される。そして、そして、曲間部が再生された後、3曲目の楽曲が再生される。以下同様にして、全ての楽曲が再生された後、後奏が再生される。つまり、走行運動用楽曲データは、前奏の曲間つなぎデータ、1曲目の楽曲本体データ、曲間部の曲間つなぎデータ、2曲目の楽曲本体データ、曲間部の曲間つなぎデータ…N曲目の楽曲本体データ、後奏の曲間つなぎデータの順に再生されるように、楽曲配信サーバ1の制御部11により構成される。このとき、走行運動用楽曲データは、ユーザにより選択されたランニングテンポで各楽曲本体データ及び曲間つなぎデータが再生されるように構成される。
また、走行運動用楽曲の全体の再生時間が、目標完走時間の設定の際に決定された設定総再生時間となるように、走行運動用楽曲データが構成される。拍子が固定(例えば4/4拍子)であるとして、設定総再生時間とランニングテンポが決定されれば、設定総再生時間分の再生に必要な小節数(以下、「設定総小節数」という)が自動的に決まる。そこで、走行運動用楽曲の全体の総小節数が、設定総小節数と一致するか又は極力近くなるように、走行運動用楽曲データが構成される。具体的には、曲間部として、互いに小節数の異なる複数の曲間部の曲間つなぎデータがパーツWAVデータデータベースに登録されている。そこで、先ず、走行運動用楽曲を構成する複数の楽曲の総小節数が設定総小節数未満となるように、当該複数の楽曲が選定される。そして、走行運動用楽曲の全体の総小節数が設定総小節数に極力近くなるように、各楽曲間に挿入される曲間部の小節数が夫々決定される。
なお、複数の楽曲の選定時において、選定可能な曲数及び楽曲の長さは、設定総再生時間によって決定される。また、設定総再生時間は、目標完走時間によって決定される。つまり、走行運動用楽曲データを構成する複数の楽曲は、目標完走時間に基づいて選定されることになる。
また、走行運動用楽曲データは、更に各種の音声データによって構成される。
例えば、ガイダンス音声の音声データが、適時再生されるように走行運動用楽曲データは構成される。マラソンレース当日用コースにおけるガイダンス音声の内容としては、例えば、マラソンコース上から見える施設等の紹介、マラソンコースの状態(上っている、下っている、湾曲している等)、アドバイス等がある。これらのガイダンス音声は、そのガイダンス音声を再生すべき地点をユーザが通過するであろうという予測時間になったときに再生される。この予測時間は、目標完走時間に基づいて算出される。
また、走行運動用楽曲データの再生が開始されてから、規定の時間が経過する都度(例えば、5分、10分、20分、…)、その時点での経過時間をユーザに対して報知する音声データが再生されるように走行運動用楽曲データは構成される。
更に、目標設定地点距離を報知する通知音声データ(以下、「距離通知音声データ」という)が適時再生されるように、走行運動用楽曲データは構成される。ここで、走行運動用楽曲データの構成例として2つの実施例を説明する。
実施例1は、図4(a)に示すように、目標設定地点をスタート地点から所定距離間隔で設定した場合の例である。例えば、1km間隔で目標設定地点を設定したとすると、走行運動用楽曲データの再生が開始されてから1km地点を通過すべき目標通過時間になったときに「目標1kmの時間になりました」という音声データが再生され、走行運動用楽曲データの再生が開始されてから2km地点を通過すべき目標通過時間になったときに「目標2kmの時間になりました」という音声データが再生される。そして、3km地点、4km地点・・・42km地点についても、同様に音声データが再生される。なお、目標設定地点の設定間隔は、システム上予め決められていても良いし、ユーザにより任意に設定できるようにしても良い。
実施例2は、図4(b)に示すように、曲間部の曲間つなぎデータが再生される時間を目標通過時間として設定した場合の例である。この場合は、曲間部の曲間つなぎデータが再生される時点でユーザが通過するべき地点が目標設定地点として設定される。そして、スタート地点から目標設定地点までの距離が目標設定地点距離として報知される。具体的に、1曲目の楽曲本体データの後の曲間部の曲間つなぎデータの再生中に、例えば「目標1.2kmの時間になりました」という音声データが再生され、2曲目の楽曲本体データの後の曲間部の曲間つなぎデータの再生中に、例えば「目標1.9kmの時間になりました」という音声データが再生される。そして、その後に再生される曲間部の曲間つなぎデータについても、目標完走時間になるまでは、同様に音声データが再生される。
なお、何れの実施例の場合にも、目標完走時間になると、例えば「ゴール到着の目標時間になりました」という音声データが再生される。
上記実施例1及び実施例2の何れを採用するかは任意である。例えば、システム上予め何れかに定められても良いし、ユーザにより選択可能となっていても良い。また、実施例1及び実施例2とは別の実施例を採用しても良い。例えば、マラソンコース上において、特徴のあるコースであったり、著名な施設がある等の理由により、分かりやすい地点を目標設定地点としても良い。
なお、走行運動用楽曲データを、その設定総再生時間に応じて複数のデータファイルで構成するようにしても良い。この場合、例えば、再生時間30分毎に1ファイルとする。また、ユーザPC2が走行運動用楽曲データをダウンロードする場合には、このデータファイル単位でダウンロードする。そして、ユーザPC2が、ダウンロードした複数のデータファイルを連続して再生することにより、設定総再生時間分の走行運動用楽曲データが再生されることになる。
[2.4 目標通過時間、目標設定地点距離の算出方法]
次に、楽曲配信サーバ1の制御部11による目標通過時間の算出方法、及び目標設定地点距離の算出方法について、図5を用いて説明する。
図5(a)は、コース高低差データの内容の一例を示すグラフであり、図5(b)は、コース高低差データに基づく補正距離の算出方法を示す図である。
マラソンコースの総延長、すなわち、コース距離と、目標完走時間とが分かれば、以下の式1及び式2により、目標通過時間を算出することができる。
1kmあたりの目標走行時間=目標完走時間÷コース距離 ・・・(式1)
目標通過時間=1kmあたりの目標走行時間×目標設定地点距離 ・・・(式2)
しかしながら、現実の走行ペースは、マラソンコースの地形によって左右される。具体的には、マラソンコースのアップダウン、すなわち、起伏によって、走行ペースが遅くなったり速くなったりする。上記の算出方法は、ユーザが常に一定のペースで走行することを前提としたものである。従って、マラソンコース全体が平坦であるか、又は、一定勾配の坂である場合には、当該算出方法でも良いが、そうではないマラソンコースの場合には、目標通過時間を適切に算出することができないことがある。そこで、本実施形態においては、マラソンコースの地形を考慮して各目標通過時間を算出する。
楽曲配信サーバ1の記憶部12には、レース毎に、マラソンコースのコース距離を示すコース距離データ(移動距離情報の一例)と、コース高低差データ(移動経路情報の一例)とが、レースの識別情報であるレースIDに対応付けて記憶されている。
コース高低差データは、マラソンコースに含まれる複数の地点夫々の高度を示すデータである。具体的に、コース高低差データは、例えば図5(a)に示すように、スタート地点から所定距離間隔(例えば、1km間隔)で、スタート地点からの距離と、当該距離地点の高度とが対応付けてられて構成されている。ただし、各地点の高度は、当該地点の標高から、全ての地点のうち最も標高が低い地点の標高を差し引いて得られる標高差である。なお、コース高低差データにおいて高度と対応付けを行う距離間隔と、前述の実施例1における目標設置地点を設定する距離間隔とは、夫々別々の基準で決定されるものである。従って、両者の距離間隔は互いに一致しても良いし、異なっていても良い。
コース高低差データ上において、マラソンコースは、0〜1km区間、1〜2km区間というように、各地点を境として複数の区間に分割される。この区間の始点(1〜2km区間の場合は1km地点)の高度と、終点(1〜2km区間の場合は2km地点)の高度とによって、当該区間が平坦であるか、上り坂であるか、下り坂であるかを認定することができる。具体的には、始点の高度と終点の高度が一致する場合は平坦であり、始点の高度が終点の高度よりも低い場合は上り坂であり、始点の高度が終点の高度よりも高い場合は下り坂である。なお、コース高低差データにおいて、高度と対応付ける距離間隔を、区間の長さよりも短くした場合(例えば、区間の長さを1km、距離間隔を100mとした場合)にも、同様に認定することができる。この場合には、1区間の中に上り坂と下り坂とが混在することもある。しかしながら、区間の始点の高度が終点の高度よりも低い場合には、当該区間に少なくとも上り坂が含まれていることは明らかであり、下り坂が含まれているとしても、上り坂の方が下り坂よりも優勢であると考えられるから、当該区間は上り坂と認定しても良い。
このような認定により、上り坂の区間は、平坦な区間よりも走行距離が長いものと仮定し、下り坂の区間は、平坦な区間よりも走行距離が短いものと仮定する。上り坂の区間の走行時間は平坦な区間の走行時間は長くなり、下り坂の区間の走行時間は平坦な区間の走行時間よりも短くなるので、マラソンコース全体を平坦にしたと仮定して、走行距離を補正することにより走行時間を補正するのである。
更に、走行距離の各区間の勾配に応じて補正割合を調節する。具体的に、楽曲配信サーバ1の制御部11が、各区間の勾配を算出する。勾配は、区間の長さと、始点及び終点の高度とから算出することができる。なお、例えば、始点の高度と終点の高度との差を、勾配の代わりとして用いても良い。また、記憶部12には、勾配の範囲毎に、補正割合に相当する補正係数が記憶されている。例えば、0度、すなわち、平坦の場合の補正係数として1が設定される。これは、実質的に補正されないことを意味する。また例えば、+1〜+5度の補正係数として1.1が設定され、+5〜+10度の補正係数として1.2が設定される。また例えば、−1〜−5度の補正係数として0.95が設定され、−6〜−10度の補正係数として0.9が設定される。ここで、プラスの勾配は上り勾配を示し、マイナスの勾配は下り勾配を示す。上り坂の方が下り坂よりもユーザの走行ペースに与える影響が大きいので、上り勾配に対応する補正割合を下り勾配に対応する補正割合よりも大きくしている。そして、制御部11は、各区間の勾配に対応する補正係数を当該区間の実際の距離(図5の例では1km)に乗算して補正距離を算出する。
図5(b)の例では、0〜3km区間の勾配が0度であるので、この区間の補正距離は3kmとなる。また、3〜5km区間の勾配が+5度であるので、この区間の補正距離は2.2となる。また、5〜7km区間の勾配が0度であるので、この区間の補正距離は2kmとなる。また、7〜9km区間の勾配が+10度であるので、この区間の補正距離は2.4kmとなる。また、9〜10km区間の勾配が−10度であるので、この区間の補正距離は0.9kmとなる。また、10〜11km区間の勾配が−5度であるので、この区間の補正距離は0.95kmとなる。このようにして算出された各区間の補正距離の合計が、実際のコース距離に対応する補正コース距離となる。
そして、目標設定地点における目標通過時間を算出する場合には、目標設定地点距離を補正距離に変換する。例えば、図5において、目標設定地点を5km地点とすると、そのスタート地点からの補正距離は、5.2kmとなる。そして、目標通過時間は、以下の式3及び式4により算出される。
補正1kmあたりの目標走行時間=目標完走時間÷補正コース距離 ・・・(式3)
目標通過時間=
補正1kmあたりの目標走行時間×スタート地点からの補正距離 ・・・(式4)
この計算により、実際のマラソンコースに対応した適切な目標通過時間を算出することができる。
この目標通過時間の算出方法は、目標設定地点を所定距離間隔で設定する上述した実施例1にそのまま適用することができる。一方、曲間が再生される時間を目標通過時間とする実施例2の場合は、目標設定地点距離よりも先に目標通過時間が確定する。この場合、例えば、以下の式5により、目標設定地点距離を算出することができる。
目標設定地点距離=特定区間の始点の距離+1区間の長さ×
((目標通過時間−特定区間の始点の通過時間)÷
(特定区間の終点の通過時間−特定区間の始点の通過時間)) ・・・(式5)
上記式5における特定区間は、
特定区間の始点の通過時間<目標通過時間<特定区間の終点の通過時間
を満たす区間である。また、特定区間の始点の距離及び1区間の長さは、実際の距離及び長さである。また、特定区間の始点の通過時間及び特定区間の終点の通過時間は、スタート地点から当該特定区間の始点までの補正距離及び終点までの補正距離から、前記式3及び式4により算出することができる。
以上、目標通過時間の算出方法、及び目標設定地点距離の算出方法について説明したが、算出方法としてはこれだけに限られるものではない。
例えば、勾配に応じて補正係数を変えるのではなく、上り坂の区間に対して所定の補正係数、下り坂の区間に対して別の所定の補正係数というように、固定にしても良い。また、上り坂の区間又は下り坂の区間の何れか一方の区間についてのみ補正を行うようにしても良い。この場合、何れを補正するかは任意であるが、走行時間への影響がより大きい上り坂の区間について補正すると良い。
[3.楽曲配信サーバの動作]
[3.1 メイン処理]
次に、楽曲配信サーバ1の動作について説明するが、始めに、メイン処理について、図6を用いて説明する。
図6は、本実施形態に係る楽曲配信サーバ1の制御部11のメイン処理における処理例を示すフローチャートである。
先ず、ユーザ操作により、ユーザPC2が楽曲配信サーバ1にアクセスすると、図6に示すように、楽曲配信サーバ1の制御部11は、ログイン処理を実行する(ステップS1)。具体的に、制御部11は、ユーザPC2からユーザID、パスワード等を受信し、認証処理を行って、ユーザを特定する。
次いで、制御部11は、トレーニングコース設定処理を実行する(ステップS2)。具体的に、制御部11は、トレーニングコース選択用のWebページをユーザPC2に送信する。ユーザPC2は、Webページを受信すると、当該Webページを画面に表示させる。そして、ユーザが、表示されたWebページ上から所望のトレーニングコースを選択すると、ユーザPC2は、選択されたトレーニングコースを示す情報を楽曲配信サーバ1に送信する。制御部11は、トレーニングコースを示す情報を受信すると、当該情報をRAMに記憶させる。こうしてトレーニングコースが設定される。
なお、ここでは、ユーザが、トレーニングコースとしてマラソンレース当日用コースを選択したものとして説明する。
次いで、制御部11は、後述するトレーニングメニュー設定処理を実行する(ステップS3)。トレーニングメニュー設定処理において、制御部11は、設定されたトレーニングコースにおけるトレーニングの詳細内容としてのトレーニングメニューを設定する。
次いで、制御部11は、後述する楽曲選定処理を実行する(ステップS4)。楽曲選定処理において、制御部11は、走行運動用楽曲を構成する複数の楽曲を選定する。
次いで、制御部11は、後述する走行運動用楽曲データ作成処理を実行する(ステップS5)。走行運動用楽曲データ作成処理において、制御部11は、設定されたトレーニングコース、トレーニングメニュー、選定された楽曲の楽曲本体データ等に基づいて、走行運動用楽曲データを生成する。
次いで、制御部11は、走行運動用楽曲データ送信処理を実行する(ステップS6)。具体的に、制御部11は、作成された走行運動用楽曲データをユーザPC2に送信する。こうして、利用者は、ユーザPC2によりダウンロードした走行運動用楽曲データを携帯音楽プレーヤー3に転送して走行運動中に聴取することになる。
[3.2 トレーニングメニュー設定処理]
次に、トレーニングメニュー設定処理について、図7及び図8を用いて説明する。
図7は、本実施形態に係る楽曲配信サーバ1の制御部11のトレーニングメニュー設定処理における処理例を示すフローチャートである。また、図8は、トレーニングメニュー設定用のWebページの画面表示例を示す図である。
トレーニングメニュー設定処理が開始されると、図7に示すように、制御部11は、トレーニングメニュー設定用のWebページを、ユーザPC2に送信する(ステップS21)。ユーザPC2は、トレーニングメニュー設定用のWebページを受信すると、当該Webページを画面に表示させる。
図8に示すように、トレーニングメニュー設定用のWebページ上には、例えば、レース選択メニュー101、距離選択メニュー102、目標完走時間選択メニュー103、テンポ選択ボタン群104、楽曲選択ボタン105等が表示される。
レース選択メニュー101は、ユーザが出場するマラソンレースを選択するためのプルダウンメニューである。
距離選択メニュー102は、ユーザが走行するマラソンコースのコース距離を選択するためのプルダウンメニューである。ただし、レース選択メニュー101にてユーザが、コース距離等の情報が登録されていないレースとして「その他のマラソン」を選択した場合にのみ、ユーザによるコース距離の選択が可能となる。レース選択メニュー101にてユーザが実際のレースを選択すると、コース距離は自動的に選択される。例えば、東京マラソンやホノルルマラソン等のフルマラソンのレースが選択された場合のコース距離は、42.195kmとなる。また、例えば、横浜マラソン等のハーフマラソンのレースが選択された場合のコース距離は、21.0975kmとなる。また、30kmマラソンのレースが選択された場合のコース距離は、30kmとなる。また、10kmマラソンのレースが選択された場合のコース距離は、10kmとなる。
目標完走時間選択メニュー103は、ユーザが目標完走時間を選択するためのプルダウンメニューである。
テンポ選択ボタン群104は、複数のランニングテンポの中からユーザが所望するランニングテンポを選択するための複数のラジオボタンである。
楽曲選択ボタン105は、トレーニングメニューの選択を終了させ、楽曲の選択に移行させるためのボタンである。
ユーザが、ユーザPC2を操作して、出場するレース、コース距離、目標完走時間、及びランニングテンポを選択し、楽曲選択ボタン105を選択すると、ユーザPC2は、選択されたレースのレースID、コース距離、目標完走時間、及びランニングテンポを含むトレーニングメニュー情報を楽曲配信サーバ1に送信する。制御部11は、トレーニングメニュー情報を受信すると(ステップS22)、当該トレーニングメニュー情報をRAMに記憶させる。
次いで、制御部11は、記憶させたトレーニングメニュー情報に含まれる目標完走時間とコース距離とに基づいて、走行運動用楽曲データの設定総再生時間を算出する(ステップS23)。例えば、制御部11は、コース距離が42.195km又は21.0975kmである場合には、目標完走時間に60分を加算して、加算結果を15分単位で繰り上げを行うことにより設定総再生時間を算出する。また、制御部11は、コース距離が30km又は10kmである場合には、目標完走時間に30分を加算して、加算結果を15分単位で繰り上げを行うことにより設定総再生時間を算出する。制御部11は、この処理を終えると、トレーニングメニュー設定処理を終了させる。
[3.3 楽曲選定処理]
次に、楽曲選定処理について、図9を用いて説明する。
図9は、本実施形態に係る楽曲配信サーバ1の制御部11の楽曲選定処理における処理例を示すフローチャートである。
楽曲選定処理が開始されると、図9に示すように、制御部11は、トレーニングメニュー設定処理において算出された設定総再生時間及びユーザPC2から受信されたランニングテンポに基づいて、設定総小節数を算出する(ステップS41)。具体的に、制御部11は、
設定総小節数=設定総再生時間×ランニングテンポ÷4
を計算する。なお、これは、走行運動用楽曲が4/4拍子である場合の計算式である。
次いで、制御部11は、再生リストの先頭に所定小節数の前奏をセットするとともに、再生リストの最後に所定小節数の後奏をセットする(ステップS42)。
次いで、制御部11は、楽曲選択用のWebページをユーザPC2に送信する(ステップS43)。ユーザPC2は、楽曲選択用のWebページを受信すると、当該Webページを画面に表示させる。ユーザは、ユーザPC2を操作することにより、表示されたWebページに従って、複数の楽曲を選択する。このとき、ユーザが、所望のアーティスト、アルバム、ジャンル等を選択すると、Webページ上に、選択されたアーティスト、アルバム、ジャンルに関する楽曲がリスト表示され、このリストの中からユーザが所望する楽曲を選択することができる。ユーザが楽曲を選択する都度、ユーザPCは、選択された楽曲の識別情報である楽曲IDを楽曲配信サーバ1に送信する。
制御部11は、ユーザPC2から、1曲目、2曲目及び3曲目の楽曲の楽曲IDを受信すると(ステップS44)、受信した楽曲IDが示す1曲目、2曲目及び3曲目の楽曲を、受信順に再生リストにセットする(ステップS45)。
次いで、制御部11は、再生リストにまだ楽曲を追加することができるか否かを判定する(ステップS46)。具体的に、制御部11は、これまで再生リストにセットされている前奏、後奏、各楽曲の総小節数を算出する。このとき、制御部11は、再生リストにセットされている各楽曲の間に、小節数が最も短い曲間部を挿入した場合を考慮して現時点での総小節数を算出する。つまり、制御部11は、以下の式を計算する。
現時点での総小節数=前奏の小節数+後奏の小節数+各楽曲の小節数+
(楽曲数−1)×小節数が最も短い曲間部の小節数
そして、制御部11は、設定総小節数から現時点での総小節数を減算することにより残り小節数を算出し、この残り小節数が、1曲分以上の小節数であるか否かを判定する。このとき、制御部11は、残り小節数が1曲分以上の小節数である場には、再生リストにまだ楽曲を追加するできると判定し(ステップS46:YES)、ステップ47に移行する。そして、制御部11は、ユーザPC2から、次の曲順の楽曲の楽曲IDを受信する(ステップS47)。次いで、制御部11は、受信した楽曲IDが示す楽曲を再生リストにセットして(ステップS48)、ステップS46に移行する。こうして、制御部11は、ステップS46〜S48の処理を繰り返すことにより、4曲目以降の楽曲を選定する。
そして、制御部11は、ステップS46において、残り小節数が1曲分以上の小節数ではない場合には、再生リストに楽曲を追加することができないと判定し(ステップS46:NO)、ステップS49に移行する。そして、制御部11は、再生リストに曲間部をセットする(ステップS49)。具体的に、制御部11は、再生リストにセットされた各楽曲の間にセットする曲間部の小節数を決定する。このとき、制御部11は、前奏の小節数+後奏の小節数+全楽曲の小節数+全曲間部の小節数、が設定総小節数と等しくなるか又は設定総小節数に最も近くなるように、各曲間部の小節数を決定する。そして、制御部11は、決定した小節数の曲間部を夫々再生リストにセットする。制御部11は、この処理を終えると、楽曲選定処理を終了させる。
[3.4 走行運動用楽曲データ作成処理]
次に、走行運動用楽曲データ作成処理について、図10を用いて説明する。
図10は、本実施形態に係る楽曲配信サーバ1の制御部11の走行運動用楽曲データ作成処理における処理例を示すフローチャートである。
走行運動用楽曲データ作成処理が開始されると、図10に示すように、制御部11は、再生リストにセットされている楽曲の楽曲本体データをパーツWAVデータデータベースから取得するとともに、再生リストにセットされている前奏、後奏及び曲間部の曲間つなぎデータをパーツWAVデータデータベースから取得する(ステップS61)。
次いで、制御部11は、取得した楽曲本体データ及び曲間つなぎデータを、再生リストにセットされている順序で接続して、走行運動用楽曲のWAVデータを作成する(ステップ62)。
次いで、制御部11は、走行運動用楽曲のテンポが、設定されたランニングテンポとなるように、小節単位でテンポの調整を行いながら、走行運動用楽曲のWAVデータの変換を行う(ステップS63)。
次いで、制御部11は、後述する距離通知音声データ合成処理を実行する(ステップS64)。距離通知音声データ合成処理において、制御部11は、目標設定地点距離と目標通過時間との対応付けを行い、当該対応付けに基づいて、走行運動用楽曲のWAVデータに、距離通知音声データを合成する。
次いで、制御部11は、ガイダンス音声や走行時間を報知する音声等の音声データを、走行運動用楽曲のWAVデータに合成する(ステップS65)。
次いで、制御部11は、エンコーダ部14により、走行運動用楽曲のWAVデータのフォーマットをMP3フォーマットに変換することにより、走行運動用楽曲データを作成し、これを記憶部12に記憶させる(ステップS66)。制御部11は、この処理を終えると、走行運動用楽曲データ作成処理を終了させる。
[3.5 距離通知音声データ合成処理]
次に、距離通知音声データ合成処理について説明する。ここでは、上述した実施例1の場合の処理を図11を用いて説明し、実施例2の場合の処理を図12を用いて説明する。
[3.5.1 実施例1の場合]
図11は、本実施形態の実施例1に係る楽曲配信サーバ1の制御部11の距離通知音声データ合成処理における処理例を示すフローチャートである。なお、目標設定地点を1km間隔で設定するものとして説明する。
図11に示すように、制御部11は、トレーニングメニュー設定処理においてユーザPC2から受信されたレースIDに対応するコース高低差データを記憶部12から取得し、RAMに記憶させる(ステップS101)。
次いで、制御部11は、補正距離AD0に0を設定し(ステップS102)、実距離Iに1を設定する(ステップS103)。ADIは、マラソンコースのスタート地点から距離Iの地点までの当該距離Iを補正した距離を示す。
次いで、制御部11は、実距離Iが、トレーニングメニュー設定処理においてユーザPC2から受信されたコース距離を示すCDの値未満であるか否かを判定する(ステップS104)。このとき、制御部11は、実距離Iがコース距離CD未満である場合には(ステップS104:YES)、距離I−1の地点から距離Iの地点までの区間の勾配を、コース高低差データに基づいて算出する(ステップS105)。
次いで、制御部11は、算出された勾配に対応する補正係数Kを記憶部12から取得する(ステップS106)。
次いで、制御部11は、距離I−1の地点から距離Iの地点までの区間の距離を補正し、補正距離ADIを算出する(ステップS107)。具体的に、制御部11は、以下の式を計算する。
ADI=ADI−1+1×K
次いで、制御部11は、実距離Iに1を加算して(ステップS108)、ステップS104に移行する。こうして、制御部11は、ステップS104〜S108の処理を繰り返すことにより、1km間隔で補正距離を算出する。
そして、制御部11は、ステップS104において、実距離Iがコース距離CD以上である場合には(ステップS104:NO)、距離I−1の地点からゴール地点までの区間の勾配を、コース高低差データに基づいて算出し(ステップS109)、算出された勾配に対応する補正係数Kを記憶部12から取得する(ステップS110)。
次いで、制御部11は、ゴール地点までの補正距離ADI、すなわち、補正コース距離を算出する(ステップS111)。具体的に、制御部11は、以下の式を計算する。
ADI=ADI+(CD−(I−1))×K
次いで、制御部11は、補正1kmあたりの目標走行時間UTを算出する(ステップS112)。具体的に、制御部11は、前記式3を計算する。
次いで、制御部11は、実距離Iに1を設定し(ステップS113)、実距離Iがコース距離CD未満であるか否かを判定する(ステップS114)。このとき、制御部11は、実距離Iがコース距離CD未満である場合には(ステップS114:YES)、目標通過時間RTIを算出する(ステップS115)。具体的に、制御部11は、前記式4を計算する。こうして、制御部11は、目標設定地点距離としての実距離Iと目標通過時間RTIとを対応付ける。
次いで、制御部11は、目標通過地点距離として実距離Iを報知する距離通知音声データを生成する(ステップS116)。具体的に、制御部11は、実距離Iに基づいて、当該実距離Iを報知するために必要な音声パーツデータをパーツWAVデータデータベースから取得し、取得した音声パーツデータを互いに接続して距離通知音声データを生成する。
次いで、制御部11は、実距離Iを報知する距離通知音声データを、走行運動用楽曲のWAVデータに合成する(ステップS117)。具体的に、制御部11は、走行運動用楽曲データの再生開始から目標通過時間RTIが経過した時点で距離通知音声データが再生されるように、合成を行う。
次いで、制御部11は、実距離Iに1を加算して(ステップS118)、ステップS114に移行する。こうして、制御部11は、ステップS114〜S118の処理を繰り返すことにより、1km間隔で、実距離と目標通過時間とを対応付け、実距離を報知する距離通知音声データを走行運動用楽曲のWAVデータに合成する。
そして、制御部11は、ステップS114において、実距離Iがコース距離CD以上である場合には(ステップS114:NO)、ゴール到着を報知する通知音声データをパーツWAVデータデータベースから取得する(ステップS119)。
次いで、制御部11は、ゴール到着を報知する音声データを、走行運動用楽曲のWAVデータに合成する(ステップS120)。具体的に、制御部11は、走行運動用楽曲データの再生開始から目標完走時間が経過した時点でゴール到着を報知する音声データが再生されるように、合成を行う。制御部11は、この処理を終えると、距離通知音声データ合成処理を終了させる。
[3.5.2 実施例2の場合]
図12は、本実施形態の実施例2に係る楽曲配信サーバ1の制御部11の距離通知音声データ合成処理における処理例を示すフローチャートである。なお、図12において、図11と同様の処理については、同様のステップ番号を付してある。
図12に示すように、制御部11は、ステップS101からステップS112まで、実施例1の場合と同様の処理を実行する。
制御部11は、ステップS112の処理を終えると、地点通過時間PT0に0を設定し(ステップS151)、実距離Iに1を設定する(ステップS152)。地点通過時間PTIは、スタート地点から実距離Iまで走行するのに要する時間である。
次いで、制御部11は、実距離Iがコース距離CD未満であるか否かを判定する(ステップS153)。このとき、制御部11は、実距離Iがコース距離CD未満である場合には(ステップS153:YES)、地点通過時間を算出する(ステップS154)。地点通過時間PTIの算出方法は、実施例1における目標通過時間RTIの算出方法と同様である。
次いで、制御部11は、実距離Iに1を加算して(ステップS155)、ステップS153に移行する。こうして、制御部11は、ステップS153〜S155の処理を繰り返すことにより、1km間隔で、地点通過時間PTIを算出する。
そして、制御部11は、ステップS153において、実距離Iがコース距離CD以上である場合には(ステップS153:NO)、再生順Jに1を設定する(ステップS156)。
次いで、制御部11は、再生順としてJ番目の曲間部(J曲面の楽曲の直後に再生される曲間部)の曲間部再生開始時間RTJを算出する(ステップS157)。曲間部再生開始時間RTJは、走行運動用楽曲の再生開始からJ番目の曲間部の再生が開始されるまでの時間を示す。具体的に、制御部11は、再生リストを参照して、J番目の曲間部よりも前に再生される前奏、楽曲、曲間部の総小節数を算出する。そして、制御部11は、
曲間部再生開始時間RTJ=(60÷(ランニングテンポ÷4))×総小節数
を計算する。
次いで、制御部11は、曲間部再生開始時間RTJが目標完走時間未満であるか否かを判定する(ステップS158)。このとき、制御部11は、曲間部再生開始時間RTJが目標完走時間未満である場合には(ステップS158:YES)、曲間部再生開始時間RTJを目標通過時間として、当該曲間部再生開始時間RTJでの目標設定地点距離RDJを算出する(ステップS159)。具体的に、制御部11は、PTi≦RTJ<PTi+1となる実距離iを特定する。そして、制御部11は、実距離iの地点を特定区間の始点とし、実距離i+1の地点を特定区間の終点として、前記式5の計算を行う。こうして、制御部11は、目標設定地点距離実距離RDJと目標通過時間としての曲間部再生開始時間RTJとを対応付ける。
次いで、制御部11は、目標設定地点距離RDJを報知する距離通知音声データを生成し(ステップS160)、当該距離通知音声データを走行運動用楽曲のWAVデータに合成する(ステップS161)。これらの処理は、実施例1の場合と同様である。
次いで、制御部11は、再生順Jに1を加算して(ステップS162)、ステップS157に移行する。こうして、制御部11は、ステップS157〜S162の処理を繰り返すことにより、全ての曲間部について、目標設定地点距離と曲間部再生開始時間とを対応付け、目標設定地点距離を報知する距離通知音声データを走行運動用楽曲のWAVデータに合成する。なお、この場合、曲間部の再生開始と同時に目標設定地点距離を報知する音声が再生されるようになる。しかしながら、曲間部が再生している間に目標設定地点距離を報知する音声再生されれば良いので、目標設定地点距離と対応付ける時間は前記曲間部再生開始時間からずらしても良い。
そして、制御部11は、ステップS158において、曲間部再生開始時間RTJが目標完走時間以上である場合には(ステップS158:NO)、ステップS119からステップS120まで、実施例1の場合と同様の処理を実行する。
以上説明したように、本実施形態によれば、制御部11が、ユーザにより指定された走行するコース距離と、走行する目標完走時間と、を少なくとも含むトレーニングメニュー情報をユーザPC2から受信し、受信されたトレーニングメニュー情報に基づいて、スタート地点から任意の目標設定地点までの目標設定地点距離と、当該任意の目標設定地点を通過すべき目標通過時間と、を対応付け、対応付けられた目標設定地点距離に関する情報を、当該目標設定地点距離に対応付けられた目標通過時間になったときに報知するための距離通知音声データを生成する。また、制御部11が、複数の楽曲本体データを目標完走時間の情報に基づいて選定し、生成された距離通知音声データと、選定された複数の楽曲本体データと、に基づいて、走行運動用楽曲データを生成する。また、制御部11が、生成された走行運動用楽曲データをユーザPC2に送信する。
従って、ユーザPC2を利用してダウンロードした走行運動用楽曲データをユーザが走行運動時に再生させることで、走行開始から目標通過時間が経過したとき、指定したコース距離を目標完走時間で走行するためにその時点で通過しているべき途中の目標設定地点までの距離に関する情報が報知される。よって、ユーザは、報知された情報と、実際に既に走行している距離とを照らし合わせることができる。例えば、ユーザがマラソンコースを走行している場合には、ユーザは、マラソンコース上に掲示されている走行開始点からの距離情報を確認することにより、実際に既に走行している距離を知ることができる。そして前記の照らし合わせにより、走行途中において予定よりも進んでいるのか又は遅れているのかをユーザが容易に判断することができる。また、ユーザの身体情報、走行速度、走行距離、走行時間等といった走行運動に関する情報を検出する必要がない。
また、トレーニングメニュー情報には、ユーザにより指定されたマラソンコースに含まれる複数の地点の高さの情報であるコース高低差データを含み、制御部11が、取得されたコース高低差データに基づいて、目標通過時間を補正する。
従って、マラソンコースの起伏に起因してユーザの走行ペースが変化することに対応して、目標通過時間を補正することができるので、実際のマラソンコースに対応した適切なタイミングで報知を行うことができる。
また、制御部11が、マラソンコース内において、終点の高さが始点の高さよりも高い区間における走行時間が所定割合で長くなるように目標通過時間を補正する。
従って、上り坂を含むためにユーザの走行ペースが遅くなる区間が存在する場合には、当該区間の走行時間が平坦な区間よりも長くなるように目標通過時間が補正されるので、精度の高いタイミングで報知を行うことができる。
また、制御部11が、マラソンコース内において、終点の高さが始点の高さよりも低い区間における走行時間が所定割合で短くなるように目標通過時間を補正する。
従って、下り坂を含むためにユーザの走行ペースが速くなる区間が存在する場合には、当該区間の走行時間が平坦な区間よりも短くなるように目標通過時間が補正されるので、精度の高いタイミングで報知を行うことができる。
また、制御部11が、マラソンコース内の各区間の勾配に応じて補正割合を決定する。
従って、坂道の勾配に応じて目標通過時間の補正割合が決定されるので、より精度の高いタイミングで報知を行うことができる。
また、実施例1を採用した場合、制御部11が、任意の目標設定地点を所定距離間隔で設定し、当該所定距離間隔毎に目標通過時間を算出する。
従って、一定の距離間隔で、その時点で通過しているべき途中の目標設定地点までの距離に関する情報が報知されるので、ユーザは、予定通りに走行しているのか否かをより容易に判断することができる。
また、実施例2を採用した場合、制御部11が、走行運動用楽曲データを構成する楽曲本体データとして、選定された複数の楽曲本体データを順次再生するときの走行運動用楽曲データの再生開始から各楽曲本体データ間までの再生時間を目標通過時間として算出し、当該再生時間に通過すべき目標設定地点の距離を算出して対応付けし、選定された複数の楽曲本体データが順次再生され、且つ、楽曲本体データ間の時間になったときに当該時間に対応付けられた距離に関する情報が報知されるように、走行運動用楽曲データを生成する。
従って、走行運動用楽曲データをユーザが走行運動時に再生させることで、ユーザは、走行運動中に楽曲を聴取することができる。このとき、楽曲と楽曲との間で、その時点で通過しているべき途中の目標設定地点までの距離に関する情報が報知されるので、ユーザによる楽曲の聴取を妨げることなく、報知を行うことができる。
なお、上記実施形態において、制御部11は、走行運動用楽曲のWAVデータを作成した後に、目標設定地点距離と目標通過時間とを対応付けて、距離通知音声データを走行運動用楽曲のWAVデータに合成していたが、走行運動用楽曲のWAVデータを作成する前に、目標設定地点距離と目標通過時間とを対応付けても良い。そして、制御部11は、走行運動用楽曲のWAVデータを作成した後に、事前の対応付けに基づいて、距離通知音声データを走行運動用楽曲のWAVデータに合成しても良い。
また、上記実施形態において、制御部11は、楽曲と楽曲との間に曲間部が再生されるように走行運動用楽曲データを生成していたが、楽曲と楽曲との間を無音にしても良い。
また、実施例2を採用しない場合には、制御部11は、楽曲と楽曲との間を詰めて、複数の楽曲が隙間なく連続して再生されるように、走行運動用楽曲データを生成しても良い。
また、制御部11は、前奏と後奏は含まないように、走行運動用楽曲データを生成しても良い。
また、上記実施形態において、制御部11が、目標設定地点距離を報知する音声と、楽曲とが再生される走行運動用楽曲データを生成し、当該走行運動用楽曲データをユーザPC2に送信していたが、目標設定地点距離を報知する音声のみが再生される音声データを生成し、当該音声データをユーザPC2に送信しても良い。例えば実施例1のように、制御部11は、所定距離間隔で目標設定地点を設定して、所定距離間隔毎に目標通過時間を算出して対応付けする。そして、制御部11は、所定距離間隔毎に距離通知音声データを生成し、生成した複数の距離通知音声データに基づいて、各目標通過時間になる度に対応する目標設定地点距離を報知する音声が再生される音声データを生成する。
また、上記実施形態において、制御部11は、ユーザが走行途中で走行ペースを意識的に変えることは考慮しない前提で、目標通過時間を算出していたが、例えば、ユーザが走行ペースを意識的に変える場合に対応することができるようにしても良い。例えば、トレーニングメニュー設定用のWebページにおいて、序盤先行型、終盤追い上げ型等の走行方法(戦法)をユーザが選択することができるようにする。そして、制御部11は、選択された走行方法に基づいて、例えば、マラソンコースの前半と後半とで、単位区間あたりの走行時間又は走行スピードを変えるようにして目標通過時間を算出する。
また、上記実施形態において、制御部11は、トレーニングコースとしてマラソンレース当日用コースが選択された場合に、目標設定地点距離が報知されるように走行運動用楽曲データを生成していたが、マラソンレース当日用コース以外のトレーニングコースが選択された場合に、目標設定地点距離が報知されるように走行運動用楽曲データを生成しても良い。すなわち、上記実施形態においては、移動運動をマラソンに適用していたが、例えば、移動運動を、ジョギング等の走行運動に適用しても良いし、ウォーキング等の歩行運動に適用しても良い。
また、制御部11は、目標通過時間の補正を行わなくても良い。マラソンレース当日用コース以外のトレーニングコースにおいては、走行経路の地形はユーザによって又は走行運動の度に変わるので、予めコース高低差データを用意しておくことはできない。よって、そのようなトレーニングコースの場合、目標通過時間の補正を行う必要がない。