【新規性喪失の例外の表示】特許法第30条第2項適用 平成28年12月20日、自社ウェブサイト(http://www3.jvckenwood.com/accessory/ae/app/appguide/)に掲載
(58)【調査した分野】(Int.Cl.,DB名)
ユーザが所定の運動をするときに予め設定した距離または時間における運動開始から運動終了までに、前記ユーザが聴く楽曲のテンポを示すBPMのグラフを設定するグラフ設定部と、
運動開始後の距離または時間のいずれかの進行時点で前記ユーザが聴く楽曲を選択するとき、前記グラフ設定部で設定された前記グラフにおける前記進行時点のBPM値を基準とした所定の範囲内のBPM値を有する楽曲を選択する楽曲選択部と、
前記楽曲選択部で選択された楽曲を前記ユーザに聴かせるよう再生する再生部と、
前記再生部が再生している楽曲をスキップさせて、再生する楽曲を改めて選択するよう指示する操作部と、
を備え、
前記楽曲選択部は、前記再生部で再生中の第1の楽曲の次に再生する第2の楽曲を選択するとき、前記第1の楽曲の全体の再生が終了した進行時点における前記グラフで設定されているBPM値を基準とした前記所定の範囲内のBPM値を有する楽曲を選択し、
前記再生部による前記第1の楽曲の再生中に、前記操作部によって再生する楽曲を改めて選択するよう指示されたとき、前記楽曲選択部は、前記第1の楽曲をスキップさせる操作がなされた進行時点における前記グラフで設定されているBPM値を基準とした前記所定の範囲内のBPM値を有する楽曲を選択する
楽曲再生装置。
電子機器のプロセッサが、ユーザが所定の運動をするときに予め設定した距離または時間における運動開始から運動終了までに、前記ユーザが聴く楽曲のテンポを示すBPMのグラフを設定し、
前記プロセッサが、前記電子機器に記憶されている複数の楽曲のうち、運動開始後の距離または時間のいずれかの進行時点で前記ユーザが聴く楽曲を選択するとき、前記グラフにおける前記進行時点のBPM値を基準とした所定の範囲内のBPM値を有する楽曲を選択し、
前記電子機器に設けられている再生部が、選択された楽曲を前記ユーザに聴かせるよう再生し、
前記プロセッサは、再生中の第1の楽曲の次に再生する第2の楽曲を選択するとき、前記第1の楽曲の全体の再生が終了した進行時点における前記グラフで設定されているBPM値を基準とした前記所定の範囲内のBPM値を有する楽曲を選択し、
前記プロセッサは、前記再生部が前記第1の楽曲の再生中に、前記第1の楽曲をスキップさせて、再生する楽曲を改めて選択するよう指示する操作がなされたとき、前記第1の楽曲をスキップさせる操作がなされた進行時点における前記グラフで設定されているBPM値を基準とした前記所定の範囲内のBPM値を有する楽曲を選択する
楽曲再生方法。
【発明を実施するための形態】
【0010】
以下、一実施形態の楽曲再生プログラム、楽曲再生装置、楽曲再生方法について、添付図面を参照して説明する。本実施形態においては、運動の一例としてランニングとし、ランナーが走る予め設定したペースに対応した楽曲を選曲して再生することができる楽曲再生プログラム、楽曲再生装置、楽曲再生方法を例とする。
【0011】
まず、
図1を用いて、本実施形態の楽曲再生装置の構成を説明する。本実施形態の楽曲再生装置は例えばスマートフォンのような携帯端末である。
図1において、マイクロプロセッサによって構成された中央処理装置(以下、CPUと略記する)1は楽曲再生装置の全体を制御する。CPU1には、バス13及び14が接続されている。CPU1には、バス13を介してRAMによって構成された一時記憶メモリ2が接続されている。
【0012】
CPU1には、バス14を介して、ストレージデバイス3、復号器4、D/A変換器5、ネットワークインタフェース8、操作部9、ディスプレイ10、GNSS受信部11、時計12が接続されている。D/A変換器5に接続された出力端子6には、ヘッドホン(イヤホン)7が接続されている。図示していないランナー(携帯端末のユーザ)は、ヘッドホン7を耳に装着して走る。
【0013】
ストレージデバイス3は非一時的な記憶媒体の一例であり、例えばフラッシュメモリで構成される。ストレージデバイス3は、携帯端末を動作させるためのオペレーティングシステムと、本実施形態の楽曲再生プログラムであるアプリケーションプログラムと、楽曲データと、履歴データを記憶している。楽曲データは、所定のフォーマットのデジタル符号化音声信号である。
【0014】
操作部9は、携帯端末の筐体に設けられた操作ボタンまたはディスプレイ10と一体化されたタッチパネルである。本実施形態においては、操作部9は主としてタッチパネルである。ディスプレイ10は、液晶表示パネルまたは有機エレクトロルミネッセンス(有機EL)パネルである。
【0015】
GNSS受信部11は、全地球航法衛星システム(Global Navigation Satellite System: GNSS)用の3つ以上の衛星からの電波を受信する。GNSSは、一例としてGPS(Global Positioning System)である。CPU1は、GNSS受信部11が受信した電波に基づくGNSS信号によって携帯端末の位置を検出することができる。GNSS受信部11が演算器を備えて携帯端末の位置を検出するように構成されていてもよい、この場合、GNSS受信部11が位置情報をCPU1に供給する。
【0016】
図1において、ストレージデバイス3には、
図2に示すように、それぞれの楽曲の楽曲データと、それぞれの楽曲のBPM(Beats Per Minute)値とが対応付けられて記憶されている。BPM値は楽曲のテンポを数字化した値である。ストレージデバイス3に記憶されている楽曲のBPM値はアプリケーションプログラムによって予め解析されて記憶されている。
【0017】
ランナーが、操作部9によってそれぞれの楽曲のBPM値を手動で設定して、ストレージデバイス3に記憶させてもよい。ランナーが、ネットワークインタフェース8を介してインターネットにアクセスして、ウェブサイトよりそれぞれの楽曲のBPM値を入手して、ストレージデバイス3に記憶させてもよい。なお、楽曲のBPM値は汎用のソフトウェアで容易に解析することができる。
【0018】
図3〜
図7に示すフローチャート、及び、
図8〜
図24に示すディスプレイ10の表示画像を用いて、本実施形態の楽曲再生プログラム及び楽曲再生方法によって実行される処理、本実施形態の楽曲再生装置の動作を説明する。
【0019】
図3において、ランナーが操作部9によって楽曲再生プログラムを起動するよう操作すると、CPU1がアプリケーションプログラムを起動させて、処理が開始される。CPU1は、ステップS1にて、
図8に示すように、「新規作成」と記載された新規作成ボタン101と、「履歴から選択」と記載された履歴選択ボタン102とを含むメニューをディスプレイ10に表示させる。
【0020】
ランナーが新規作成ボタン101を操作すると、ランナーによる走行計画とランナーがランニング中に聴く楽曲とを対応付けるためのメニュー(以下、ランメニューと称する)を新規に作成することができる。ランナーが履歴選択ボタン102を操作すると、ランナーが過去に走って作成されたランニング履歴に基づくランメニューを利用することができる。
【0021】
本実施形態においては、操作部9がタッチパネルである場合、ディスプレイ10に表示されたボタンを操作するとは、ボタンに触れるということを意味する。
【0022】
CPU1は、ステップS2にて、新規作成ボタン101の操作により「新規作成」が選択されたか否かを判定する。CPU1は、「新規作成」が選択されれば(YES)、ステップS3にて、ランメニュー新規作成処理を実行し、「新規作成」が選択されなければ(即ち、「履歴から選択」が選択されれば)(NO)、ステップS4にて、ランニング履歴選択処理を実行する。
【0023】
ここで、
図4を用いて、ステップS3のランメニュー新規作成処理の詳細を説明する。
図3のステップS2にて「新規作成」が選択されれば、処理は
図4のステップS301に移行される。
図4において、CPU1は、ステップS301にて、ランニングする距離または時間を設定する
図9Aまたは
図9Bに示す距離・時間設定画像をディスプレイ10に表示させる。
【0024】
図9Aまたは
図9Bに示すように、距離・時間設定画像は、距離を入力する距離入力ウィンドウ103と、時間を入力する時間入力ウィンドウ104と、「次へ」と記載された次画像移行指示ボタン105とを含む。
【0025】
CPU1は、ステップS302にて、距離または時間が設定されたか否かを判定する。CPU1は、次画像移行指示ボタン105の操作によって距離または時間が設定されれば(YES)、ステップS303に移行させ、距離または時間が設定されなければ(NO)、ステップS302の処理を繰り返す。
【0026】
図9Aは一例として、距離入力ウィンドウ103に10.0(km)と入力した状態を示している。
図9Bは一例として、時間入力ウィンドウ104に01:30(1時間30分)と入力した状態を示している。距離入力ウィンドウ103に対する距離の入力と、時間入力ウィンドウ104に対する時間の入力とは、択一的に可能である。以下の説明では、ランニングする時間を1時間30分と設定した場合を例とする。
【0027】
なお、
図9Aまたは
図9Bで設定される距離または時間の設定データは一時記憶メモリ2に記憶される。また、
図10以降のディスプレイ10に表示する画像を構成するためのデータのうち、ランニングまたは楽曲の再生のために設定したデータ、及び、ランニングの期間中に再生した楽曲に関するデータは、一時記憶メモリ2に記憶される。
【0028】
CPU1は、ステップS303にて、
図10に示すBPMのグラフ設定画像をディスプレイ10に表示させる。BPMのグラフ設定画像は、BPMのグラフ表示領域106と、説明文表示領域107と、次画像移行指示ボタン108とを含む。説明文表示領域107の上端部には、水平方向(左右方向)に時間情報109が表示され、グラフ表示領域106の左端部には、垂直方向(上下方向)にBPM値情報110が表示されている。
【0029】
ここでは、ランニングする時間を1時間30分と設定しているので、時間情報109として、左端部にランニング開始時の00:00が表示され、中央に00:45が表示され、右端部にランニング終了時の01:30が表示されている。BPM値情報110として、下端部の50から上端部の200までBPM値が50刻みで表示されている。
【0030】
CPU1は、グラフ表示領域106に、BPM値の初期値として100の位置に、直線状のグラフ111を表示させる。BPM値の初期値は100に限定されない。
【0031】
CPU1は、ステップS304にて、BPMのグラフ111を調整する操作がされたか否かを判定し、操作されれば(YES)、ステップS305にて、調整されたBPMのグラフ111を設定する(グラフ設定ステップ)。
【0032】
具体的には、
図10に示すように、ランナーがグラフ111に指を当てて上下させると、CPU1はグラフ111を上下方向に移動させる。
図11は、グラフ111をBPM値120の位置に移動させた状態を示している。
【0033】
次画像移行指示ボタン108が操作されると、CPU1は、
図12に示すように、グラフ111のBPM値を複数の位置で設定できる状態へと移行させる。
図12においては、グラフ111の始端と終端との間の2か所でBPM値をBPM値120よりも大きい値に設定している。
【0034】
図12に示すグラフ111は、ランニング開始から40分程度までBPM値を120から130程度まで緩やかに上昇させ、その後1時間10分程度までBPM値を160程度まで急激に上昇させ、その後120まで低下させる特性を有する。
【0035】
ステップS304のBPMのグラフ111を調整する操作とは、
図10及び
図11に示すグラフ111を上下方向に移動させる操作と、
図12に示すグラフ111のBPM値を複数の位置で設定して一直線ではなく角度の異なる複数の直線をつなげた状態にする操作とを含む。
【0036】
ところで、BPM値が大きい楽曲はアップテンポの楽曲であるため、ランナーが走るペースが速いときに聴くのに好適である。BPM値が小さい楽曲がスローテンポの楽曲であるため、ランナーが走るペースが遅いときに聴くのに好適である。ランナーは、自分が走るときのペースに対応するBPM値を認識している。従って、ランナーは、予め設定した距離または時間内で自分がどのようなペースで走るかという走行計画に合わせて、BPMのグラフ111を調整することができる。
【0037】
図12に示すグラフ111は、ランナーがランニング中に聴く楽曲のBPM値を設定するためのグラフであるのと同時に、ランナーがランニングするときのペースを示す走行計画を示している。
【0038】
CPU1は、ステップS306にて、指定曲を設定する操作がされたか否かを判定し、操作されれば(YES)、ステップS307にて、指定曲を設定する(指定曲設定ステップ)。具体的には、
図12において、指定曲設定移行指示ボタン112が操作されると、CPU1は、
図13に示すように、グラフ表示領域106と時間情報109との間の領域を指定曲設定位置指示領域114とする。
【0039】
ランナーが指定曲設定位置指示領域114のランニング開始時の00:00からランニング終了時の01:30までのいずれかの位置を触れると、CPU1は、例えば星印の指定曲設定マーク115を指定曲設定位置指示領域114に表示させる。指定曲設定マーク115が表示されている位置が指定曲を再生するよう設定した時間位置となる。
【0040】
但し、後述するように、CPU1は、指定曲設定マーク115が表示されている時間位置の直前で再生している楽曲が終了していない場合には、直前で再生している楽曲の再生終了後に指定曲を再生するよう制御する。従って、指定曲設定マーク115が表示されている位置が指定曲の再生を開始する時間位置とはならないことがある。
【0041】
ここではランニングする時間を設定しているため、指定曲設定マーク115が表示されている指定曲設定位置指示領域114の左右方向の位置は時間位置を示している。ランニングする距離を設定した場合には、指定曲設定位置指示領域114の左右方向の位置は距離上の位置を示す。ディスプレイ10の左右方向に時間情報109または距離情報が表示されているときの左右方向の位置は、距離または時間の進行時点を示す。
【0042】
一例として、指定曲設定マーク115が触れられたら、CPU1は、ストレージデバイス3に記憶されている楽曲データからいずれかの楽曲データを指定曲として選択するため、楽曲の一覧を表示させる。CPU1は、楽曲の一覧から選択された楽曲データを指定曲として設定する。
【0043】
CPU1は、ステップS308にて、BPMのグラフ111の調整に戻る操作がされたか否かを判定する。BPMのグラフ111の調整に戻る操作がされれば(YES)、CPU1は、処理をステップS304に戻す。具体的には、
図13において、「ペース設定へ」と記載されたグラフ調整戻りボタン116が操作されれば、CPU1はディスプレイ10の表示画像を
図12の状態に戻す。
【0044】
BPMのグラフ111の調整に戻る操作がされなければ(NO)、CPU1は、ステップS309にて、ランニング開始を指示する画像に移行する操作がされたか否かを判定する。ランニング開始を指示する画像に移行する操作がされれば(YES)、CPU1は、ステップS311にて、ランニング開始を指示する画像に移行させる。具体的には、
図13において、「次へ」と記載された次画像移行指示ボタン113が操作されれば、CPU1はランニング開始を指示する画像に移行させる。
【0045】
ステップS309にてランニング開始を指示する画像に移行する操作がされなければ(NO)、CPU1は、処理をステップS308に戻す。
【0046】
一方、ステップS306にて指定曲を設定する操作がされなければ(NO)、CPU1は、ステップS310にて、ランニング開始を指示する画像に移行する操作がされたか否かを判定する。ランニング開始を指示する画像に移行する操作がされれば(YES)、CPU1は、ステップS311にて、ランニング開始を指示する画像に移行させる。具体的には、
図12において、次画像移行指示ボタン113が操作されれば、CPU1はランニング開始を指示する画像に移行させて、処理を
図3のステップS51に移行させる。
【0047】
ステップS310にてランニング開始を指示する画像に移行する操作がされなければ(NO)、CPU1は、処理をステップS306に戻す。
【0048】
図14は、ステップS311でディスプレイ10に表示されるランニング開始を指示する画像の一例を示している。
図14においては、指定曲設定マーク115はグラフ111近傍の位置に表示されている。ディスプレイ10の下端部には「START」と記載されたランニング開始ボタン117が表示されている。
【0049】
次に、
図5を用いて、ステップS4のランニング履歴選択処理の詳細を説明する。
図3のステップS2にて「履歴から選択」が選択されれば、処理は
図5のステップS401に移行される。
図5において、CPU1は、ステップS401にて、ランニング履歴の一覧をディスプレイ10に表示させる。
【0050】
図15は、ランニング履歴の一覧の一例を示している。ランニング履歴は、ランニングをした日付と、距離と、時間の項目を含む。
図9Aのように距離を設定した場合には距離の項目に距離が記載されて時間が記載されず、
図9Bのように時間を設定した場合には時間が記載されて距離が記載されない。
【0051】
CPU1は、ステップS402にて、ランニング履歴の一覧からいずれかのランニング履歴が選択されたか否かを判定する。いずれかのランニング履歴が選択されなければ(NO)、CPU1はステップS401の処理を繰り返す。いずれかのランニング履歴が選択されれば(YES)、CPU1は、ステップS403にて、
図16に示すように、BPMのグラフ111及び折れ線141を含む対応付けグラフ画像とプレイリスト118をディスプレイ10に表示させる。
【0052】
ランニング履歴を示すデータは、ランナーが設定したグラフ111を示すデータと、再生した楽曲のBPM値を示すデータと、再生した楽曲のプレイリストのデータとを含む。
【0053】
図16において、グラフ111に近接して太実線で示されている折れ線141は、ランニングの開始から終了までの時間に、携帯端末が再生した楽曲のBPM値を示している。折れ線141の左右方向に伸びる1つの線分は1つの楽曲を再生している期間を示し、隣接する線分をつなぐ上下方向に伸びる線分は楽曲が切り替わる時間位置を示す。
【0054】
図16及び後述する図において、実際のディスプレイ10では、グラフ111の色と折れ線141の色とを異ならせるのがよい。例えば、CPU1は、グラフ111を黒の実線で描画し、折れ線141を赤の実線で描画する。
【0055】
CPU1は、ディスプレイ10に、グラフ111を示すデータと再生した楽曲のBPM値を示すデータとに基づいて対応付けグラフ画像を描画し、プレイリストのデータに基づいてプレイリスト118を表示させる。
【0056】
図16に示す画像は、ランニング履歴に戻すランニング履歴戻りボタン119と、「このプレイリストで走る」と記載された、表示されているプレイリスト118を使用することを決定する決定ボタン120と、表示されているグラフ111に基づいてBPMのグラフ111を新規に作成する新規作成ボタン121とを含む。
【0057】
CPU1は、ステップS404にて、ランニング履歴戻りボタン119の操作によりランニング履歴の一覧に戻す指示がされたか否かを判定する。CPU1は、ランニング履歴の一覧に戻す指示がされれば(YES)、処理をステップS401に戻し、ランニング履歴の一覧に戻す指示がされなければ(NO)、処理をステップS405に移行させる。
【0058】
CPU1は、ステップS405にて、決定ボタン120が操作されて表示されているプレイリスト118を使用することが決定されたか否かを判定する。決定ボタン120が操作されなければ(NO)、CPU1は処理をステップS404に戻す。決定ボタン120が操作されれば(YES)、CPU1は、ステップS406にて、
図14と同様のランニング開始を指示する画像に移行させ、処理を
図3のステップS52に移行させる。
【0059】
図5では、新規作成ボタン121を操作した場合の処理の図示を省略している。新規作成ボタン121が操作された場合には、
図12及び
図13と同様に、BPMのグラフ111を調整し、指定曲を設定することができる。
【0060】
図3に戻り、ステップS3のランメニュー新規作成処理が実行された場合には、ステップS51,S61,S71の処理が実行される。
【0061】
CPU1は、ステップS51にて、ランナーによって
図14に示すランニング開始ボタン117が操作されて、ランニングの開始が指示されたか否かを判定する。ここでは便宜上、ランニングの開始の指示と表現しているが、厳密には、ランニングの開始の指示とは、ランナーがランニング中に聴く楽曲を上述のように設定したBPMのグラフ111に対応させて選択し、再生する処理を開始する指示を意味する。
【0062】
本実施形態においては、ランナーはランニングしながら楽曲を聴くことを前提としているため、ランニングの開始及び終了は、楽曲再生の開始及び終了と等価である。
【0063】
ランニングの開始が指示されなければ(NO)、CPU1は、ステップS51の処理を繰り返す。ランニングの開始が指示されれば(YES)、CPU1は、ステップS61にて、楽曲の選択及び再生処理を実行し、並行して、ステップS71にて、ディスプレイ10に対する画像表示処理を実行する。
【0064】
ここで、
図6A及び
図6Bを用いて、ステップS61の楽曲の選択及び再生処理の詳細を説明する。
図6Aにおいて、CPU1は、ステップS601にて、BPMのグラフ111の開始時(ランニング開始時の00:00)に指定曲が設定されているか否かを判定する。
【0065】
BPMのグラフ111の開始時に指定曲が設定されていなければ(NO)、CPU1は、ステップS602にて、BPMのグラフ111の開始時のBPM値を取得する。CPU1は、ステップS603にて、取得したBPM値に近似するBPM値を有する楽曲を抽出する。
図14のグラフ111を例にすると、開始時のBPM値は120であるから、CPU1は、BPM値120に近似するBPM値を有する楽曲を抽出する。
【0066】
一例として、CPU1は、取得したBPM値を基準として±3のBPM値を有する楽曲を探索し、その範囲内の楽曲が存在すればその範囲内の楽曲を抽出する。その範囲内の楽曲が存在しなければ、±6のBPM値を有する楽曲を探索し、その範囲内の楽曲が存在すればその範囲内の楽曲を抽出する。BPM値の探索範囲を一度にどの程度広げるか、探索範囲を何回広げるかは任意である。
【0067】
CPU1は、ステップS604にて、抽出した楽曲よりランダムに1曲を選択して再生させる(楽曲選択ステップ及び第1の再生ステップ)。CPU1は、選択した楽曲の楽曲データをストレージデバイス3より読み出す。復号器4はCPU1による制御に基づき読み出された楽曲データを復号し、D/A変換器5は復号された楽曲データのデジタル音声信号をアナログ音声信号に変換する。これにより、ランナーはヘッドホン7で楽曲を聴きながら走ることができる。
【0068】
CPU1は、ステップS605にて、選択された1曲の楽曲全体の再生が終了したか否かを判定する。楽曲全体の再生が終了すれば(YES)、CPU1は、ステップS606にて、BPMのグラフ111における楽曲再生終了時のBPM値を取得して、処理をステップS610に移行させる。
【0069】
ステップS605にて楽曲全体の再生が終了しなければ(NO)、CPU1は、ステップS607にて、ランニングの終了が指示されたか否かを判定する。
【0070】
CPU1は、ランニングの開始以降のランナーが走った距離を位置情報の変化に基づいて算出することができる。CPU1は、ランニングの開始以降の経過時間を時計12による計時によって検出することができる。ランニング終了の指示については後述する。
【0071】
ランニングの終了が指示されれば(YES)、CPU1は、処理をステップS617に移行させる。ランニングの終了が指示されなければ(NO)、CPU1は、ステップS608にて、再生している楽曲がスキップされたか否かを判定する。ステップS608にて再生している楽曲がスキップされたということは、第1の再生ステップで再生している楽曲をスキップさせる操作に応答して、再生する楽曲を改めて選択するよう指示する指示ステップが実行されたということである。
【0072】
再生している楽曲がスキップされれば(YES)、CPU1は、ステップS609にて、BPMのグラフ111におけるスキップ操作時のBPM値を取得して、処理をステップS610に移行させる。
【0073】
CPU1は、ステップS603と同様に、ステップS610にて、取得したBPM値に近似するBPM値を有する楽曲を抽出する。CPU1は、ステップS611にて、抽出した楽曲よりランダムに1曲を選択して再生させる(楽曲選択ステップ及び第1の再生ステップ)。CPU1は、処理をステップS611からステップS617に移行させる。
【0074】
CPU1は、ステップS617にて、ランニングの終了が指示されたか否かを判定する。ランニングの終了が指示されれば(YES)、CPU1は、処理をステップS618に移行させる。
【0075】
ステップS617にてランニングの終了が指示されなければ(NO)、CPU1は、処理をステップS605に戻す。
【0076】
ステップS608にて再生している楽曲がスキップされなければ(NO)、CPU1は、
図6BのステップS612にて、指定曲が設定された距離または時間位置に到達したか否かを判定する。指定曲が設定された距離または時間位置に到達しなければ(NO)、CPU1は、処理を
図6AのステップS605に戻す。
【0077】
ステップS612にて指定曲が設定された距離または時間位置に到達すれば(YES)、CPU1は、ステップS613にて、指定曲が設定された距離または時間位置で再生している楽曲全体の再生が終了したか否かを判定する。楽曲全体の再生が終了すれば(YES)、CPU1は、処理をステップS616に移行させる。
【0078】
楽曲全体の再生が終了しなければ(NO)、CPU1は、ステップS614にて、指定曲が設定された距離または時間位置で再生している楽曲がスキップされたか否かを判定する。指定曲が設定された時間位置で再生している楽曲がスキップされれば(YES)、CPU1は、処理をステップS616に移行させる。指定曲が設定された距離または時間位置で再生している楽曲がスキップされなければ(NO)、CPU1は、ステップS615にて、ランニングの終了が指示されたか否かを判定する。
【0079】
ステップS615にてランニングの終了が指示されなければ(NO)、CPU1は、処理をステップS613に戻す。ランニングの終了が指示されれば(YES)、CPU1は、処理を
図6AのステップS618に移行させる。
【0080】
一方、
図6AのステップS601にて、BPMのグラフ111の開始時に指定曲が設定されていれば(YES)、CPU1は、処理を
図6BのステップS616に移行させる。
【0081】
ステップS601、ステップS613、または、ステップS614からステップS616へと移行した場合、CPU1は、ステップS616にて、指定曲を再生させる(第2の再生ステップ)。CPU1は、処理をステップS616から
図6AのステップS617に移行させる。
【0082】
この場合も、CPU1は、ステップS617にて、ランニングの終了が指示されたか否かを判定する。ランニングの終了が指示されれば(YES)、CPU1は、処理をステップS618に移行させる。
【0083】
処理がステップS607またはステップS617からステップS618に移行されたとき、CPU1は、ステップS618にて、楽曲の再生を停止させて、処理を
図3のステップS8へと移行させる。
【0084】
図6A及び
図6Bに示す楽曲の選択及び再生処理において、CPU1は、ステップS604、ステップS611、及び、ステップS616で再生した楽曲のプレイリストを作成して、一時記憶メモリ2に記憶させる(プレイリスト作成ステップ)。
【0085】
CPU1は、短時間でスキップした楽曲をプレイリストに含ませないようにプレイリストを作成するのがよい。例えば、CPU1は、楽曲の全体の時間の半分以上再生した楽曲をプレイリストに含ませ、半分未満しか再生しなかった楽曲をプレイリストに含ませないようにすればよい。楽曲をスキップさせたときにどの程度の割合未満でプレイリストに含ませないようにするかは、任意に設定すればよい。
【0086】
次に、
図7を用いて、ステップS71の画像表示処理の詳細を説明する。
図7において、CPU1は、ステップS701にて、再生している楽曲のBPM値を時間位置に対応させて一時記憶メモリ2に記憶させる。この楽曲のBPM値を一時記憶メモリ2に記憶させる処理は、ランニングの終了が指示されるまで継続的に実行される。
【0087】
CPU1は、ステップS702にて、経過時間、走行距離、ペースを計測してタイム表示画像をディスプレイ10に表示させる。
図17は、ランニングの開始が指示された後にディスプレイ10に表示されるタイム表示画像の一例を示している。
【0088】
タイム表示画像は、経過時間、走行距離、ペースを表示する領域122と、再生している楽曲を示す領域123と、再生している楽曲の進行状況を示すプログレスバー124とを含む。タイム表示画像は、一時停止ボタン125と、スキップボタン126と、「スライドして終了」と記載されているランニング終了ボタン127と、「グラフ」と記載されている、グラフ111を含むグラフ表示画像に移行させるグラフ表示画像移行ボタン128をさらに含む。
【0089】
図17は、ランニング開始から1時間5分56秒経過し、ランナーが13.2km走り、ペースが1km当たり4分58秒である場合を示している。
【0090】
CPU1は、ステップS703にて、ランニング終了ボタン127の操作によりランニングの終了が指示されたか否かを判定する。
図6AのステップS607及びS616におけるランニングの終了が指示されたか否かの判定は、ランニング終了ボタン127が操作されたか否かということである。即ち、
図6AのステップS607及びS617と
図7のステップS703とは同一の処理である。
【0091】
ステップS703にてランニングの終了が指示されなければ(NO)、CPU1は、ステップS704にて、グラフ表示画像移行ボタン128の操作によりグラフ表示画像に移行する指示がされたか否かを判定する。グラフ表示画像に移行する指示がされなければ(NO)、CPU1は、処理をステップS702に戻し、ステップS702〜S704の処理を繰り返す。これにより、
図17のタイム表示画像が継続的にディスプレイ10に表示される。
【0092】
ステップS704にてグラフ表示画像に移行する指示がされれば(YES)、CPU1は、ステップS705にて、
図18に示すように、グラフ表示画像に移行させる(グラフ画像表示ステップ)。
図18において、
図17またはそれ以前の図に示す画像と同一の部分には同一の符号が付してある。
【0093】
グラフ表示画像は、BPMのグラフ111と再生した楽曲のBPM値を示す折れ線141とを含む対応付けグラフ画像を含む。ここでは、まだランニングを終了していない途中の時間であるので、折れ線141は途中まで描画されている。
【0094】
また、グラフ表示画像は、ランニングのペースを上げるためのペースアップボタン129と、ペースを下げるためのペースダウンボタン130と、「タイム」と記載されている、タイム表示画像に戻すタイム表示画像移行ボタン131を含む。
【0095】
ここでも便宜上、ランニングのペースを上げる及び下げると表現しているが、厳密には、ランナーがランニング中に聴く楽曲のBPMを上げる及び下げるということを意味する。ランナーは、ランニング中に聴く楽曲のBPMを上げることによりランニングのペースを上げやすくなり、BPMを下げることによりランニングのペースを下げやすくなる。
【0096】
CPU1は、ステップS706にて、ペースアップボタン129またはペースダウンボタン130の操作により、ランニングのペースを上げるまたは下げる操作がされたか否かを判定する。ランニングのペースを上げるまたは下げる操作がされれば(YES)、CPU1は、ステップS707にて、設定されたBPMのグラフ111を変更する(変更ステップ)。CPU1は、処理をステップS707からステップS708に移行させる。
【0097】
ステップS706にてランニングのペースを上げるまたは下げる操作がされなければ(NO)、CPU1は、処理をステップS708に移行させる。
【0098】
CPU1は、ステップS708にて、ランニングの終了が指示されたか否かを判定する。ランニングの終了が指示されなければ(NO)、CPU1は、ステップS709にて、タイム表示画像移行ボタン131の操作によりタイム表示画像に戻す指示がされたか否かを判定する。タイム表示画像に戻す指示がされれば(YES)、CPU1は、処理をステップS702に戻す。これにより、ディスプレイ10の表示状態は、
図17と同様のタイム表示画像に戻される。
【0099】
ステップS709にてタイム表示画像に戻す指示がされなければ(NO)、CPU1は、処理をステップS705に戻す。これにより、
図18のグラフ表示画像が継続的にディスプレイ10に表示される。
【0100】
図19及び
図20は、ステップS706にてランニングのペースを上げる操作がされ、ステップS707にてBPMのグラフ111を変更した場合の、それぞれ、変更前と変更後のグラフ111の一例を示している。
図20に示すように、BPM値が上昇したことにより、BPM値の大きい楽曲が選択されて再生されている。CPU1は、ペースアップボタン129またはペースダウンボタン130の操作により、グラフ111を上下方向に平行移動させてもよい。
【0101】
一方、ステップS703またはステップS708にてランニングの終了が指示されれば(YES)、CPU1は、ステップS710にて、ランニング結果画像をディスプレイ10に表示させる。
【0102】
具体的には、次のとおりである。
図21は、1時間30分のランニングが終了した時点以降のタイム表示画像を示している。ランニング終了ボタン127が操作されると、CPU1は楽曲の再生を停止させ、
図22に示すように、一時停止ボタン125に代えて再生ボタン132を表示させる。
【0103】
図22において、終了ボタン133が操作されると、CPU1は、
図23に示すように、ランニング結果画像をディスプレイ10に表示させる。
図23において、指定曲設定マーク115の時間位置と折れ線141の楽曲が切り替わる時間位置とがずれているのは、前述のように、指定曲設定マーク115の時間位置が指定曲の再生を開始する時間位置とはならないことがあるためである。
【0104】
図22において、再開ボタン134が操作されると、CPU1は、楽曲の再生を再開させることができる。CPU1は、例えば、BPMのグラフ111の終了時のBPM値に対応する楽曲を再生させる。
【0105】
図23に示すように、ランニング結果画像は、プレイリストの表示へと移行させるプレイリスト移行ボタン135と、「保存しない」と記載されているランニング結果及びプレイリストを保存せず廃棄する非保存ボタン136と、「保存する」と記載されているランニング結果及びプレイリストを保存する保存ボタン137とを含む。
【0106】
ランニング結果とは、BPMのグラフ111(及び指定曲設定マーク115)及び折れ線141を含む対応付けグラフ画像を描画するために一時記憶メモリ2に記憶させたデータである。
【0107】
図7に戻り、CPU1は、ステップS711にて、プレイリスト移行ボタン135の操作によりプレイリストを表示する指示がされたか否かを判定する。プレイリストを表示する指示がされれば(YES)、CPU1は、ステップS712にて、
図24に示すように、一時記憶メモリ2に記憶されているプレイリストのデータに基づいて、プレイリスト表示画像をディスプレイ10に表示させる(プレイリスト表示ステップ)。
【0108】
CPU1は、ステップS712に続き、処理をステップS713に移行させる。また、ステップS711にてプレイリストを表示する指示がされなければ(NO)、CPU1は、処理をステップS713に移行させる。
【0109】
CPU1は、ステップS713にて、保存ボタン137の操作によりランニング結果及びプレイリストを保存する指示がされたか否か(非保存ボタン136の操作によりランニング結果及びプレイリストを破棄する指示がされたか否か)を判定する。
【0110】
保存する指示がされれば(YES)、CPU1は、ステップS714にて、一時記憶メモリ2に記憶されているランニング結果及びプレイリストをストレージデバイス3に保存して、処理を
図3のステップS8に移行させる。保存する指示がされなければ(NO)、CPU1は、ステップS715にて、一時記憶メモリ2に記憶されているランニング結果及びプレイリストを破棄して、処理を
図3のステップS8に移行させる。
【0111】
図3に戻り、ステップS4のランニング履歴選択処理が実行された場合には、ステップS52,S62,S72の処理が実行される。CPU1は、ステップS51と同様に、ステップS52にて、ランニングの開始が指示されたか否かを判定する。ランニングの開始が指示されなければ(NO)、CPU1は、ステップS52の処理を繰り返す。
【0112】
ランニングの開始が指示されれば(YES)、CPU1は、ステップS62にて、プレイリストの楽曲を再生するプレイリスト再生を実行し、並行して、ステップS72にて、ディスプレイ10に対する画像表示処理を実行する。ステップS72における画像表示処理はステップS71と同様である。但し、ステップS72における画像表示処理は、
図7に示すステップS71の詳細な処理のうち、少なくとも
図17,
図18,
図21,
図22で説明したようなタイム表示画像またはグラフ表示画像をディスプレイ10に表示する処理を含めばよい。
【0113】
CPU1は、ステップS62においても、ステップS61と同様に、ランニングの終了が指示されれば楽曲の再生を停止させる。CPU1は、処理をステップS62及びステップS72からステップS8へと移行させる。
【0114】
ランニング履歴からランメニューを選択した場合であっても、
図19及び
図20で説明したように、ランニングのペース(BPM)の変更が可能なように構成してもよい。ランニングのペースを変更すると、ランニング履歴のプレイリストで設定されている楽曲とは異なる楽曲が選択されて再生されることになる。
【0115】
この場合には、
図23及び
図24と同様に、ランニング結果及びプレイリストを保存するか否かを選択するように構成すればよい。ランニング結果及びプレイリストを保存する指示がされたときには、新たなランニング結果及びプレイリストがストレージデバイス3に保存される。
【0116】
図3において、CPU1は、ステップS8にて、ディスプレイ10の表示状態を
図8のメニューに戻し、処理をステップS9に移行させる。CPU1は、ステップS9にて、アプリケーションプログラムの終了が指示されたか否かを判定する。例えば、携帯端末の筐体に設けられたホームボタンを、アプリケーションプログラムを終了させるための操作ボタンとすることができる。
【0117】
CPU1は、アプリケーションプログラムの終了が指示されれば(YES)、処理を終了させ、アプリケーションプログラムの終了が指示されなければ(NO)、処理をステップS8に戻す。
【0118】
さらに、
図25〜
図27を用いて、本実施形態における再生する楽曲の切り替え動作(切り替え処理)をまとめて説明する。
図25〜
図27において、四角で囲んだ数字は、ストレージデバイス3に記憶されている楽曲のBPM値を示している。
図25〜
図27においては、説明を容易にするため、グラフ111のBPM値を急激に上昇させている。時間軸上の時刻は、距離または時間の進行時点に相当する。
【0119】
図25において、CPU1は、時刻t1で、グラフ111のBPM値が120であるから、BPM値120を基準とした所定の範囲内のBPM値を有する楽曲として、BPM値120を有する楽曲Mdを選択したとする。スキップの操作が行われない限り、楽曲Mdは再生を開始する時刻t1から楽曲全体の再生が終了する時刻t2まで再生される。
【0120】
CPU1は、時刻t2で、グラフ111のBPM値が133であるから、BPM値133を基準とした所定の範囲内のBPM値を有する楽曲として、BPM値135を有する楽曲Mfを選択する。これによって、再生される楽曲は、楽曲Mdから楽曲Mfへと切り替えられる。
【0121】
図25において、楽曲Mdの再生途中で、グラフ111のBPM値は上昇しているから、BPM値124を有する楽曲MeまたはBPM値125を有する楽曲Mhの方がグラフ111で設定されているBPM値に近い。しかしながら、本実施形態においては、楽曲Mdの再生中に、グラフ111のBPM値が、楽曲Mdを選択したときの時刻におけるグラフ111のBPM値(ここでは120)を基準とした所定の範囲を超えるか否かにかかわらず、楽曲Mdの再生を継続させる。
【0122】
そして、本実施形態においては、楽曲Mdの全体の再生が終了した時刻におけるグラフ111のBPM値を基準とした所定の範囲内のBPM値を有する楽曲Mfを選択する。よって、本実施形態によれば、楽曲が途中で切り替わらないので、ランナーは、ランニングのペースに対応した自分の好みの楽曲を楽しみながら走ることができる。
【0123】
図26は、楽曲をスキップする操作が行われた場合の楽曲の切り替え動作を示している。
図26において、時刻t1で楽曲Mdの再生が開始されて、時刻t2でスキップの操作が行われたとする。CPU1は、スキップの操作が行われた時刻t2におけるグラフ111のBPM値(ここでは122)を基準とした所定の範囲内のBPM値を有する楽曲を選択する。
【0124】
CPU1は、例えばBPM値124を有する楽曲Meを選択し、楽曲Meは再生を開始する時刻t2から楽曲全体の再生が終了する時刻t3まで再生される。時刻t3での楽曲の切り替えは
図25における時刻t2でのそれと同様である。
【0125】
なお、
図26に示す例では、楽曲MdのBPM値120は、時刻t2におけるグラフ111のBPM値122を基準とした所定の範囲内にある。従って、CPU1が時刻t2におけるグラフ111のBPM値を基準とした所定の範囲内のBPM値を有する楽曲をランダムに選択すると、楽曲Mdが再び選択される可能性は0ではない。しかしながら、ストレージデバイス3に数多くの楽曲が記憶されていれば、楽曲Mdが再び選択される可能性は極めて低く、他の楽曲が選択されて再生されることになる。
【0126】
勿論、スキップの操作が行われた時刻におけるグラフ111のBPM値を基準とした所定の範囲内に、スキップの操作直前に再生していた楽曲のBPM値が含まれていなければ、再生する楽曲は他の楽曲へと切り替えられることになる。
【0127】
楽曲をスキップする操作による再生する楽曲を改めて選択するよう指示する指示ステップは、再生する楽曲を他の楽曲へと切り替える切替ステップとほぼ等価である。
【0128】
図27は、指定曲が設定されている場合の楽曲の切り替え動作を示している。
図27において、時刻t12が指定曲を再生する特定の進行時点として設定され、BPM値152を有する楽曲Miが指定曲に設定されている。CPU1は、時刻t11で、グラフ111のBPM値130を基準とした所定の範囲内のBPM値を有する楽曲として、BPM値135を有する楽曲Mfを選択したとする。
【0129】
楽曲Mfの再生中に、指定曲の楽曲Miを再生するように設定されている時刻t12に到達する。しかしながら、本実施形態においては、楽曲Mfの再生中に、進行時点が特定の進行時点に到達したとしても、特定の進行時点の直前で再生している楽曲Mfの全体の再生が終了した時刻t13で、再生される楽曲が楽曲Mfから楽曲Miへと切り替えられる。
【0130】
よって、本実施形態によれば、楽曲が途中で切り替わらないので、ランナーは、ランニングのペースに対応した自分の好みの楽曲を楽しみながら走ることができる。
【0131】
以上のように、本実施形態の楽曲再生プログラムであるアプリケーションプログラムは、CPU1(コンピュータ)に上述した各ステップを実行させる。本実施形態の楽曲再生装置は、
図1に示すように、アプリケーションプログラムを搭載して上述した各ステップを実行させる。
【0132】
本実施形態の楽曲再生装置は、上述した各ステップに相当する動作を実行するハードウェアを備えた構成としてもよい。楽曲再生装置は、上述のようにBPMのグラフを設定するグラフ設定部と、上述のように楽曲を選択する楽曲選択部と、楽曲選択部で選択された楽曲をユーザに聴かせるよう再生する再生部とを備えればよい。
【0133】
好ましくは、楽曲再生装置は、楽曲をスキップさせる操作に応答して、再生する楽曲を改めて選択するよう指示する指示部を備える。好ましくは、楽曲再生装置は、特定の進行時点で再生する指定曲を設定する指定曲設定部を備える。
【0134】
好ましくは、楽曲再生装置は、グラフ画像をディスプレイに表示させるグラフ画像表示部を備える。好ましくは、楽曲再生装置は、BPMのグラフを変更する変更部を備える。好ましくは、楽曲再生装置は、再生した楽曲のプレイリストを作成するプレイリスト作成部と、プレイリストをディスプレイに表示させるプレイリスト表示部を備える。
【0135】
楽曲再生プログラムは、インターネット等の通信回線を介して、任意の第三者または任意の電子機器に提供されて、電子機器にダウンロードされてもよい。楽曲再生プログラムは、非一時的な記憶媒体に記憶されて任意の第三者に提供されてもよい。楽曲再生装置は、ソフトウェアとハードウェアとが混在した構成であってもよい。ソフトウェアとハードウェアとの使い分けは任意である。ハードウェアは集積回路であってもよい。
【0136】
本発明は以上説明した本実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変更可能である。