<第1実施形態>
図1は、本発明の第1実施形態に係る音楽情報表示装置100のブロック図である。音楽情報表示装置100は、任意の楽曲の各音符の配列を含む音楽情報を表示するための情報処理装置であり、図1に示すように、演算処理装置12と記憶装置14と表示装置22と入力装置24と放音装置26とを具備するコンピュータシステムで実現される。例えば据置型の情報処理装置(パーソナルコンピュータ)や携帯型の情報処理装置(携帯電話機や携帯情報端末)で音楽情報表示装置100は実現される。
演算処理装置12は、記憶装置14に格納されたプログラムPGMを実行することで複数の機能(表示制御部32,編集処理部34,音制御部36)を実現する。なお、演算処理装置12の各機能を複数の集積回路に分散した構成や、専用の電子回路(例えばDSP)が一部の機能を実現する構成も採用され得る。
表示装置22(例えば液晶表示装置)は、演算処理装置12が指示する画像を表示する。入力装置24は、利用者からの指示を受付ける機器(例えばマウス等のポインティングデバイスやキーボード)である。なお、表示装置22と一体に構成されたタッチパネルを入力装置24として採用することも可能である。放音装置26(例えばヘッドホンやスピーカ)は、演算処理装置12が生成した音響信号Sに応じた音波を放射する。
記憶装置14は、演算処理装置12が実行するプログラムPGMや演算処理装置12が使用する各種のデータ(例えば楽曲データD)を記憶する。半導体記録媒体や磁気記録媒体等の公知の記録媒体または複数の記録媒体の組合せが記憶装置14として採用される。
楽曲データDは、第1声部と第2声部とを含む複数の声部(パート)で構成される楽曲を表すデータである。具体的には、楽曲データDは、楽曲を構成する複数の音符の時系列を指定するデータであり、図2に示すように、各音符に対応する複数の単位データUを包含する。第1実施形態の単位データUは、図2に示すように、音符の音楽的な属性(音楽情報)を指定する。具体的には、単位データUは、音高X1と発音期間X2と声部識別子X3とを包含する。音高X1は音符の音高(実際には各音高に付与されたノートナンバ)である。発音期間X2は、音符が発音される時間軸上の期間であり、音符の開始時刻と継続長との組合せ、または音符の開始時刻と終了時刻との組合せで表現される。声部識別子X3は、音符が属する声部を識別するための情報である。例えば楽曲の各声部に一意に付与された番号が声部識別子X3として好適に利用される。
図1の表示制御部32は、楽曲データDの編集のために利用者が確認する図3の音楽情報画面50を表示装置22に表示させる。図3に示すように、音楽情報画面50は、楽譜領域51を含んで構成される。楽譜領域51は、相互に交差する時間軸(横軸)および音高軸(縦軸)が設定されたピアノロール型の座標平面である。
図1の表示制御部32は、楽曲の各音符を表象する音符図形Vを楽譜領域51に配置する。図3に例示された音符図形Vは、矩形状の図像である。音符図形Vは、楽譜領域51内の単位データUに応じた位置に配置される。具体的には、単位データUが指定する音高X1に応じて音高軸方向における音符図形Vの位置が選定され、発音期間X2に応じて時間軸方向における音符図形Vの位置および表示長が選定される。すなわち、音符図形Vは、音高X1と発音期間X2とを視覚的に表現する。また、音符図形Vは、声部毎に相異なる表示態様で表示される。具体的には、単位データUが指定する声部識別子X3に応じた表示態様で音符図形Vは表示される。第1実施形態では、音符図形Vの表示色が声部毎に相違する。
各音符図形Vのうち時間軸方向における始点側の端部には始点接続部WAが配置され、終点側の端部には終点接続部WBが配置される。始点接続部WAは円形状の図像であり、径が音符図形Vの音高軸方向の幅と略同一である。終点接続部WBも始点接続部WAと同様な形状である。始点接続部WAおよび終点接続部WBについても、音符図形Vと同様に、声部毎に(第1声部または第2声部の何れの音符図形Vに付されるかに応じて)相異なる表示色で表示される。
本実施形態では、第1声部の各音符図形Vと第2声部の各音符図形Vとが音高軸と時間軸とを共通にして楽譜領域51内に配置される。すなわち、第1声部の各音符に対応する各音符図形Vの時系列(以下「第1音符列L1」という)と、第2声部の各音符に対応する各音符図形Vの時系列(以下「第2音符列L2」という)とが、共通の楽譜領域51内に配置される。
各音符図形Vの時間軸上での位置関係は発音期間の先後を意味し、各音符図形Vの音高軸上での位置関係は音高の高低(音高差)を意味する。第1実施形態では、複数の声部について各音符の音符図形Vが単一の楽譜領域51に混在して配置されるから、相異なる声部に属する複数の音符について、音高の相互関係や発音期間の相互関係を利用者が直観的および視覚的に把握できるという利点がある。
楽譜領域51には、複数の接続図形Zが配置される。各接続図形Zは、楽曲の複数の声部の各々について、当該声部にて時間軸上で相前後する各音符図形Vを相互に接続する。図3に示すように、接続図形Zは直線状の図像である。共通の声部に属する2個の音符図形Vに着目すると、前方の音符図形Vの終点接続部WBと後方の音符図形Vの始点接続部WAとを相互に連結するように接続図形Zが配置される。すなわち、第1声部の第1音符列L1を構成する各音符図形Vを相互に連結するように接続図形Zが配置され、第2声部の第2音符列L2を構成する各音符図形Vを相互に連結するように接続図形Zが配置される。第1音符列L1の音符図形Vを接続する接続図形Zと第2音符列L2の音符図形Vを接続する接続図形Zとは相異なる表示態様で表示される。第1実施形態では、接続図形Zの表示色が声部毎に相違する。
以上の説明から理解される通り、本実施形態においては、楽曲の共通の声部に属する複数の音符の音符図形Vが接続図形Zで相互に接続される。すなわち、音符図形Vと接続図形Zとが声部毎に纏めて楽譜領域51に配置される。したがって、複数の声部について音符図形Vが楽譜領域51内に混在するにも関わらず、利用者が各音符図形Vを声部毎に容易に区別できる(声部毎に複数の音符の時系列を区別できる)という利点がある。第1実施形態では音符図形Vや接続図形Zの表示色が声部毎に相違するから、利用者が各音符図形Vを声部毎に容易に区別できるという効果は格別に顕著である。
図1の編集処理部34は、楽譜領域51に対する利用者からの指示に応じて各音符の単位データUを編集する。例えば、編集処理部34は、楽譜領域51内の既存の音符図形Vの変更(例えば音符図形Vの位置または長さの変更)が指示された場合には、その音符図形Vに対応する単位データUを指示内容に応じて変更する。音制御部36は、楽曲データDが指定する各音符の演奏音を示す音響信号Sを生成する。音響信号Sは、声部毎に生成した音響信号を相互に加算することで生成される。具体的には、公知のMIDI音源が音制御部36として好適に採用される。
図4は、演算処理装置12が音楽情報画面50を表示する音楽情報表示処理の具体例のフローチャートである。音楽情報表示処理は、例えば、入力装置24に対する利用者からの指示を契機として実行される。演算処理装置12(表示制御部32)は、記憶装置14に記憶された楽曲データDに応じて音符図形Vおよび接続図形Zを楽譜領域51に配置した音楽情報画面50を表示装置22に表示する(S1)。
演算処理装置12(編集処理部34)は、楽譜領域51内の音符図形Vの変更の指示を受付けたか否かを判断し(S2)、音符図形Vの変更の指示を受付けたと判断した場合(S2:YES)は、受付けた指示内容に応じて単位データUを変更する(S3)。例えば、ステップS2で音符図形Vの音高軸方向の移動の指示を受付けた場合は、単位データUのうち音高X1を演算処理装置12は変更する。同様にして、音符図形Vの時間軸方向の移動または伸縮の指示を受付けた場合、演算処理装置12は、楽曲データDのうち当該音符図形Vに対応する単位データUの発音期間X2を指示に応じて変更する。
利用者は、入力装置24を適宜に操作することで、楽譜領域51内の任意の音符図形Vを選択したうえで当該音符図形Vの声部の指定または変更を指示することが可能である。具体的には、利用者は、声部の指定または変更を所望する音符図形Vを選択した後に、入力装置24(例えばキーボード)を操作して変更後の声部に対応する声部識別子X3を入力する。音符図形Vの声部の指定または変更を受付けた場合、演算処理装置12は、楽曲データDのうち当該音符図形Vに対応する単位データUの声部識別子X3を利用者からの指示に応じて更新(設定または変更)する。
演算処理装置12(表示制御部32)は、音楽情報画面50を単位データUの変更内容に応じて更新する(S4)。例えば、演算処理装置12は、楽譜領域51のうち変更後の音高X1または発音期間X2に応じた位置に音符図形Vを移動させて表示する。また、演算処理装置12は、声部識別子X3が変更された音符図形Vを、変更後の声部識別子X3が示す声部の音符図形Vとして表示する。具体的には、音符図形Vを、変更後の声部に対応した表示態様(表示色)で表示し、変更前の声部の音符図形Vに替えて変更後の声部の音符図形Vに接続させる。
演算処理装置12は、音符図形Vの変更の指示を受付けていないと判断した場合は(S2:NO)、ステップS3およびステップS4を実行しないでステップS5に処理を進める。演算処理装置12は、音楽情報表示処理の終了の指示を受付けたか否かを判断する(S5)。例えば、利用者は、入力装置24を操作することで音楽情報表示処理の終了を指示できる。演算処理装置12は、利用者からの指示に応じた音楽情報画面および楽曲データDの更新(S2−S4)を音楽情報表示処理の終了の指示まで繰り返し(S5:NO)、利用者による終了の指示(S5:YES)に応じて音楽情報表示処理を終了する(S5:YES)。
<第2実施形態>
本発明の第2実施形態を以下に説明する。なお、以下に例示する各構成において作用や機能が第1実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
図5は、第2実施形態の音楽情報表示装置100のブロック図である。第2実施形態の音楽情報表示装置100は、第1実施形態と同様の要素に加えて操作判別部38を具備する。操作判別部38は、入力装置24に対する利用者からの操作の種類を判別する。利用者は、楽譜領域51内の任意の地点(以下「指示点」という)を入力装置24に対する操作で指示し、指示点を楽譜領域51内で任意の方向に移動することが可能である。例えば、マウス等のポインティングデバイスを入力装置24として利用する構成では、マウスポインタで指定された指示点がマウスのドラッグ操作で移動され、タッチパネルを入力装置24として利用する構成では、タッチパネルの操作面に対する手指の接触で指定された指示点がスライド操作(操作面に対する接触を維持したまま手指を移動させる操作)で移動される。操作判別部38は、指示点の移動の始点(以下「移動始点」という)P1と終点(以下「移動終点」という)P2との位置に応じて操作の種類を判別する。移動始点P1は、利用者による連続的な操作が開始された時点での指示点の位置に相当し、移動終点P2は、当該操作が終了された時点での指示点の位置に相当する。操作判別部38は、各音符図形Vの接続関係の変更を指示する操作の種類を判別する。
図6および図7は、利用者による操作の種類を操作判別部38が判別する処理のフローチャートである。利用者は、入力装置24を適宜に操作することで、楽譜領域51内の任意の音符図形Vの始点接続部WAまたは終点接続部WBを移動始点P1として指示することが可能である。操作判別部38は、移動始点P1が始点接続部WAおよび終点接続部WBの何れに位置するかを判別し、始点接続部WAに移動始点P1が位置する場合には図6の始点操作時処理を実行する一方、終点接続部WBに移動始点P1が位置する場合には図7の終点操作時処理を実行する。始点操作時処理および終点操作時処理は、例えば、利用者の操作が終了して移動終点P2の位置が確定した段階で実行される。
<始点操作時処理>
移動始点P1が始点接続部WAに位置する場合(図6)、操作判別部38は、移動始点P1に対応する始点接続部WAが他の音符図形Vに接続済であるか否かを判定する(SX)。始点接続部WAが未接続である場合(SX:N0)、移動終点P2が始点接続部WAからみて時間軸上の前方(左側)に位置するか否かを判定する(SA1)。移動終点P2が始点接続部WAの前方に位置する場合(SA1:YES)、操作判別部38は、移動終点P2が他の音符図形Vの未接続の終点接続部WBに位置するか否かを判定する(SA2)。操作判別部38は、移動終点P2が未接続の終点接続部WBに位置する場合(SA2:YES)には利用者による操作を接続操作と判別し(SA4)、移動終点P2が終点接続部WBに位置しない場合(SA2:NO)には利用者による操作を生成操作と判別する(SA5)。他方、移動終点P2が始点接続部WA(移動始点P1)よりも後方に位置する場合、操作判別部38は、利用者による操作を無効操作と判別する(SA4)。無効操作と判別された場合、各音符図形Vの接続関係は変更されない。
接続操作は、時間軸上の位置が相違する音符図形V1と音符図形V2とが未接続の場合に、音符図形V1と音符図形V2とを相互に接続させる操作である。図8では、音符図形V1の未接続(SX:NO)の始点接続部WAに位置する移動始点P1から、音符図形V1の前方に位置する音符図形V2の未接続の終点接続部WBに位置する移動終点P2まで、利用者が指示点を移動した場合が想定されている。以上の場合、移動終点P2は始点接続部WAの前方に位置し(SA1:YES)、かつ、移動終点P2が未接続の終点接続部WBに位置する(SA2:YES)。したがって、操作判別部38は、利用者による操作を接続操作と判別する(SA4)。接続操作と判別された場合、表示制御部32は、図8の部分(b)に例示される通り、音符図形V1の始点接続部WAと音符図形V2の終点接続部WBとを接続する接続図形Zを表示する。したがって、利用者は、音符図形V1(始点接続部WA)に移動始点P1が位置し音符図形V2(終点接続部WB)に移動終点P2を位置するように指示点を移動させることで、音符図形V1と音符図形V2とを接続させる指示が可能である。編集処理部34は、接続操作を受付けると、音符図形V1の声部と同じ声部(図8の例示においては第1声部)を音符図形V2の声部として設定する。すなわち、本実施形態においては、移動始点P1が位置する音符図形V(接続元)の声部が、移動終点P2が位置する音符図形V(接続先)の声部として設定される。
生成操作は、音符図形V1に接続する音符図形V2を楽譜領域51内に新たに配置(生成)する操作である。図9では、音符図形V1の未接続(SX:NO)の始点接続部WAに位置する移動始点P1から、音符図形V1より前方であって他の音符図形Vに位置しない移動終点P2まで、利用者が指示点を移動した場合が想定されている。以上の場合、移動終点P2は始点接続部WA(移動始点P1)の前方に位置し(SA1:YES)、かつ、移動終点P2が未接続の終点接続部WBに位置しない(SA2:NO)。したがって、操作判別部38は、利用者による操作を生成操作と判別する(SA5)。生成操作と判別された場合、表示制御部32は、図9の部分(b)に例示される通り、音符図形V2を生成して表示する。音符図形V2は、移動終点P2に応じた位置に配置される。具体的には、音符図形V2の音高軸上の位置は、移動終点P2と等しい。また、音符図形V2の始点接続部WAの時間時上の位置は移動終点P2と等しい。音符図形V2の終点側の端部は音符図形V1の始点側の端部と時間軸上で連続する。また、生成される音符図形V2の終点接続部WBと音符図形V1の始点接続部WAとを接続する接続図形Zが表示される。編集処理部34は、生成操作を受付けると、新たに配置された音符図形V2に対応する単位データUを楽曲データDに追加する。音符図形V2の声部は、移動始点P1が位置する音符図形V1の声部と同じである。
他方、移動始点P1に位置する始点接続部WAが接続済である場合(SX:YES)、操作判別部38はステップSB1に処理を進める。操作判別部38は、ステップSB1において、移動始点P1が位置する始点接続部WAに接続する音符図形V(すなわち、移動始点P1が位置する音符図形Vと接続する他の音符図形V)の終点接続部WBと移動終点P2との位置関係を判定する。具体的には、操作判別部38は、終点接続部WBより移動終点P2が時間軸上の後方(右側)に位置するか否かを判断する(SB1)。終点接続部WBより後方に移動終点P2が位置する場合(SB1:YES)、操作判別部38は、移動終点P2が他の音符図形Vの始点接続部WAに位置するか否かを判定する(SB2)。操作判別部38は、移動終点P2が音符図形Vの始点接続部WAに位置する場合(SB2:YES)には利用者による操作を変更操作と判別し(SB3)、移動終点P2が始点接続部WAに位置しない場合(SB2:NO)には利用者による操作を解除操作と判別する(SB4)。また、操作判別部38は、移動始点P1が位置する始点接続部WAに接続した終点接続部WBより前方に移動終点P2が位置する場合(SB1:NO)においても、利用者による操作を解除操作と判別する。
変更操作は、音符図形V1と音符図形V3とが接続済である場合に、音符図形V1と音符図形V3との接続を解除し、音符図形V1と未接続であった音符図形V2と音符図形V1とを接続させる操作である。図10では、音符図形V2の始点接続部WAに位置する移動始点P1から音符図形V2の始点接続部WAに位置する移動終点P2まで、利用者が指示点を移動した場合が想定されている。以上の場合、移動終点P2は音符図形V1の終点接続部WBからみて時間軸上で後方に位置し(SB1:YES)、かつ、移動終点P2が音符図形V2の始点接続部WAに位置する(SB2:YES)。したがって、操作判別部38は、利用者による操作を変更操作と判別する(SB3)。変更操作と判別された場合、表示制御部32は、図10の部分(b)に例示される通り、音符図形V1の終点接続部WBと音符図形V3の始点接続部WAとを接続する接続図形Zを消去し、音符図形V1の終点接続部WBと音符図形V2の始点接続部WAとを接続する接続図形Zを表示する。したがって、利用者は、音符図形V1が接続している音符図形V3に移動始点P1が位置し、音符図形V2に移動終点P2が位置するように指示点を移動させることで、音符図形V1と音符図形V3との接続を解除するとともに、音符図形V1と音符図形V2とを接続させる指示が可能である。編集処理部34は変更操作を受付けると、移動始点P1が位置する音符図形V1の声部を維持する一方で、音符図形V3の声部を未設定にする。すなわち、音符図形V3は何れの声部にも属さないことになる。また、編集処理部34は、音符図形V2の声部を音符図形V1と同じ声部に設定する。
解除操作は、音符図形V1と音符図形V2とが相互に接続済である場合に、音符図形V1と音符図形V2との接続を解除させる操作である。図11の部分(a)では、音符図形V2の接続済(SX:YES)の始点接続部WAに位置する移動始点P1から、音符図形V1の終点接続部WBの後方であって他の音符図形Vの始点接続部WAに位置しない移動終点P2まで、利用者が指示点を移動した場合が想定されている。以上の場合、移動終点P2は音符図形V1の終点接続部WBからみて後方に位置し(SB1:YES)、かつ、移動終点P2が他の音符図形Vの始点接続部WAに位置しない(SB2:NO)。したがって、操作判別部38は、利用者による操作を解除操作と判別する(SB4)。一方、図11の部分(b)では、音符図形V2の接続済(SX:YES)の始点接続部WAに位置する移動始点P1から、音符図形V1の終点接続部WBから見て前方に位置する移動終点P2まで、利用者が指示点を移動した場合が想定されている。以上の場合、移動終点P2は音符図形V1の終点接続部WBからみて後方に位置しない(SB1:NO)。したがって、操作判別部38は、利用者による操作を解除操作と判別する(SB4)。解除操作と判別された場合、表示制御部32は、図11の部分(c)に例示される通り、音符図形V1の終点接続部WBと音符図形V2の始点接続部WAとを接続する接続図形Zを消去する。したがって、利用者は、音符図形V1に移動始点P1を位置させ、音符図形Vが存在しない領域に移動終点P2を位置させることで、音符図形V1と音符図形V2との接続を解除する指示が可能である。編集処理部34は、音符図形V1と音符図形V2との接続を解除する解除操作を受付けると、移動始点P1が位置する音符図形V1の声部を第1声部に維持する一方で、音符図形V2の声部を未設定にする。すなわち、音符図形V2は何れの声部にも属さないことになる。移動始点P1が始点接続部WAに位置する場合の動作は以上の通りである。
<終点操作時処理>
移動始点P1が任意の音符図形Vの終点接続部WBに位置する場合、操作判別部38は、前述の通り図7の終点操作時処理を実行する。終点操作時処理を開始すると、操作判別部38は、移動始点P1に対応する終点接続部WBが他の音符図形Vに接続済であるか否かを判定する(SY)。終点接続部WBが未接続である場合(SY:N0)、移動終点P2が終点接続部WBからみて時間軸上の後方(右側)に位置するか否かを判定する(SC1)。移動終点P2が終点接続部WBの後方に位置する場合(SC1:YES)、操作判別部38は、移動終点P2が他の音符図形Vの未接続の始点接続部WAに位置するか否かを判定する(SC2)。操作判別部38は、移動終点P2が未接続の始点接続部WAに位置する場合(SC2:YES)には利用者による操作を接続操作と判別し(SC4)、移動終点P2が始点接続部WAに位置しない場合(SC2:NO)には利用者による操作を生成操作と判別する(SC5)。移動終点P2が終点接続部WBよりも前方に位置する場合(SC3)、利用者による操作を無効操作と判別する(SC3)。無効操作と判別された場合、各音符図形Vの接続関係は変更されない。
具体的には、図12に例示すように、移動始点P1が音符図形V1の未接続(SY:NO)の終点接続部WBに位置し、移動終点P2が当該終点接続部WBより後方に位置し(SC1:YES)、かつ、音符図形V2の未接続の始点接続部WAに位置する(SC2:YES)場合、操作判別部38は、利用者による操作を接続操作と判別する(SC4)。接続操作と判別された場合、表示制御部32は、図12の部分(b)に例示される通り、音符図形V1の終点接続部WBと音符図形V2の始点接続部WAとを接続する接続図形Zを表示する。一方、図13に例示すように、移動始点P1が音符図形V1の未接続(SY:NO)の終点接続部WBに位置し、移動終点P2が当該終点接続部WBより後方に位置し(SC1:YES)、かつ、音符図形V2の未接続の始点接続部WAに位置しない(SC2:NO)場合は、操作判別部38は、利用者による操作を生成操作と判別する(SC5)。生成操作と判別された場合、表示制御部32は、図13の部分(b)に例示される通り、音符図形V1に接続する音符図形V2を生成して表示する。生成された音符図形V2の始点接続部WAは、移動終点P2に位置する。音符図形V2は、移動終点P2に応じた位置に配置される。具体的には、音符図形V2の音高軸上の位置は、移動終点P2と等しい。また、音符図形V2の始点接続部WAの時間時上の位置は移動終点P2と等しい。音符図形V2の始点側の端部は音符図形V1の終点側の端部と時間軸上で連続する。
他方、移動始点P1が終点接続部WBに位置する場合(図7)であって、終点接続部WBが接続済である場合(SY:YES)、操作判別部38はステップSD1に処理を進める。操作判別部38は、移動始点P1が位置する終点接続部WBに接続する音符図形Vの始点接続部WAより移動終点P2が時間軸上の前方(左側)に位置するか否かを判断する(SD1)。始点接続部WAより前方に移動終点P2が位置する場合(SD1:YES)、操作判別部38は、移動終点P2が他の音符図形Vの終点接続部WBに位置するか否かを判定する(SD2)。操作判別部38は、移動終点P2が他の音符図形Vの始点接続部WAに位置する場合(SD2:YES)には利用者による操作を変更操作と判別し(SD3)、移動終点P2が終点接続部WBに位置しない場合(SD2:NO)には利用者による操作を解除操作と判別する(SD4)。また、操作判別部38は、移動始点P1が位置する終点接続部WBに接続する始点接続部WAより後方に移動終点P2が位置する場合(SD1:NO)においても、利用者による操作を解除操作と判別する。
具体的には、図14に例示すように、移動始点P1が接続済の終点接続部WBに位置する場合であって(SY:YES)、移動終点P2が音符図形V1の始点接続部WAからみて時間軸上で前方に位置し(SD1:YES)、かつ、移動終点P2が音符図形V2の終点接続部WBに位置する(SD2:YES)場合は、操作判別部38は、利用者による操作を変更操作と判別する(SD3)。変更操作と判別された場合、表示制御部32は、図14の部分(b)に例示される通り、音符図形V1の始点接続部WAと音符図形V3の終点接続部WBとを接続する接続図形Zを消去し、音符図形V1の始点接続部WAと音符図形V2の終点接続部WBとを接続する接続図形Zを表示する。一方、図15の部分(a)に示すように、移動始点P1が接続済の終点接続部WBに位置する場合であって(SY:YES)、移動終点P2が音符図形V1の始点接続部WAからみて時間軸上で前方に位置し(SD1:YES)、かつ、移動終点P2が他の音符図形Vの終点接続部WBに位置しない(SD2:NO)場合は、操作判別部38は、利用者による操作を解除操作と判別する(SD4)。また、図15の部分(b)に示すように、移動終点P2が音符図形V1の終点接続部WBからみて前方に位置しない(SD1:NO)場合であっても、操作判別部38は、利用者による操作を解除操作と判別する。解除操作と判別された場合、表示制御部32は、図15の部分(c)に例示される通り、音符図形V1の始点接続部WAと音符図形V2の終点接続部WBとを接続する接続図形Zを消去する。
以上の説明から理解される通り、操作判別部38は、複数の音符図形Vのうち時間軸上の位置が相違する音符図形V1と音符図形V2とが相互に未接続であって、移動始点P1が音符図形V1(始点接続部WAまたは終点接続部WB)に位置するとともに移動終点P2が音符図形V2(終点接続部WBまたは始点接続部WA)に位置する場合に、利用者による操作を接続操作と判別(SA4,SC4)する。本実施形態によれば、利用者は、音符図形V1と音符図形V2との接続を容易に連想させる直観的かつ簡便な操作で各音符図形Vの接続を指示できる。
また、本実施形態によれば、操作判別部38は、複数の音符図形Vうち音符図形V1(始点接続部WAまたは終点接続部WB)に移動始点P1が位置し、楽譜領域51のうち音符図形Vの存在しない領域(終点接続部WBまたは始点接続部WAが存在しない領域)に移動終点P2が位置する場合に、利用者による操作を生成操作と判別(SA5,SC5)する。本実施形態によれば、利用者は、所望の音高の1個の音符を追加したうえで発音期間と声部とを個別に指定する場合と比較して簡便な操作で、音高と声部と発音期間が指定された音符の追加を指示することが可能である。
以上の説明から理解される通り、操作判別部38は、複数の音符図形Vのうちの音符図形V1が、音符図形V1とは時間軸上の位置が相違する音符図形V2と未接続であり、音符図形V1とは時間軸上の位置が相違する音符図形V3と接続済であって、移動始点P1が音符図形V3(始点接続部WAまたは終点接続部WB)に位置するとともに移動終点P2が音符図形V2(始点接続部WAまたは終点接続部WB)に位置する場合に、利用者による操作を変更操作と判別する(SB3,SD3)。したがって、音符図形V1の接続先を音符図形V3から音符図形V2に変更させる処理を容易に連想させる直観的かつ簡便な操作で音符図形V1の接続先の変更を指示することが可能である。
また、本実施形態によれば、操作判別部38は、複数の音符図形Vのうち時間軸上の位置が相違する音符図形V1と音符図形V2とが相互に接続済であり、移動始点P1が音符図形V1(始点接続部WAまたは終点接続部WB)に位置するとともに移動終点P2が楽譜領域51のうち音符図形Vの存在しない領域(始点接続部WAまたは終点接続部WBが存在しない領域)に位置する場合に、利用者による操作を解除操作と判別(SB4,SD4)する。したがって、利用者は、既存の接続の解除を容易に連想させる直観的かつ簡便な操作で解除を指示することが可能である。
以上の通り、本実施形態においては、利用者による操作に応じて楽譜領域51内で移動する指示点の移動始点P1および移動終点P2の位置に応じて各音符図形Vの接続関係が変更されるから、例えば接続関係の変更対象となる2個の音符図形Vの選択と各音符図形Vの接続関係の変更内容とを利用者が個別に指示する必要がある構成と比較して、各音符図形Vの接続関係を簡便な操作で変更できるという利点がある。また、複数の音符図形Vの各々には、時間軸方向で始点側に位置する始点接続部WAと終点側に位置する終点接続部WBとが設定される。したがって、指示点の移動始点P1および移動終点P2が位置するべき楽譜領域51内の領域を利用者が認識し易いという利点がある。
<第3実施形態>
第1実施形態や第2実施形態では、利用者が楽譜領域51内の各音符図形Vを指定して音符毎に声部を指示する構成を例示した。第3実施形態の演算処理装置12は、楽曲を構成する各音符の声部を自動的に設定する声部設定処理を実行する。図16は、声部設定処理のフローチャートである。声部設定処理は、声部が設定されていない複数の音符図形Vが楽譜領域51に配列された状態において、例えば、入力装置24に対する利用者からの指示を契機として実行される。
声部設定処理が開始されると、編集処理部34は、楽曲の複数の音符のうちの1個の音符(以下「注目音符」という)を選択する(SE1)。注目音符は、ステップSE1の実行毎に変更される。具体的には、楽曲の複数の音符の各々が楽曲内での発音の順番で順次に注目音符として選択される。例えば、初回のステップSE1においては、楽曲の最先の音符が注目音符として選択され、2回目以降の各回のステップSE1においては、既に注目音符として選択済の音符を除いた複数の音符のうち最先の音符が注目音符として選択される。
編集処理部34は、注目音符と同じ声部に属し得る音符が楽曲内に存在するか否かを判定する(SE2)。具体的には、編集処理部34は、ステップSE2において、注目音符の音符図形Vと比較して発音時点が時間軸上で前方(左側)に位置し、且つ、発音期間が注目音符と重複しない音符図形Vのうち、終点接続部WBが未接続の音符図形Vが存在するか否かを判定する。注目音符と声部が共通し得る音符が存在しない場合(SE2:NO)、編集処理部34は、現段階の注目音符とは別個の音符(注目音符の直後の音符)を新たな注目音符として選択したうえでステップSE2の判定を実行する。したがって、ステップSE2の判定結果が否定である音符の声部は未設定のまま維持される。他方、注目音符と声部が共通し得る音符が存在する場合(SE2:YES)、編集処理部34は、当該音符(以下「接続先音符」という)の声部と注目音符の声部とを共通させるための処理を実行する(SE3,SE4)。具体的には、編集処理部34は、楽曲データDのうち注目音符の単位データUの声部識別子X3と接続先音符の単位データUの声部識別子X3とを共通の内容に設定する。接続先音符について既に声部が設定されている場合には、注目音符の声部識別子X3が接続先音符の声部識別子X3と共通の内容に更新され、接続先音符について声部が設定されていない場合には、注目音符の声部識別子X3と接続先音符の声部識別子X3とが、新たな声部を指定する情報に更新される。
ところで、注目音符と声部が共通し得る複数の音符(以下「接続候補」という)が存在する場合がある。注目音符について複数の接続候補が存在する場合、編集処理部34は、複数の接続候補のうち注目音符との音楽的な関係(例えば音符間の音高や発音期間の関係)に応じた1個の音符を接続先音符として選択する。例えば、楽曲内で共通の声部に属する各音符は発音期間や音高が相互に近接するという概略的な傾向がある。以上の傾向を考慮して、第3実施形態の編集処理部34は、複数の接続候補のうち楽譜領域内での注目音符の音符図形との距離が最も短い接続候補を接続先音符として選択する。すなわち、例えば、注目音符と音高が最も近い接続候補や、発音期間の終点が注目音符の発音期間の始点に最も近い接続候補が、接続先音符として選択される。他方、注目音符と声部が共通し得る音符が1個である場合、当該音符が接続先音符として確定する。
注目音符の声部が設定されると、表示制御部32は、接続候補の音符図形Vと注目音符の音符図形Vとを接続する接続図形Zを表示し、ステップSE3での更新後の声部識別子X3に応じて音符図形Vの表示態様を更新する(SE4)。編集処理部34は、楽曲の全部の音符についてステップSE1からステップSE4の処理を繰り返す(SE5:NO)。楽曲の全部の音符について以上の処理が完了すると(SE5:YES)、図16の声部設定処理は終了する。
図17から図20は、声部設定処理の具体例の説明図である。図17に例示される通り、声部が未設定である5個の音符図形V(V1〜V5)が楽譜領域51に配置された状態で声部設定処理が開始された場合を想定する。声部設定処理を開始すると、編集処理部34は、楽曲内で最先に位置する音符図形V1の音符を注目音符として選択する(SE1)。音符図形V1の音符より発音期間の始点が時間軸上で前方に位置する音符図形Vは存在しないから(SE2:NO)、編集処理部34は、音符図形V1に替えて音符図形V2の音符を注目音符として選択する(SE1)。音符図形V1の発音点は、音符図形V2の発音期間の始点より時間軸上で前方に位置するが、音符図形V1と音符図形V2とは、発音期間が相互に重複するため、同じ声部に属することができない。したがって、音符図形V2の音符を注目音符とした状態ではステップSE2の判定結果は否定となり、直後の音符図形V3の音符が新たな注目音符として選択される。
音符図形V3の音符については、音符図形V1および音符図形V2が接続候補に該当する(SE2:YES)。編集処理部34は、音符図形V1および音符図形V2のうち、音符図形V3との距離が最小である音符図形V2を選択し、音符図形V2の音符と音符図形V3の音符とを共通の声部に設定する(SE3)。現段階で音符図形V2および音符図形V3の声部は、未設定であるため、他の音符が属さない声部が設定される。また、表示制御部32は、図18に示すように、音符図形V2と音符図形V3とを接続する接続図形Zを表示するとともに、音符図形V2と音符図形V3との表示態様(表示色)を更新後の声部に応じて変更する(SE4)。
音符図形V3の直後の音符図形V4が注目音符として選択された状態では、音符図形V1の音符が接続先音符として選択される。音符図形V2は、音符図形V4の発音期間の前方に位置するが、終点接続部WBが音符図形V3と接続済であるため、音符図形V4の接続先音符には該当しない。編集処理部34は、音符図形V1の音符と音符図形V4の音符とを共通の声部(他の音符が属さない声部)に設定する。また、表示制御部32は、図19に示すように、音符図形V1と音符図形V4とを接続図形Zで接続するとともに各音符図形Vの表示態様を更新後の声部に応じた態様に更新する。
また、音符図形V3の直後の音符図形V4が注目音符として選択された状態では音符図形V3の音符が接続先音符に該当する。音符図形V3には声部が既に設定されている。したがって、編集処理部34は、音符図形V5の声部を音符図形V3の声部と同じ内容に更新する。表示制御部32は、図20に示すように、音符図形V3と音符図形V5とを接続図形Zで接続するとともに、音符図形V5の表示態様を音符図形V2および音符図形V3と同じ表示態様に変更する。
以上の通り、第3実施形態においては、編集処理部34が声部設定処理を実行することで、楽曲を構成する各音符の声部が設定される。したがって、例えば楽曲を構成する各音符の声部を利用者が個別に選択する構成と比較して、各音符の声部を設定するための作業が簡略化される。
<変形例>
以上に例示した形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は適宜に併合され得る。
(1)以上の各形態において、楽譜領域51に配置された各音符図形Vの近傍に、当該音符図形Vが属する声部の名称を表示してもよい。例えば、図21に例示するように、声部の名称を示す文字列Nを、当該声部の音符図形Vの近傍に表示することが考えられる。以上の構成によれば、音符図形Vが属する声部の名称が当該音符図形Vの近傍に配置されるため、利用者は当該音符図形Vが何れの声部に属するかを直感的に把握することができる。
(2)以上の各形態において、楽曲の各音符の演奏音を、音制御部36が声部毎に個別に再生することも可能である。例えば、図22に例示される通り、利用者からの指示を受付ける再生コントローラCが声部毎に表示装置22に表示され、任意の声部の再生コントローラCに対する利用者からの指示に応じて当該声部の演奏音が再生される。また、表示制御部32は、各声部の再生位置を指示する再生カーソルGを再生中の音符図形V上に表示し、再生の進行とともに再生カーソルGを移動させる。以上の構成によれば、各声部が個別に再生されるため、利用者は楽曲の演奏音を声部毎に確認することができる。
(3)以上の各形態において、音制御部36が音響信号Sに各種の音響特性(音響効果)を付加することも可能である。例えば、音制御部36は、残響効果を付加する処理(リバーブ処理)や音の強度の最大値と最小値との差を圧縮する処理(コンプレス処理)を音響信号Sに対して実行する。また、以上の構成において、付加する音響特性は、声部毎(音響信号S毎)に個別に選択可能としてもよい。例えば、図23に示すように、利用者からの指示を受付ける属性コントローラFを声部毎に配置し、任意の声部の属性コントローラFに対する利用者からの指示に応じて、当該声部に付加される音響特性の種類が選択される。
(4)楽譜領域51内に配置される各要素の表示/非表示を利用者からの指示に応じて声部毎に個別に切替える構成も採用され得る。例えば前掲の図23には、属性コントローラFの表示/非表示と音符(音符図形V,接続図形Z)の表示/非表示とを利用者が声部毎に個別に指示するための編集ボタンJが図示されている。表示制御部32は、編集ボタンJに対する操作で属性コントローラFの表示が指示された声部について属性コントローラFを表示する一方、非表示が指示された声部の属性コントローラFの表示を消去する。また、表示制御部32は、音符の表示が指示された声部について音符図形Vおよび接続図形Zを表示する一方、音符の非表示が指示された声部については音符図形Vおよび接続図形Zの表示を消去する。なお、音符の非表示が指示された声部について属性コントローラFも自動的に非表示とする構成も好適である。
なお、以上の説明では、音符図形Vと接続図形Zとについて一括的に表示/非表示を切替えたが、音符図形Vおよび接続図形Zの各々について個別に表示/非表示を切替える構成も採用され得る。例えば、音符図形Vの表示を維持したまま接続図形Zの表示/非表示を利用者からの指示に応じて切替える構成が好適である。以上の構成によれば、多数の音符図形Zが楽譜領域51に配置された状況(例えば声部の総数が多い場合)でも、接続図形Zを一時的に非表示に設定することで各声部の音符図形Vの配列を利用者が容易に視認できるという利点がある。なお、各音符図形Vの視認性を確保するという観点からは、各接続図形Zを半透明の画像とした構成も好適である。また、接続図形Zの表示態様(通常表示/半透明表示/非表示)を利用者からの指示に応じて切替えることも可能である。
(5)前述の第2実施形態では、音符図形Vが存在しない領域に移動終点P2が位置する場合に利用者による操作を生成操作と判別したが、以上の場合に加えて、他の音符図形Vと接続済の音符図形Vに移動終点P2が位置する場合にも、利用者による操作を生成操作と判別し得る。図24では、音符図形V3の始点接続部WAに位置する移動始点P1から、音符図形V3からみて時間軸上で前方に配置された音符図形V2(始点接続部WA)に位置する移動終点P2まで、利用者が指示点を移動した場合が想定されている。図24の部分(a)に示すように、移動終点P2が位置する音符図形V2は音符図形V1と接続済である。以上の場合、操作判別部38は、音符図形Vに移動終点P2が位置しない場合と同様に、利用者による操作を生成操作と判別する。また、表示制御部32は、移動終点P2に応じた位置に音符図形V4を生成する。
(6)以上の各形態においては、楽譜領域51に新たに配置される音符図形Vは、楽譜領域51に既に配置されている音符図形V(新たな音符図形Vの声部と異なる声部の音符図形V)に重なり得る。したがって、新たな音符図形Vにより既存の音符図形Vが隠れてしまうという問題がある。以上の事情を考慮して、新たな音符図形Vの背後に位置する既存の音符図形Vを視覚的に確認できるように新たな音符図形Vを表示する。例えば、背後の既存の音符図形Vに対して音高軸の方向にずれた位置に(すなわち、各音符図形Vが部分的にのみ重なるように)、新たな音符図形Vを配置する。例えば、図24に示す変形例において、新たに配置する音符図形V4が既存の音符図形V2に重なる場合を想定する。以上の場合において、表示制御部32は、図24の部分(b)に示すように、音符図形V2の一部が利用者に視認できるように、音符図形V4を音符図形V2に重ねて配置する。以上の構成によれば、新たに生成される音符図形Vにより配置済みの音符図形Vが隠れてしまうことが防止される。また、図24の部分(b)に例示するように、新たな音符図形V(音符図形V4)の音高軸方向の幅を既存の音符図形Vと比較して小さくして表示する構成も好適である。
(7)上述した第2実施形態において、表示制御部32は、生成操作が付与された場合に、移動終点P2に応じた位置に音符図形Vを生成した。以上の構成においては、移動終点P2の位置が確定した後でなければ、新たに配置される音符図形Vが楽譜領域51内の何れの領域に配置されるかを利用者は認識できない。以上の事情を考慮して、例えば図25に示すように、指示点が移動始点P1から移動終点P2に移動している期間(すなわち移動終点P2が未確定の期間)に、指示点に応じた位置に仮図形Hを表示してもよい。例えば、仮図形Hは音符図形Vとは異なる表示態様(図25の例では外縁が破線)で表示される。仮図形Hは、移動中の指示点に移動終点P2が位置したと仮定した場合に生成される音符図形Vを認識可能な図形である。具体的には、表示制御部32は、移動終点P2が確定し、操作判別部38が利用者の操作を生成操作と判別した場合、仮図形Hが配置されていた領域に仮図形Hに替えて音符図形Vを表示する。以上の構成によれば、移動終点P2の確定前に、生成操作で追加される音符図形Vの位置を、利用者が移動終点P2の確定前に把握できるという利点がある。
(8)前述の各形態では、各音符の単位データUの声部識別子X3で当該音符の声部を指定したが、例えば、各音符の単位データUの声部識別子X3が、当該音符と共通の声部に属する直後の音符を指定する構成も採用され得る。
(9)前述の各形態では、楽曲データDが指定する各音符の演奏音の音響信号Sを生成したが、例えば音声合成に適用される合成データの内容を音楽情報として表示装置22に表示する場合にも本発明は適用される。合成データは、前述の各形態の楽曲データDと同様に、各音符の単位データUの時系列で構成され、各単位データUは、音高X1と発音期間X2と声部識別子X3とに加えて、発音内容を示す発音文字(歌詞)を指定する。
(10)編集処理部34が実行する声部設定処理(図16)の内容は、上述の第3実施形態の例示に限られない。例えば、声部設定処理のステップSE1において、編集処理部34は、楽曲内での発音の順番で楽曲の各音符から注目音符を順次に選択する構成としたが、各音符を注目音符として選択する順番は適宜に変更される。例えば、楽曲内での発音が遅い順番で各音符を注目音符として選択してもよい。また、楽曲内での音高が高い順番または低い順番で各音符を注目音符として選択することも可能である。
また、第3実施形態で例示した声部設定処理のステップSE3においては、接続候補と注目音符との間の音高や発音期間の関係(音符間の音楽的な関係)に応じて複数の接続候補から接続先音符を選択したが、接続先音符の選択に加味される音楽的な関係は前述の例示に限定されない。例えば、第3実施形態では、楽譜領域51内での注目音符との距離が最小となる接続候補を接続先音符として選択したが、注目音符との距離が2番目に近い接続候補を接続先音符として選択することも可能である。
音声設定処理の結果として得られる声部の分類(各声部に属する音符の配列)は、声部設定処理に適用される条件(以下「声部設定条件」という)に応じて相違し得る。例えば、注目音符の選択の条件(順番)や接続先音符の選択の条件を変更すれば、各声部に属する音符の組合せ(すなわち接続図形Zで相互に接続される各音符の配列)も変化し得る。以上の事情を考慮すると、相異なる声部設定条件のもとで実行された声部設定処理の結果を選択候補として提示したうえで利用者に選択させる構成も好適である。声部設定条件は、前述の説明から理解される通り、注目音符の選択の条件(順番)や接続先音符の選択の条件である。接続先音符の選択の条件は、接続先音符の選択時に加味される音楽的な関係の種類(例えば音高に着目するのか発音期間に着目するのか)のほか、その音楽的な関係を規定する具体的な条件(例えば注目音符との距離が最小となる接続候補を選択するのか注目音符との距離が2番目に近い接続候補を選択するのか)を包含し得る。
具体的には、図26に例示される通り、複数の選択ボタンKが楽譜領域51とともに表示装置22に表示される。各選択ボタンKは、相異なる複数の声部設定条件(候補1,候補2)の何れかを利用者が選択するための操作子の画像である。図26の部分(A)の例示のように「候補1」の操作ボタンKが指示された状態では、第1声部設定条件を適用した声部設定処理で各音符を声部毎に分類した結果(声部内の各音符の接続関係)が楽譜領域51に表示される。他方、図26の部分(B)の例示のように「候補2」の操作ボタンKが指示された状態では、第2声部設定条件を適用した声部設定処理で各音符を声部毎に分類した結果が楽譜領域51に表示される。図26から理解される通り、第1声部設定条件と第2声部設定条件とでは条件内容が相違するため、「候補1」の操作ボタンKが指示された状態(部分(A))と「候補2」の操作ボタンKが指示された状態(部分(B))とでは声部毎の各音符の配列が相違する。利用者が選択の確定を指示すると、各音符の分類は、確定の指示の時点で選択されている声部設定条件を適用した声部設定処理の結果に確定される。