(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024096578
(43)【公開日】2024-07-17
(54)【発明の名称】プログラム、情報処理装置、電子楽器及び演奏支援方法
(51)【国際特許分類】
G09B 15/00 20060101AFI20240709BHJP
G10H 1/00 20060101ALI20240709BHJP
G10G 1/00 20060101ALI20240709BHJP
【FI】
G09B15/00 E
G10H1/00 102Z
G10G1/00
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023000148
(22)【出願日】2023-01-04
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】南高 純一
【テーマコード(参考)】
5D182
5D478
【Fターム(参考)】
5D182AA08
5D182AD10
5D478FF06
5D478FF27
(57)【要約】
【課題】音符の種類ごとに、演奏すべきタイミングとどの程度のずれが生じているのかを把握できるようにする。
【解決手段】情報処理装置の制御部は、演奏操作のタイミングと予め設定されたテンポ及び拍子とに基づいて、演奏操作により演奏された音符の種類を特定し、演奏操作のタイミングの、前記特定された音符の種類における基準演奏タイミングからのずれ量を算出する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
コンピュータを、
演奏者による演奏操作のタイミングと予め設定されたテンポ及び拍子とに基づいて、前記演奏操作により演奏された音符の種類を特定し、
前記演奏操作のタイミングの前記特定された音符の種類における基準演奏タイミングからのずれ量を算出する、
制御部として機能させるためのプログラム。
【請求項2】
前記制御部は、
前記算出したずれ量を前記音符の種類に対応付けて表示部に表示させる、請求項1に記載のプログラム。
【請求項3】
前記制御部は、
複数の演奏操作に対して前記ずれ量を算出し、前記算出したずれ量の音符の種類ごとの統計値を算出し、前記算出した前記統計値を前記音符の種類に対応付けて表示部に表示させる、請求項1に記載のプログラム。
【請求項4】
前記制御部は、
前記音符の種類ごとの基準演奏タイミングを示すガイド音を出力部に出力させる、請求項1に記載のプログラム。
【請求項5】
前記制御部は、
複数の演奏操作に対して前記ずれ量を算出し、前記算出したずれ量の音符の種類ごとの統計値を算出し、前記音符の種類ごとの統計値と予め定められた閾値との比較に基づいて、前記音符の種類ごとの前記ガイド音の音量を制御する、請求項4に記載のプログラム。
【請求項6】
前記制御部は、
前記ずれ量の統計値として前記ずれ量の平均値を算出し、前記平均値が前記閾値より小さい音符の種類についての前記ガイド音の音量を下げるように制御する、請求項5に記載のプログラム。
【請求項7】
前記制御部は、
前記ずれ量の統計値として前記ずれ量の平均値及びバラつきを算出し、前記平均値が平均値用の前記閾値より小さく、かつ前記バラつきがバラつき用の前記閾値より小さい音符の種類についての前記ガイド音の音量を0にするよう制御する、請求項6に記載のプログラム。
【請求項8】
前記制御部は、
前記ずれ量の統計値として前記ずれ量の平均値を算出し、前記平均値が前記閾値より大きい音符の種類についての前記ガイド音の音量を上げるように制御する、請求項5に記載のプログラム。
【請求項9】
前記制御部は、
ユーザ操作に応じて、前記ガイド音を前記出力部により出力させるか否かの切り替えを制御し、前記ガイド音を出力したときと前記ガイド音を出力していないときの前記音符の種類ごとのずれ量を表示部に表示させる、請求項4に記載のプログラム。
【請求項10】
前記制御部は、
複数の演奏操作に対して前記ずれ量を算出し、前記算出したずれ量の音符の種類ごとの統計値を算出し、前記音符の種類ごとの統計値と予め定められた閾値との比較に基づいて、前記音符の種類ごとに演奏を評価する、請求項1に記載のプログラム。
【請求項11】
前記制御部は、
複数の演奏操作に対して前記ずれ量を算出し、前記算出したずれ量の統計値を算出し、前記統計値と予め定められた閾値との比較に基づいておすすめテンポを決定して通知する、請求項1に記載のプログラム。
【請求項12】
前記制御部は、
複数の演奏操作について算出した前記ずれ量と、前記演奏操作が行われたときのテンポとを対応付けて記憶部に蓄積させ、
前記記憶部に蓄積された前記テンポと前記ずれ量との回帰曲線を算出し、前記回帰曲線の傾きが予め定められた閾値を超えたときのテンポ又は前記回帰曲線において前記ずれ量が予め定められた閾値を超えたときのテンポに基づいて、おすすめテンポを決定して通知する、請求項1に記載のプログラム。
【請求項13】
演奏者による演奏操作のタイミングと予め設定されたテンポ及び拍子とに基づいて、前記演奏操作により演奏された音符の種類を特定し、
前記演奏操作のタイミングの前記特定された音符の種類における基準演奏タイミングからのずれ量を算出する、
制御部を備える情報処理装置。
【請求項14】
演奏者による演奏操作のタイミングと予め設定されたテンポ及び拍子とに基づいて、前記演奏操作により演奏された音符の種類を特定し、
前記演奏操作のタイミングの前記特定された音符の種類における基準演奏タイミングからのずれ量を算出する、
制御部を備える電子楽器。
【請求項15】
コンピュータが、
演奏者による演奏操作のタイミングと予め設定されたテンポ及び拍子とに基づいて、前記演奏操作により演奏された音符の種類を特定し、
前記演奏操作のタイミングの前記特定された音符の種類における基準演奏タイミングからのずれ量を算出する、
演奏支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理装置、電子楽器及び演奏支援方法に関する。
【背景技術】
【0002】
従来、メトロノームの拍タイミングに相当する位置に基準音図形を表示するとともに、この表示に合わせて、ユーザ演奏音の音量情報に基づく演奏音波形を同画面上に表示することで、ユーザが自身の演奏を確かめることができるようにした音楽練習用電子装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、四分音符、八分音符、十六分音符等の音符の種類ごとに、演奏すべきタイミングとどの程度のずれが生じているのかを把握することはできなかった。
【0005】
本発明の課題は、音符の種類ごとに、演奏すべきタイミングとどの程度のずれが生じているのかを把握できるようにすることである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明のプログラムは、
コンピュータを、
演奏者による演奏操作のタイミングと予め設定されたテンポ及び拍子とに基づいて、前記演奏操作により演奏された音符の種類を特定し、
前記演奏操作のタイミングの前記特定された音符の種類における基準演奏タイミングからのずれ量を算出する、
制御部として機能させる。
【発明の効果】
【0007】
本発明によれば、音符の種類ごとに、演奏すべきタイミングとどの程度のずれが生じているのかを把握することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施形態に係る演奏支援システムの全体構成例を示す図である。
【
図2】
図1の制御部により実行される演奏支援処理の流れを示すフローチャートである。
【
図4】
図2のステップS7において開始されるスタート処理の流れを示すフローチャートである。
【
図5】
図2のステップS11において実行される演奏操作時処理の流れを示すフローチャートである。
【
図6】
図2のステップS11において実行される演奏操作時処理の流れを示すフローチャートである。
【
図7】音符の種類ごとの演奏タイミングのずれを説明するための図である。
【
図8】ガイドコントロールがONの場合に所定時間ごとに実行されるタイマー処理の流れを示すフローチャートである。
【
図9】
図2のステップS13において実行されるストップ時処理の流れを示すフローチャートである。
【
図10】ガイド音がある場合とない場合のずれ量が比較可能に表示されたメトロノーム一例を示す図である。
【発明を実施するための形態】
【0009】
以下に、本発明を実施するための形態について、図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されている。そのため、本発明の技術的範囲を以下の実施形態及び図示例に限定するものではない。
【0010】
[演奏支援システム100の構成]
図1は、本発明に係る演奏支援システム100の全体構成例を示す図である。
図1に示すように、演奏支援システム100は、情報処理装置1と、電子楽器2と、を備えて構成されている。情報処理装置1と電子楽器2は、無線又は有線によりデータ送受信可能に通信接続されている。
【0011】
[情報処理装置1の構成]
情報処理装置1は、電子楽器2のユーザ(演奏者)に対して演奏支援機能を提供可能な装置である。
情報処理装置1としては、例えば、タブレットPC(Personal Computer)、ノートPC、スマートフォン等が適用可能である。
【0012】
情報処理装置1は、
図1に示すように、制御部11、記憶部12、入力部13、表示部14、通信部15、及び出力部16等を備えて構成され、各部はバス17により接続されている。
【0013】
制御部11は、少なくとも1つのCPU(Central Processing Unit)、RAM(Random Access Memory)等を備えて構成され、情報処理装置1の各部を制御するコンピュータである。具体的には、制御部11のCPUは、記憶部12に記憶されているシステムプログラムや各種アプリケーションプログラムの中から指定されたプログラムを読み出してRAMに展開し、展開されたプログラムとの協働により各種処理を実行する。
例えば、入力部13の操作により、記憶部12に記憶されている演奏支援アプリ121の起動が指示されると、制御部11のCPUは、後述する演奏支援処理(
図2参照)を実行する。
【0014】
記憶部12は、不揮発性の半導体メモリやHDD(Hard Disk Drive)等により構成されている。記憶部12は、情報処理装置1のシステムプログラムや各種アプリケーションプログラム、プログラムの実行に必要なデータを記憶する。記憶部12は、情報処理装置1に内蔵されたものに限られず、外付けHDD、USBメモリ等の情報処理装置1に対して着脱可能な外部記録媒体を含んでもよい。
本実施形態において、記憶部12は、制御部11が
図2に示す演奏支援処理を実行するための演奏支援アプリ121を記憶している。
【0015】
入力部13は、押しボタンスイッチや表示部14に取り付けられたタッチパネル等で構成されている。入力部13は、ユーザによる押しボタンスイッチの操作や画面上のタッチ操作を検出し、操作信号を制御部11に出力する。
【0016】
表示部14は、LCD(Liquid Crystal Display)、EL(Electro Luminescence)ディスプレイ等で構成され、制御部11から指示された表示情報に従い各種表示を行う。
【0017】
通信部15は、電子楽器2を始めとする外部機器との間で通信を行うための有線ユニットや無線ユニットを備え、外部機器とデータ送受信を行う。本実施形態において、通信部15は、図示しない通信インターフェース(本実施形態では、MIDIインターフェース)を介して電子楽器2とデータ送受信を行う。
【0018】
出力部16は、音源部、D/Aコンバータ、増幅器、スピーカ等を備え、制御部11からの指示に基づいて、メトロノーム音(ガイド音)等を出力する。
【0019】
[電子楽器2]
電子楽器2は、例えば、鍵盤楽器である。
電子楽器2は、
図1に示すように、制御部21、記憶部22、鍵盤23、入力部24、表示部25、通信部26、出力部27等を備えて構成され、各部はバス28により接続されている。
【0020】
制御部21は、CPU、DSP(Digital Signal Processor)といった少なくとも1つのプロセッサ及びRAM等を備えて構成され、電子楽器2の各部を制御するコンピュータである。具体的には、制御部21のCPUは、記憶部22に記憶されているシステムプログラムや各種プログラムの中から指定されたプログラムを読み出してRAMに展開し、展開されたプログラムとの協働で、各種処理を実行する。
例えば、制御部21は、鍵盤23における演奏操作(本実施形態では、押鍵)に従って出力部27により楽器音を出力させる。また、制御部21は、鍵盤23において演奏操作が検出されると、演奏操作された鍵の音高やタイミングを示す演奏操作情報を、通信部26を介して情報処理装置1に、出力する。
【0021】
記憶部22は、不揮発性の半導体メモリやHDD(Hard Disk Drive)等により構成されている。記憶部22は、電子楽器2のシステムプログラムや各種プログラム、プログラムの実行に必要なデータを記憶する。記憶部22は、電子楽器2に内蔵されたものに限られず、外付けHDD、USBメモリ等の電子楽器2に対して着脱可能な外部記録媒体を含んでもよい。
【0022】
鍵盤23は、複数の鍵(操作子)、及び押鍵/離鍵された鍵を検出する検出部等を備え、ユーザにより押鍵/離鍵された鍵の音高やタイミングの情報を制御部21に出力する。
【0023】
入力部24は、押しボタンスイッチや表示部25に取り付けられたタッチパネル等で構成されている。入力部24は、ユーザによる押しボタンスイッチの操作や画面上のタッチ操作を検出し、操作信号を制御部21に出力する。
【0024】
表示部25は、LCD(Liquid Crystal Display)等で構成され、制御部21から指示された表示情報に従い各種表示を行う。
【0025】
通信部26は、情報処理装置1を始めとする外部機器との間で通信を行うための有線ユニットや無線ユニットを備え、外部機器とデータ送受信を行う。本実施形態において、通信部26は、図示しない通信インターフェース(本実施形態では、MIDIインターフェース)を介して情報処理装置1とデータ送受信を行う。
【0026】
出力部27は、音源部、D/Aコンバータ、増幅器、スピーカ等を備える。出力部27は、制御部21からの指示に従って、音源部により、音源部に備えられた波形ROMに予め記憶された波形データを読み出すか又は波形データを生成して、波形データに基づく楽器音をD/Aコンバータ、増幅器を介してスピーカから出力する。
【0027】
[情報処理装置1の動作]
次に、本実施形態の情報処理装置1の動作について説明する。
図2は、情報処理装置1において演奏支援アプリ121が起動された場合に、制御部11と演奏支援アプリ121との協働により実行される演奏支援処理の流れを示すフローチャートである。以下、
図2を参照して、演奏支援処理について説明する。
【0028】
まず、制御部11は、RAMに記憶されている、演奏支援処理で使用される所定の変数を初期化する(ステップS1)。
例えば、制御部11は、shiftsum[0]~shiftsum[2]、shiftn[0]~shiftn[2]、shiftmax[0]~shiftmax[2]、shiftmin[0]~shiftmin[2]、shiftmean[0]~shiftmean[2]等の変数を初期化する。
【0029】
次いで、制御部11は、メトロノーム画像140を表示部14に表示させる(ステップS2)。
図3は、メトロノーム画像140の一例を示す図である。
図3に示すように、メトロノーム画像140は、実際のメトロノームを模した架空の画像であるメトロノーム141を含んでいる。メトロノーム141には、設定されたテンポ(Beats Per Minute,1分間当たりの拍数)に応じた動作をする振り子の画像である振り子141aと、テンポを設定するための錘の画像である錘142と、が設けられている。錘142は、その位置を振り子141aの範囲で上下にスライドさせられることによりテンポを設定することができる。
【0030】
また、メトロノーム画像140には、拍子設定欄143、トレーニングモード設定欄144、ガイドコントロール設定欄145、スタートボタン146、ストップボタン147、おすすめBPM表示欄148、ずれ表示欄149、バラつき表示欄150、及び閉じるボタン151等の各画像が含まれている。
【0031】
拍子設定欄143は、拍子を設定するための欄である。
トレーニングモード設定欄144は、トレーニングモードをONにするかOFFにするかを設定するためのユーザインタフェースである。トレーニングモードは、演奏中にメトロノーム音(ガイド音)を出力しないようにすることで、メトロノーム音なしでも演奏できるよう促すモードである。トレーニングモードがONの場合、出力部16からメトロノーム音が出力されない。トレーニングモードがOFFの場合、出力部16からメトロノーム音が出力される。
ガイドコントロール設定欄145は、メトロノーム音の音量を演奏タイミングのずれに応じてリアルタイムで変更する(ON)か否か(OFF)を設定するためのユーザインタフェースである。
スタートボタン146は、メトロノーム141の動作の開始を指示するためのボタンである。
ストップボタン147は、メトロノーム141の動作の停止を指示するためのボタンである。
【0032】
おすすめBPM表示欄148は、ユーザにおすすめするテンポとしてBPM(beats-per-minute)値を表示(通知)する欄である。
ずれ表示欄149は、音符の種類(本実施形態では、四分音符、八分音符、十六分音符)に対応付けて、音符の種類ごとの演奏タイミングのずれ量を表示する欄である。演奏タイミングのずれ量とは、演奏操作のタイミングの基準演奏タイミング(演奏すべきタイミング)からのずれ量である。ずれ表示欄149には、現在の演奏タイミングのずれ量を矩形状のボタンの位置で示すずれ量表示149aと、メトロノーム141の動作を開始させてから現在までの演奏タイミングのずれ量の平均値を横棒の長さで示す平均値表示149bと、が表示される。
バラつき表示欄150は、音符の種類に対応付けて、音符の種類ごとの演奏タイミングのずれ量のバラつきを表示する欄である。本実施形態のバラつき表示欄150では、音符の種類ごとの演奏タイミングのずれ量のバラつきの大きさを横棒の長さで示している。
なお、スタートボタン146が押下されるまでは、ずれ表示欄149のずれ量表示149aは中央(0)に位置し、平均値表示149bは表示されない。また、スタートボタン146が押下されるまで、バラつき表示欄150のバラつきを示す横棒も表示されない。
閉じるボタン151は、演奏支援アプリ121の終了(演奏支援処理の終了)を指示するためボタンである。
【0033】
図2に戻り、ステップS3において、制御部11は、演奏支援処理の終了が指示されたか否かを判断する(ステップS3)。
本実施形態において、制御部11は、入力部13により閉じるボタン151の押下が検出された場合に、演奏支援処理の終了が指示されたと判断する(ステップS3;YES)。
【0034】
演奏支援処理の終了が指示されていないと判断した場合(ステップS3;NO)、制御部11は、入力部13により設定操作が検出されたか否かを判断する(ステップS4)。
設定操作が検出されたと判断した場合(ステップS4;YES)、制御部11は、入力部13により検出された操作に応じて設定処理を行い(ステップS5)、ステップS3に戻る。
ステップS5において、制御部11は、入力部13により検出された操作に応じて、テンポ、拍子、トレーニングモードのON/OFF、ガイドコントロールのON/OFF等を設定する。設定値はRAM(変数)に格納する。例えば、設定されたテンポを、tempoBPMに格納する。tempoBPMは、設定されたテンポのBPM値を格納するための変数である。また、設定された拍子をbeatに格納する。beatは、設定された拍子を格納するための変数である。なお、以下の説明では、beatが4/4拍子であり、音符の種類が四分音符、八分音符、十六分音符である場合を例にとり説明するが、実際には、3連符があったり、他の拍子が設定されたりすることもあり得る。
【0035】
入力部13により設定操作が検出されていないと判断した場合(ステップS5;NO)、制御部11は、入力部13によりスタートボタン146の押下(スタート操作)が検出されたか否かを判断する(ステップS6)。
スタート操作が検出されたと判断した場合(ステップS6;YES)、制御部11は、スタート処理を開始する(ステップS7)。なお、スタート処理前にユーザが対象の音符の種類を任意に選択することができるようにしてもよい。
【0036】
図4は、
図2のステップS7において開始されるスタート処理の流れを示すフローチャートである。
【0037】
スタート処理において、制御部11は、まず、現在時刻nowtimeをsttimeに設定する(ステップS701)。
sttimeは、メトロノーム14の動作の開始時刻を格納するための変数である。
【0038】
次いで、制御部11は、入力部13によりストップボタン147の押下(ストップ操作)が検出されたか否かを判断する(ステップS702)。
ストップ操作が検出されていないと判断した場合(ステップS702;NO)、制御部11は、トレーニングモードがONに設定されているか否かを判断する(ステップS703)。
【0039】
トレーニングモードがONに設定されていない(すなわち、トレーニングモードがOFFである)と判断した場合(ステップS703;NO)、制御部11は、sttimeからの経過時間に基づいて、(現在が)四分音符位置(四分音符の基準演奏タイミング)であるか否かを判断する(ステップS704)。
四分音符の長さは、beatが4/4拍子であるから60 / tempoBPM(秒)である。制御部11は、スタート時刻であるsttimeからの経過時間が60 / tempoBPMの長さの整数倍になったときに、四分音符位置であると判断する。
四分音符位置であると判断した場合(ステップS704;YES)、制御部11は、四分音符位置用のメトロノーム音を出力部16により音量vol[0]で出力させ(ステップS705)、ステップS710に移行する。
なお、vol[0]は、四分音符発音用の音量(ボリューム値)が格納された変数である。四分音符位置用のメトロノーム音、八分音符位置用のメトロノーム音、十六分音符位置用のメトロノーム音は、それぞれ異なるものとすることが好ましい。
【0040】
四分音符位置ではないと判断した場合(ステップS704;NO)、制御部11は、sttimeからの経過時間に基づいて、(現在が)八分音符位置(八分音符の基準演奏タイミング)であるか否かを判断する(ステップS706)。
八分音符の長さは、beatが4/4拍子であるから30 / tempoBPM(秒)である。制御部11は、スタート時間であるsttimeからの経過時間が30 / tempoBPMの長さの整数倍になったときに、八分音符位置であると判断する。
八分音符位置であると判断した場合(ステップS706;YES)、制御部11は、八分音符位置用のメトロノーム音を出力部16により音量vol[1]で出力させ(ステップS707)、ステップS710に移行する。
なお、vol[1]は、八分音符発音用の音量が格納された変数である。
【0041】
八分音符位置ではないと判断した場合(ステップS706;NO)、制御部11は、sttimeからの経過時間に基づいて、(現在が)十六分音符位置(十六分音符の基準演奏タイミング)であるか否かを判断する(ステップS708)。
十六分音符の長さは、beatが4/4拍子であるから15 / tempoBPM(秒)である。制御部11は、スタート時間であるsttimeからの経過時間が15 / tempoBPMの長さの整数倍になったときに、十六分音符位置であると判断する。
十六分音符位置であると判断した場合(ステップS708;YES)、制御部11は、十六分音符位置用のメトロノーム音を出力部16により音量vol[2]で出力させ(ステップS709)、ステップS710に移行する。
なお、vol[2]は、十六分音符発音用の音量が格納された変数である。
このようにステップS704~ステップS709において、四分音符、八分音符、十六分音符のうちの少なくとも2つが重複するタイミングでは、より長い音符に対応するメトロノーム音のみを出力させているので、メトロノーム音が重複して出力されることはない。
【0042】
一方、ステップS703において、トレーニングモードがONに設定されていると判断した場合(ステップS703;YES)、制御部11は、ステップS710に移行する。
【0043】
ステップS710において、制御部11は、メトロノーム画像140のメトロノーム141の表示(例えば、振り子141aの表示)を更新し(ステップS710)、ステップS702に戻る。このように更新させることによって、振り子141a及び錘142は、設定されたテンポに合わせて振り子運動をしているように表示されることになる。
【0044】
ステップS702において、入力部13によりストップボタン147の操作が検出されたと判断した場合(ステップS702;YES)、制御部11は、スタート処理を終了する。
【0045】
図2のステップS7において、スタート処理を開始した後、制御部11は、ガイドコントロールがONに設定されているか否かを判断する(ステップS8)。
ガイドコントロールがONに設定されていると判断した場合(ステップS8;YES)、制御部11は、タイマー処理を起動し(ステップS9)、ステップS3に戻る。
ここで、タイマー処理は、メトロノーム141の動作中に、所定時間間隔で(例えば、1秒間隔で)実行される処理である。タイマー処理については詳細を後述する。
ガイドコントロールがONに設定されていないと判断した場合(ステップS8;NO)、制御部11は、ステップS3に戻る。
【0046】
一方、
図2のステップS6において、入力部13によりスタート操作が検出されていないと判断した場合(ステップS6;NO)、制御部11は、通信部15により電子楽器2から演奏操作情報が入力されたか否かを判断する(ステップS10)。
演奏操作情報が入力されたと判断した場合(ステップS10;YES)。制御部11は、演奏操作時処理を実行する(ステップS11)。
【0047】
図5~
図6は、
図2のステップS11において実行される演奏操作時処理の流れを示すフローチャートである。
図7は、音符の種類ごとの演奏タイミングのずれを説明するための図である。
図7の横軸は、1拍の長さを示し、横軸上の各音符の位置は、その音符の基準演奏タイミングを示している。
【0048】
ここで、演奏操作時処理では、
図7に示すように、演奏時刻pltime(演奏操作情報が入力された時刻(秒))が1拍の長さのどこに位置するかによって、演奏された音符の種類(四分音符、八分音符、十六分音符)を特定する。本実施形態では、1拍をテンポ設定によらず480(tick)として、演奏時刻pltimeが1拍の開始タイミング(四分音符位置)から60(tick)の範囲(
図7において0で示す範囲)であれば四分音符とみなす。演奏時刻が1拍の開始タイミングから1拍の1/4の長さが経過したタイミング(十六分音符位置)の前後60(tick)の範囲(
図7において1で示す範囲)であれば十六分音符とみなす。演奏時刻が1拍の開始タイミングから1拍の1/2の長さが経過したタイミング(八分音符位置)の前後60(tick)の範囲(
図7において2で示す範囲)であれば八分音符とみなす。演奏時刻が拍の開始タイミングから1拍の3/4の長さが経過したタイミング(十六分音符位置)の前後60(tick)の範囲(
図7において3で示す範囲)であれば十六分音符とみなす。演奏時刻が拍の終了タイミング(次の拍の開始タイミング、四分音符位置)の手前の60(tick)の範囲(
図7において4で示す範囲)であれば四分音符とみなす。
【0049】
演奏操作時処理において、まず、制御部11は、1拍の長さ(秒)であるbeattimeを以下の(式1)により求める(ステップS1011)。
beattime=60 / tempoBPM …(式1)
【0050】
次いで、制御部11は、演奏時刻pltimeが1拍におけるどの位置に相当するかをtickで表したpltickを以下の(式2)により求める(ステップS1012)。
pltick = ( ( pltime - sttime ) mod beattime ) × 480 / beattime …(式2)
ここで、本実施形態において1拍は480(tick)に設定されているから、pltickは0~479のいずれかの値となる。
【0051】
次いで、制御部11は、beatposを以下の(式3)により求め(ステップS1013)、beatposの小数点以下を切り捨てる(ステップS1014)。
beatpos = ( pltick + 60 ) / 120 …(式3)
beatposは、演奏時刻(演奏操作のタイミング)が
図7の0~4のいずれの範囲に属するかを示す値となる。
【0052】
次いで、制御部11は、beatpos=0であるか否かを判断する(ステップS1015)。
beatpos=0であると判断した場合(ステップS1015;YES)、制御部11は、演奏操作が四分音符演奏であると特定し、演奏された音符の種類を示す値を格納する変数であるshifttypeに、四分音符演奏であることを示す「0」を格納し(ステップS1016)、ステップS1024に移行する。
【0053】
beatpos=0ではないと判断した場合(ステップS1015;NO)、制御部11は、beatpos=1であるか否かを判断する(ステップS1017)。
beatpos=1であると判断した場合(ステップS1017;YES)、制御部11は、演奏操作が十六分音符演奏であると特定し、演奏された音符の種類を示す値を格納する変数であるshifttypeに、十六分音符演奏であることを示す「2」を格納し(ステップS1018)、ステップS1024に移行する。
【0054】
beatpos=1ではないと判断した場合(ステップS1017;NO)、制御部11は、beatpos=2であるか否かを判断する(ステップS1019)。
beatpos=2であると判断した場合(ステップS1019;YES)、制御部11は、演奏操作が八分音符演奏であると特定し、演奏された音符の種類を示す値を格納する変数であるshifttypeに、八分音符演奏であることを示す「1」を格納し(ステップS1020)、ステップS1024に移行する。
【0055】
beatpos=2ではないと判断した場合(ステップS1019;NO)、制御部11は、beatpos=3であるか否かを判断する(ステップS1021)。
beatpos=3であると判断した場合(ステップS1021;YES)、制御部11は、演奏操作が十六分音符演奏であると特定し、演奏された音符の種類を示す値を格納する変数であるshifttypeに、十六分音符演奏であることを示す「2」を格納し(ステップS1022)、ステップS1024に移行する。
【0056】
beatpos=3ではないと判断した場合(ステップS1021;NO)、すなわち、beatpos=4であると判断した場合、制御部11は、演奏操作が四分音符演奏であると特定し、演奏された音符の種類を示す値を格納する変数であるshifttypeに、四分音符演奏であることを示す「0」を格納し(ステップS1023)、ステップS1024に移行する。
【0057】
ステップS1024において、制御部11は、以下の(式4)により、演奏タイミングのずれ量の値(tick)であるshiftvalを算出する(ステップS1024)。
shiftval = ( pltick + 60 ) mod 120 - 60 …(式4)
shiftvalは、特定された音符の種類の基準演奏タイミングから演奏操作のタイミングがどのくらいずれているかをtick単位で表した値である。-60<shiftval<60である。
【0058】
次いで、制御部11は、特定された音符の種類の演奏タイミングのずれ量(shiftval)の合計値を格納する変数であるshiftsum[shifttype]に、shiftvalを加算する(ステップS1025)。
【0059】
次いで、制御部11は、特定された音符の種類の演奏回数を格納する変数であるshiftn[shifttype]をインクリメントする(ステップS1026)。
【0060】
次いで、制御部11は、特定された音符の種類の演奏タイミングのずれ量の平均値であるshiftmean[shifttype]を以下の(式5)により算出する(ステップS1027)。
shiftmean[shifttype]=shiftsum[shifttype] / shiftn[shifttype] …(式5)
【0061】
次いで、制御部11は、shiftvalと特定された音符の種類の演奏タイミングのずれ量の最大値を格納するshiftmax[shifttype]とを比較し、shiftmax[shifttype]<shiftvalであるか否かを判断する(ステップS1028)。
shiftmax[shifttype]<shiftvalであると判断した場合(ステップS1028;YES)、制御部11は、shiftmax[shifttype]にshiftvalを格納することによって新たな最大値に更新して(ステップS1029)、ステップS1032に移行する。
【0062】
shiftmax[shifttype]<shiftvalではないと判断した場合(ステップS1028;NO)、制御部11は、shiftvalと特定された音符の種類の演奏タイミングのずれ量の最小値を格納するshiftmin[shifttype]とを比較し、shiftmin[shifttype]>shiftvalであるか否かを判断する(ステップS1030)。
shiftmin[shifttype]>shiftvalであると判断した場合(ステップS1030;YES)、制御部11は、shiftmin[shifttype]にshiftvalを格納することによって新たな最小値に更新して(ステップS1031)、ステップS1032に移行する。
shiftmin[shifttype]>shiftvalではないと判断した場合(ステップS1030;NO)、制御部11は、ステップS1032に移行する。
【0063】
ステップS1032において、制御部11は、演奏タイミングのずれ量であるshiftval、演奏タイミングのずれ量の平均値であるshiftmean[shifttype]、演奏タイミングのずれ量の最大値であるshiftmax[shifttype]、演奏タイミングのずれ量の最小値であるshiftmin[shifttype]に基づいて、メトロノーム画像140の表示を更新し(ステップS1032)、
図2のステップS12に移行する。
【0064】
例えば、制御部11は、メトロノーム画像140のずれ表示欄149における、特定された音符の種類に対応するずれ量表示149aの位置をshiftvalに基づいて更新し、平均値表示149bの長さをshiftmean[shifttype]に基づいて更新する。また、制御部11は、shiftmax[shifttype]からshiftmin[shifttype]を引いた値を演奏タイミングのずれ量のバラつきとして、メトロノーム画像140のバラつき表示欄150における、特定された音符の種類に対応するバラつきの表示を更新する。
【0065】
上記演奏操作時処理では、ユーザによって行われた、音符の種類ごとの演奏タイミングのずれ量や、ずれ量の統計値である、ずれ量の平均値やバラつきをリアルタイムで表示するので、ユーザは、音符の種類ごとの演奏タイミングのずれの程度を視覚的に認識することでどの音符の種類のリズムの取り方に得手、不得手があるのか等に気付くことが可能となる。これにより、リズムに関してピンポイントで改善すべき点を把握することができる。
【0066】
メトロノーム141の動作中、制御部11は、所定時間ごとにタイマー処理を実行する。
図8は、タイマー処理の流れを示すフローチャートである。タイマー処理は、制御部11のCPUと演奏支援アプリ121との協働により実行される。以下、タイマー処理について説明する。
【0067】
タイマー処理において、まず、制御部11は、変数iを0に初期化する(ステップS901)。
次いで、制御部11は、i>2であるか否かを判断する(ステップS902)。
i>2ではないと判断した場合(ステップS902;NO)、制御部11は、以下の(式6)が成り立つか否かを判断する(ステップS903)。
shiftmean[i] < slmean[i] かつshiftmax[i] - shiftmin[i] < slmm[i] ・・・(式6)
【0068】
ここで、slmean[i]は、shifttypeがiの音符の演奏タイミングのずれ量の平均値と比較するための予め定められた閾値(平均値用の閾値)である。
slmm[i]は、shifttypeがiの音符の演奏タイミングのずれ量のバラつき(最大値-最小値)と比較するための、予め定められた閾値(バラつき用の閾値)である。
i=0、すなわち、shifttype=0の場合、(式6)は四分音符演奏のずれに関する式となる。i=1、すなわち、shifttype=1の場合、(式6)は八分音符演奏のずれに関する式となる。i=2、すなわち、shifttype=2の場合、(式6)は十六分音符演奏のずれに関する式となる。
【0069】
上記(式6)が成り立つと判断した場合(ステップS903;YES)、制御部11は、演奏タイミングのずれ量の平均値が小さく、バラつきも小さい、すなわち、全体的に良いタイミングで弾けていると評価し、i=0、すなわち四分音符の場合はvol[0]を下げ、i=1又はi=2、すなわち八分音符又は十六分音符の場合はvol[1]、 vol[2]を"0"にし(ステップS904)、ステップS911に移行する。なお、vol[0]をどの程度下げるのかは、予め定められている。vol[0]を"0"にしてもよい。
上述のように、vol[0]は、四分音符位置でのメトロノーム発音用の音量(ボリューム値)である。vol[1]は、八分音符位置でのメトロノーム発音用の音量である。vol[2]は、十六分音符位置でのメトロノーム発音用の音量である。
【0070】
ここで、全体的に弾けている音符については、メトロノーム音(ガイド音)がなくても弾けるように促すため、メトロノーム音の音量を小さくするか又は0にする。本実施形態では、四分音符が全体的に弾けている場合は四分音符位置で発音するメトロノーム音の音量を下げる。つまり、四分音符が全体的に弾けている状態が継続されれば、ステップS904を繰り返すことによって、徐々に音量が逓減することになる。八分音符又は十六分音符が全体的に弾けている場合はその弾けている音符の位置で発音するメトロノーム音の音量を0にする。八分音符や十六分音符などの細かい間隔のメトロノーム音については、四分音符のタイミングをメトロノーム音から判断しづらくなり、全体的に弾けている場合は鳴らさないほうが練習の効率が上がると考えられるためである。
【0071】
上記(式6)が成り立たないと判断した場合(ステップS903;NO)、制御部11は、以下の(式7)が成り立つか否かを判断する(ステップS905)。
shiftmean[i] < slmean[i] かつshiftmax[i] - shiftmin[i] > slmm[i] ・・・(式7)
【0072】
上記(式7)が成り立つと判断した場合(ステップS905;YES)、制御部11は、演奏タイミングのずれ量の平均値は小さいが、バラつきが大きい、すなわち、良いタイミングで弾けていない部分があると評価し、vol[i]を下げ(ステップS906)、ステップS911に移行する。
i=0、すなわち四分音符の場合はvol[0]を下げ、i=1、すなわち八分音符の場合はvol[1]を下げ、i=2、すなわち十六分音符の場合はvol[2]を下げる。なお、vol[i]をどの程度下げるのかは、予め定められている。
【0073】
上記(式7)が成り立たないと判断した場合(ステップS905;NO)、制御部11は、以下の(式8)が成り立つか否かを判断する(ステップS907)。
shiftmean[i] > slmean[i] かつshiftmax[i] - shiftmin[i] < slmm[i] ・・・(式8)
【0074】
上記(式8)が成り立つと判断した場合(ステップS907;YES)、制御部11は、バラつきが小さいが、演奏タイミングのずれ量の平均値が大きいすなわち、全体的に良いタイミングで弾けていないと評価し、vol[i]を上げ(ステップS908)、ステップS911に移行する。なお、vol[i]をどの程度上げるのかは、予め定められている。またステップS908において、vol[i]の音量には上限値が設定されており、vol[i]の上限値に達した場合、それより上げることはない。
【0075】
なお、上記(式8)が成り立つような場合、現在設定されているテンポがユーザにとって速すぎることも考えられる。そこで、制御部11は、ステップS908において、現在設定されているテンポよりも小さいBPM値(例えば、現在設定されているテンポより所定値小さい値)をおすすめBPMとして決定し、メトロノーム画像140のおすすめBPM表示欄148に表示(通知)させることとしてもよい。また、おすすめBPMは、音声により出力することとしてもよい。
【0076】
上記(式8)が成り立たないと判断した場合(ステップS907;NO)、制御部11は、以下の(式9)が成り立つか否かを判断する(ステップS909)。
shiftmean[i] > slmean[i] かつshiftmax[i] - shiftmin[i] > slmm[i] ・・・(式9)
【0077】
上記(式9)が成り立つと判断した場合(ステップS909;YES)、制御部11は、演奏タイミングのずれ量の平均値が大きく、バラつきも大きい、すなわち、全体的に良いタイミングで弾けていないよりも評価の低い、苦手な部分があると評価し、vol[i]を上げ(ステップS910)、ステップS911に移行する。なお、vol[i]をどの程度上げるのかは、予め定められている。またステップS910において、vol[i]の音量には上限値が設定されており、vol[i]の上限値に達した場合、それより上げることはない。
【0078】
なお、上記(式9)が成り立つような場合、現在設定されているテンポがユーザにとって速すぎることも考えられる。そこで、制御部11は、ステップS910において、現在設定されているテンポよりも小さいBPM値(例えば、現在設定されているテンポより所定値小さい値)をおすすめBPMとして決定し、メトロノーム画像140のおすすめBPM表示欄148に表示(通知)させることとしてもよい。おすすめBPMは、音声により出力することとしてもよい。
【0079】
ステップS911において、制御部11は、変数iをインクリメントし(ステップS911)、ステップS902に戻る。
【0080】
制御部11は、i>2となるまで、ステップS902~S911を繰り返し実行し、i>2であると判断した場合(ステップS902;YES)、タイマー処理を終了する。
【0081】
制御部11は、所定時間間隔で上記タイマー処理を実行し、音符の種類ごとの、演奏タイミングのずれ量に応じて、音符の種類ごとのメトロノーム音の音量を変化させる。すなわち、ユーザの演奏に応じて音符の種類ごとのメトロノーム音の音量が変わるので、ユーザは、音符の種類ごとの演奏タイミングのずれの程度をメトロノーム音の音量から聴覚的に認識することで、どの音符の種類のリズムの取り方に得手、不得手があるのかに気づくことが可能となる。
【0082】
図2に戻り、ステップS12において、制御部11は、入力部13によりストップボタン147の操作が検出されたか否かを判断する(ステップS12)。
入力部13によりストップボタン147の操作が検出されたと判断した場合(ステップS12;YES)、制御部11は、ストップ時処理を実行し(ステップS13)、ステップS3に戻る。
【0083】
図9は、ストップ時処理の流れを示すフローチャートである。
ストップ時処理において、まず、制御部11は、
図4に示すスタート処理を終了させる(ステップS1311)。
【0084】
次いで、制御部11は、ガイドコントロールがONに設定されているか否かを判断する(ステップS1312)。
ガイドコントロールがONに設定されていると判断した場合(ステップS1312;YES)、制御部11は、ストップ時処理を終了し、
図2のステップS3に移行する。
【0085】
一方、ガイドコントロールがOFFに設定されていると判断した場合(ステップS1312;NO)、制御部11は、音量制御処理を実行し(ステップS1313)、ストップ処理を終了し、
図2のステップS3に移行する。
音量制御処理は、
図8に示すタイマー処理と同じ内容の処理であるので説明を援用する。
【0086】
ここで、ガイドコントロールがONの場合、所定時間間隔で実行されるタイマー処理により、それまでの演奏における音符の種類ごとの演奏タイミングのずれ量の平均値やバラつきに応じて各音符の音量を変更しているため、ストップ時に音量制御処理を実行する必要はない。
一方、ガイドコントロールがOFFの場合、メトロノームの動作が開始してからストップが指示されるまでvol[0]、vol[1]、vol[2]は変化しないが、ストップ時処理において音量制御処理を実行することにより、今回の演奏における音符の種類ごとの演奏タイミングのずれ量の平均値やバラつきに応じて次回の演奏における音符の種類ごとのメトロノーム音の音量を変更する。これにより、今回の演奏における音符の種類ごとの演奏タイミングのずれ量に応じた音量で、次回の演奏においてメトロノーム音を発音させることができる。
図2のステップS3において、演奏支援処理の終了が指示されたと判断した場合(ステップS3;YES)、制御部11は、演奏支援処理を終了する。
【0087】
(変形例)
上記実施形態では、
図2に示すように、メトロノーム画像140のずれ表示欄149に、リアルタイムのずれを表示することとしたが、
図10に示すメトロノーム画像160のように、ガイドあり(メトロノーム音ありの場合)のずれ表示欄152とガイドなし(メトロノーム音なしの場合)のずれ表示欄153を並べて比較可能に表示することとしてもよい。
【0088】
この変形例では、例えば記憶部12に、ガイドあり用のずれ記憶領域と、ガイドなし用のずれ記憶領域を予め設けておく。制御部11は、
図6に示す演奏操作時処理のステップS1032の処理の後、例えば、トレーニングモードがONであるか否かを判断し、トレーニングモードがONではない(OFFである)と判断した場合に、演奏時刻pltimeの値及び音符の種類に対応付けて、shiftval及びshiftmean[shifttype]の値(ずれ量及びずれ量の平均値)をガイドあり用のずれ記憶領域に記憶させる。トレーニングモードがONであると判断した場合、制御部11は、pltimeの値及び音符の種類に対応付けて、shiftval及びshiftmean[shifttype]の値をガイドなし用のずれ記憶領域に記憶させる。そして、制御部11は、トレーニングモードOFFで動作している場合、ガイドあり用のずれ表示欄152に、リアルタイムで音符の種類ごとの演奏タイミングのずれ量及びずれ量の平均値を表示し、ガイドなし用のずれ表示欄153に、ガイドなし用のずれ記憶領域に記憶されている、メトロノーム動作のスタートからの演奏時刻が同じタイミングの過去のずれ量及びずれ量の平均値を読み出して表示する。トレーニングモードONで動作している場合、制御部11は、ガイドなしのずれ表示欄153に、リアルタイムで音符の種類ごとの演奏タイミングのずれ量及びずれ量の平均値を表示し、ガイドありのずれ表示欄152に、ガイドあり用のずれ記憶領域に記憶されている、メトロノーム動作のスタートからの演奏時刻が同じタイミングの過去の音符のずれ量及びずれ量の平均値を読み出して表示する。
【0089】
このように、変形例では、ガイドあり場合の音符の種類ごとの演奏タイミングのずれ量及びずれ量の平均値と、ガイドなしの場合の音符の種類ごとの演奏タイミングのずれ量及びずれ量の平均値を、タイミングを合わせて並べて比較可能に表示する。したがって、ガイドあり(メトロノーム音あり)とガイドなし(メトロノーム音なし)とで音符の種類ごとの演奏タイミングのずれの程度がどの程度違うのかをユーザが確認することが可能となる。
【0090】
また、メトロノーム画像140、160のおすすめBPM表示欄148に表示(通知)するおすすめBPMは、過去の演奏タイミングのずれ量とBPMの関係に基づいて決定してもよい。例えば、制御部11は、スタートボタン146が押下されてからストップボタン147が押下されるまでの音符の種類ごとのずれ量の平均値とその時に設定されていたテンポ(BPM)を対応付けて記憶部12に所定期間蓄積していく。そして、制御部11は、例えば、演奏支援アプリ121の起動が指示されると、記憶部12に蓄積したずれ量の平均値とBPMに基づいて、音符の種類ごとに、BPMを説明変数、ずれの平均値を目的変数として回帰曲線を求め、回帰曲線の傾きが所定の閾値以上のBPM、またはずれ量の平均値が所定の閾値を超えたBPMのうち、最も小さいBPMをおすすめBPMとしてメトロノーム画像140(160)に表示する。これにより、ユーザが弾けるBPMより少し速いBPMでの練習をユーザにおすすめすることができ、ユーザのスキルを高めることが可能となる。
【0091】
以上説明したように、情報処理装置1の制御部11は、ユーザ(演奏者)による演奏操作のタイミングと予め設定されたテンポ及び拍子とに基づいて、演奏操作により演奏された音符の種類を特定し、演奏操作のタイミングの、特定された音符の種類における基準演奏タイミングからのずれ量を算出する。
したがって、音符の種類ごとに、演奏すべきタイミングとどの程度のずれが生じているのかを把握することができるので、効果的な演奏支援を行うことが可能となる。
【0092】
また、制御部11は、算出したずれ量を音符の種類に対応付けて表示部14に表示させる。したがって、どの種類の音符の演奏ができてどの種類の音符の演奏にずれが生じるのかをユーザに認識させることができ、効果的な演奏支援を行うことができる。
【0093】
また、制御部11は、複数の演奏操作に対してずれ量を算出し、算出したずれ量の音符の種類ごとの統計値を算出し、算出した統計値を音符の種類に対応付けて表示部14に表示させる。したがって、音符の種類ごとの演奏タイミングのずれの平均やバラつきなどをユーザに認識させることができ、効果的な演奏支援を行うことができる。
【0094】
また、制御部11は、音符の種類ごとの基準演奏タイミングを示すガイド音を出力部16に出力させる。したがって、ユーザは音符の種類ごとの基準演奏タイミングを意識しながら演奏をすることができ、効果的な演奏支援を行うことができる。
【0095】
また、制御部11は、複数の演奏操作に対してずれ量を算出し、算出したずれ量の音符の種類ごとの統計値を算出し、音符の種類ごとの統計値と予め定められた閾値との比較に基づいて、音符の種類ごとのガイド音の音量を制御する。したがって、音符の種類ごとの演奏ずれに応じて適切な音量でガイド音を鳴らすことができる。
【0096】
また、制御部11は、演奏タイミングのずれ量の統計値としてずれ量の平均値を算出し、平均値が閾値より小さい音符の種類についてのガイド音の音量を下げるように制御する。したがって、ずれ量の平均値が低く、よく弾けている種類の音符についてはガイド音を自動的に小さくして、ガイド音なしで弾けるように促すことができる。
【0097】
また、制御部11は、演奏タイミングのずれ量の統計値としてずれ量の平均値及びバラつきを算出し、算出した平均値が平均値用の閾値より小さく、かつバラつきがバラつき用の閾値より小さい音符の種類についてのガイド音の音量を0にするよう制御する。したがて、ずれ量の平均値及びばらつきが小さい、よく弾けている種類の音符についてはガイド音を自動的に消して、ガイド音なしで弾けるように促すことができる。
【0098】
また、制御部11は、演奏タイミングのずれ量の統計値としてずれ量の平均値を算出し、平均値が閾値より大きい音符の種類についてのガイド音の音量を上げるように制御する。したがって、ずれ量の平均値が大きく、うまく弾けていない種類の音符についてはガイド音を自動的に大きくし、ユーザがテンポを維持しやすくすることができる。
【0099】
また、制御部11は、ユーザ操作に応じて、ガイド音を出力部16により出力させるか否かの切り替えを制御し、ガイド音を出力したときとガイド音を出力していないときの音符の種類ごとのずれ量を表示部14に表示させる。したがって、ユーザは、ガイド音を出力したときとガイド音を出力していないときのずれ量の違いを比較することができる。
【0100】
また、制御部11は、複数の演奏操作に対して演奏タイミングのずれ量を算出し、算出したずれ量の音符の種類ごとの統計値を算出し、音符の種類ごとの統計値と予め定められた閾値との比較に基づいて、音符の種類ごとに演奏を評価することができる。
【0101】
また、制御部11は、複数の演奏操作に対して演奏タイミングのずれ量を算出し、算出したずれ量の統計値を算出し、統計値と予め定められた閾値との比較に基づいておすすめテンポを決定して通知する。したがって、ユーザの演奏のずれの程度に適したテンポをおすすめすることができる。
【0102】
また、制御部11は、複数の演奏操作について算出した演奏タイミングのずれ量と、演奏操作が行われたときのテンポとを対応付けて記憶部12に蓄積させ、記憶部12に蓄積されたテンポとずれ量との回帰曲線を算出し、回帰曲線の傾きが予め定められた閾値を超えたときのテンポ又は回帰曲線においてずれ量が予め定められた閾値を超えたときのテンポに基づいて、おすすめテンポを決定して通知する。したがって、ユーザが目標とすべきテンポをおすすめすることができる。
【0103】
なお、上記実施形態及び変形例における記述内容は、本発明に係るプログラム、情報処理装置、電子楽器、演奏支援方法の好適な一例であり、これに限定されるものではない。
【0104】
例えば、上記実施形態では、情報処理装置1と電子楽器2が別体である場合を例にとり説明したが、情報処理装置1の制御部11が実施する本発明の機能は、電子楽器2に設けられていることとしてもよい。また、ずれ量、ずれ量の統計値、おすすめBPM等は、電子楽器2の表示部25に表示されることとしてもよい。
【0105】
また、例えば、上記実施形態においては、電子楽器2が鍵盤楽器である場合を例にとり説明したが、エレキギター、MIDIバイオリン等他の電子楽器としてもよい。
【0106】
また、上記実施形態では、演奏タイミングのずれ量の統計値として平均値及びバラつきを算出することとしたが、統計値はこれに限定されず、他の統計値を用いることとしてもよい。
【0107】
また、
図8のステップS904、S906、S908、S910における評価は、表示部14に表示することとしてもよいし、音声により出力してもよい。これにより、ユーザが評価結果を認識することが可能となる。
また、音符の種類ごとのずれ量やその統計値は、音声により出力することとしてもよい。
【0108】
また、上記実施形態では、トレーニングモードがONの場合はメトロノーム音を出力しないことでメトロノーム音なしでも演奏できるように促すこととしたが、これに限定されない。例えば、トレーニングモードがONの場合は1小節目から数小節単位でメトロノーム音の出力する/しないを切り替えたり、メトロノーム音の音量を小さくしたりすることで、メトロノーム音なしでも演奏できるように促すこととしてもよい。
【0109】
また、上記実施形態では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてROMを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、ハードディスク、SSDや、CD-ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も適用される。
【0110】
その他、演奏支援システムを構成する各装置の細部構成及び細部動作に関しても、発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【0111】
以上に本発明の実施形態を説明したが、本発明の技術的範囲は上述の実施の形態に限定するものではなく、特許請求の範囲に記載に基づいて定められる。更に、特許請求の範囲の記載から本発明の本質とは関係のない変更を加えた均等な範囲も本発明の技術的範囲に含む。
【符号の説明】
【0112】
100 演奏支援システム
1 情報処理装置
11 制御部
12 記憶部
121 演奏支援アプリ
13 入力部
14 表示部
15 通信部
16 出力部
17 バス
2 電子楽器
21 制御部
22 記憶部
23 鍵盤
24 入力部
25 表示部
26 通信部
27 出力部
28 バス