(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-01
(45)【発行日】2023-11-10
(54)【発明の名称】情報処理装置、電子楽器、方法及びプログラム
(51)【国際特許分類】
G10G 3/04 20060101AFI20231102BHJP
G10H 1/00 20060101ALI20231102BHJP
G09B 15/00 20060101ALI20231102BHJP
G09B 5/06 20060101ALI20231102BHJP
【FI】
G10G3/04
G10H1/00 Z
G09B15/00 Z
G09B5/06
(21)【出願番号】P 2021203854
(22)【出願日】2021-12-16
【審査請求日】2022-04-07
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100182936
【氏名又は名称】矢野 直樹
(72)【発明者】
【氏名】奥田 広子
【審査官】菊地 陽一
(56)【参考文献】
【文献】特開平09-230862(JP,A)
【文献】特開2004-038049(JP,A)
【文献】特開2005-055635(JP,A)
【文献】特開2002-189466(JP,A)
【文献】特開2018-049126(JP,A)
【文献】特開平06-301333(JP,A)
【文献】特開平10-105171(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10G 3/04
G10H 1/00
G09B 15/00
G09B 5/06
(57)【特許請求の範囲】
【請求項1】
2つの音としての、ユーザの演奏操作に応じた第1の楽音と、前記ユーザの演奏操作に応じた楽音であって時間軸上で前記第1の楽音よりも後の楽音である第2の楽音
よりも後の楽音である第3の楽音と、のベロシティの差、ピッチの差、音量の差、音色フィルタの差のいずれかを含む差分値を取得し、
取得された前記差分値の大きさを示す情報を取得し、
取得された前記情報に基づいて報知部に出力する、
処理を実行する制御部を備える、
情報処理装置。
【請求項2】
前記第1の楽音は、前記ユーザによる演奏の最初の楽音である、
請求項
1に記載の情報処理装置。
【請求項3】
前記2つの音は、ユーザの操作に応じた楽音のうちの、第1時点の音と第2時点の音である、
請求項1に記載の情報処理装置。
【請求項4】
前記制御部は、
ユーザによる演奏が片手演奏か両手演奏かを判定し、
片手演奏と判定される場合には、演奏する1つの手に対応する前記情報を取得して前記報知部への出力を行い、
両手演奏と判定される場合には、演奏するそれぞれの手に対応する前記情報を取得して前記報知部への出力を行う、
請求項1から請求項
3の何れか一項に記載の情報処理装置。
【請求項5】
前記音は、単音、2音、3音以上の和音、又は伴奏和音とメロディ音との組合せである、
請求項1から請求項
4の何れか一項に記載の情報処理装置。
【請求項6】
前記情報を前記差分値毎に対応付けて保持する保持部を備え、
前記制御部は、前記保持部のなかから、前記取得された差分値に対応付けられた情報を取得する、
請求項1から請求項
5の何れか一項に記載の情報処理装置。
【請求項7】
前記情報は、画像と、前記画像に対して前記差分値に応じた変化を与えるための情報と、を含む、
請求項1から請求項
6の何れか一項に記載の情報処理装置。
【請求項8】
前記画像に対して前記差分値に応じた変化を与えるための情報は、前記差分値に応じて、前記画像を画面内で傾けて表示させるための情報である、
請求項
7に記載の情報処理装置。
【請求項9】
前記情報は、前記画像を画面上で動かすための情報を更に含む、
請求項
7又は請求項
8に記載の情報処理装置。
【請求項10】
前記報知部を備え、
前記報知部は、前記制御部からの出力に基づいて、前記差分値に応じた内容を出力する、
請求項1から請求項
9の何れか一項に記載の情報処理装置。
【請求項11】
前記報知部は、音声出力部、表示部の少なくとも一方を含む、
請求項1から請求項
10の何れか一項に記載の情報処理装置。
【請求項12】
請求項1から請求項
11の何れか一項に記載の情報処理装置と、
演奏操作子と、を備え、
前記制御部は、
前記演奏操作子に対するユーザの演奏操作に応じた前記第1の楽音と、前記演奏操作子に対する前記ユーザの演奏操作に応じた前記第2の楽音
よりも後の楽音である第3の楽音との、前記差分値を取得し、
取得された前記差分値の大きさを示す情報を取得し、
取得された前記情報に基づいて前記報知部に出力する、
電子楽器。
【請求項13】
コンピュータに、
2つの音としての、ユーザの演奏操作に応じた第1の楽音と、前記ユーザの演奏操作に応じた楽音であって時間軸上で前記第1の楽音よりも後の楽音である第2の楽音
よりも後の楽音である第3の楽音と、のベロシティの差、ピッチの差、音量の差、音色フィルタの差のいずれかを含む差分値を取得させ、
取得された前記差分値の大きさを示す情報を取得させ、
取得された前記情報に基づいて報知部に出力させる、
方法。
【請求項14】
コンピュータに、
2つの音としての、ユーザの演奏操作に応じた第1の楽音と、前記ユーザの演奏操作に応じた楽音であって時間軸上で前記第1の楽音よりも後の楽音である第2の楽音
よりも後の楽音である第3の楽音と、のベロシティの差、ピッチの差、音量の差、音色フィルタの差のいずれかを含む差分値を取得させ、
取得された前記差分値の大きさを示す情報を取得させ、
取得された前記情報に基づいて報知部に出力させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書の開示は、情報処理装置、電子楽器、方法及びプログラムに関する。
【背景技術】
【0002】
例えば、ピアノの練習において、音の強さをそろえて(いわゆる音の粒を揃えて)練習することが知られている。音の粒が揃っているかどうかは、例えば、演奏者本人や演奏を聴く第三者が判断する。また、ユーザ(演奏者や第三者)が、例えば特許文献1に示されるピアノロール画面に表示される音の強さを示す情報を見て、音の粒が揃っているかどうかを判断する方法もある。ユーザは、例えばシーケンサに演奏情報を入力することにより、ピアノロール画面を視認することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
演奏者が初心者であるほど音の粒が揃っているかを耳で聴いて判断することが難しい。また、演奏を聴いた第三者から演奏者がアドバイスを受けても、音の粒がどの程度揃っているかを感覚的に掴むことは容易ではない。
【0005】
ピアノロール画面の例では、ユーザは、演奏を行って演奏情報を生成し、生成した演奏情報をシーケンサに入力し、シーケンサにより表示されるピアノロール画面を視認して、音の粒が揃っているかどうかを判断する。すなわち、この例では、音の粒が揃っているかどうかを演奏中に判断できないというデメリットがある。
【0006】
また、何れにしても、上記に挙げた方法では、音楽経験で培った耳や、ピアノロール画面の各ノートの情報に基づいて、音の粒が揃っているかどうかを判断する必要がある。音の粒が揃っているかどうかを判断する作業が必要になるため、音の粒が揃っているかを簡単には把握できなかった。
【0007】
本発明は上記の事情に鑑みてなされたものであり、その目的とするところは、音の粒が揃っているかをユーザに把握させやすい情報処理装置、電子楽器、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0008】
本発明の一実施形態に係る情報処理装置は、2つの音としての、ユーザの演奏操作に応じた第1の楽音と、前記ユーザの演奏操作に応じた楽音であって時間軸上で前記第1の楽音よりも後の楽音である第2の楽音よりも後の楽音である第3の楽音と、のベロシティの差、ピッチの差、音量の差、音色フィルタの差のいずれかを含む差分値を取得し、取得された前記差分値の大きさを示す情報を取得し、取得された前記情報に基づいて報知部に出力する、処理を実行する制御部を備える。
【発明の効果】
【0009】
本発明の一実施形態によれば、音の粒が揃っているかをユーザに把握させやすい情報処理装置、電子楽器、方法及びプログラムが提供される。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態に係る電子楽器システムの外観を示す図である。
【
図2】本発明の一実施形態に係る電子楽器の構成を示すブロック図である。
【
図3】本発明の一実施形態に係る情報処理装置の構成を示すブロック図である。
【
図4】本発明の一実施形態において情報処理装置のプロセッサにより実行されるレッスンプログラムの処理を示すフローチャートである。
【
図5】
図4のステップS102の第1のベロシティ値検出処理の詳細を示すサブルーチンである。
【
図6】
図4のステップS105の第2のベロシティ値検出処理の詳細を示すサブルーチンである。
【
図7】
図4のステップS106の差分値取得処理の詳細を示すサブルーチンである。
【
図8】
図7のステップS402において差分値を計算する際に用いられる差分値計算テーブルを示す図である。
【
図9】
図4のステップS107のアニメーション動画生成処理の詳細を示すサブルーチンである。
【
図10】
図9のステップS502においてアニメーション動画を生成するためのパラメータを設定する際に用いられるパラメータテーブルを示す図である。
【
図11A】
図9のステップS503において生成されるアニメーション動画の一例を示す図である。
【
図11B】
図9のステップS503において生成されるアニメーション動画の一例を示す図である。
【
図12A】
図9のステップS503において生成されるアニメーション動画の一例を示す図である。
【
図12B】
図9のステップS503において生成されるアニメーション動画の一例を示す図である。
【発明を実施するための形態】
【0011】
図面を参照して、本発明の一実施形態に係る電子楽器システムについて詳細に説明する。
【0012】
図1は、本発明の一実施形態に係る電子楽器システム1の外観を示す図である。
図1に示されるように、電子楽器システム1は、電子楽器100及び情報処理装置200を備える。電子楽器100と情報処理装置200は、有線回線又は無線回線を介して接続される。
【0013】
電子楽器100は、電子鍵盤楽器であり、例えば、電子ピアノ、シンセサイザ、電子オルガンである。
図2は、電子楽器100の構成を示すブロック図である。
図2に示されるように、電子楽器100は、プロセッサ110、鍵盤120、キースキャナ130、操作部140、スピーカ150及び通信部160を備える。
【0014】
プロセッサ110は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を含む素子である。プロセッサ110は、ROMに格納されたプログラム及びデータを読み出し、RAMをワークエリアとして用いることにより、電子楽器100を制御する。
【0015】
演奏者が押鍵操作を行うと、プロセッサ110は、押鍵操作された鍵に対応付けられた音高の楽音を発生させる発音処理を行い、この楽音をスピーカ150から出力させる。また、演奏者が離鍵操作を行うと、プロセッサ110は、発音中の楽音であって、離鍵操作された鍵に対応付けられた楽音を消す消音処理を行う。
【0016】
鍵盤120は、複数の演奏操作子として複数の白鍵及び黒鍵を有する。各鍵は、それぞれ異なる音高と対応付けられている。
【0017】
キースキャナ130は、鍵盤120の押鍵、離鍵及び押鍵速度(ベロシティ値)を検出し、検出された音高情報及びベロシティ値を含む演奏情報をプロセッサ110に出力する。ベロシティ値は、音の強さを示す値ともいえる。音高情報は、キーナンバや鍵番号、MIDIキー、ノートナンバと呼ばれることもある。
【0018】
操作部140は、例えば、メカニカル方式、静電容量無接点方式、メンブレン方式等のキースイッチ、ボタン、タッチパネル等で構成される。演奏者は、操作部140を操作することにより、例えば音色を設定したり音量を調節したりすることができる。
【0019】
通信部160は、外部機器と通信を行うための無線及び有線ユニットを備える。本実施形態では、通信部160は、MIDI(Musical Instrument Digital Interface)規格に準拠したインタフェースを含む。通信部160は、プロセッサ110の制御に基づいて、音高情報及びベロシティ値を含む演奏情報を外部機器の一例である情報処理装置200に送信する。演奏情報は、一例として、MIDI規格に準拠したデータ構造を有する。
【0020】
情報処理装置200は、例えば、ノートPC(Personal Computer)、スマートフォンである。情報処理装置200は、タブレット端末、携帯ゲーム機、フィーチャフォン、PDA(Personal Digital Assistant)等の他の形態の装置であってもよい。
【0021】
図3は、情報処理装置200の構成を示すブロック図である。
図3に示されるように、情報処理装置200は、プロセッサ210、RAM220、ROM230、操作部240、通信部250、表示部260及び音声出力部270を備える。情報処理装置200は、例えば電子楽器100の譜面台170に載置される。
【0022】
コンピュータの一例であるプロセッサ210は、例えばシングルプロセッサ又はマルチプロセッサであり、少なくとも1つのプロセッサを含む。複数のプロセッサを含む構成とした場合、プロセッサ210は、単一の装置としてパッケージ化されたものであってもよく、情報処理装置200内で物理的に分離した複数の装置で構成されてもよい。プロセッサ210は、「制御部」と呼ばれてもよい。
【0023】
プロセッサ210は、機能ブロックとして、差分値取得部210a、情報取得部210b及び出力部210cを備える。詳しくは後述するが、差分値取得部210aは、2つの音のある値に関する差分値(以下「2つの音の差分値」と略記する。)を取得する。情報取得部210bは、取得された差分値の大きさを示す情報を取得する。出力部210cは、取得された情報に基づいて報知部に出力する。これらの機能ブロックの動作により、情報処理装置200は、音の粒が揃っているかをユーザに容易に把握させることができる。本発明の一実施形態に係る方法及びプログラムは、プロセッサ210の機能ブロックに各種処理を実行させることで実現される。
【0024】
RAM220は、データやプログラムを一時的に保持する。RAM220には、ROM230から読み出されたプログラムやデータ、その他、通信に必要なデータが保持される。
【0025】
ROM230は、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)等の不揮発性の半導体メモリであり、二次記憶装置又は補助記憶装置としての役割を担う。ROM230には、レッスンプログラム232をはじめとする、プロセッサ210が各種処理を行うために使用するプログラム及びデータが格納されている。
【0026】
本実施形態において、プロセッサ210の各機能ブロックは、ソフトウェアであるレッスンプログラム232により実現される。なお、プロセッサ210の各機能ブロックは、一部又は全部が専用の論理回路等のハードウェアにより実現されてもよい。
【0027】
操作部240は、例えば、メカニカル方式、静電容量無接点方式、メンブレン方式等のキースイッチ、ボタン、キーボード、マウス、タッチパネル等で構成される。ユーザ(例えば演奏者)が操作部240を操作すると、その操作内容を示す信号がプロセッサ210に出力される。プロセッサ210は、入力された信号に基づいて情報処理装置200を制御する。操作部240がタッチパネルを含む場合、操作部240は、表示部260も兼ねる。
【0028】
通信部250は、外部機器と通信を行うための無線及び有線ユニットを備える。本実施形態では、通信部250は、MIDI規格に準拠したインタフェースを含む。通信部250は、外部機器の一例である電子楽器100より受信した演奏情報の入力を受け付けて、RAM220に記憶する。
【0029】
表示部260は、報知部の一例である。表示部260は、LCD(Liquid Crystal Display)パネル、有機EL(Electro Luminescence)パネル、LED(Light Emitting Diode)パネル等の表示パネルと表示コントローラを備える。表示部260は、プロセッサ210からの出力に基づいて画像を表示する。一例として、表示部260は、プロセッサ210からの出力に基づいて、差分値取得部210aにより取得される差分値に応じた内容(後述のアニメーション動画)を表示(出力)する。
【0030】
音声出力部270は、報知部の一例である。音声出力部270は、スピーカとドライバを備える。音声出力部270は、プロセッサ210からの出力に基づいて音声を出力する。一例として、音声出力部270は、プロセッサ210からの出力に基づいて、差分値取得部210aにより取得される差分値に応じた内容の音声(後述)を出力する。
【0031】
本実施形態では、後述するように、音の粒の揃い具合を演奏者にアニメーション動画で伝えることにより、演奏中の楽曲における音の粒の揃い具合を演奏者にリアルタイムで簡単に把握させられるようになっているが、本発明の構成はこれに限らない。別の実施形態では、音の粒の揃い具合を、アニメーション動画に加えて又は代えて、音声出力部270から出力される音声で演奏者に伝えてもよい。例示的には、「(今回弾いた音が最初に弾いた音に対して)小さい」、「(今回弾いた音が最初に弾いた音に対して)大きい」、「丁度良い(すなわち、最初に弾いた音に対して今回弾いた音の粒が揃っている)」等の、音の粒の揃い具合を演奏者に伝える音声を音声出力部270から出力させてもよい。この場合も、演奏中の楽曲における音の粒の揃い具合を演奏者に簡単に把握させることができる。
【0032】
本実施形態において、情報処理装置200は表示部260及び音声出力部270を備えるが、本発明の構成はこれに限らない。表示部260と音声出力部270の少なくとも一方は、情報処理装置200に備えられず、情報処理装置200に対する外付けの装置であってもよい。
【0033】
図4は、本発明の一実施形態においてプロセッサ210により実行されるレッスンプログラム232の処理を示すフローチャートである。プロセッサ210は、操作部240に対する所定の操作を受け付けると、情報処理装置200の動作モードをレッスンモードに遷移させる。レッスンモードに遷移すると、
図4に示されるフローチャートの処理の実行が開始される。
【0034】
電子楽器100は、鍵盤120に対する押鍵操作が行われる毎に、押鍵操作に応じた演奏情報(例えばMIDIデータ)を情報処理装置200へ出力する。プロセッサ210は、押鍵操作毎に電子楽器100から出力される演奏情報を通信部250を介して受け付ける。
【0035】
押鍵操作に応じた演奏情報を受け付けると(言い換えると、電子楽器100において押鍵操作が行われると)(ステップS101:YES)、プロセッサ210は、第1のベロシティ値検出処理を実行する(ステップS102)。
【0036】
ステップS102の第1のベロシティ値検出処理では、演奏を開始した演奏者による最初の押鍵操作におけるベロシティ値が検出される。第1のベロシティ値検出処理の詳細については後述する。
【0037】
押鍵操作に応じた演奏情報を受けないとき(言い換えると、電子楽器100において押鍵操作が行われていないと)(ステップS101:NO)、プロセッサ210は、レッスンモードに対する終了操作が行われたか否かを判定する(ステップS103)。レッスンモードに対する終了操作が行われた場合(ステップS103:YES)、プロセッサ210は、本フローチャートの処理を終了して、情報処理装置200の動作モードを元のモードに復帰させる。レッスンモードに対する終了操作が行われていなければ(ステップS103:NO)、プロセッサ210は、ステップS101の処理に戻る。
【0038】
第1のベロシティ値検出処理の実行後、押鍵操作に応じた演奏情報を受け付けると(ステップS104:YES)、プロセッサ210は、第2のベロシティ値検出処理を実行する(ステップS105)。
【0039】
ステップS105の第2のベロシティ値検出処理では、演奏者による今回(2回目以降)の押鍵操作におけるベロシティ値が検出される。第2のベロシティ値検出処理の詳細については後述する。
【0040】
プロセッサ210は、差分値取得処理を実行する(ステップS106)。差分値取得処理では、ステップS102の第1のベロシティ値検出処理で検出されたベロシティ値と、ステップS105の第2のベロシティ値検出処理で検出されたベロシティ値との差分値が計算される。すなわち、プロセッサ210は、初回の押鍵操作における音の強さと、今回(2回目以降)の押鍵操作における音の強さとの差分値を取得する。差分値取得処理の詳細については後述する。
【0041】
別の言い方をすると、プロセッサ210は、演奏者の第1の操作に応じた第1の楽音と、演奏者の第2の操作に応じた第2の楽音との差分値を取得する。第1の楽音及び第2の楽音は、演奏者による演奏の楽音である。第2の楽音は、時間軸上で第1の楽音よりも後の楽音である。本実施形態では、第1の楽音は、演奏者による演奏の最初の楽音(初回の押鍵操作に応じた楽音)である。
【0042】
附言するに、演奏者による演奏の楽音であって、時間軸上で第2の楽音よりも後の楽音を、演奏者の第3の操作に応じた第3の楽音とし、この第3の楽音が発音される場合、プロセッサ210は、第1の楽音と第3の楽音との差分値を取得する。
【0043】
プロセッサ210は、アニメーション動画生成処理を実行する(ステップS107)。アニメーション動画生成処理では、ステップS106にて取得された差分値に応じたアニメーション動画が生成されて、表示部260に出力される。表示部260で再生されるアニメーション動画は、演奏中の演奏で音の粒がどの程度揃っているかを示すものとなっている。演奏者は、アニメーション動画を見るだけで、最初の音に比べて今弾いている音の粒がどの程度揃っているかをリアルタイムで容易に把握することができる。アニメーション動画生成処理の詳細については後述する。
【0044】
プロセッサ210は、レッスンモードに対する終了操作が行われたか否かを判定する(ステップS108)。レッスンモードに対する終了操作が行われた場合(ステップS108:YES)、プロセッサ210は、本フローチャートの処理を終了して、情報処理装置200の動作モードを元のモードに復帰させる。
【0045】
レッスンモードに対する終了操作が行われていなければ(ステップS108:NO)、プロセッサ210は、ステップS104の処理に戻る。その後、押鍵操作に応じた演奏情報を受け付けると(ステップS104:YES)、プロセッサ210は、第2のベロシティ値検出処理(ステップS105)、差分値取得処理(ステップS106)、アニメーション動画生成処理(ステップS107)を実行する。ステップS104~S108の処理が実行されるたびに、初回の押鍵操作における音の強さと、今回(2回目以降)の押鍵操作における音の強さとの差分値に応じたアニメーション動画が再生される。
【0046】
アニメーション動画では、初回の押鍵操作に応じた楽音に対して、今回(2回目以降)の押鍵操作に応じた楽音がどの程度粒が揃ったものであるかを示す内容が再生される。そのため、演奏者は、初回の押鍵操作に応じた楽音の強さに合わせて音の粒を揃える練習を行うことができる。例えば、初回に鍵を弱く押すと、弱い音の粒を揃える練習をすることができる。また、初回に鍵を中程度の力で押すと、中程度の音の粒を揃える練習をすることができる。また、初回に鍵を強く押すと、強い音の粒を揃える練習をすることができる。
【0047】
図5は、
図4のステップS102の第1のベロシティ値検出処理の詳細を示すサブルーチンである。第1のベロシティ値検出処理では、初回の押鍵操作の入力タイプが判定され、判定された入力タイプに応じて初回の押鍵操作における音の強さが取得される。
【0048】
レッスンモードでは、音の粒を揃える練習を行うため、演奏者がハノン等の指の練習曲を演奏することが想定される。このとき、片手演奏の練習であるか両手演奏の練習であるかは不明である。また、演奏者がハノン等の練習曲以外の楽曲で音の粒を揃える練習を行う可能性もある。そのため、本実施形態では、押鍵操作の入力タイプとして、単音、2音、3音以上の和音、又は伴奏和音(2音以上の和音)とメロディ音との組合せであるかどうかが判定される。
【0049】
所定時間内(例えば20ミリ秒以内)に複数の鍵が押鍵された場合、押鍵操作に応じた楽音が2音又は3音以上の和音、又は伴奏和音とメロディ音との組合せであると判定される。言い換えると、上記の所定時間内に1つの鍵しか押鍵されなかった場合、押鍵操作に応じた楽音が単音であると判定される。
【0050】
なお、ここで挙げた入力タイプは一例に過ぎない。プロセッサ210は、押鍵操作の入力タイプをより詳細に判定してもよい。
【0051】
図5に示されるように、プロセッサ210は、
図4のステップS101にて受け付けた演奏情報に基づいて、押鍵操作に応じた楽音が単音か否かを判定する(ステップS201)。
【0052】
押鍵操作に応じた楽音が単音の場合(ステップS201:YES)、プロセッサ210は、
図4のステップS101にて受け付けた演奏情報に含まれるベロシティ値(言い換えると、初回の押鍵操作における音の強さ)をベロシティ値F
VELとして取得する(ステップS202)。
【0053】
押鍵操作に応じた楽音が単音でない場合(ステップS201:NO)、プロセッサ210は、
図4のステップS101にて受け付けた演奏情報に基づいて、押鍵操作に応じた楽音が2音か否かを判定する(ステップS203)。
【0054】
ハノン等の指の練習曲では、同じ音を異なるオクターブで同時に弾く、すなわち、ユニゾンで弾くことがある。そこで、押鍵操作に応じた楽音が2音の場合(ステップS203:YES)、プロセッサ210は、押鍵された2つの鍵の音高が1オクターブ以上離れているか否かを判定する(ステップS204)。
【0055】
押鍵された2つの鍵の音高が1オクターブ以上離れている場合(ステップS204:YES)、2つの鍵が左右それぞれの手の指で押鍵されたものと推定される。この場合、プロセッサ210は、一方の手の演奏での音の粒の揃い具合を検出するとともに他方の手の演奏での音の粒の揃い具合を検出するため、
図4のステップS101にて受け付けた演奏情報に含まれる2つのベロシティ値(2音それぞれのベロシティ値)のうち、高い音高のベロシティ値をベロシティ値FR
VELとして取得するとともに、低い音高のベロシティ値をベロシティ値FL
VELとして取得する(ステップS205)。
【0056】
押鍵された2つの鍵の音高が1オクターブ以上離れていない場合(ステップS204:NO)、2つの鍵が片方の手の指で押鍵されたものと推定される。この場合、単音で弾こうとしたものの、押鍵する指の位置がずれてしまい、隣接する別の鍵も一緒に弾いてしまったケースが想定される。そこで、プロセッサ210は、
図4のステップS101にて受け付けた演奏情報に含まれる2つのベロシティ値のうち、高い音高のベロシティ値をベロシティ値F
VELとして取得する(ステップS206)。別の実施形態では、ステップS206において、プロセッサ210は、
図4のステップS101にて受け付けた演奏情報に含まれる2つのベロシティ値のうち、低い音高のベロシティ値、又は、最初に押鍵された鍵に対応付けられた音高のベロシティ値、若しくは、次に押鍵された鍵に対応付けられた音高のベロシティ値をベロシティ値F
VELとして取得してもよい。
【0057】
押鍵操作に応じた楽音が2音でない場合(ステップS203:NO)、押鍵操作に応じた楽音は3音以上の楽音を含む。プロセッサ210は、押鍵された3つ以上の鍵の音高のうち、最も高い楽音と次に高い楽音とが1オクターブ以上離れているか否かを判定する(ステップS207)。
【0058】
押鍵された3つ以上の鍵の音高のうち、最も高い楽音と次に高い楽音とが1オクターブ以上離れている場合(ステップS207:YES)、一方の手でメロディ音が弾かれ、他方の手で伴奏和音が弾かれているものと推定される。この場合、プロセッサ210は、メロディ音の粒の揃い具合を検出するとともに伴奏和音の粒の揃い具合を検出するため、
図4のステップS101にて受け付けた演奏情報に含まれる3つ以上のベロシティ値のうち、最も高い音高(言い換えると、一方の手で弾くメロディ音の音高)のベロシティ値をベロシティ値FM
VELとして取得するとともに、それ以外の2つ以上の音高(言い換えると、他方の手で弾く伴奏和音の音高)のベロシティ値の平均値をベロシティ値FA
VELとして取得する(ステップS208)。
【0059】
押鍵された3つ以上の鍵の音高のうち、最も高い楽音と次に高い楽音とが1オクターブ以上離れていない場合(ステップS207:NO)、片方の手で伴奏和音が弾かれているものと推定される。この場合、プロセッサ210は、
図4のステップS101にて受け付けた演奏情報に含まれる3つ以上のベロシティ値の平均値(言い換えると、伴奏和音の音高のベロシティ値)をベロシティ値FA
VELとして取得する(ステップS209)。
【0060】
このように、ステップS204及びS207において、プロセッサ210は、演奏者による演奏が片手演奏か両手演奏かを判定する。ステップS205、S206、S208及びS209において、プロセッサ210は、片手演奏又は両手演奏に応じたベロシティ値を取得する。
【0061】
プロセッサ210は、初回の押鍵操作における音の強さを取得する(ステップS210)。具体的には、ステップS210において、プロセッサ210は、次の(1a)~(5a)の何れかのベロシティ値を初回の押鍵操作における音の強さとして取得する。
(1a)ステップS202にて取得されたベロシティ値FVEL
(2a)ステップS205にて取得されたベロシティ値FRVEL及びFLVEL
(3a)ステップS206にて取得されたベロシティ値FVEL
(4a)ステップS208にて取得されたベロシティ値FMVEL及びFAVEL
(5a)ステップS209にて取得されたベロシティ値FAVEL
【0062】
図6は、
図4のステップS105の第2のベロシティ値検出処理の詳細を示すサブルーチンである。第2のベロシティ値検出処理では、今回(2回目以降)の押鍵操作の入力タイプが判定され、判定された入力タイプに応じて今回(2回目以降)の押鍵操作における音の強さが取得される。
【0063】
ステップS105の第2のベロシティ値検出処理は、ステップS102の第1のベロシティ値検出処理と同様である。そのため、第2のベロシティ値検出処理の説明の詳細は適宜省略する。
【0064】
図6に示されるように、プロセッサ210は、
図4のステップS104にて受け付けた演奏情報に基づいて、押鍵操作に応じた楽音が単音か否かを判定する(ステップS301)。
【0065】
押鍵操作に応じた楽音が単音の場合(ステップS301:YES)、プロセッサ210は、
図4のステップS104にて受け付けた演奏情報に含まれるベロシティ値(言い換えると、今回(2回目以降)の押鍵操作における音の強さ)をベロシティ値C
VELとして取得する(ステップS302)。
【0066】
押鍵操作に応じた楽音が単音でない場合(ステップS301:NO)、プロセッサ210は、
図4のステップS104にて受け付けた演奏情報に基づいて、押鍵操作に応じた楽音が2音か否かを判定する(ステップS303)。
【0067】
押鍵操作に応じた楽音が2音の場合(ステップS303:YES)、プロセッサ210は、押鍵された2つの鍵の音高が1オクターブ以上離れているか否かを判定する(ステップS304)。
【0068】
押鍵された2つの鍵の音高が1オクターブ以上離れている場合(ステップS304:YES)、プロセッサ210は、一方の手の演奏での音の粒の揃い具合を検出するとともに他方の手の演奏での音の粒の揃い具合を検出するため、
図4のステップS104にて受け付けた演奏情報に含まれる2つのベロシティ値(2音それぞれのベロシティ値)のうち、高い音高のベロシティ値をベロシティ値CR
VELとして取得するとともに、低い音高のベロシティ値をベロシティ値CL
VELとして取得する(ステップS305)。
【0069】
押鍵された2つの鍵の音高が1オクターブ以上離れていない場合(ステップS304:NO)、プロセッサ210は、
図4のステップS104にて受け付けた演奏情報に含まれる2つのベロシティ値のうち、高い音高のベロシティ値をベロシティ値C
VELとして取得する(ステップS306)。別の実施形態では、ステップS306において、プロセッサ210は、
図4のステップS104にて受け付けた演奏情報に含まれる2つのベロシティ値のうち、低い音高のベロシティ値、又は、最初に押鍵された鍵に対応付けられた音高のベロシティ値、若しくは、次に押鍵された鍵に対応付けられた音高のベロシティ値をベロシティ値C
VELとして取得してもよい。
【0070】
押鍵操作に応じた楽音が2音でない場合(ステップS303:NO)、押鍵操作に応じた楽音は3音以上の楽音を含む。プロセッサ210は、押鍵された3つ以上の鍵の音高のうち、最も高い楽音と次に高い楽音とが1オクターブ以上離れているか否かを判定する(ステップS307)。
【0071】
押鍵された3つ以上の鍵の音高のうち、最も高い楽音と次に高い楽音とが1オクターブ以上離れている場合(ステップS307:YES)、プロセッサ210は、メロディ音の粒の揃い具合を検出するとともに伴奏和音の粒の揃い具合を検出するため、
図4のステップS104にて受け付けた演奏情報に含まれる3つ以上のベロシティ値のうち、最も高い音高(言い換えると、一方の手で弾くメロディ音の音高)のベロシティ値をベロシティ値CM
VELとして取得するとともに、それ以外の2つ以上の音高(言い換えると、他方の手で弾く伴奏和音の音高)のベロシティ値の平均値をベロシティ値CA
VELとして取得する(ステップS308)。
【0072】
押鍵された3つ以上の鍵の音高のうち、最も高い楽音と次に高い楽音とが1オクターブ以上離れていない場合(ステップS307:NO)、プロセッサ210は、
図4のステップS104にて受け付けた演奏情報に含まれる3つ以上のベロシティ値の平均値(言い換えると、伴奏和音の音高のベロシティ値)をベロシティ値CA
VELとして取得する(ステップS309)。
【0073】
このように、ステップS304及びS307において、プロセッサ210は、演奏者による演奏が片手演奏か両手演奏かを判定する。ステップS305、S306、S308及びS309において、プロセッサ210は、片手演奏又は両手演奏に応じたベロシティ値を取得する。
【0074】
プロセッサ210は、今回(2回目以降)の押鍵操作における音の強さを取得する(ステップS310)。具体的には、ステップS310において、プロセッサ210は、次の(1b)~(5b)の何れかのベロシティ値を今回(2回目以降)の押鍵操作における音の強さとして取得する。
(1b)ステップS302にて取得されたベロシティ値CVEL
(2b)ステップS305にて取得されたベロシティ値CRVEL及びCLVEL
(3b)ステップS306にて取得されたベロシティ値CVEL
(4b)ステップS308にて取得されたベロシティ値CMVEL及びCAVEL
(5b)ステップS309にて取得されたベロシティ値CAVEL
【0075】
図7は、
図4のステップS106の差分値取得処理の詳細を示すサブルーチンである。差分値取得処理では、ステップS102の第1のベロシティ値検出処理で検出されたベロシティ値と、ステップS105の第2のベロシティ値検出処理で検出されたベロシティ値との差分値が取得される。より包括的な表現によれば、差分値取得処理では、2つの音のある値に関する差分値が取得される。すなわち、ステップS106において、プロセッサ210は、2つの音のある値に関する差分値を取得する差分値取得部210aとして動作する。
【0076】
図7に示されるように、プロセッサ210は、
図5のステップS210にて取得された初回の押鍵操作における音の強さ(すなわち、上記(1a)~(5a)の何れかのベロシティ値)を値FVとして設定するとともに、
図6のステップS310にて取得された今回(2回目以降)の押鍵操作における音の強さ(すなわち、上記(1b)~(5b)の何れかのベロシティ値)を値CVとして設定する(ステップS401)。
【0077】
プロセッサ210は、値FVと値CVとの差分値を計算する(ステップS402)。この差分値は、値FVから値CVを減算したものである。より詳細には、プロセッサ210は、
図8に示される差分値計算テーブルを参照して、初回の押鍵操作と今回(2回目以降)の押鍵操作の入力タイプを考慮した差分値の計算を行う。
図8に示される差分値計算テーブルでは、縦軸が値FVであり、横軸が値CVである。この差分値計算テーブルは、例えばROM230に保持されている。
【0078】
図8に示される差分値計算テーブルを用いた差分値の計算方法を数例説明する。
【0079】
例えば、初回と今回(2回目以降)の押鍵操作に応じた楽音が何れも単音である場合を考える。この場合、
図8に示されるように、次式(1)により差分値が計算される。
【0080】
式(1)
ベロシティ値FVEL-ベロシティ値CVEL
【0081】
例えば、初回の押鍵操作に応じた楽音が1オクターブ以上離れた2音であり、今回(2回目以降)の押鍵操作に応じた楽音が単音である場合を考える。この場合、楽音が2音から単音になることから、ベロシティ値FR
VELに対応する楽音とベロシティ値FL
VELに対応する楽音のうち、ベロシティ値C
VELに対応する楽音と音高(又は音域)が近い方と、ベロシティ値C
VELとの差分値が計算される。すなわち、
図8に示されるように、次式(2)又は次式(3)により差分値が計算される。
【0082】
式(2)
ベロシティ値FRVEL-ベロシティ値CVEL
式(3)
ベロシティ値FLVEL-ベロシティ値CVEL
【0083】
例えば、初回と今回(2回目以降)の押鍵操作に応じた楽音が何れも1オクターブ以上離れた2音である場合を考える。この場合、一方の手の演奏での音の粒の揃い具合を検出するとともに他方の手の演奏での音の粒の揃い具合を検出するため、
図8に示されるように、一方の手の演奏における2つの音の差分値が次式(4)により計算されるとともに、他方の手の演奏における2つの音の差分値が次式(5)により計算される。
【0084】
式(4)
ベロシティ値FRVEL-ベロシティ値CRVEL
式(5)
ベロシティ値FLVEL-ベロシティ値CLVEL
【0085】
例えば、初回と今回(2回目以降)の押鍵操作に応じた楽音が何れも伴奏和音(2音以上の和音)とメロディ音とを組み合わせたものである場合を考える。この場合、メロディ音の粒の揃い具合を検出するとともに伴奏和音の粒の揃い具合を検出するため、
図8に示されるように、一方の手で弾くメロディ音における差分値が次式(6)により計算されるとともに、他方の手で弾く伴奏和音における差分値が次式(7)により計算される。
【0086】
式(6)
ベロシティ値FMVEL-ベロシティ値CMVEL
式(7)
ベロシティ値FAVEL-ベロシティ値CAVEL
【0087】
例えば、初回の押鍵操作に応じた楽音が伴奏和音(2音以上の和音)とメロディ音とを組み合わせたものであり、今回(2回目以降)の押鍵操作に応じた楽音が伴奏和音のみの場合を考える。この場合、初回の押鍵操作に応じた楽音(より詳細には、初回の押鍵操作に応じた楽音の中で最も高い音高の楽音(ベロシティ値FM
VELの楽音))の発音中は、差分値の計算を停止する。これにより、メロディ音の演奏中は、音の粒がどの程度揃っているかを示すアニメーション動画が表示部260に表示されなくなる。演奏者に対し、メロディ音を演奏することに集中させる趣旨である。この楽音の発音が終わると、
図8に示されるように、初回の押鍵操作に応じたメロディ音と今回の押鍵操作に応じた伴奏和音との差分値が次式(8)により計算される。
【0088】
式(8)
ベロシティ値FMVEL-ベロシティ値CAVEL
【0089】
なお、
図8の例では、初回の押鍵操作に応じた楽音が単音又は2音であり、今回(2回目以降)の押鍵操作に応じた楽音が伴奏和音のみの場合も、上記と同様の趣旨により、初回の押鍵操作に応じた楽音の発音中は、差分値の計算が停止される。
【0090】
プロセッサ210は、ステップS402にて計算された差分値を2つの音の強さの差分値として取得する(ステップS403)。片手演奏の場合には、ステップS402にて計算された1つの差分値が取得され、両手演奏の場合には、ステップS402にて計算された2つの差分値が取得される。
【0091】
図9は、
図4のステップS107のアニメーション動画生成処理の詳細を示すサブルーチンである。本実施形態では、音の粒がどの程度揃っているかに応じて、キャラクタが移動する地面の高さをアニメーション動画内で変化させる。演奏者は、キャラクタが移動する地面の高さを視認することにより、音の粒がどの程度揃っているかをリアルタイムで把握することができる。
【0092】
図9に示されるように、プロセッサ210は、
図8のステップS403にて取得された差分値を差分値VELとして設定する(ステップS501)。両手演奏の場合は、それぞれの手に対応した2つの差分値VELを設定する。
【0093】
ステップS502において、プロセッサ210は、差分値VELに応じた情報(例えば、第1の楽音と第2の楽音との差分値の大きさを示す情報、第1の楽音と第3の楽音との差分値の大きさを示す情報)を取得する情報取得部210bとして動作する。具体的には、ステップS502において、プロセッサ210は、
図10に示されるパラメータテーブルを参照して、差分値VELに応じたアニメーション動画を生成するためのパラメータ(差分値VELの大きさを示す情報の一例)を設定する。両手演奏の場合は、それぞれの差分値VELに応じたパラメータが設定される。
【0094】
図10の例では、パラメータとして、初期キャラクタ、アニメーション情報、勾配がある。初期キャラクタは、画像の一例であり、アニメーション動画の最初のコマで表示するキャラクタを示す。アニメーション情報は、画像を画面上で動かすための情報の一例であり、キャラクタの動きの情報を示す。勾配は、画像に対して差分値に応じた変化を与えるための情報の一例であり、キャラクタが移動する地面の高さを示す。附言するに、勾配は、差分値に応じて、画像を画面内で傾けて表示させるための情報である。
【0095】
図10に示されるパラメータテーブルは、例えばROM230に保持されている。すなわち、保持部の一例であるROM230は、情報取得部210bにより取得される情報の一例であるパラメータを差分値VEL毎に対応付けて保持する。ステップS502において情報取得部210bとして動作するプロセッサ210は、保持部であるROM230のなかから、差分値VELに対応付けられた情報(パラメータ)を取得する。
【0096】
なお、ここに挙げるパラメータ(言い換えると情報)は一例に過ぎない。例えば、画像に対して差分値に応じた変化を与えるための情報として、画像の色や大きさ、数等を変えるための情報が含まれてもよく、また、別の画像に切り替えるための情報が含まれてもよい。プロセッサ210は、アニメーション動画を生成するためのパラメータとして、
図10に示すパラメータに加えて又は代えて、上記で例示的に挙げた別のパラメータを設定してもよい。
【0097】
プロセッサ210は、ステップS502にて設定されたパラメータを用いてアニメーション動画を生成して表示部260に出力する(ステップS503)。両手演奏の場合は、それぞれの差分値VELに応じて設定されたパラメータを用いて、それぞれの手に対応するアニメーション動画(言い換えると、それぞれの手において音の粒がどの程度揃っているかを示す情報)が生成されて、表示部260に出力される。すなわち、ステップS503において、プロセッサ210は、情報取得部210bにより取得された情報の一例であるパラメータに基づいて、報知部の一例である表示部260に出力する出力部210cとして動作する。
【0098】
より詳細には、情報取得部210b及び出力部210cとして動作するプロセッサ210は、片手演奏と判定される場合には、演奏する1つの手に対応する情報(パラメータ)を取得して報知部(表示部260)への出力を行い、両手演奏と判定される場合には、演奏するそれぞれの手に対応する情報を取得して報知部への出力を行う。
【0099】
今回(2回目以降)の押鍵操作に応じた楽音が発音中である間(ステップS504:YES)、プロセッサ210は、引き続き、ステップS503を実行して、アニメーション動画の生成及び出力を行う。これにより、上記の楽音の発音中、表示部260でアニメーション動画が再生される。
【0100】
例えば、差分値VELがゼロの場合、
図10に示されるように、初期キャラクタとしてキャラクタ(1)が設定され、アニメーション情報として情報(1)(A)(B)が設定され、勾配としてゼロ度が設定される。
【0101】
ステップS503において、プロセッサ210は、例えばROM230に記憶された初期キャラクタのなかからキャラクタ(1)を取得する。
【0102】
情報(1)(A)(B)は、キャラクタ(1)を(A)のコマと(B)のコマで交互に繰り返し動かすことを示す。ステップS503において、プロセッサ210は、例えばROM230に記憶されたコマの中から、キャラクタ(1)に対する(A)のコマと(B)のコマを取得する。画面上でキャラクタ(1)を(A)のコマと(B)のコマで交互に繰り返し表示することにより、キャラクタ(1)が走るアニメーション動画が再生される。
【0103】
ゼロ度の勾配は、キャラクタ(1)が走る地面の高さが基準の高さであることを示す。ステップS503において、プロセッサ210は、アニメーション動画内で基準の高さとなる位置にキャラクタ(1)が走る地面を描画する。
【0104】
このように、ステップS503において、プロセッサ210は、差分値VELがゼロの場合、基準の高さH
1に位置する地面をキャラクタ(1)が走るアニメーション動画を生成する。このアニメーション動画の一例を
図11A及び
図11Bに示す。
図11Aに示されるコマと
図11Bに示されるコマとが交互に繰り返されるアニメーション動画が生成されて表示部260に表示される。
【0105】
なお、
図11A及び
図11Bの例では、片手演奏時に表示部260に表示されるアニメーション動画を示す。両手演奏時には、それぞれの手に対応するアニメーション動画が表示部260に表示される。
【0106】
図12A及び
図12Bに、両手演奏時に表示部260に表示されるアニメーション動画の一例を示す。なお、本実施形態では、ステップS502にて設定されるキャラクタが差分値VELに応じて変わるが、
図12A及び
図12Bでは、便宜上、
図11A及び
図11Bと同じ犬のキャラクタ(1)を図示する。
【0107】
補足すると、ステップS502にて設定されるキャラクタは、常に同じキャラクタ(例えば
図11A及び
図11Bに示される犬のキャラクタ(1))であってもよい。また、ステップS502にて設定されるキャラクタは、演奏者が自由に変更できてもよい。
【0108】
まずは、一方の手に対応するアニメーション動画について説明する。例えば、一方の手に対応する差分値VELが+101以上である場合、
図10に示されるように、初期キャラクタとしてキャラクタ(6)が設定され、アニメーション情報として情報(6)(A)(B)が設定され、勾配として+45度が設定される。一方の手に対応する前回の差分値VELが+100以下である場合、プロセッサ210は、キャラクタ(6)が上り坂を走るアニメーション動画を生成して表示部260に表示させる(
図12Aの「一方の手」直下の画像参照)。
【0109】
この上り坂の勾配は、前回の差分値VELに対応する勾配と今回の差分値VELに対応する勾配との差分の勾配である。この上り坂の頂上は、今回の差分値VELに対応する勾配(すなわち+45度の勾配)に対応付けられた高さH2に位置する。
【0110】
+101以上の差分値VELが続く場合、プロセッサ210は、キャラクタ(6)が+45度の勾配に対応付けられた高さH
2に位置する平坦な地面を走るアニメーション動画を生成する。これにより、キャラクタ(6)が高さH
2に位置する平坦な地面を走るアニメーション動画が表示部260に表示される(
図12Bの「一方の手」直下の画像参照)。
【0111】
次に、他方の手に対応するアニメーション動画について説明する。例えば、他方の手に対応する差分値VELが-101以下である場合、
図10に示されるように、初期キャラクタとしてキャラクタ(11)が設定され、アニメーション情報として情報(11)(A)(B)が設定され、勾配として-45度が設定される。他方の手に対応する前回の差分値VELが-100以上である場合、プロセッサ210は、キャラクタ(11)が下り坂を走るアニメーション動画を生成して表示部260に表示させる(
図12Aの「他方の手」直下の画像参照)。
【0112】
この下り坂の勾配も、前回の差分値VELに対応する勾配と今回の差分値VELに対応する勾配との差分の勾配である。この下り坂を下りた先の地面は、今回の差分値VELに対応する勾配(すなわち-45度の勾配)に対応付けられた高さH3に位置する。
【0113】
-101以上の差分値VELが続く場合、プロセッサ210は、キャラクタ(11)が-45度の勾配に対応付けられた高さH
3に位置する平坦な地面を走るアニメーション動画を生成する。これにより、キャラクタ(11)が高さH
3に位置する平坦な地面を走るアニメーション動画が表示部260に表示される(
図12Bの「他方の手」直下の画像参照)。
【0114】
このように、プロセッサ210は、初回の押鍵操作に応じた楽音と今回(2回目以降)の押鍵操作に応じた楽音との強さの差を示す差分値VELに応じて、キャラクタが平坦な地面や上り坂又は下り坂を走るアニメーション動画を生成する。
【0115】
演奏者は、アニメーション動画を視認する(例えば、キャラクタが走る地面の高さや坂道の勾配を視認する)ことにより、初回の押鍵操作に応じた楽音に対して今回(2回目以降)の押鍵操作に応じた楽音がどの程度粒が揃ったものであるか、片手演奏時における音の粒の揃い具合、両手演奏時における音の粒の揃い具合等を、リアルタイムで容易に把握することができる。また、演奏者は、例えば、キャラクタが平坦な地面を走ったり坂道を上ったり下りたりするアニメーション動画を視認することにより、音の粒の揃い具合が演奏中にどのように変化しているか等もリアルタイムで容易に把握することができる。
【0116】
なお、アニメーション動画は、本実施形態のものに限られない。例えば、ユーザが弾いた音のベロシティに応じて長さが変化する棒を表示させるものであってもよい。また、左手用、右手用別々の棒を表示し、それぞれの棒が差分値VELに応じて伸びたり縮んだりしてもよい。このようなアニメーション動画によっても、演奏者は、音の粒の揃い具合を視覚を通じて把握することができる。このアニメーション動画の場合、差分値に応じたパラメータとして、例えば、棒(画像の一例)及び棒を伸び縮みさせるための情報(画像に対して差分値に応じた変化を与えるための情報の一例)が設定される。
【0117】
従って、演奏者は、一方の手又は左右の手それぞれにおいて、形の違う5本の指についてどの程度の強さで押鍵すれば音の粒を揃えることができるかを効率的に練習することができる。
【0118】
本実施形態によれば、演奏者による初回の押鍵操作に応じた楽音を基準として音の粒がどの程度揃っているかが判定される。すなわち、お手本の音を基準として音の粒がどの程度揃っているかを判定しない。そのため、お手本の音データが不要である。
【0119】
なお、別の実施形態では、初回の押鍵操作に応じた楽音に代えて、お手本の音を基準として音の粒がどの程度揃っているかを判定してもよい。すなわち、ステップS106において、差分値取得部210aとして動作するプロセッサ210は、お手本の音(所定の模範の音)と、演奏者による各押鍵操作に応じた楽音(ユーザの操作に応じた楽音)との差分値を取得してもよい。
【0120】
また、基準となる音は、演奏者による初回の押鍵操作に応じた楽音に限らない。任意の時点の押鍵操作に応じた楽音や、今回の押鍵操作の1つ前の押鍵操作に応じた楽音等を基準として音の粒がどの程度揃っているかが判定されてもよい。
【0121】
本実施形態では、初回、今回(2回目以降)の各押鍵操作の入力タイプが判定され、この入力タイプを考慮して2つの音の差分値が取得される。幅広い入力タイプに対応するため、様々な楽曲で音の粒がどの程度揃っているかを演奏者に視覚的に伝えることができる。
【0122】
このように、本実施形態によれば、音の粒が揃っているかをユーザに把握させやすい情報処理装置、電子楽器、方法及びプログラムが提供される。
【0123】
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
【0124】
上記の実施形態では、電子楽器100と情報処理装置200とが別個独立した装置であるが、別の実施形態では、電子楽器100が情報処理装置200を含む構成としてもよい。すなわち、演奏操作子である鍵盤120を含む電子楽器100は、情報処理装置200を備える。この場合、プロセッサ110がレッスンプログラム232を実行することにより、演奏操作子に対する第1の操作に応じた第1の楽音と、演奏操作子に対する第2の操作に応じた第2の楽音との、ある値に関する差分値(例えば差分値VEL)を取得し、取得された差分値の大きさを示す情報を取得し、取得された情報に基づいて報知部(例えば電子楽器100のタッチパネル)に出力する。演奏者は、タッチパネルに表示されるアニメーション動画を視認することにより、演奏中、音の粒がどの程度揃っているかをリアルタイムで把握することができる。
【0125】
上記の実施形態では、2つの音の差分値として、2つの音のベロシティの差を例示したが、本発明はこれに限らない。例えば、2つの音の差分値として、ピッチの差、音量の差又は音色フィルタの差を取得し、取得された差分値に応じたアニメーション動画を出力する構成も本発明の範疇である。
【0126】
例えば、電子弦楽器や電子管楽器では、演奏操作毎にピッチずれや音量ずれが発生する。そこで、プロセッサ210は、例えば、初回の演奏操作に応じた楽音のピッチ(又は音量)と、今回(2回目以降)の演奏操作に応じた楽音のピッチ(又は音量)との差分値を取得し、取得された差分値に応じたアニメーション動画(言い換えると、2つの音でピッチ(又は音量)がどの程度揃っているかを演奏者に伝える情報)を生成して表示部260に出力する。演奏者は、表示部260に表示されるアニメーション動画を視認することにより、例えば、初回の押鍵操作に応じた楽音に対して今回(2回目以降)の押鍵操作に応じた楽音でどの程度ピッチ(又は音量)がずれているかをリアルタイムで把握することができる。
【0127】
例えば、シンセサイザやオルガン等の持続音を発音する電子楽器では、ペダル操作等で音を変えたりビブラートをかけたりするため、発音される音の音色が意図せずに揃わないことがある。そこで、プロセッサ210は、例えば、初回の演奏操作で適用した音色フィルタと、今回(2回目以降)の演奏操作で適用した音色フィルタとの差分値を取得し、取得された差分値に応じたアニメーション動画(言い換えると、2つの音で適用した音色フィルタがどの程度揃っているかを演奏者に伝える情報)を生成して表示部260に出力する。演奏者は、表示部260に表示されるアニメーション動画を視認することにより、例えば、初回の押鍵操作に応じた楽音に対して今回(2回目以降)の押鍵操作に応じた楽音で、適用した音色フィルタがどの程度揃っているか(言い換えると、音色がどの程度揃っているか)をリアルタイムで把握することができる。
【0128】
プロセッサ210は、
図4のステップS107にて生成されるアニメーション動画に対し、差分値VELに応じた演出を付加してもよい。一例として、差分値VELが+101以上又は-101以下である場合、アニメーション動画で表示されるキャラクタを強調する。具体的には、キャラクタを目立つ色(例えば赤)で着色したり点滅表示させたりする。また、差分値VELが一定範囲内(例えば-10~+10)に収まる場合、音の粒が揃っている又はほぼ揃っているため、例えばキャラクタの背景に華やかな演出(例えば花が咲き乱れるような動画)を表示させる。差分値VELがゼロの場合、更なる演出(例えば「GREAT!!」や「ぴったり!!」等のアイコンの表示や音声の再生)を付加してもよい。このような演出を付加することにより、音の粒がどの程度揃っているかを演奏者により分かりやすく伝えることができる。
【0129】
上記の実施形態では、2つの音の差分値の一例として、初回の押鍵操作に応じた楽音と今回(2回目以降)の押鍵操作に応じた楽音との差分値を挙げたが、本発明はこれに限らない。上記の2つの音の差分値は、連続的な1つの音に含まれる、第1時点の音と第2時点の音との差分値であってもよい。
【0130】
連続的な1つの音の一例として、電子管楽器で練習されるロングトーンの音が挙げられる。ロングトーンでは、同じ音を持続的に鳴らすことが要求される。そこで、プロセッサ210は、ロングトーンの音(すなわち、ユーザの操作に応じた楽音)のうち、前半のある時点の音量と、後半のある時点の音量との差分値を取得し、取得された差分値に応じたアニメーション動画(言い換えると、ロングトーンの前半と後半とで音量がその程度揃っているかを演奏者に伝える情報)を生成して表示部260に出力する。演奏者は、表示部260に表示されるアニメーション動画を視認することにより、例えば、ロングトーンで一定の音を鳴らし続けられているかをリアルタイムで把握することができる。
【0131】
以下、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
2つの音のある値に関する差分値を取得し、
取得された前記差分値の大きさを示す情報を取得し、
取得された前記情報に基づいて報知部に出力する、
処理を実行する制御部を備える、
情報処理装置。
[付記2]
前記2つの音は、ユーザの第1の操作に応じた第1の楽音と、前記ユーザの第2の操作に応じた第2の楽音である、
付記1に記載の情報処理装置。
[付記3]
前記第1の楽音は、前記ユーザによる演奏の楽音であり、
前記第2の楽音は、前記ユーザのよる演奏の楽音であって、時間軸上で前記第1の楽音よりも後の楽音である、
付記2に記載の情報処理装置。
[付記4]
前記2つの音は、前記第1の楽音と、前記ユーザの第3の操作に応じた第3の楽音であり、
前記第3の楽音は、前記ユーザのよる演奏の楽音であって、時間軸上で前記第2の楽音よりも後の楽音であり、
前記第3の楽音が発音される場合、前記制御部は、前記第1の楽音と前記第3の楽音との差分値の大きさを示す情報を取得し、取得された前記情報を前記報知部に出力する、
付記3に記載の情報処理装置。
[付記5]
前記第1の楽音は、前記ユーザによる演奏の最初の楽音である、
付記3又は付記4に記載の情報処理装置。
[付記6]
前記2つの音は、ユーザの操作に応じた楽音のうちの、第1時点の音と第2時点の音である、
付記1に記載の情報処理装置。
[付記7]
前記2つの音は、所定の模範の音と、ユーザの操作に応じた楽音である、
付記1に記載の情報処理装置。
[付記8]
前記制御部は、
ユーザによる演奏が片手演奏か両手演奏かを判定し、
片手演奏と判定される場合には、演奏する1つの手に対応する前記情報を取得して前記報知部への出力を行い、
両手演奏と判定される場合には、演奏するそれぞれの手に対応する前記情報を取得して前記報知部への出力を行う、
付記1から付記7の何れか一項に記載の情報処理装置。
[付記9]
前記2つの音のある値に関する差分値は、前記2つの音のベロシティの差、ピッチの差、音量の差又は音色フィルタの差を示す、
付記1から付記8の何れか一項に記載の情報処理装置。
[付記10]
前記音は、単音、2音、3音以上の和音、又は伴奏和音とメロディ音との組合せである、
付記1から付記9の何れか一項に記載の情報処理装置。
[付記11]
前記情報を前記差分値毎に対応付けて保持する保持部を備え、
前記制御部は、前記保持部のなかから、前記取得された差分値に対応付けられた情報を取得する、
付記1から付記10の何れか一項に記載の情報処理装置。
[付記12]
前記情報は、画像と、前記画像に対して前記差分値に応じた変化を与えるための情報と、を含む、
付記1から付記11の何れか一項に記載の情報処理装置。
[付記13]
前記画像に対して前記差分値に応じた変化を与えるための情報は、前記差分値が大きいほど、前記画像を画面内で傾けて表示させるための情報である、
付記12に記載の情報処理装置。
[付記14]
前記情報は、前記画像を画面上で動かすための情報を更に含む、
付記12又は付記13に記載の情報処理装置。
[付記15]
前記報知部を備え、
前記報知部は、前記少なくとも1つのプロセッサからの出力に基づいて、前記差分値に応じた内容を出力する、
付記1から付記14の何れか一項に記載の情報処理装置。
[付記16]
前記報知部は、音声出力部、表示部の少なくとも一方を含む、
付記1から付記15の何れか一項に記載の情報処理装置。
[付記17]
付記1から付記16の何れか一項に記載の情報処理装置と、
演奏操作子と、を備え、
前記制御部は、
前記演奏操作子に対する第1の操作に応じた第1の楽音と、前記演奏操作子に対する第2の操作に応じた第2の楽音との、ある値に関する差分値を取得し、
取得された前記差分値の大きさを示す情報を取得し、
取得された前記情報に基づいて前記報知部に出力する、
電子楽器。
[付記18]
コンピュータに、
2つの音のある値に関する差分値を取得させ、
取得された前記差分値の大きさを示す情報を取得させ、
取得された前記情報に基づいて報知部に出力させる、
方法。
[付記19]
コンピュータに、
2つの音のある値に関する差分値を取得させ、
取得された前記差分値の大きさを示す情報を取得させ、
取得された前記情報に基づいて報知部に出力させる、
プログラム。
【符号の説明】
【0132】
1 :電子楽器システム
100 :電子楽器
110 :プロセッサ
120 :鍵盤
130 :キースキャナ
140 :操作部
150 :スピーカ
160 :通信部
170 :譜面台
200 :情報処理装置
210 :プロセッサ
210a :差分値取得部
210b :情報取得部
210c :出力部
220 :RAM
230 :ROM
232 :レッスンプログラム
240 :操作部
250 :通信部
260 :表示部
270 :音声再生部