電子音楽装置およびその制御方法を実現するためのプログラム
【課題】大まかなタッチ操作で簡単に楽譜入力を行うことが可能となる電子音楽装置と制御方法を実現するためのプログラムを提供する。
【解決手段】ユーザが、五線譜2a1上の1小節目の1拍目A4辺りをタッチするとタッチ位置に最も近いグリッドが判定され、最寄りのグリッドの先頭に位置する目盛りの上にカーソルCが表示され音符が入力できることを知らせる。このとき、タッチ位置の音高が鍵盤2a2の中央あるいは中央付近に来るように表示鍵域が左/右に自動的にスクロールする。次に入力したい音高A4,C5,E5に対応する鍵を指で押さえると、当該鍵の色が変わり、その指を離すと破線で描かれたカーソルCの位置に対応する五線譜2a1上の位置に指定された音高の音符が入力される。指を離す前に五線譜2a1上を再度タッチしてカーソルCの位置を動かすと、入力音符の音符長も指定できる。音符を入力後カーソルCは自動的に1目盛り分進む。
【解決手段】ユーザが、五線譜2a1上の1小節目の1拍目A4辺りをタッチするとタッチ位置に最も近いグリッドが判定され、最寄りのグリッドの先頭に位置する目盛りの上にカーソルCが表示され音符が入力できることを知らせる。このとき、タッチ位置の音高が鍵盤2a2の中央あるいは中央付近に来るように表示鍵域が左/右に自動的にスクロールする。次に入力したい音高A4,C5,E5に対応する鍵を指で押さえると、当該鍵の色が変わり、その指を離すと破線で描かれたカーソルCの位置に対応する五線譜2a1上の位置に指定された音高の音符が入力される。指を離す前に五線譜2a1上を再度タッチしてカーソルCの位置を動かすと、入力音符の音符長も指定できる。音符を入力後カーソルCは自動的に1目盛り分進む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多点認識機能を備えたタッチパネルディスプレイを備え、該タッチパネルディスプレイを用いて楽譜入力を行うことができる電子音楽装置およびその制御方法を実現するためのプログラムに関する。
【背景技術】
【0002】
楽曲制作用のDAW(digital audio workstation)や楽譜作成用のソフトウェアをPC(パーソナルコンピュータ)にインストールし、PC上での楽曲制作あるいは楽譜作成は、一般的に行なわれている(たとえば、特許文献1参照)。
【0003】
このようなPC上での楽曲制作や楽譜作成においては、(i )外出先で手軽に音符などを打ち込むことができない、(ii)マウスやキーボードを使って1つずつ音符を入力するのは煩雑、(iii )MIDI(musical instrument digital interface)キーボードをPCに接続してMIDIデータを入力するのは、機材が大掛かりになる上、マウスとMIDIキーボードの使い分けが面倒、などの問題があった。
【0004】
これらの問題に対処するため、タッチパネルディスプレイを備えた携帯端末を使用して楽曲制作あるいは楽譜作成を行なう技術もある。携帯端末であれば、(i )持ち運びでき、(ii)タッチパネルで直感的に操作でき、(iii )入力用の装置(マウスやキーボードなど)も不要であるので、PC上での楽曲制作や楽譜作成における上記問題は解消される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−75472号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記従来の技術では、PC上で行なっていた操作などをそのままタッチパネル上での操作などに置き換えただけであるので、操作の煩雑さは完全には解消されない。たとえば、多数のボタン(8分音符や4分音符などが割り当てられたボタン)が配置されている音符長設定パレットからいずれか1つのボタンを選んだり、譜面上で音符を入力したい位置を正確に指定したりなど、従来マウスを用いて行なっていた細かい作業をタッチ操作で行うのは大変である。
【0007】
本発明は、この点に着目してなされたものであり、大まかなタッチ操作で簡単に楽譜入力を行うことが可能となる電子音楽装置およびその制御方法を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、請求項1に記載の電子音楽装置は、多点認識機能を備えたタッチパネルディスプレイと、前記タッチパネルディスプレイに譜面画像および楽器画像を表示する表示手段と、ユーザが前記タッチパネルディスプレイ上に表示された譜面画像をタッチしたときに、そのタッチ位置に基づいて、該タッチ位置が示す譜面画像上の音高、および音符の時間方向の入力位置を判定する第1の判定手段と、前記第1の判定手段によって判定された音高に応じて、前記タッチパネルディスプレイ上に表示された楽器画像の表示状態を変動させるように前記表示手段を制御する制御手段と、ユーザが前記制御手段によって表示状態の変動された楽器画像をタッチしたときに、そのタッチ位置の音高を判定する第2の判定手段と、前記第2の判定手段によって判定された音高の音符を、前記第1の判定手段によって判定された時間方向の入力位置に入力する入力手段とを有することを特徴とする。
【0009】
請求項2に記載の電子音楽装置は、請求項1の電子音楽装置において、前記入力手段によって音符が入力されたときに、前記音符の時間方向の入力位置を次の入力位置に進行させる進行手段をさらに有することを特徴とする。
【0010】
請求項3に記載の電子音楽装置は、請求項1または2の電子音楽装置において、ユーザが前記楽器画像をタッチしながら、前記譜面画像上、現在の音符の時間方向の入力位置である第1の位置とは異なる第2の位置をタッチすると、前記第1の位置と前記第2の位置との間隔に応じた音符長を、前記入力手段によって入力される音符の音符長として設定する設定手段をさらに有することを特徴とする。
【0011】
上記目的を達成するため、請求項4に記載のプログラムは、請求項1と同様の技術的思想によって実現できる。
【発明の効果】
【0012】
請求項1または4に記載の発明によれば、ユーザがタッチパネルディスプレイ上に表示された譜面画像をタッチしたときに、そのタッチ位置に基づいて、該タッチ位置が示す譜面画像上の音高、および音符の時間方向の入力位置が判定され、該判定された音高に応じて、前記タッチパネルディスプレイ上に表示された楽器画像の表示状態が変動されるので、つまり、ユーザが譜面画像の大まかな位置をタッチするだけで、楽器画像の表示状態が変動されるので、その表示状態として、たとえば表示領域を採った場合には、楽器画像の表示領域は、ユーザが自分で変動させなくても、音高を設定したい位置に自動的に変動する。そして、表示領域が自動的に変動した楽器画像をタッチするだけで、そのタッチ位置の音高が判定され、該判定された音高の音符が前記判定された時間方向の入力位置に入力されるので、ユーザは譜面画像上の細かいタッチ操作で音高を指定しなくてもよくなり、大まかなタッチ操作で簡単に楽譜入力を行うことが可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
【図2】動作モードとして楽譜作成モードが選択された場合に、図1のタッチパネルディスプレイ上に表示された楽譜入力画面の一例を示す図である。
【図3】図1のタッチパネルディスプレイ上に表示された五線譜表示画面における楽譜入力処理を説明するための図である。
【図4】図1のタッチパネルディスプレイ上に表示されたピアノロール表示画面における楽譜入力処理を説明するための図である。
【図5】図3の五線譜表示画面および図4のピアノロール表示画面内の各表示部品の回転処理を説明するための図である。
【図6】図1の電子音楽装置、特にCPUが実行するメインルーチンの手順を示すフローチャートである。
【図7】図6のメインルーチン中の入力音符指定処理のうち、五線譜表示画面が選択されている場合に実行される入力音符指定処理#1の詳細な手順を示すフローチャートである。
【図8】図6のメインルーチン中の入力位置指定処理のうち、五線譜表示画面が選択されている場合に実行される入力位置指定処理#1の詳細な手順を示すフローチャートである。
【図9】図6のメインルーチン中の入力音符指定処理のうち、ピアノロール表示画面が選択されている場合に実行される入力音符指定処理#2の詳細な手順を示すフローチャートである。
【図10】図6のメインルーチン中の入力位置指定処理のうち、ピアノロール表示画面が選択されている場合に実行される入力位置指定処理#2の詳細な手順を示すフローチャートである。
【図11】図6のメインルーチン中の操作に応じた処理#1の詳細な手順を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0015】
図1は、本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
【0016】
同図に示すように、本実施の形態の電子音楽装置は、各種情報を入力するための複数のスイッチを含む設定操作子1と、楽譜作成用のGUI(graphical user interface)を含む各種UI(user interface)を表示するとともに、ユーザが表示された各種UIを、たとえば指で触れることで各種情報を入力するタッチパネルディスプレイ(以下、「タッチパネル」と略して言う)2と、設定操作子1の操作状態を検出する検出回路3と、ユーザによるタッチパネル2上の操作位置や操作圧力などの押圧操作を検出する検出回路4と、上記各種UIをタッチパネル2上に表示させる表示回路5と、装置全体の制御を司るCPU6と、該CPU6が実行する制御プログラムや、各種テーブルデータ等を記憶するROM7と、各種入力情報および演算結果等を一時的に記憶するRAM8と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶する記憶装置9と、外部機器100を接続し、この外部機器100とデータの送受信を行う通信インターフェース(I/F)10と、前記GUIを用いて作成された楽譜を再生して得られた演奏情報等を楽音信号に変換するとともに、その楽音信号に各種効果を付与するための音源・効果回路11と、該音源・効果回路11からの楽音信号を音響に変換する、たとえば、DAC(digital-to-analog converter)やアンプ、スピーカ等のサウンドシステム12とにより構成されている。
【0017】
上記構成要素3〜11は、バス13を介して相互に接続され、通信I/F10には外部機器100が接続され、音源・効果回路11にはサウンドシステム12が接続されている。
【0018】
タッチパネル2は、複数の位置に対するユーザの同時の押圧操作を認識する多点認識機能を備えたパネルである。本実施の形態の電子音楽装置は、掌に載せて片手で操作可能な小型の携帯端末(具体的には、汎用のスレートPC(slate PC)やスマートフォン(smartphone)など)を想定しているので、タッチパネル2も小型のものを採用している。
【0019】
記憶装置9は、たとえば、フレキシブルディスク(FD)、ハードディスク(HD)、CD−ROM、DVD(digital versatile disc)、光磁気ディスク(MO)および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は、駆動装置から着脱可能であってもよいし、記憶装置9自体が、本実施の形態の電子音楽装置から着脱可能であってもよい。あるいは、記憶媒体も記憶装置9も着脱不可能であってもよい。なお、記憶装置9(の記憶媒体)には、前述のように、CPU6が実行する制御プログラムも記憶でき、ROM7に制御プログラムが記憶されていない場合には、この記憶装置9に制御プログラムを記憶させておき、それをRAM8に読み込むことにより、ROM7に制御プログラムを記憶している場合と同様の動作をCPU6にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【0020】
通信I/F10には、図示例では、外部機器100が接続されているが、これに限られず、たとえばLAN(local area network)やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、記憶装置9に上記各プログラムや各種パラメータが記憶されていなければ、通信I/F10は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなる電子音楽装置は、通信I/F10および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介して電子音楽装置へと配信し、電子音楽装置が通信I/F10を介して、これらプログラムやパラメータを受信して記憶装置9に蓄積することにより、ダウンロードが完了する。
【0021】
通信I/F10としては、たとえば、MIDI信号などの音楽信号を専用に送受信する音楽専用有線I/F、USB(universal serial bus)やIEEE1394などの汎用近距離有線I/F、Ethernet(登録商標)などの汎用ネットワークI/F、無線LAN(local area network)やBluetooth(登録商標)などの汎用近距離無線I/F、デジタル電話回線網用の通信I/Fを挙げることができる。本実施の形態では、通信I/F10として、デジタル電話回線網用および/または無線LAN用の通信I/Fを採用している。
【0022】
図2は、動作モードとして楽譜作成モードが選択された場合に、タッチパネル2上に表示された楽譜入力画面の一例を示す図である。本実施の形態の電子音楽装置は、楽譜入力画面として、五線譜と鍵盤を表示し、これを用いて楽譜を入力する画面(以下、「五線譜表示画面」という)2a(図2(a))と、ピアノロールを表示し、これを用いて楽譜を入力する画面(以下、「ピアノロール表示画面」という)2b(図2(c))の2種類の画面を備え、ユーザの選択操作に応じて、いずれかを選択できるようにしている。
【0023】
図2(a)に示すように、五線譜表示画面2aには、2本の五線譜2a1と1つの鍵盤2a2が表示され、各五線譜2a1の上にはルーラ(ruler)2a3が表示されている。ルーラ2a3は、入力音符の音符長の最小単位を示すものであり、図示例では、ルーラ2a3の1目盛りは4分音符長に相当するので、4分音符長を最小単位とする音符を入力することができる。なお、ルーラ2a3の1目盛りの長さ、つまり、音符長の最小単位は、ユーザが自由に変更することができるようになっている。図2(b)は、その変更方法の一例を示す図である。同図(b)に示すように、ユーザがルーラ2a3上の任意の位置を長押しすると、選択可能な音符長の記載されたメニュー2a5がポップアップ表示されるので、そのメニュー2a5の中から変更したい音符長を選択する。これと同様にして、五線譜2a1の音部記号も、選択可能な音部記号の記載されたメニュー2a6を表示させ、そのメニュー2a6の中から変更したい音部記号を選択することで、他の音部記号に変更することができる。なお本実施の形態では、音符長の最小単位の変更も音部記号の変更も、変更対象の近傍を長押しすることによってメニューを表示させ、その中から変更したいものを選択することで行うようにしたが、これに限らず、後述するボタン2a4のいずれかを押すことによってメニューを表示させ、その中から変更したいものを選択することで行うようにしてもよい。
【0024】
図2(a)に戻り、タッチパネル2は、前述のように小型のものを用いているために、タッチパネル2上に、何オクターブもの鍵盤を持つ一般的な鍵盤楽器(たとえばピアノは88鍵)の全体像(鍵盤全体)を表示させることができない(あるいは、表示できたとしても、各鍵が小さ過ぎて操作上問題が生じる)ので、鍵盤2a2は、鍵盤全体の一部(図示例では、2オクターブ程度の鍵盤であるが、各鍵が指でタッチ操作できる程度の大きさのものであれば、これに限らず、1オクターブ程度の鍵盤でも、3オクターブ程度の鍵盤でもよい)を表示したものである。このように一部の鍵盤しか表示できないので、表示されていない部分を表示させたいことがある。その場合には、ユーザは鍵盤2a2上を左/右にスワイプ(swipe)操作(タッチパネル2に触れた状態で指を滑らせる操作)することで、鍵盤2a2が左/右にスクロールして表示鍵域が変わるようになっている。もちろん、表示鍵域の変更方法はこれに限らず、鍵盤2a2の近傍にスクロールバーを表示させ、このスクロールバー上でスワイプ操作あるいはドラッグ操作することで、表示鍵域を変更するようにしてもよい。また、ユーザは鍵盤2a2上でピンチ(pinch)操作(タッチパネル2に触れた状態で2本の指を開いたり閉じたりする操作)することで、鍵盤2a2を拡大/縮小して表示することもできるようになっている。
【0025】
五線譜表示画面2aには、この他に、複数(図示例では、8個)のボタン2a4も表示されている。本実施の形態では、ユーザはこれらのボタン2a4を押すことにより、次のような処理を行うことができる。すなわち、
(O1)保存されている楽譜データの読み出しや、現在表示中の楽譜データの保存
(O2)基本情報(拍子や調、テンポなど)の設定
(O3)入力音符の音符長の最小単位の設定
(O4)休符や音楽記号、臨時記号の入力
(O5)入力した音符データの削除や入力取り消し(Undo)
(O6)五線譜表示画面とピアノロール表示画面の切り替え
(O7)動作モードの変更
(O8)その他の設定
などの処理を行うことができる。ここで、動作モードとしては、上記「楽譜作成モード」の他に、たとえば、鍵盤2a2を非表示にして単なる楽譜として使用する「閲覧モード」などが備えられている。なお、どのボタン2a4をどう操作すれば、上記処理のいずれを実行できるかについては、本発明の特徴ではないので、その説明を省略する。
【0026】
タッチパネル2上に五線譜表示画面2aが表示されている状態で、ピアノロール表示画面への切り替えが指示されると、図2(c)に示すように、タッチパネル2上にはピアノロール表示画面2bが表示される。ただし、同図(c)のピアノロール表示画面2bは全表示画面の一部であり、実際にはこの他に、五線譜表示画面2a内のボタン2a4に相当するものも表示されている。
【0027】
ピアノロール表示画面2bは、鍵盤部2b1とノート表示部2b2とによって構成されている。鍵盤部2b1は、前記鍵盤2a2と同様に、鍵盤全体の一部が表示されているので、ユーザは鍵盤部2b1上を上/下にスワイプ操作することで、鍵盤部2b1が上/下にスクロールして表示鍵域が変わるようになっている。また、ユーザは鍵盤部2b1上でピンチ操作すると、鍵盤部2b1を拡大/縮小して表示することができる。この鍵盤部2b1のスクロールおよび拡大/縮小に連動して、ノート表示部2b2もスクロールおよび拡大/縮小される。さらにノート表示部2b2は、その上をユーザが左/右にスワイプ操作することで、左/右にスクロールして表示領域が変わるようにもなっている。
【0028】
ノート表示部2b2は、音高を示す縦軸と時間経過を示す横軸からなる平面によって構成され、その平面内に複数のグリッド(grid)が形成されている。そして、各グリッドにノート(「音符」のことであるが、前記五線譜2a1に記載されるような「音符」形状ではなく、「楕円」形状で表示される(後述する図4(b)〜(d)参照)ので、「ノート」ということにする)を書き込むことで、楽譜(ピアノロール)を作成する。なお、各グリッドの横辺の長さが、入力ノートの音符長の最小単位を示している。この音符長の最小単位も、前記ルーラ2a3の1目盛りの長さと同様に、ユーザが自由に変更することができる。本実施の形態では、ユーザがノート表示部2b2上の任意の位置を長押しすると、前記メニュー2a5と同様のメニュー(図示せず)がポップアップ表示され、そのメニューの中から変更したい音符長を選択することで、音符長の最小単位を変更できるようにしている。もちろん、変更方法はこれに限らず、ボタン2a4を押すことで、変更できるようにしてもよい。
【0029】
以上のように構成された電子音楽装置が実行する制御処理を、まず図3〜図5を参照してその概要を説明し、次に図6〜図11を参照して詳細に説明する。
【0030】
本実施の形態の電子音楽装置は、
(A)五線譜表示画面2aにおける楽譜入力処理
(B)ピアノロール表示画面2bにおける楽譜(ノート)入力処理
(C)五線譜表示画面2aおよびピアノロール表示画面2b内の各表示部品の回転処理
に特徴がある。
【0031】
図3は、上記(A)の楽譜入力処理を説明するための図であり、同図(a)は、楽譜の入力位置を指定したときの様子を示し、同図(b)は、入力音符の音高を指定したときの様子を示し、同図(c)は、入力音符の音符長を指定したときの様子を示している。
【0032】
図3(a)のように、ユーザが五線譜2a1上の、たとえば1小節目の1拍目、A4(ラ)辺りをタッチすると、そのタッチ位置に最も近い(最寄りの)グリッドが判定される。ここで、グリッドとは、ルーラ2a3に刻まれた目盛りと目盛りの間の領域を示している。タッチ位置から最寄りのグリッドをどう判定するかについては、図8のステップS42の処理で後述する。そして、判定された最寄りのグリッドの先頭に位置する目盛りの上にカーソルCが表示され、この位置に音符が入力できることをユーザに知らせる。このとき、タッチ位置の音高が鍵盤2a2の中央あるいは中央付近に来るように、鍵盤2a2の表示鍵域が左/右に自動的にスクロールする。ここで、「タッチ位置の音高が中央付近に来る」とは、表示鍵域のスクロールを、たとえば1オクターブ単位あるいは半オクターブ単位で行うようにした場合には、タッチ位置の音高を表示鍵域の中央に厳密に位置させることはできないので、その場合には、中央付近に位置させるという意味である。もちろん、タッチ位置の音高を表示鍵域の中央に厳密に位置させることができる場合であっても、ユーザの操作上の都合などによって、当該音高を表示鍵域の中央に厳密に位置させない方がよいときには、「タッチ位置の音高が中央付近に来る」ようにしてもよい。
【0033】
次に図3(b)のように、ユーザが指で、入力したい音高(図示例では、A4(ラ),C5(ド),E5(ミ))に対応する、鍵盤2a2の鍵を押さえると、当該鍵の色が変わり(図示例では、色の変化を斜線で表現している)、その指を離すと、破線で描かれたカーソルCの位置に対応する、五線譜2a1上の位置に、当該指定された音高の音符が入力される。ただし、入力音符の音符長は、ルーラ2a3の1目盛り(グリッドの横辺)に相当する長さ、図示例では4分音符長である。音符が入力されると、カーソルCは自動的に1目盛り分進む。
【0034】
同じ最小単位の音符長の音符を続けて入力する場合には、上述のように、カーソルCが次の入力位置に自動的に進むので、ユーザは鍵盤2a2の鍵を押さえて離す操作だけすればよい。たとえば、図3(b)で入力した音符と同じ音高かつ同じ音符長の音符を2つ続けて入力したい場合には、A4(ラ),C5(ド),E5(ミ)に対応する、鍵盤2a2の鍵を押さえてから離す操作を2回続けて行う。この結果、図3(c)の五線譜2a1中、第1小節の第1拍から第3拍に同じ音高の4分音符が3つ続けて入力される。なお図3(c)には、同じ音高の音符を続けて入力している例が描かれているが、これは便宜上に過ぎず、鍵を押さえて離す操作をする度に、異なった音高の鍵を操作すれば、異なった音高の音符が同じ最小単位の音符長で入力される。
【0035】
一方、最小単位の音符長とは異なる音符長の音符を入力したい場合には、ユーザは、図3(c)のように鍵盤2a2の鍵を押さえたまま、五線譜2a1上、入力したい音符長を指示する。音符長の指示は、具体的には、五線譜2a1上、現在のカーソルCの位置に対応する位置(図示例では、第1小節の第4拍)から入力したい音符長分離れた位置(図示例では、第2小節の第2拍の近傍)をタッチすることによって行う。音符長が指示されると、その音符長がどれくらいかをユーザに知らせるために、その音符長に対応する長さの短冊状表示2a7がルーラ2a3上に現れる。そして、ユーザが鍵盤2a2から押さえた鍵の指を離すと、指定された音高の音符が指示された音符長で入力される。図3(c)の例では、ユーザは、第1小節の第4拍にカーソルCが位置した状態で、A4(ラ),C5(ド),E5(ミ)に対応する、鍵盤2a2の鍵を押さえ、それを維持したまま、五線譜2a1上、第2小節の第2拍の近傍をタッチ(あるいは、五線譜2a1上、第1小節の第4拍の近傍から第2小節の第2拍の近傍までドラッグさせてもよい)すると、ルーラ2a3上に、当該指示された音符長を示す短冊状表示2a7が現れる。その後、ユーザが鍵盤2a2から指を離すと、指定された音高の2分音符が入力される。ただし図示例では、入力される音符は小節を跨ぐので、タイで表示される。音符が入力されると、カーソルCは自動的に、次の入力位置(第2小節の第2拍目の先頭)まで進む。なお図3(c)では、音符長の指定をルーラ2a3の近傍で行っているように描かれているが、これは便宜上そのように描かれているに過ぎず、実際には五線譜2a1上で行っている。もちろん、ルーラ2a3の近傍で音符長の指定ができるようにしてもよい。
【0036】
このように(A)の楽譜入力処理によれば、同じ最小単位の音符長の音符を続けて入力するには、鍵盤2a2の鍵に対するタッチおよびリリースを繰り返すだけでよいので、入力操作を簡単化することができる。また、入力音符の音高は、同時に複数指定することができるので、和音を入力する際の入力操作を特に簡略化することができる。さらに、最小単位より長い音符長の音符を入力する場合でも、その音符長に相当する位置を五線譜2a1上でタッチするだけでよいので、音符長の異なる音符を入力する場合でも、入力操作は複雑化しない。
【0037】
図4は、前記(B)の楽譜入力処理を説明するための図であり、同図(a)は、入力ノートの音高を指定したときの様子を示し、同図(b)は、ノートの入力位置を指定したときの様子を示し、同図(c)は、同じ音高かつ同じ音符長のノートを続けて入力したときの様子を示し、同図(d)は、最小単位の音符長より長い音符長のノートを入力したときの様子を示している。
【0038】
図4(a)のように、ユーザが指で、鍵盤部2b1上の、たとえばC4(ド),E4(ミ),G4(ソ)に相当する鍵をタッチすると、タッチされた鍵の色が変わって(図示例では、色の変化を斜線で表現している)、選択状態であることをユーザに知らせる。なお、ユーザがその指を離すと、鍵の選択状態は解除され、鍵の色も元の色に戻る。
【0039】
次にユーザが、鍵盤部2b1の鍵を選択した状態で、ノート表示部2b2上のいずれかの位置をタッチすると、そのタッチ位置に最も近い(最寄りの)グリッド列が判定される。ここで、グリッド列とは、グリッドの縦方向の1列を意味し、図4では、列R1〜R6のいずれか1列である。そして、ユーザがノート表示部2b2上からタッチした指を離すと、図4(b)に示すように、判定されたグリッド列に属するグリッドのうち、選択された音高に対応するグリッドにノートが入力される。ノートの入力は、当該グリッドに内接される楕円によって表現される。ここで、ノート表示部2b2上のタッチ位置は、鍵盤部2b1上で選択された鍵に対応するグリッド内の位置に限らず、当該グリッドと同じグリッド列内であればどの位置であってもよい。図示例では、ユーザは、ノート表示部2b2のグリッド列R3に属するグリッドのうち、鍵盤部2b1の鍵“D#4”に対応するグリッド内をタッチしているが、ノートは、鍵“G4”,“E4”および“C4”にそれぞれ対応する各グリッド内に入力される。なお図示例では、楕円は黒色で表されているが、色は黒色に限らず、どのような色を採用してもよいし、単色の塗り潰しではなく、網掛けや模様であってもよい。
【0040】
従来の電子音楽装置が、上記ノート表示部2b2と同様のノート表示部を備えているものとし、この従来の電子音楽装置を用いて、上述のようにC4(ド),E4(ミ),G4(ソ)の音高のノートを入力する場合には、ノート表示部上の、各音高にそれぞれ対応したグリッドを1つずつ、つまり3回タッチする必要がある。しかし、本実施の形態の電子音楽装置によれば、上述のようにノート表示部2b2へのタッチは1回で済むので、特に和音を入力する際の入力操作を簡単化することができる。さらに、ノート表示部2b2上のタッチ位置は、入力ノートの音高に対応するグリッドが属するグリッド列内であれば、どこでもよいので、ユーザは正確なタッチ操作が不要となる。
【0041】
同じ最小単位の音符長かつ同じ音高のノートを続けて入力する場合には、図4(c)に示すように、鍵盤部2b1上の鍵の選択状態を維持したまま、ノート表示部2b2上のタッチ位置を変動させる。図示例では、ユーザは、グリッド列R3に続いて、グリッド列R5とグリッド列R6をタッチしているので、C4(ド),E4(ミ),G4(ソ)の音高のノートが、グリッド列R3,列R5および列R6にそれぞれ属するグリッドに入力される。
【0042】
このように本実施の形態の電子音楽装置によれば、同じ音符長かつ同じ音高のノートをいくつも続けて入力する場合、鍵盤部2b1上の、当該音高に対応する鍵を押さえっぱなしにしておけば、あとはノート表示部2b2で入力位置(時間的な位置)だけを指定すればよいので、ユーザは正確なタッチ操作が不要となる。
【0043】
一方、最小単位の音符長より長い音符長のノートを入力したい場合には、図4(d)に示すように、ユーザは鍵盤部2b1上の鍵の選択状態を維持したまま、ノート表示部2b2上を横方向にドラッグする。ドラッグ中は、ドラッグしている範囲がどれくらいか分かるように、ドラッグの始点を含むグリッド列から終点を含むグリッド列まで(図示例では、グリッド列R3からグリッド列R6まで)の全体が色つきで表示される(図示例では、色の変化を斜線で表現している)。そして、ユーザがドラッグを停止し、タッチした指を離すと、ドラッグが開始された位置から指を離した位置までに、ドラッグされた長さに相当する音符長かつ、鍵盤部2b1上で選択された音高のノートが入力される。図示例では、ユーザは、グリッド列R3内の位置からグリッド列R6内の位置までドラッグ操作しているので、C4(ド),E4(ミ),G4(ソ)の音高かつ全音符長(=最小単位×4;ただし、最小単位、つまり各グリッドの横辺の長さを4分音符長とした場合)のノートが入力される。
【0044】
このように本実施の形態の電子音楽装置によれば、鍵盤部2b1で音高の指定ができるとともに、ノート表示部2b2で音符長の指定ができるので、ユーザはノートの入力を直感的に行うことができる。
【0045】
図5は、前記(C)の回転処理を説明するための図であり、同図(a)は、五線譜表示画面2aに含まれる表示部品を示し、同図(b)は、同図(a)の各表示部品を独立して回転させたときの様子を示し、同図(c)は、ピアノロール表示画面2bに含まれる表示部品を示し、同図(d)は、同図(c)の表示部品の一方を回転させたときの様子を示している。
【0046】
五線譜表示画面2aは、図5(a)に示すように、五線譜2a1およびルーラ2a3からなる表示部品Pa1と、鍵盤2a2からなる表示部品Pa2とを備えている。表示部品とは、一体で独立して回転可能な表示画像を意味し、各表示部品をそれぞれ構成する表示画像は、画面毎に(本実施の形態では、五線譜表示画面2aとピアノロール表示画面2bとで)予め固定的に決まっている。なお、五線譜表示画面2aには、前述のようにボタン2a4も含まれるが、本実施の形態では、ボタン2a4は回転しないので、表示部品には含まれない(この事情は、ピアノロール表示画面2bについても同様である)。もちろん、ボタン2a4も回転できるように構成してもよい。
【0047】
ユーザは、五線譜表示画面2aから楽譜入力を行うに際して、五線譜表示画面2aの初期表示、つまり図5(a)に示す表示では、入力操作がし難い場合がある。この場合、表示部品Pa1またはPa2のいずれか一方、あるいは両方を回転させれば、入力操作が格段にし易くなることがある。そこで、本実施の形態の電子音楽装置は、ユーザの回転指示に応じて、表示部品Pa1およびPa2をそれぞれ独立して回転できるようにしている。図5(b)は、ユーザによる回転指示の仕方と、その回転指示に応じて各表示部品Pa1およびPa2を回転させた後の様子を示している。ユーザは、まず1本の指で、回転させたい表示部品の範囲内あるいはその近傍をタッチし、次にもう1本の指で、回転させる方向および角度をドラッグ操作によって指示すると、タッチした表示部品が、指示した方向および角度で回転する。図示例では、表示部品Pa1を時計の針の回る方向に所定の角度だけ回転させ、表示部品Pa2を時計の針の回る方向と逆の方向に所定の角度だけ回転させた様子が描かれている。なお図示例には、表示部品の選択と回転の指示とをそれぞれ別の手の指で行うように描かれているが、同じ手の別の指で行うようにしてもよいことは、言うまでもない。
【0048】
五線譜表示画面2aから楽譜入力を行うに際しての上記問題、つまり、初期画面表示のままでは入力操作がし難い場合があることは、ピアノロール表示画面2bから楽譜入力を行うに際しても同様に起こり得るので、ピアノロール表示画面2bも、図5(c)に示すように、鍵盤部2b1からなる表示部品Pb1と、ノート表示部2b2からなる表示部品Pb2とを備えるようにし、各表示部品Pb1およびPb2をそれぞれ独立して回転できるようにしている。
【0049】
図5(d)は、前記図5(b)と同様に、ユーザによる回転指示の仕方と、その回転指示に応じて表示部品Pb1を回転させた後の様子を示している。ただし図5(d)では、図5(b)と異なり、2つの表示部品のうちの一方のみを回転させ、もう一方は初期表示のままにしているが、これは、表示部品Pb1、つまり鍵盤部2b1は、初期表示の向きでは入力操作がし難いのに対して、表示部品Pb2、つまりノート表示部2b2は、初期表示のままでも入力操作がし難いとまでは言えないからである。もちろん、表示部品Pb2も回転させるようにしてもよいし、逆に、表示部品Pb2を回転させ、表示部品Pb1を回転させないようにしてもよい。なお、回転対象となる表示部品の選択の仕方と、回転させる方向および角度の指示の仕方は、五線譜表示画面2a内の各表示部品についてのそれと同様であるので、その説明は省略する。
【0050】
なお本実施の形態では、鍵盤2a2および鍵盤部2b1は、表示されているもの全体が一体として回転するようにしたが、これに限らず、左鍵域と右鍵域とで別々に回転できるようにしてもよい。また、回転に加えて、各表示部品を独立して移動できるようにしてもよい。この場合、通常のドラッグ操作で移動させても良いし、スワイプ操作(鍵盤のスクロールなど)と明確に区別するため、2本指でドラッグするなど、操作方法を異ならせるようにしてもよい。また、複数の表示部品をまとめて回転または移動できるようにしてもよい。
【0051】
回転や移動した状態は、前記RAM8のユーザ領域に保存できるようにし、これを呼び出して使用可能に構成してもよい。この場合、座って使用する場合の設定や寝そべって使用する場合の設定、縦向き、横向きなど、複数の状態を保存できるようにしておき、ユーザの使用状況に応じて適切なものを呼び出して使用できるようにするとよい。
【0052】
次に、この制御処理を詳細に説明する。
【0053】
図6は、本実施の形態の電子音楽装置、特にCPU6が実行するメインルーチンの手順を示すフローチャートである。
【0054】
本メインルーチンは、主として
(1)初期化処理(ステップS1)
(2)ユーザ操作を受け付け、その操作位置および操作種類を判定する受付・判定処理(ステップS2,S3)
(3)上記(2)の受付・判定処理によって判定された操作位置および操作種類に応じて処理を
(31)入力音符指定処理(ステップS7)
(32)入力位置指定処理(ステップS9)
(33)操作に応じた処理#1(ステップS10)
(34)操作に応じた処理#2(ステップS13)
(35)終了処理(ステップS12)
のうちのいずれかの処理に分岐させる分岐処理(ステップS4,S5,S6,S8,S11)
によって構成されている。本メインルーチンは、前記設定操作子1に含まれる電源スイッチ(図示せず)によって電源がオンされたときに起動される。起動後、前記(1)の初期設定処理が1回実行され、これに続いて、上記(2)および(3)の各処理が順次実行され、この(3)の分岐処理によって分岐された分岐先の処理が終了すると、(2)の処理に戻って、(2)および(3)の各処理が、電源スイッチによって電源がオフされるまで、繰り返し実行される。ただし、分岐先の処理が前記(35)の終了処理である場合には、その(35)終了処理が終了すると、本メインルーチンは終了する。
【0055】
前記(1)初期化処理では、CPU6は、RAM8をクリアしたり、各種パラメータの値をデフォルト値に設定したり、表示画面を選択・表示したりする。本実施の形態では、表示画面、つまり五線譜表示画面2aまたはピアノロール表示画面2bのいずれかは、この(1)初期化処理で1回のみ選択でき、その後、本メインルーチンが終了するまで、変更することはできないようになっている。これは、説明の都合上そうしているに過ぎず、本メインルーチンの途中で、ユーザの指示に応じて任意に切り替えできるようにしてもよい。なお、(1)初期化処理での表示画面の選択は、ユーザにどちらの画面を表示させたいか問い合わせるようにし、ユーザがそれに回答した方を選択するようにすればよい。
【0056】
前記(2)受付・判定処理では、CPU6は、前記検出回路4からの出力を常時チェックすることにより、タッチパネル2に対するユーザ操作があったかどうかを監視し、ユーザ操作があったときにはそのユーザ操作を受け付け(ステップS2)、受け付けたユーザ操作に基づいて、操作位置および操作種類を判定する(ステップS3)。ここで、操作位置とは、タッチパネル2上の操作位置であり、操作種類とは、タッチ操作、ホールド操作、スワイプ操作、ドラッグ操作およびピンチ操作などである。
【0057】
前記(3)分岐処理では、CPU6は、判定された操作位置および操作種類に基づいて、次のようにして処理を分岐させる。すなわち、
(C1)操作位置がノート入力用画像上&(かつ)操作位置が音高指定部内&操作種類がタッチ操作またはドラッグ操作:前記(31)入力音符指定処理に分岐(ステップS4→S5→S6→S7);
(C2)操作位置がノート入力用画像上&操作位置がタイミング指定部内&操作種類がタッチ操作またはドラッグ操作:前記(32)入力位置指定処理に分岐(ステップS4→S5→S8→S9);
(C3)操作位置がノート入力用画像上&操作位置が音高指定部内&操作種類がタッチ操作およびドラッグ操作のいずれでもない:前記(33)操作に応じた処理#1に分岐(ステップS4→S5→S6→S10);
(C4)操作位置がノート入力用画像上&操作位置がタイミング指定部内&操作種類がタッチ操作およびドラッグ操作のいずれでもない:前記(33)操作に応じた処理#1に分岐(ステップS4→S5→S8→S10);
(C5)操作位置がノート入力用画像上以外&操作種類が「終了指示」:前記(35)終了処理に分岐(ステップS4→S11→S12);
(C6)操作位置がノート入力用画像上以外&操作種類が「終了指示」以外:前記(34)操作に応じた処理#2に分岐(ステップS4→S11→S13)。
【0058】
上記ケース(C1)中、第1番目のケース、つまり「操作位置がノート入力用画像上」は、ユーザがノート(音符)入力に関わる画像上を操作しているケースを示している。ノート(音符)入力に関わる画像(ノート入力用画像)は、本実施の形態では、入力するノート(音符)の音高指定に関わる画像部である「音高指定部」と、入力するノート(音符)のタイミング指定に関わる画像部である「タイミング指定部」とによって構成されている。そして、五線譜表示画面2aでは、鍵盤2a2が「音高指定部」に、五線譜2a1およびルーラ2a3が「タイミング指定部」に対応し、ピアノロール表示画面2bでは、鍵盤部2b1が「音高指定部」に、ノート表示部2b2が「タイミング指定部」に対応する。したがって、五線譜表示画面2aが選択されている場合に、ユーザが五線譜2a1、鍵盤2a2およびルーラ2a3(これらに加えて、その近傍を含むようにしてもよい。以下、同様)上を操作している状態や、ピアノロール表示画面2bが選択されている場合に、ユーザが鍵盤部2b1およびノート表示部2b2(これらに加えて、その近傍を含むようにしてもよい。以下、同様)上を操作している状態が、上記第1番目のケースに該当する。一方、ユーザが、たとえば、前記ボタン2a4やメニュー2a5,2a6(図2参照)などの当該画像上以外を操作している状態は、上記第1番目のケースには該当しない。
【0059】
上記ケース(C1)中、第2番目のケース、つまり「操作位置が音高指定部」は、上述のように、ユーザが「ノート入力用画像」の構成要素の一方である「音高指定部」(五線譜表示画面2aでは、鍵盤2a2であり、ピアノロール表示画面2bでは、鍵盤部2b1である)内を操作しているケースを示している。
【0060】
したがって、上記ケース(C1)全体は、ユーザが、五線譜表示画面2aが選択されている場合には鍵盤2a2上を、ピアノロール表示画面2bが選択されている場合には鍵盤部2b1上をタッチ操作またはドラッグ操作したケースを示している。
【0061】
また、前記ケース(C2)中、第1番目のケースは、前記ケース(C1)の第1番目のケースと同様であるので、その説明は省略するが、前記ケース(C2)中、第2番目のケース、つまり「操作位置がタイミング指定部内」は、前述のように、ユーザが「ノート入力用画像」の構成要素のもう一方である「タイミング指定部」(五線譜表示画面2aでは、五線譜2a1およびルーラ2a3であり、ピアノロール表示画面2bでは、ノート表示部2b2である)内を操作しているケースを示している。
【0062】
したがって、前記ケース(C2)全体は、ユーザが、五線譜表示画面2aが選択されている場合には五線譜2a1またはルーラ2a3上を、ピアノロール表示画面2bが選択されている場合にはノート表示部2b2上をタッチ操作またはドラッグ操作したケースを示している。
【0063】
前記ケース(C3)全体は、前記ケース(C1)全体に対して、ユーザの操作種類のみが異なっている。つまり、ユーザが、タッチ操作およびドラッグ操作以外の操作、たとえばスワイプ操作やピンチ操作などを行ったケースを示している。
【0064】
同様に、前記ケース(C4)全体は、前記ケース(C2)全体に対して、ユーザの操作種類のみが異なっている。つまり、ユーザが、タッチ操作およびドラッグ操作以外の操作、たとえばスワイプ操作やピンチ操作などを行ったケースを示している。
【0065】
前記ケース(C5)中、第1番目のケース、つまり「操作位置がノート入力用画像上以外」は、前述のように、ユーザが「ノート入力用画像」外を操作しているケースを示している。その第2番目のケース、つまり「操作種類が『終了指示』」は、ユーザが「終了指示」に該当する特別な態様の操作(たとえば、ボタン2a4内の1つに「終了」が割り当てられており、そのボタンに対するタッチ操作が考えられる。もちろん、これに限られる訳ではない)をしたケースを示している。
【0066】
前記ケース(C6)全体は、上記ケース(C5)全体に対して、ユーザの操作種類のみが異なっている。つまり、ユーザが、「終了指示」に該当する操作以外の操作、たとえば前記(O1)〜(O8)の各操作を行ったケースを示している。
【0067】
図7は、前記(31)の入力音符指定処理のうち、五線譜表示画面2aが選択されている場合に実行される入力音符指定処理#1の詳細な手順を示すフローチャートである。
【0068】
本入力音符指定処理#1は、主として
(41)入力する音符の音高を決定する音高決定処理(ステップS21〜S25)
(42)上記(41)音高決定処理によって決定された音高の音符を最小単位の音符長で入力する第1の音符入力処理(ステップS28,S29)
(43)上記(41)音高決定処理によって決定された音高の音符を最小単位より長い音符長で入力する第2の音符入力処理(ステップS34,S35)
(44)上記(42)または(43)の音符入力処理後の後処理(ステップS30〜S33)
によって構成されている。
【0069】
上記(41)の音高決定処理では、まずCPU6は、タッチ位置の座標をノートナンバに変換する(ステップS21)。具体的には、CPU6は、タッチ位置の座標からユーザが鍵盤2a2のどの鍵をタッチしているか判定し、判定した鍵に割り当てられているノートナンバを取得することで、タッチ位置の座標からノートナンバに変換する。ここで、どの鍵がタッチされているかの判定は、たとえば、タッチ位置のxy座標が鍵盤2a2上、各白鍵および各黒鍵がそれぞれ占める領域のうちのどの領域に含まれるかを判定することによって行えばよい。なお、タッチ位置は、実際には面積のある領域であるが、説明を単純化するために面積のない点とみなしている(以下、同様)。
【0070】
次にCPU6は、変換されたノートナンバを、音符を入力するために前記RAM8の所定位置に確保された入力用バッファ(図示せず)にストアする(ステップS22)。さらにCPU6は、変換されたノートナンバに対応する、つまりタッチされている鍵盤2a2の鍵の表示態様を「選択状態」の態様に変更する(ステップS23)。「選択状態」の態様とは、元の表示色と異なった「選択状態」の表示色にすることである(前記図3(b)を参照)。
【0071】
上記ステップS21〜S23の処理は、ユーザが1本の指で1つの鍵をタッチ操作する場合の処理に相当し、図7のフローチャートでは、複数の指で複数の鍵を同時にタッチ操作する場合の処理は記載されていないが、複数鍵の同時操作がなされた場合には、ステップS21〜S23の処理を同時操作された鍵の数分繰り返し実行することで、前記図3(b)のように、複数鍵の同時操作にも対応している。
【0072】
また、ユーザがタッチ操作する鍵を間違えた場合には、そのタッチ状態を保持したまま、正しい鍵に移動させることで、ユーザの意図通りの音高を決定できるようにしている。ステップS24およびS25の処理は、これを実現するためのものである。つまり、ステップS24では、タッチ位置の移動があったかどうかを判定し、タッチ位置の移動があったときには、処理をステップS21に戻して、移動後のタッチ位置からノートナンバを再取得し、それに応じて対応する鍵の表示態様も変更するようにしている(ステップS23)。そして、ユーザが鍵盤2a2から指を離す(リリースする)まで、ステップS24の判定処理を繰り返し実行する(ステップS25→S24)。ここまでが、(41)音高決定処理である。
【0073】
この(41)音高決定処理が終了すると、CPU6は、前記(42)第1の音符入力処理と前記(43)第2の音符入力処理のいずれに処理を進めるかを判定する。制御処理の概要で前述したように、ユーザが五線譜2a1にタッチして音符長を指定するのは、最小単位より長い音符長の音符を入力する場合であり、最小単位の音符長の音符を入力するには、ユーザは五線譜2a1に触れずに鍵盤2a2へのタッチおよびリリースを行うだけである。そして、ユーザが五線譜2a1にタッチして音符長を指定すると、タッチ位置に対応するグリッド(を特定する値)が入力終了位置としてセットされる(後述する図8のステップS43を参照)ので、入力終了位置に有効な値(=グリッドを特定する値)がセットされていれば、ユーザが五線譜2a1にタッチして音符長を指定したことを示している。したがって、ステップS26では、入力終了位置がセットされているかどうかを判定している。この判定の結果、入力終了位置がセットされていない場合には、CPU6は、ユーザが最小単位の音符長の音符を入力しているとして、処理を前記(42)第1の音符入力処理に進める(ステップS26→S28)。一方、入力終了位置がセットされている場合には、CPU6は、ユーザが最小単位より長い音符長の音符を入力しているとして、処理を前記(43)第2の音符入力処理に進めるが、その前に、入力開始位置(カーソルCが位置するグリッド)と入力終了位置とが同じ値であるかどうかを判定している(ステップS27)。この判定の結果、入力開始位置=入力終了位置であれば、CPU6は、ユーザが五線譜2a1をタッチしたとしても、依然として最小単位の音符長の音符を入力しているとして、処理を前記(42)第1の音符入力処理に進める一方、入力開始位置≠入力終了位置であれば、CPU6は、処理を前記(43)第2の音符入力処理に進める。
【0074】
(42)第1の音符入力処理では、CPU6は、五線譜2a1上の入力位置(横(時間)軸方向の位置であり、具体的には、カーソルCの位置に対応する五線譜2a1上の位置である。この事情は、後述するステップS34の処理についても同様)に、入力用バッファにストアされているノートナンバに対応する音符をルーラ2a3の1目盛り分の音符長で入力した(ステップS28)後、次のグリッドを入力開始位置にセットする(ステップS29)。
【0075】
(43)第2の音符入力処理では、CPU6は、五線譜2a1上の入力位置に、入力用バッファにストアされているノートナンバに対応する音符を入力開始位置から入力終了位置までの長さの音符長で入力した(ステップS34)後、入力終了位置の次のグリッドを入力開始位置にセットする(ステップS35)。
【0076】
前記(44)の後処理では、CPU6は、ルーラ2a3のカーソルCの位置を入力開始位置で更新し(ステップS30)、入力終了位置をクリアし(ステップS31)、入力用バッファをクリアし(ステップS32)、変更した鍵盤2a2の鍵の表示態様を「非選択状態」の態様に戻す(ステップS33)。
【0077】
図8は、前記(32)の入力位置指定処理のうち、五線譜表示画面2aが選択されている場合に実行される入力位置指定処理#1の詳細な手順を示すフローチャートである。
【0078】
本入力位置指定処理#1は、主として
(51)ユーザが鍵盤2a2をタッチ操作している状態で実行される第1の入力位置指定処理(ステップS42〜S46)
(52)ユーザが鍵盤2a2をタッチ操作していない状態で実行される第2の入力位置指定処理(ステップS47〜S52)
によって構成されている。
【0079】
CPU6は、ユーザが鍵盤2a2をタッチ操作している状態であるかどうかを、入力用バッファにノートナンバがストアされているかどうかによって判定している(ステップS41)。この判定の結果、入力用バッファにノートナンバがストアされている場合、つまり、ユーザが鍵盤2a2をタッチ操作している状態である場合には、CPU6は処理を上記(51)第1の入力位置指定処理に進める(ステップS41→S42)一方、入力用バッファにノートナンバがストアされていない場合、つまり、ユーザが鍵盤2a2をタッチ操作していない状態である場合には、CPU6は処理を上記(52)第2の入力位置指定処理に進める(ステップS41→S47)。
【0080】
(51)第1の入力位置指定処理では、まずCPU6は、タッチ位置の座標から、ルーラ2a3の複数のグリッドのうち、当該タッチ位置に最も近い(最寄りの)グリッドを判定する(ステップS42)。ここで、最寄りのグリッドの判定は、たとえば、タッチ位置のx座標が、ルーラ2a3上の各グリッドがそれぞれ占める領域(横軸(x軸)方向の領域)のうちのどの領域に含まれるかを判定することによって行えばよいが、隣接するグリッドの境界近傍がタッチされた場合には、そのタッチ位置が前のグリッドに含まれていたとしても、ユーザは後のグリッドを選択したとして、後のグリッドを最寄りのグリッドとするなどの例外処理を行う必要がある。
【0081】
次にCPU6は、判定されたグリッド(を特定する情報、たとえばグリッド番号)を入力終了位置としてセットし(ステップS43)、入力開始位置から入力終了位置までのルーラ2a3の表示態様を変更する(ステップS44)。これにより、前記図3(c)のように、ルーラ2a3上に短冊状表示2a7が現れる。
【0082】
さらにCPU6は、タッチ位置の移動があるかどうかを判定し(ステップS45)、タッチ位置の移動があれば、前記図7のステップS24と同様に、処理を上記ステップS42に戻して、移動後のタッチ位置の座標から最寄りのグリッドを再判定し、それに応じて上記短冊状表示2a7の横辺の長さを変更する(ステップS44)。そして、ユーザがタイミング指定部(五線譜2a1+ルーラ2a3)から指を離す(リリースする)まで、ステップS45の判定処理を繰り返すようにしている(ステップS45→S46)。
【0083】
(52)第2の入力位置指定処理では、まずCPU6は、タッチ位置の座標から最寄りのグリッドとノートナンバを判定する(ステップS47)。最寄りのグリッドの判定は、前記ステップS42で説明した判定方法と同様の方法を用いればよいので、その説明を省略する。ノートナンバの判定は、たとえば、タッチ位置のy座標と五線譜2a1内の各音高のy座標とを比較し、その差分が最も小さいy座標を持つ音高に対応するノートナンバを目的のノートナンバと判定するようにすればよい。次にCPU6は、判定されたグリッド(を特定する情報、たとえばグリッド番号)を前記入力開始位置としてセットし(ステップS48)、判定されたグリッド(の先頭)にカーソルCを表示し(ステップS49)、判定されたノートナンバに対応する鍵が鍵盤の中央付近に来るように鍵盤2a2の表示を制御する(ステップS50)。さらにCPU6は、前記ステップS45およびS46の処理と同様の処理を行う(ステップS51およびS52)。
【0084】
なお、前記ステップS45およびS51の各判定処理では、タッチ位置の移動を、その移動量の大小に拘わらず検出し、その検出に従って処理を繰り返すようにしているが、現在判定されているグリッドを変える量のタッチ位置の移動(ドラッグ操作)があった場合にのみ、“YES”と判定して処理を繰り返すようにしてもよい。ユーザは指を動かしていないつもりでも、実際にはわずかに揺れているので、そのわずかな揺れをタッチ位置の移動と検出すれば、その検出の度に処理が繰り返されることになって、この無駄な処理により制御処理全体の動作が重くなってしまうからである。
【0085】
また本実施の形態では、タッチ位置の移動はタイミング指定部(五線譜2a1+ルーラ2a3)内に限られ、タイミング指定部外へ出ることを想定していないが、タイミング指定部外へ出た場合には、ユーザがタッチ位置の移動(ドラッグ操作)のためにタッチしている指をタイミング指定部から離した(リリースした)とみなして、前記ステップS46およびS52の各判定処理により、本入力位置指定処理#1を終了してもよいし、タッチ操作自体(ドラッグ操作だけではなく、その前のタッチ操作も含むという意味)のキャンセルとみなして、それまでに実行された入力開始位置(および入力終了位置)の設定をすべてクリアした後、本入力位置指定処理#1を終了してもよい。その際に、タッチ位置がタイミング指定部外に出た旨のメッセージを表示させたり、警告音を発生させたりしてもよい。
【0086】
図9は、前記(31)の入力音符指定処理のうち、ピアノロール表示画面2bが選択されている場合に実行される入力音符指定処理#2の詳細な手順を示すフローチャートである。図9中、図7と同様の処理を行うステップには同一のステップ番号を付している。
【0087】
本入力音符指定処理#2が起動される場合は、前記図4で前述したように、ユーザが鍵盤部2b1に対してタッチ操作またはドラッグ操作を行った場合である。つまり、図9のステップS21〜S25,S32およびS33′の処理と、図7のステップS21〜S25,S32およびS33の処理とは、処理の文言はほとんど変わらないが、前者の処理が、鍵盤部2b1についてのユーザ操作に関するものであるのに対して、後者の処理は、鍵盤2a2についてのユーザ操作に関するものである点が異なっている。しかし、前者の処理は、後者の処理を類推適用すれば容易に理解できるので、その説明を省略する。
【0088】
ステップS33′の処理が終了すると、CPU6は、図10を用いて後述する入力位置指定処理#2が実行中であるかどうかを判定する(ステップS101)。この判定の結果、入力位置指定処理#2が実行中であれば、CPU6は、入力位置指定処理#2においてセットされた入力開始位置および入力終了位置をそれぞれクリアし(ステップS102)、後述する図10のステップS115で変更されたノート表示部2b2の表示態様を元に戻した(ステップS103)後、本入力音符指定処理#2を終了する一方、入力位置指定処理#2が実行中でなければ、CPU6は、直ちに本入力音符指定処理#2を終了する(ステップS101→リターン)。
【0089】
図10は、前記(32)の入力位置指定処理のうち、ピアノロール表示画面2bが選択されている場合に実行される入力位置指定処理#2の詳細な手順を示すフローチャートである。図10中、図8と同様の処理を行うステップには同一のステップ番号を付している。
【0090】
本入力位置指定処理#2は、主として
(61)前記入力音符指定処理#2によって指定された音高のノート(音符)を、ノート表示部2b2上、ユーザが指定した位置に最小単位の音符長で入力する第1のノート入力処理(ステップS119)
(62)前記入力音符指定処理#2によって指定された音高のノート(音符)を、ノート表示部2b2上、ユーザが指定した位置に最小単位より長い音符長で入力する第2のノート入力処理(ステップS122)
によって構成されている。
【0091】
そして、上記(61)の第1のノート入力処理は、ユーザによる次の操作のいずれかを経て実行される。すなわち、
(61a)鍵盤部2b1をタッチしている状態で、ノート表示部2b2をタッチした後、そのタッチ状態を解除(リリース)した場合(ステップS41→S42′→S110→S111→S112→S116→S117→S119)
(61b)鍵盤部2b1をタッチしている状態で、ノート表示部2b2をタッチし、そのタッチ状態を保持しながらドラッグ操作をした後、そのドラッグ状態を解除(リリース)した場合(ただし、ドラッグ操作によっても次のグリッドが選択されなかった場合)(ステップS41→S42′→S110→S111→S112→S113→S114→S115→S111→S112→S116→S117→S118→S119)
(61c)鍵盤部2b1をタッチしていない状態で、ノート表示部2b2をタッチし、そのタッチ状態を保持しながら続いて鍵盤部2b1をタッチした後、ノート表示部2b2のタッチ状態を解除(リリース)した場合(ステップS41→S123→上記(61a)のS42′へ)
である。
【0092】
また、上記(62)の第2のノート入力処理は、ユーザによる次の操作のいずれかを経て実行される。すなわち、
(62a)鍵盤部2b1をタッチしている状態で、ノート表示部2b2をタッチし、そのタッチ状態を保持しながらドラッグ操作をした後、そのドラッグ状態を解除(リリース)した場合(ステップS41→S42′→S110→S111→S112→S113→S114→S115→S111→S112→S116→S117→S118→S122)
(62b)ユーザが鍵盤部2b1をタッチしていない状態で、ノート表示部2b2をタッチし、そのタッチ状態を保持しながら続いて鍵盤部2b1をタッチした後、ノート表示部2b2上でドラッグ操作をしてからそのドラッグ状態を解除(リリース)した場合(ステップS41→S123→上記(62a)のS42′へ)
である。
【0093】
ユーザが前記(61a)の一連の操作をした場合、鍵盤部2b1がタッチ状態であることにより、入力用バッファにはノートナンバがストアされている(前記図9のステップS22を参照)ので、まずCPU6は、タッチ位置の座標から、ノート表示部2b2の複数のグリッド列のうち、当該タッチ位置に最も近い(最寄りの)グリッド列を判定する(ステップS41→S42′)。グリッド列は、前記図8のフローチャート中に記載の「グリッド」に相当し、最寄りのグリッド列の判定方法は、最寄りの「グリッド」の判定方法を適用すればよいので、その説明を省略する。
【0094】
次にCPU6は、判定されたグリッド列(を特定する情報、たとえばグリッド列番号)を入力開始位置としてセットする(ステップS110)。そして、この(61a)の一連の操作では、入力用バッファ内には有効なノートナンバがストアされており、ドラッグ操作がされずにノート表示部2b2へのタッチ操作が解除されたために入力終了位置はセットされていないので、CPU6は、処理をステップS111→S112→S116→S117→S119と進めることで、前記(61)第1のノート入力処理、つまり入力用バッファにストアされている、少なくとも1つのノートナンバに対応するノートを、入力開始位置から1グリッド分の音符長で入力する処理を実行する。これにより、前記図4(b)に示すように、判定されたグリッド列に属する複数のグリッドのうち、選択された音高に対応する、少なくとも1つ(図示例では、3つ)のグリッドにノートが最小単位の音符長で入力される。
【0095】
なお、上記ステップS111では、入力用バッファがクリアされたかどうかを判定しているが、これは、ユーザがノート表示部2b2をタッチ中(ドラッグ中も含む)に、鍵盤部2b1へのタッチ状態を解除したかどうかを判定するものである(前記図9のステップS25→S32)。本実施の形態では、ノート表示部2b2へのノートの入力は、ユーザが鍵盤部2b1に対するタッチ状態を保持しながら、ノート表示部2b2へのタッチおよびリリースを行ったときになされるからである。ステップS111の判定で、入力用バッファがクリアされたときには、CPU6は、処理を後述するステップS123に進め、入力用バッファにノートナンバがストアされるまで、つまり、ユーザが鍵盤部2b1に対して再度タッチ操作を行うまで、待機する。
【0096】
また、上記ステップS116では、ノート表示部2b2へのタッチ状態が解除(リリース)されたかどうかを判定しているが、これは、ユーザがノート表示部2b2へのノートの入力を指示したかどうかを判定するものである。ステップS116の判定で、タッチ状態が解除されなければ、現在の操作状態は、タッチ状態が継続中、あるいはドラッグ中であるので、CPU6は、処理を前記ステップS111に戻している。
【0097】
ユーザが前記(62a)の一連の操作をした場合、CPU6は、処理をステップS41→S42′→S110→S111→S112と進める。このステップS41,S42′,S110およびS111の処理は既に説明したので、ここでは繰り返さない。この(62a)の一連の操作で、ユーザはドラッグ操作を行っているので、CPU6は、前記ステップS42′と同様にして、移動(ドラッグ操作)後のタッチ位置の座標から最寄りのグリッド列を判定し(ステップS112→S113)、判定されたグリッド列(を特定する情報、たとえばグリッド列番号)を入力終了位置としてセットした(ステップS114)後、ノート表示部2b2上、入力開始位置から入力終了位置までの表示領域の表示態様を変更する(ステップS115)。これにより、前記図4(d)のように、入力開始位置から入力終了位置までの表示領域(図示例では、グリッド列R3〜R6の領域)の色が変わる。ドラッグ操作が終了して、ユーザがそのタッチ状態を解除すると、CPU6は、処理をステップS111→S112→S116→S117と進める。このステップS111,S112およびS116の処理は既に説明したので、ここでは繰り返さない。前記ステップS114の処理により、入力終了位置には有効なグリッド列がセットされ、しかもこの(62a)の一連の操作では、入力終了位置と入力開始位置とは異なっているので、CPU6は、処理をステップS117→S118→S122と進めることで、前記(62)第2のノート入力処理、つまり入力用バッファにストアされている、少なくとも1つのノートナンバに対応するノートを、入力開始位置から入力終了位置までの音符長で入力する処理を実行する。これにより、前記図4(d)のように、入力開始位置から入力終了位置までの複数(図示例では、4列)のグリッド列に属する複数のグリッド行のうち、選択された音高に対応する、少なくとも1行(図示例では、3行)のグリッドにノートが最小単位×列数の音符長で入力される。
【0098】
ユーザが前記(61b)の一連の操作をした場合、CPU6は、処理をステップS41→S42′→S110→S111→S112→S113→S114→S115→S111→S112→S116→S117→S118と進める。このステップS41→(中略)→S117の処理は既に説明したので、ここでは繰り返さない。この(61b)の一連の操作では、入力開始位置と入力終了位置とが同じであるので、CPU6は、処理をステップS118→S119と進めて、前記(61)第1のノート入力処理を実行する。この(61)第1のノート入力処理も既に詳述したので、これ以上繰り返さない。
【0099】
ユーザが前記(61c)の一連の操作をした場合、鍵盤部2b1が非タッチ状態であることにより、入力用バッファにはノートナンバがストアされていないので、CPU6は、入力用バッファにノートナンバがストアされるまで、つまり、ユーザが鍵盤部2b1に対してタッチ操作を行うまで、ノート表示部2b2へのタッチ状態が解除されたかどうかを監視しながら、待機する(ステップS41→S123→S124→S123)。ここで、鍵盤部2b1が非タッチ状態である間に、ノート表示部2b2へのタッチ状態が解除されると、CPU6は、本入力位置指定処理#2を直ちに終了する(ステップS124→リターン)。この(61c)の一連の操作では、ノート表示部2b2へのタッチ状態が解除される前に、ユーザは鍵盤部2b1に対してタッチ操作を行っているので、CPU6は、処理をステップS123→S42′と進める。ステップS42′以降の処理は、前記(61a)の一連の操作をした場合の処理と同様であるので、その説明を省略する。
【0100】
ユーザが前記(62b)の一連の操作をした場合の処理は、前記(61c)の一連の操作をした場合の処理の一部(ステップS123およびS124の処理)に、前記(62a)の一連の操作をした場合の処理の一部(ステップS42′以降の処理)を組み合わせたものであり、両処理については詳述したので、これ以上繰り返さない。
【0101】
なお、前記(61)第1および(62)第2のノート入力処理が終了すると、CPU6は、入力開始位置および入力終了位置をクリアする(ステップS120)とともに、前記ステップS115の処理によって変更された、ノート表示部2b2上の表示領域の表示態様を元に戻している(ステップS121)。
【0102】
図11は、前記(33)の操作に応じた処理#1の詳細な手順を示すフローチャートである。
【0103】
本操作に応じた処理#1が起動されると、まずCPU6は、ユーザが行った操作の種類を判定する(ステップS61)。本操作に応じた処理#1が起動される場合は、ノート入力用画像上におけるユーザ操作が検出された場合であり、そのユーザ操作には、本実施の形態では前述のように、長押し操作、スワイプ操作、ピンチ操作、回転操作(回転指示を行う操作)、タッチ操作およびドラッグ操作の6種類が少なくとも含まれている。このうち、タッチ操作およびドラッグ操作は、前記図6のステップS6およびS8で除外されているので、上記ステップS61では、ユーザ操作として、長押し操作、スワイプ操作、ピンチ操作または回転操作のいずれかが判定される。そして、スワイプ操作は「スクロール」指示に、ピンチ操作は「拡大縮小」指示に、回転操作は「回転」指示に、それぞれ対応し、長押し操作はこれら以外の指示に対応する。したがって、ユーザ操作が、スワイプ操作、ピンチ操作または回転操作のいずれかと判定されたときには、CPU6は、処理をステップS62→S63と進める一方、ユーザ操作が長押し操作と判定されたときには、CPU6は、処理をステップS62→S66と進める。
【0104】
ステップS63では、CPU6は、ユーザ操作に基づいて操作量を検出する。操作量は、操作の種類に応じて異なり、スワイプ操作では、スクロールの「移動量」を検出し、ピンチ操作では、拡大縮小の「拡大(縮小)率」を検出し、回転操作では、回転の「回転角」を検出する。なお、スワイプ操作では、スクロールの移動量だけでなく、移動速度も検出するようにしてもよい。また、本実施の形態では前述のように、各表示部品を回転させる場合、回転中心は表示部品毎に固定点としたので、ユーザによる回転操作は、回転角を決定するために利用される。もちろん、これに限らず、回転中心もユーザが自由に設定できるようにしてもよい。
【0105】
次にCPU6は、検出された操作量に応じて、対象となる表示部品の表示状態を変更する(ステップS64)。具体的には、「スクロール」が指示された場合には、当該表示部品を検出された移動量だけスクロールさせ、「拡大縮小」が指示された場合には、当該表示部品を検出された拡大(縮小)率だけ拡大縮小させ、「回転」が指示された場合には、当該表示部品を検出された回転角だけ回転させる。
【0106】
さらにCPU6は、検出された操作量に応じて、対象となる表示部品の座標設定を変更する(ステップS65)。本実施の形態では、各表示部品にはそれぞれ独立した座標が設定されており、上記ステップS65の処理では、対象となる表示部品に設定された座標を検出された操作量に応じて変更している。たとえば「回転」が指示された場合、上記ステップS64の処理によって当該表示部品を回転させるとともに、その回転量に合わせて当該表示部品の座標も回転させておく。これにより、ユーザが表示部品上の同じ位置をタッチすれば、回転前か回転後かに拘わらず、得られる座標値は同じになるので、表示部品の表示状態が変動したとしても、ユーザは違和感なく操作できる。
【0107】
一方、ステップS66では、CPU6は、当該操作に応じた処理を実行する。本実施の形態では、当該操作とは、上述のように「長押し操作」のみであるが、この長押し操作がなされると、CPU6は、前記図2(b)で説明したように、その操作位置に応じてメニュー2a5または2a6をポップアップ表示する。
【0108】
なお本実施の形態では、入力音符(ノート)の音高を指定するための楽器種として、鍵盤楽器を例に挙げて本発明を説明したが、これに限らず、ギターやドラムセットなどの他の楽器に対しても本発明を適用することができる。ギターを採用した場合には、五線譜表示画面2aの五線譜2a1はタブ譜とし、鍵盤2a2はフレット画像とすればよい。ピアノロール表示画面2bの鍵盤部2b1もフレット画像とすればよいが、ノート表示部2b2はそのまま変更する必要はない。また、ドラムセットを採用した場合には、五線譜表示画面2aの五線譜2a1はドラム譜とし、鍵盤2a2はドラムセットを構成する各種ドラム画像とすればよい。ピアノロール表示画面2bの鍵盤部2b1も各種ドラム画像とするか、あるいはドラムセットを構成するドラム種の名称を並べたものとすればよいが、ノート表示部2b2はそのまま変更する必要はない。
【0109】
また本実施の形態では、五線譜2a1上におけるタッチ位置に応じて鍵盤2a2がスクロールするようにしたが、これに限らず、たとえば、初期状態では楽器の全体像を表示させておき、五線譜上におけるタッチ位置に応じた音高付近の鍵域が拡大表示されるようにしてもよい。要するに、楽譜上で音高を指定したときに、対応する鍵盤(またはギターの弦やフレット)がすぐに操作できるように、鍵盤の表示を変化させるものであればよい。
【0110】
さらに本実施の形態では、五線譜表示画面2aでもピアノロール表示画面2bでも、グリッドを表示するようにしたが、これに限らず、グリッドを表示しないモードを備えるようにし、このモードが選択された場合、グリッドを表示しないようにしてもよい。これにより、ユーザは最小入力単位に拘らず、音符(ノート)を入力することができる。この場合、装置内部では、たとえば64分音符長のような細かいグリッドを持つようにし、そのグリッドを画面上に表示しないだけである。グリッドの単位は、本実施の形態では音符長としたが、これに限らず、MIDIのクロックや、μsecのような時間などを採用してもよい。
【0111】
また本実施の形態では、前記図4(b),(c)および図9のステップS25,S32,S33′のように、ユーザは指を鍵盤部2b1にタッチさせながら(タッチ状態を維持したまま)、別の指をノート表示部2b2にタッチしてリリースしたときに、ノートが入力されるようにしたが、これに限らず、ユーザが鍵盤部2b1へのタッチをリリースした後も、別の鍵にタッチしたり、別途設けられた選択解除スイッチを操作したりするまで、鍵盤部2b1へのタッチによる音高の選択状態が維持されるようにし、この音高の選択状態で、ユーザがノート表示部2b2へタッチしてリリースしたときも、ノートが入力されるようにしてもよい。
【0112】
さらに本実施の形態では、前記図4(d)のように、ドラッグ操作によって音符長を指定する際には、常に入力終了位置が入力開始位置より右側(時間が経過する方向)に来るように操作し、逆方向に操作することを想定していないが、逆方向に操作した場合には、入力開始位置と入力終了位置とを比較し、時間的に早い方を入力開始位置とみなし、もう一方を入力終了位置とみなすことで、ドラッグ範囲の音符長が指定されるようにした方が好ましい。
【0113】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0114】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0115】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【0116】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0117】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【0118】
2…タッチパネルディスプレイ,5…表示回路(表示手段),6…CPU(表示手段、第1の判定手段、制御手段、第2の判定手段、入力手段、進行手段、設定手段)
【技術分野】
【0001】
本発明は、多点認識機能を備えたタッチパネルディスプレイを備え、該タッチパネルディスプレイを用いて楽譜入力を行うことができる電子音楽装置およびその制御方法を実現するためのプログラムに関する。
【背景技術】
【0002】
楽曲制作用のDAW(digital audio workstation)や楽譜作成用のソフトウェアをPC(パーソナルコンピュータ)にインストールし、PC上での楽曲制作あるいは楽譜作成は、一般的に行なわれている(たとえば、特許文献1参照)。
【0003】
このようなPC上での楽曲制作や楽譜作成においては、(i )外出先で手軽に音符などを打ち込むことができない、(ii)マウスやキーボードを使って1つずつ音符を入力するのは煩雑、(iii )MIDI(musical instrument digital interface)キーボードをPCに接続してMIDIデータを入力するのは、機材が大掛かりになる上、マウスとMIDIキーボードの使い分けが面倒、などの問題があった。
【0004】
これらの問題に対処するため、タッチパネルディスプレイを備えた携帯端末を使用して楽曲制作あるいは楽譜作成を行なう技術もある。携帯端末であれば、(i )持ち運びでき、(ii)タッチパネルで直感的に操作でき、(iii )入力用の装置(マウスやキーボードなど)も不要であるので、PC上での楽曲制作や楽譜作成における上記問題は解消される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−75472号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記従来の技術では、PC上で行なっていた操作などをそのままタッチパネル上での操作などに置き換えただけであるので、操作の煩雑さは完全には解消されない。たとえば、多数のボタン(8分音符や4分音符などが割り当てられたボタン)が配置されている音符長設定パレットからいずれか1つのボタンを選んだり、譜面上で音符を入力したい位置を正確に指定したりなど、従来マウスを用いて行なっていた細かい作業をタッチ操作で行うのは大変である。
【0007】
本発明は、この点に着目してなされたものであり、大まかなタッチ操作で簡単に楽譜入力を行うことが可能となる電子音楽装置およびその制御方法を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、請求項1に記載の電子音楽装置は、多点認識機能を備えたタッチパネルディスプレイと、前記タッチパネルディスプレイに譜面画像および楽器画像を表示する表示手段と、ユーザが前記タッチパネルディスプレイ上に表示された譜面画像をタッチしたときに、そのタッチ位置に基づいて、該タッチ位置が示す譜面画像上の音高、および音符の時間方向の入力位置を判定する第1の判定手段と、前記第1の判定手段によって判定された音高に応じて、前記タッチパネルディスプレイ上に表示された楽器画像の表示状態を変動させるように前記表示手段を制御する制御手段と、ユーザが前記制御手段によって表示状態の変動された楽器画像をタッチしたときに、そのタッチ位置の音高を判定する第2の判定手段と、前記第2の判定手段によって判定された音高の音符を、前記第1の判定手段によって判定された時間方向の入力位置に入力する入力手段とを有することを特徴とする。
【0009】
請求項2に記載の電子音楽装置は、請求項1の電子音楽装置において、前記入力手段によって音符が入力されたときに、前記音符の時間方向の入力位置を次の入力位置に進行させる進行手段をさらに有することを特徴とする。
【0010】
請求項3に記載の電子音楽装置は、請求項1または2の電子音楽装置において、ユーザが前記楽器画像をタッチしながら、前記譜面画像上、現在の音符の時間方向の入力位置である第1の位置とは異なる第2の位置をタッチすると、前記第1の位置と前記第2の位置との間隔に応じた音符長を、前記入力手段によって入力される音符の音符長として設定する設定手段をさらに有することを特徴とする。
【0011】
上記目的を達成するため、請求項4に記載のプログラムは、請求項1と同様の技術的思想によって実現できる。
【発明の効果】
【0012】
請求項1または4に記載の発明によれば、ユーザがタッチパネルディスプレイ上に表示された譜面画像をタッチしたときに、そのタッチ位置に基づいて、該タッチ位置が示す譜面画像上の音高、および音符の時間方向の入力位置が判定され、該判定された音高に応じて、前記タッチパネルディスプレイ上に表示された楽器画像の表示状態が変動されるので、つまり、ユーザが譜面画像の大まかな位置をタッチするだけで、楽器画像の表示状態が変動されるので、その表示状態として、たとえば表示領域を採った場合には、楽器画像の表示領域は、ユーザが自分で変動させなくても、音高を設定したい位置に自動的に変動する。そして、表示領域が自動的に変動した楽器画像をタッチするだけで、そのタッチ位置の音高が判定され、該判定された音高の音符が前記判定された時間方向の入力位置に入力されるので、ユーザは譜面画像上の細かいタッチ操作で音高を指定しなくてもよくなり、大まかなタッチ操作で簡単に楽譜入力を行うことが可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
【図2】動作モードとして楽譜作成モードが選択された場合に、図1のタッチパネルディスプレイ上に表示された楽譜入力画面の一例を示す図である。
【図3】図1のタッチパネルディスプレイ上に表示された五線譜表示画面における楽譜入力処理を説明するための図である。
【図4】図1のタッチパネルディスプレイ上に表示されたピアノロール表示画面における楽譜入力処理を説明するための図である。
【図5】図3の五線譜表示画面および図4のピアノロール表示画面内の各表示部品の回転処理を説明するための図である。
【図6】図1の電子音楽装置、特にCPUが実行するメインルーチンの手順を示すフローチャートである。
【図7】図6のメインルーチン中の入力音符指定処理のうち、五線譜表示画面が選択されている場合に実行される入力音符指定処理#1の詳細な手順を示すフローチャートである。
【図8】図6のメインルーチン中の入力位置指定処理のうち、五線譜表示画面が選択されている場合に実行される入力位置指定処理#1の詳細な手順を示すフローチャートである。
【図9】図6のメインルーチン中の入力音符指定処理のうち、ピアノロール表示画面が選択されている場合に実行される入力音符指定処理#2の詳細な手順を示すフローチャートである。
【図10】図6のメインルーチン中の入力位置指定処理のうち、ピアノロール表示画面が選択されている場合に実行される入力位置指定処理#2の詳細な手順を示すフローチャートである。
【図11】図6のメインルーチン中の操作に応じた処理#1の詳細な手順を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0015】
図1は、本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
【0016】
同図に示すように、本実施の形態の電子音楽装置は、各種情報を入力するための複数のスイッチを含む設定操作子1と、楽譜作成用のGUI(graphical user interface)を含む各種UI(user interface)を表示するとともに、ユーザが表示された各種UIを、たとえば指で触れることで各種情報を入力するタッチパネルディスプレイ(以下、「タッチパネル」と略して言う)2と、設定操作子1の操作状態を検出する検出回路3と、ユーザによるタッチパネル2上の操作位置や操作圧力などの押圧操作を検出する検出回路4と、上記各種UIをタッチパネル2上に表示させる表示回路5と、装置全体の制御を司るCPU6と、該CPU6が実行する制御プログラムや、各種テーブルデータ等を記憶するROM7と、各種入力情報および演算結果等を一時的に記憶するRAM8と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶する記憶装置9と、外部機器100を接続し、この外部機器100とデータの送受信を行う通信インターフェース(I/F)10と、前記GUIを用いて作成された楽譜を再生して得られた演奏情報等を楽音信号に変換するとともに、その楽音信号に各種効果を付与するための音源・効果回路11と、該音源・効果回路11からの楽音信号を音響に変換する、たとえば、DAC(digital-to-analog converter)やアンプ、スピーカ等のサウンドシステム12とにより構成されている。
【0017】
上記構成要素3〜11は、バス13を介して相互に接続され、通信I/F10には外部機器100が接続され、音源・効果回路11にはサウンドシステム12が接続されている。
【0018】
タッチパネル2は、複数の位置に対するユーザの同時の押圧操作を認識する多点認識機能を備えたパネルである。本実施の形態の電子音楽装置は、掌に載せて片手で操作可能な小型の携帯端末(具体的には、汎用のスレートPC(slate PC)やスマートフォン(smartphone)など)を想定しているので、タッチパネル2も小型のものを採用している。
【0019】
記憶装置9は、たとえば、フレキシブルディスク(FD)、ハードディスク(HD)、CD−ROM、DVD(digital versatile disc)、光磁気ディスク(MO)および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は、駆動装置から着脱可能であってもよいし、記憶装置9自体が、本実施の形態の電子音楽装置から着脱可能であってもよい。あるいは、記憶媒体も記憶装置9も着脱不可能であってもよい。なお、記憶装置9(の記憶媒体)には、前述のように、CPU6が実行する制御プログラムも記憶でき、ROM7に制御プログラムが記憶されていない場合には、この記憶装置9に制御プログラムを記憶させておき、それをRAM8に読み込むことにより、ROM7に制御プログラムを記憶している場合と同様の動作をCPU6にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【0020】
通信I/F10には、図示例では、外部機器100が接続されているが、これに限られず、たとえばLAN(local area network)やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、記憶装置9に上記各プログラムや各種パラメータが記憶されていなければ、通信I/F10は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなる電子音楽装置は、通信I/F10および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介して電子音楽装置へと配信し、電子音楽装置が通信I/F10を介して、これらプログラムやパラメータを受信して記憶装置9に蓄積することにより、ダウンロードが完了する。
【0021】
通信I/F10としては、たとえば、MIDI信号などの音楽信号を専用に送受信する音楽専用有線I/F、USB(universal serial bus)やIEEE1394などの汎用近距離有線I/F、Ethernet(登録商標)などの汎用ネットワークI/F、無線LAN(local area network)やBluetooth(登録商標)などの汎用近距離無線I/F、デジタル電話回線網用の通信I/Fを挙げることができる。本実施の形態では、通信I/F10として、デジタル電話回線網用および/または無線LAN用の通信I/Fを採用している。
【0022】
図2は、動作モードとして楽譜作成モードが選択された場合に、タッチパネル2上に表示された楽譜入力画面の一例を示す図である。本実施の形態の電子音楽装置は、楽譜入力画面として、五線譜と鍵盤を表示し、これを用いて楽譜を入力する画面(以下、「五線譜表示画面」という)2a(図2(a))と、ピアノロールを表示し、これを用いて楽譜を入力する画面(以下、「ピアノロール表示画面」という)2b(図2(c))の2種類の画面を備え、ユーザの選択操作に応じて、いずれかを選択できるようにしている。
【0023】
図2(a)に示すように、五線譜表示画面2aには、2本の五線譜2a1と1つの鍵盤2a2が表示され、各五線譜2a1の上にはルーラ(ruler)2a3が表示されている。ルーラ2a3は、入力音符の音符長の最小単位を示すものであり、図示例では、ルーラ2a3の1目盛りは4分音符長に相当するので、4分音符長を最小単位とする音符を入力することができる。なお、ルーラ2a3の1目盛りの長さ、つまり、音符長の最小単位は、ユーザが自由に変更することができるようになっている。図2(b)は、その変更方法の一例を示す図である。同図(b)に示すように、ユーザがルーラ2a3上の任意の位置を長押しすると、選択可能な音符長の記載されたメニュー2a5がポップアップ表示されるので、そのメニュー2a5の中から変更したい音符長を選択する。これと同様にして、五線譜2a1の音部記号も、選択可能な音部記号の記載されたメニュー2a6を表示させ、そのメニュー2a6の中から変更したい音部記号を選択することで、他の音部記号に変更することができる。なお本実施の形態では、音符長の最小単位の変更も音部記号の変更も、変更対象の近傍を長押しすることによってメニューを表示させ、その中から変更したいものを選択することで行うようにしたが、これに限らず、後述するボタン2a4のいずれかを押すことによってメニューを表示させ、その中から変更したいものを選択することで行うようにしてもよい。
【0024】
図2(a)に戻り、タッチパネル2は、前述のように小型のものを用いているために、タッチパネル2上に、何オクターブもの鍵盤を持つ一般的な鍵盤楽器(たとえばピアノは88鍵)の全体像(鍵盤全体)を表示させることができない(あるいは、表示できたとしても、各鍵が小さ過ぎて操作上問題が生じる)ので、鍵盤2a2は、鍵盤全体の一部(図示例では、2オクターブ程度の鍵盤であるが、各鍵が指でタッチ操作できる程度の大きさのものであれば、これに限らず、1オクターブ程度の鍵盤でも、3オクターブ程度の鍵盤でもよい)を表示したものである。このように一部の鍵盤しか表示できないので、表示されていない部分を表示させたいことがある。その場合には、ユーザは鍵盤2a2上を左/右にスワイプ(swipe)操作(タッチパネル2に触れた状態で指を滑らせる操作)することで、鍵盤2a2が左/右にスクロールして表示鍵域が変わるようになっている。もちろん、表示鍵域の変更方法はこれに限らず、鍵盤2a2の近傍にスクロールバーを表示させ、このスクロールバー上でスワイプ操作あるいはドラッグ操作することで、表示鍵域を変更するようにしてもよい。また、ユーザは鍵盤2a2上でピンチ(pinch)操作(タッチパネル2に触れた状態で2本の指を開いたり閉じたりする操作)することで、鍵盤2a2を拡大/縮小して表示することもできるようになっている。
【0025】
五線譜表示画面2aには、この他に、複数(図示例では、8個)のボタン2a4も表示されている。本実施の形態では、ユーザはこれらのボタン2a4を押すことにより、次のような処理を行うことができる。すなわち、
(O1)保存されている楽譜データの読み出しや、現在表示中の楽譜データの保存
(O2)基本情報(拍子や調、テンポなど)の設定
(O3)入力音符の音符長の最小単位の設定
(O4)休符や音楽記号、臨時記号の入力
(O5)入力した音符データの削除や入力取り消し(Undo)
(O6)五線譜表示画面とピアノロール表示画面の切り替え
(O7)動作モードの変更
(O8)その他の設定
などの処理を行うことができる。ここで、動作モードとしては、上記「楽譜作成モード」の他に、たとえば、鍵盤2a2を非表示にして単なる楽譜として使用する「閲覧モード」などが備えられている。なお、どのボタン2a4をどう操作すれば、上記処理のいずれを実行できるかについては、本発明の特徴ではないので、その説明を省略する。
【0026】
タッチパネル2上に五線譜表示画面2aが表示されている状態で、ピアノロール表示画面への切り替えが指示されると、図2(c)に示すように、タッチパネル2上にはピアノロール表示画面2bが表示される。ただし、同図(c)のピアノロール表示画面2bは全表示画面の一部であり、実際にはこの他に、五線譜表示画面2a内のボタン2a4に相当するものも表示されている。
【0027】
ピアノロール表示画面2bは、鍵盤部2b1とノート表示部2b2とによって構成されている。鍵盤部2b1は、前記鍵盤2a2と同様に、鍵盤全体の一部が表示されているので、ユーザは鍵盤部2b1上を上/下にスワイプ操作することで、鍵盤部2b1が上/下にスクロールして表示鍵域が変わるようになっている。また、ユーザは鍵盤部2b1上でピンチ操作すると、鍵盤部2b1を拡大/縮小して表示することができる。この鍵盤部2b1のスクロールおよび拡大/縮小に連動して、ノート表示部2b2もスクロールおよび拡大/縮小される。さらにノート表示部2b2は、その上をユーザが左/右にスワイプ操作することで、左/右にスクロールして表示領域が変わるようにもなっている。
【0028】
ノート表示部2b2は、音高を示す縦軸と時間経過を示す横軸からなる平面によって構成され、その平面内に複数のグリッド(grid)が形成されている。そして、各グリッドにノート(「音符」のことであるが、前記五線譜2a1に記載されるような「音符」形状ではなく、「楕円」形状で表示される(後述する図4(b)〜(d)参照)ので、「ノート」ということにする)を書き込むことで、楽譜(ピアノロール)を作成する。なお、各グリッドの横辺の長さが、入力ノートの音符長の最小単位を示している。この音符長の最小単位も、前記ルーラ2a3の1目盛りの長さと同様に、ユーザが自由に変更することができる。本実施の形態では、ユーザがノート表示部2b2上の任意の位置を長押しすると、前記メニュー2a5と同様のメニュー(図示せず)がポップアップ表示され、そのメニューの中から変更したい音符長を選択することで、音符長の最小単位を変更できるようにしている。もちろん、変更方法はこれに限らず、ボタン2a4を押すことで、変更できるようにしてもよい。
【0029】
以上のように構成された電子音楽装置が実行する制御処理を、まず図3〜図5を参照してその概要を説明し、次に図6〜図11を参照して詳細に説明する。
【0030】
本実施の形態の電子音楽装置は、
(A)五線譜表示画面2aにおける楽譜入力処理
(B)ピアノロール表示画面2bにおける楽譜(ノート)入力処理
(C)五線譜表示画面2aおよびピアノロール表示画面2b内の各表示部品の回転処理
に特徴がある。
【0031】
図3は、上記(A)の楽譜入力処理を説明するための図であり、同図(a)は、楽譜の入力位置を指定したときの様子を示し、同図(b)は、入力音符の音高を指定したときの様子を示し、同図(c)は、入力音符の音符長を指定したときの様子を示している。
【0032】
図3(a)のように、ユーザが五線譜2a1上の、たとえば1小節目の1拍目、A4(ラ)辺りをタッチすると、そのタッチ位置に最も近い(最寄りの)グリッドが判定される。ここで、グリッドとは、ルーラ2a3に刻まれた目盛りと目盛りの間の領域を示している。タッチ位置から最寄りのグリッドをどう判定するかについては、図8のステップS42の処理で後述する。そして、判定された最寄りのグリッドの先頭に位置する目盛りの上にカーソルCが表示され、この位置に音符が入力できることをユーザに知らせる。このとき、タッチ位置の音高が鍵盤2a2の中央あるいは中央付近に来るように、鍵盤2a2の表示鍵域が左/右に自動的にスクロールする。ここで、「タッチ位置の音高が中央付近に来る」とは、表示鍵域のスクロールを、たとえば1オクターブ単位あるいは半オクターブ単位で行うようにした場合には、タッチ位置の音高を表示鍵域の中央に厳密に位置させることはできないので、その場合には、中央付近に位置させるという意味である。もちろん、タッチ位置の音高を表示鍵域の中央に厳密に位置させることができる場合であっても、ユーザの操作上の都合などによって、当該音高を表示鍵域の中央に厳密に位置させない方がよいときには、「タッチ位置の音高が中央付近に来る」ようにしてもよい。
【0033】
次に図3(b)のように、ユーザが指で、入力したい音高(図示例では、A4(ラ),C5(ド),E5(ミ))に対応する、鍵盤2a2の鍵を押さえると、当該鍵の色が変わり(図示例では、色の変化を斜線で表現している)、その指を離すと、破線で描かれたカーソルCの位置に対応する、五線譜2a1上の位置に、当該指定された音高の音符が入力される。ただし、入力音符の音符長は、ルーラ2a3の1目盛り(グリッドの横辺)に相当する長さ、図示例では4分音符長である。音符が入力されると、カーソルCは自動的に1目盛り分進む。
【0034】
同じ最小単位の音符長の音符を続けて入力する場合には、上述のように、カーソルCが次の入力位置に自動的に進むので、ユーザは鍵盤2a2の鍵を押さえて離す操作だけすればよい。たとえば、図3(b)で入力した音符と同じ音高かつ同じ音符長の音符を2つ続けて入力したい場合には、A4(ラ),C5(ド),E5(ミ)に対応する、鍵盤2a2の鍵を押さえてから離す操作を2回続けて行う。この結果、図3(c)の五線譜2a1中、第1小節の第1拍から第3拍に同じ音高の4分音符が3つ続けて入力される。なお図3(c)には、同じ音高の音符を続けて入力している例が描かれているが、これは便宜上に過ぎず、鍵を押さえて離す操作をする度に、異なった音高の鍵を操作すれば、異なった音高の音符が同じ最小単位の音符長で入力される。
【0035】
一方、最小単位の音符長とは異なる音符長の音符を入力したい場合には、ユーザは、図3(c)のように鍵盤2a2の鍵を押さえたまま、五線譜2a1上、入力したい音符長を指示する。音符長の指示は、具体的には、五線譜2a1上、現在のカーソルCの位置に対応する位置(図示例では、第1小節の第4拍)から入力したい音符長分離れた位置(図示例では、第2小節の第2拍の近傍)をタッチすることによって行う。音符長が指示されると、その音符長がどれくらいかをユーザに知らせるために、その音符長に対応する長さの短冊状表示2a7がルーラ2a3上に現れる。そして、ユーザが鍵盤2a2から押さえた鍵の指を離すと、指定された音高の音符が指示された音符長で入力される。図3(c)の例では、ユーザは、第1小節の第4拍にカーソルCが位置した状態で、A4(ラ),C5(ド),E5(ミ)に対応する、鍵盤2a2の鍵を押さえ、それを維持したまま、五線譜2a1上、第2小節の第2拍の近傍をタッチ(あるいは、五線譜2a1上、第1小節の第4拍の近傍から第2小節の第2拍の近傍までドラッグさせてもよい)すると、ルーラ2a3上に、当該指示された音符長を示す短冊状表示2a7が現れる。その後、ユーザが鍵盤2a2から指を離すと、指定された音高の2分音符が入力される。ただし図示例では、入力される音符は小節を跨ぐので、タイで表示される。音符が入力されると、カーソルCは自動的に、次の入力位置(第2小節の第2拍目の先頭)まで進む。なお図3(c)では、音符長の指定をルーラ2a3の近傍で行っているように描かれているが、これは便宜上そのように描かれているに過ぎず、実際には五線譜2a1上で行っている。もちろん、ルーラ2a3の近傍で音符長の指定ができるようにしてもよい。
【0036】
このように(A)の楽譜入力処理によれば、同じ最小単位の音符長の音符を続けて入力するには、鍵盤2a2の鍵に対するタッチおよびリリースを繰り返すだけでよいので、入力操作を簡単化することができる。また、入力音符の音高は、同時に複数指定することができるので、和音を入力する際の入力操作を特に簡略化することができる。さらに、最小単位より長い音符長の音符を入力する場合でも、その音符長に相当する位置を五線譜2a1上でタッチするだけでよいので、音符長の異なる音符を入力する場合でも、入力操作は複雑化しない。
【0037】
図4は、前記(B)の楽譜入力処理を説明するための図であり、同図(a)は、入力ノートの音高を指定したときの様子を示し、同図(b)は、ノートの入力位置を指定したときの様子を示し、同図(c)は、同じ音高かつ同じ音符長のノートを続けて入力したときの様子を示し、同図(d)は、最小単位の音符長より長い音符長のノートを入力したときの様子を示している。
【0038】
図4(a)のように、ユーザが指で、鍵盤部2b1上の、たとえばC4(ド),E4(ミ),G4(ソ)に相当する鍵をタッチすると、タッチされた鍵の色が変わって(図示例では、色の変化を斜線で表現している)、選択状態であることをユーザに知らせる。なお、ユーザがその指を離すと、鍵の選択状態は解除され、鍵の色も元の色に戻る。
【0039】
次にユーザが、鍵盤部2b1の鍵を選択した状態で、ノート表示部2b2上のいずれかの位置をタッチすると、そのタッチ位置に最も近い(最寄りの)グリッド列が判定される。ここで、グリッド列とは、グリッドの縦方向の1列を意味し、図4では、列R1〜R6のいずれか1列である。そして、ユーザがノート表示部2b2上からタッチした指を離すと、図4(b)に示すように、判定されたグリッド列に属するグリッドのうち、選択された音高に対応するグリッドにノートが入力される。ノートの入力は、当該グリッドに内接される楕円によって表現される。ここで、ノート表示部2b2上のタッチ位置は、鍵盤部2b1上で選択された鍵に対応するグリッド内の位置に限らず、当該グリッドと同じグリッド列内であればどの位置であってもよい。図示例では、ユーザは、ノート表示部2b2のグリッド列R3に属するグリッドのうち、鍵盤部2b1の鍵“D#4”に対応するグリッド内をタッチしているが、ノートは、鍵“G4”,“E4”および“C4”にそれぞれ対応する各グリッド内に入力される。なお図示例では、楕円は黒色で表されているが、色は黒色に限らず、どのような色を採用してもよいし、単色の塗り潰しではなく、網掛けや模様であってもよい。
【0040】
従来の電子音楽装置が、上記ノート表示部2b2と同様のノート表示部を備えているものとし、この従来の電子音楽装置を用いて、上述のようにC4(ド),E4(ミ),G4(ソ)の音高のノートを入力する場合には、ノート表示部上の、各音高にそれぞれ対応したグリッドを1つずつ、つまり3回タッチする必要がある。しかし、本実施の形態の電子音楽装置によれば、上述のようにノート表示部2b2へのタッチは1回で済むので、特に和音を入力する際の入力操作を簡単化することができる。さらに、ノート表示部2b2上のタッチ位置は、入力ノートの音高に対応するグリッドが属するグリッド列内であれば、どこでもよいので、ユーザは正確なタッチ操作が不要となる。
【0041】
同じ最小単位の音符長かつ同じ音高のノートを続けて入力する場合には、図4(c)に示すように、鍵盤部2b1上の鍵の選択状態を維持したまま、ノート表示部2b2上のタッチ位置を変動させる。図示例では、ユーザは、グリッド列R3に続いて、グリッド列R5とグリッド列R6をタッチしているので、C4(ド),E4(ミ),G4(ソ)の音高のノートが、グリッド列R3,列R5および列R6にそれぞれ属するグリッドに入力される。
【0042】
このように本実施の形態の電子音楽装置によれば、同じ音符長かつ同じ音高のノートをいくつも続けて入力する場合、鍵盤部2b1上の、当該音高に対応する鍵を押さえっぱなしにしておけば、あとはノート表示部2b2で入力位置(時間的な位置)だけを指定すればよいので、ユーザは正確なタッチ操作が不要となる。
【0043】
一方、最小単位の音符長より長い音符長のノートを入力したい場合には、図4(d)に示すように、ユーザは鍵盤部2b1上の鍵の選択状態を維持したまま、ノート表示部2b2上を横方向にドラッグする。ドラッグ中は、ドラッグしている範囲がどれくらいか分かるように、ドラッグの始点を含むグリッド列から終点を含むグリッド列まで(図示例では、グリッド列R3からグリッド列R6まで)の全体が色つきで表示される(図示例では、色の変化を斜線で表現している)。そして、ユーザがドラッグを停止し、タッチした指を離すと、ドラッグが開始された位置から指を離した位置までに、ドラッグされた長さに相当する音符長かつ、鍵盤部2b1上で選択された音高のノートが入力される。図示例では、ユーザは、グリッド列R3内の位置からグリッド列R6内の位置までドラッグ操作しているので、C4(ド),E4(ミ),G4(ソ)の音高かつ全音符長(=最小単位×4;ただし、最小単位、つまり各グリッドの横辺の長さを4分音符長とした場合)のノートが入力される。
【0044】
このように本実施の形態の電子音楽装置によれば、鍵盤部2b1で音高の指定ができるとともに、ノート表示部2b2で音符長の指定ができるので、ユーザはノートの入力を直感的に行うことができる。
【0045】
図5は、前記(C)の回転処理を説明するための図であり、同図(a)は、五線譜表示画面2aに含まれる表示部品を示し、同図(b)は、同図(a)の各表示部品を独立して回転させたときの様子を示し、同図(c)は、ピアノロール表示画面2bに含まれる表示部品を示し、同図(d)は、同図(c)の表示部品の一方を回転させたときの様子を示している。
【0046】
五線譜表示画面2aは、図5(a)に示すように、五線譜2a1およびルーラ2a3からなる表示部品Pa1と、鍵盤2a2からなる表示部品Pa2とを備えている。表示部品とは、一体で独立して回転可能な表示画像を意味し、各表示部品をそれぞれ構成する表示画像は、画面毎に(本実施の形態では、五線譜表示画面2aとピアノロール表示画面2bとで)予め固定的に決まっている。なお、五線譜表示画面2aには、前述のようにボタン2a4も含まれるが、本実施の形態では、ボタン2a4は回転しないので、表示部品には含まれない(この事情は、ピアノロール表示画面2bについても同様である)。もちろん、ボタン2a4も回転できるように構成してもよい。
【0047】
ユーザは、五線譜表示画面2aから楽譜入力を行うに際して、五線譜表示画面2aの初期表示、つまり図5(a)に示す表示では、入力操作がし難い場合がある。この場合、表示部品Pa1またはPa2のいずれか一方、あるいは両方を回転させれば、入力操作が格段にし易くなることがある。そこで、本実施の形態の電子音楽装置は、ユーザの回転指示に応じて、表示部品Pa1およびPa2をそれぞれ独立して回転できるようにしている。図5(b)は、ユーザによる回転指示の仕方と、その回転指示に応じて各表示部品Pa1およびPa2を回転させた後の様子を示している。ユーザは、まず1本の指で、回転させたい表示部品の範囲内あるいはその近傍をタッチし、次にもう1本の指で、回転させる方向および角度をドラッグ操作によって指示すると、タッチした表示部品が、指示した方向および角度で回転する。図示例では、表示部品Pa1を時計の針の回る方向に所定の角度だけ回転させ、表示部品Pa2を時計の針の回る方向と逆の方向に所定の角度だけ回転させた様子が描かれている。なお図示例には、表示部品の選択と回転の指示とをそれぞれ別の手の指で行うように描かれているが、同じ手の別の指で行うようにしてもよいことは、言うまでもない。
【0048】
五線譜表示画面2aから楽譜入力を行うに際しての上記問題、つまり、初期画面表示のままでは入力操作がし難い場合があることは、ピアノロール表示画面2bから楽譜入力を行うに際しても同様に起こり得るので、ピアノロール表示画面2bも、図5(c)に示すように、鍵盤部2b1からなる表示部品Pb1と、ノート表示部2b2からなる表示部品Pb2とを備えるようにし、各表示部品Pb1およびPb2をそれぞれ独立して回転できるようにしている。
【0049】
図5(d)は、前記図5(b)と同様に、ユーザによる回転指示の仕方と、その回転指示に応じて表示部品Pb1を回転させた後の様子を示している。ただし図5(d)では、図5(b)と異なり、2つの表示部品のうちの一方のみを回転させ、もう一方は初期表示のままにしているが、これは、表示部品Pb1、つまり鍵盤部2b1は、初期表示の向きでは入力操作がし難いのに対して、表示部品Pb2、つまりノート表示部2b2は、初期表示のままでも入力操作がし難いとまでは言えないからである。もちろん、表示部品Pb2も回転させるようにしてもよいし、逆に、表示部品Pb2を回転させ、表示部品Pb1を回転させないようにしてもよい。なお、回転対象となる表示部品の選択の仕方と、回転させる方向および角度の指示の仕方は、五線譜表示画面2a内の各表示部品についてのそれと同様であるので、その説明は省略する。
【0050】
なお本実施の形態では、鍵盤2a2および鍵盤部2b1は、表示されているもの全体が一体として回転するようにしたが、これに限らず、左鍵域と右鍵域とで別々に回転できるようにしてもよい。また、回転に加えて、各表示部品を独立して移動できるようにしてもよい。この場合、通常のドラッグ操作で移動させても良いし、スワイプ操作(鍵盤のスクロールなど)と明確に区別するため、2本指でドラッグするなど、操作方法を異ならせるようにしてもよい。また、複数の表示部品をまとめて回転または移動できるようにしてもよい。
【0051】
回転や移動した状態は、前記RAM8のユーザ領域に保存できるようにし、これを呼び出して使用可能に構成してもよい。この場合、座って使用する場合の設定や寝そべって使用する場合の設定、縦向き、横向きなど、複数の状態を保存できるようにしておき、ユーザの使用状況に応じて適切なものを呼び出して使用できるようにするとよい。
【0052】
次に、この制御処理を詳細に説明する。
【0053】
図6は、本実施の形態の電子音楽装置、特にCPU6が実行するメインルーチンの手順を示すフローチャートである。
【0054】
本メインルーチンは、主として
(1)初期化処理(ステップS1)
(2)ユーザ操作を受け付け、その操作位置および操作種類を判定する受付・判定処理(ステップS2,S3)
(3)上記(2)の受付・判定処理によって判定された操作位置および操作種類に応じて処理を
(31)入力音符指定処理(ステップS7)
(32)入力位置指定処理(ステップS9)
(33)操作に応じた処理#1(ステップS10)
(34)操作に応じた処理#2(ステップS13)
(35)終了処理(ステップS12)
のうちのいずれかの処理に分岐させる分岐処理(ステップS4,S5,S6,S8,S11)
によって構成されている。本メインルーチンは、前記設定操作子1に含まれる電源スイッチ(図示せず)によって電源がオンされたときに起動される。起動後、前記(1)の初期設定処理が1回実行され、これに続いて、上記(2)および(3)の各処理が順次実行され、この(3)の分岐処理によって分岐された分岐先の処理が終了すると、(2)の処理に戻って、(2)および(3)の各処理が、電源スイッチによって電源がオフされるまで、繰り返し実行される。ただし、分岐先の処理が前記(35)の終了処理である場合には、その(35)終了処理が終了すると、本メインルーチンは終了する。
【0055】
前記(1)初期化処理では、CPU6は、RAM8をクリアしたり、各種パラメータの値をデフォルト値に設定したり、表示画面を選択・表示したりする。本実施の形態では、表示画面、つまり五線譜表示画面2aまたはピアノロール表示画面2bのいずれかは、この(1)初期化処理で1回のみ選択でき、その後、本メインルーチンが終了するまで、変更することはできないようになっている。これは、説明の都合上そうしているに過ぎず、本メインルーチンの途中で、ユーザの指示に応じて任意に切り替えできるようにしてもよい。なお、(1)初期化処理での表示画面の選択は、ユーザにどちらの画面を表示させたいか問い合わせるようにし、ユーザがそれに回答した方を選択するようにすればよい。
【0056】
前記(2)受付・判定処理では、CPU6は、前記検出回路4からの出力を常時チェックすることにより、タッチパネル2に対するユーザ操作があったかどうかを監視し、ユーザ操作があったときにはそのユーザ操作を受け付け(ステップS2)、受け付けたユーザ操作に基づいて、操作位置および操作種類を判定する(ステップS3)。ここで、操作位置とは、タッチパネル2上の操作位置であり、操作種類とは、タッチ操作、ホールド操作、スワイプ操作、ドラッグ操作およびピンチ操作などである。
【0057】
前記(3)分岐処理では、CPU6は、判定された操作位置および操作種類に基づいて、次のようにして処理を分岐させる。すなわち、
(C1)操作位置がノート入力用画像上&(かつ)操作位置が音高指定部内&操作種類がタッチ操作またはドラッグ操作:前記(31)入力音符指定処理に分岐(ステップS4→S5→S6→S7);
(C2)操作位置がノート入力用画像上&操作位置がタイミング指定部内&操作種類がタッチ操作またはドラッグ操作:前記(32)入力位置指定処理に分岐(ステップS4→S5→S8→S9);
(C3)操作位置がノート入力用画像上&操作位置が音高指定部内&操作種類がタッチ操作およびドラッグ操作のいずれでもない:前記(33)操作に応じた処理#1に分岐(ステップS4→S5→S6→S10);
(C4)操作位置がノート入力用画像上&操作位置がタイミング指定部内&操作種類がタッチ操作およびドラッグ操作のいずれでもない:前記(33)操作に応じた処理#1に分岐(ステップS4→S5→S8→S10);
(C5)操作位置がノート入力用画像上以外&操作種類が「終了指示」:前記(35)終了処理に分岐(ステップS4→S11→S12);
(C6)操作位置がノート入力用画像上以外&操作種類が「終了指示」以外:前記(34)操作に応じた処理#2に分岐(ステップS4→S11→S13)。
【0058】
上記ケース(C1)中、第1番目のケース、つまり「操作位置がノート入力用画像上」は、ユーザがノート(音符)入力に関わる画像上を操作しているケースを示している。ノート(音符)入力に関わる画像(ノート入力用画像)は、本実施の形態では、入力するノート(音符)の音高指定に関わる画像部である「音高指定部」と、入力するノート(音符)のタイミング指定に関わる画像部である「タイミング指定部」とによって構成されている。そして、五線譜表示画面2aでは、鍵盤2a2が「音高指定部」に、五線譜2a1およびルーラ2a3が「タイミング指定部」に対応し、ピアノロール表示画面2bでは、鍵盤部2b1が「音高指定部」に、ノート表示部2b2が「タイミング指定部」に対応する。したがって、五線譜表示画面2aが選択されている場合に、ユーザが五線譜2a1、鍵盤2a2およびルーラ2a3(これらに加えて、その近傍を含むようにしてもよい。以下、同様)上を操作している状態や、ピアノロール表示画面2bが選択されている場合に、ユーザが鍵盤部2b1およびノート表示部2b2(これらに加えて、その近傍を含むようにしてもよい。以下、同様)上を操作している状態が、上記第1番目のケースに該当する。一方、ユーザが、たとえば、前記ボタン2a4やメニュー2a5,2a6(図2参照)などの当該画像上以外を操作している状態は、上記第1番目のケースには該当しない。
【0059】
上記ケース(C1)中、第2番目のケース、つまり「操作位置が音高指定部」は、上述のように、ユーザが「ノート入力用画像」の構成要素の一方である「音高指定部」(五線譜表示画面2aでは、鍵盤2a2であり、ピアノロール表示画面2bでは、鍵盤部2b1である)内を操作しているケースを示している。
【0060】
したがって、上記ケース(C1)全体は、ユーザが、五線譜表示画面2aが選択されている場合には鍵盤2a2上を、ピアノロール表示画面2bが選択されている場合には鍵盤部2b1上をタッチ操作またはドラッグ操作したケースを示している。
【0061】
また、前記ケース(C2)中、第1番目のケースは、前記ケース(C1)の第1番目のケースと同様であるので、その説明は省略するが、前記ケース(C2)中、第2番目のケース、つまり「操作位置がタイミング指定部内」は、前述のように、ユーザが「ノート入力用画像」の構成要素のもう一方である「タイミング指定部」(五線譜表示画面2aでは、五線譜2a1およびルーラ2a3であり、ピアノロール表示画面2bでは、ノート表示部2b2である)内を操作しているケースを示している。
【0062】
したがって、前記ケース(C2)全体は、ユーザが、五線譜表示画面2aが選択されている場合には五線譜2a1またはルーラ2a3上を、ピアノロール表示画面2bが選択されている場合にはノート表示部2b2上をタッチ操作またはドラッグ操作したケースを示している。
【0063】
前記ケース(C3)全体は、前記ケース(C1)全体に対して、ユーザの操作種類のみが異なっている。つまり、ユーザが、タッチ操作およびドラッグ操作以外の操作、たとえばスワイプ操作やピンチ操作などを行ったケースを示している。
【0064】
同様に、前記ケース(C4)全体は、前記ケース(C2)全体に対して、ユーザの操作種類のみが異なっている。つまり、ユーザが、タッチ操作およびドラッグ操作以外の操作、たとえばスワイプ操作やピンチ操作などを行ったケースを示している。
【0065】
前記ケース(C5)中、第1番目のケース、つまり「操作位置がノート入力用画像上以外」は、前述のように、ユーザが「ノート入力用画像」外を操作しているケースを示している。その第2番目のケース、つまり「操作種類が『終了指示』」は、ユーザが「終了指示」に該当する特別な態様の操作(たとえば、ボタン2a4内の1つに「終了」が割り当てられており、そのボタンに対するタッチ操作が考えられる。もちろん、これに限られる訳ではない)をしたケースを示している。
【0066】
前記ケース(C6)全体は、上記ケース(C5)全体に対して、ユーザの操作種類のみが異なっている。つまり、ユーザが、「終了指示」に該当する操作以外の操作、たとえば前記(O1)〜(O8)の各操作を行ったケースを示している。
【0067】
図7は、前記(31)の入力音符指定処理のうち、五線譜表示画面2aが選択されている場合に実行される入力音符指定処理#1の詳細な手順を示すフローチャートである。
【0068】
本入力音符指定処理#1は、主として
(41)入力する音符の音高を決定する音高決定処理(ステップS21〜S25)
(42)上記(41)音高決定処理によって決定された音高の音符を最小単位の音符長で入力する第1の音符入力処理(ステップS28,S29)
(43)上記(41)音高決定処理によって決定された音高の音符を最小単位より長い音符長で入力する第2の音符入力処理(ステップS34,S35)
(44)上記(42)または(43)の音符入力処理後の後処理(ステップS30〜S33)
によって構成されている。
【0069】
上記(41)の音高決定処理では、まずCPU6は、タッチ位置の座標をノートナンバに変換する(ステップS21)。具体的には、CPU6は、タッチ位置の座標からユーザが鍵盤2a2のどの鍵をタッチしているか判定し、判定した鍵に割り当てられているノートナンバを取得することで、タッチ位置の座標からノートナンバに変換する。ここで、どの鍵がタッチされているかの判定は、たとえば、タッチ位置のxy座標が鍵盤2a2上、各白鍵および各黒鍵がそれぞれ占める領域のうちのどの領域に含まれるかを判定することによって行えばよい。なお、タッチ位置は、実際には面積のある領域であるが、説明を単純化するために面積のない点とみなしている(以下、同様)。
【0070】
次にCPU6は、変換されたノートナンバを、音符を入力するために前記RAM8の所定位置に確保された入力用バッファ(図示せず)にストアする(ステップS22)。さらにCPU6は、変換されたノートナンバに対応する、つまりタッチされている鍵盤2a2の鍵の表示態様を「選択状態」の態様に変更する(ステップS23)。「選択状態」の態様とは、元の表示色と異なった「選択状態」の表示色にすることである(前記図3(b)を参照)。
【0071】
上記ステップS21〜S23の処理は、ユーザが1本の指で1つの鍵をタッチ操作する場合の処理に相当し、図7のフローチャートでは、複数の指で複数の鍵を同時にタッチ操作する場合の処理は記載されていないが、複数鍵の同時操作がなされた場合には、ステップS21〜S23の処理を同時操作された鍵の数分繰り返し実行することで、前記図3(b)のように、複数鍵の同時操作にも対応している。
【0072】
また、ユーザがタッチ操作する鍵を間違えた場合には、そのタッチ状態を保持したまま、正しい鍵に移動させることで、ユーザの意図通りの音高を決定できるようにしている。ステップS24およびS25の処理は、これを実現するためのものである。つまり、ステップS24では、タッチ位置の移動があったかどうかを判定し、タッチ位置の移動があったときには、処理をステップS21に戻して、移動後のタッチ位置からノートナンバを再取得し、それに応じて対応する鍵の表示態様も変更するようにしている(ステップS23)。そして、ユーザが鍵盤2a2から指を離す(リリースする)まで、ステップS24の判定処理を繰り返し実行する(ステップS25→S24)。ここまでが、(41)音高決定処理である。
【0073】
この(41)音高決定処理が終了すると、CPU6は、前記(42)第1の音符入力処理と前記(43)第2の音符入力処理のいずれに処理を進めるかを判定する。制御処理の概要で前述したように、ユーザが五線譜2a1にタッチして音符長を指定するのは、最小単位より長い音符長の音符を入力する場合であり、最小単位の音符長の音符を入力するには、ユーザは五線譜2a1に触れずに鍵盤2a2へのタッチおよびリリースを行うだけである。そして、ユーザが五線譜2a1にタッチして音符長を指定すると、タッチ位置に対応するグリッド(を特定する値)が入力終了位置としてセットされる(後述する図8のステップS43を参照)ので、入力終了位置に有効な値(=グリッドを特定する値)がセットされていれば、ユーザが五線譜2a1にタッチして音符長を指定したことを示している。したがって、ステップS26では、入力終了位置がセットされているかどうかを判定している。この判定の結果、入力終了位置がセットされていない場合には、CPU6は、ユーザが最小単位の音符長の音符を入力しているとして、処理を前記(42)第1の音符入力処理に進める(ステップS26→S28)。一方、入力終了位置がセットされている場合には、CPU6は、ユーザが最小単位より長い音符長の音符を入力しているとして、処理を前記(43)第2の音符入力処理に進めるが、その前に、入力開始位置(カーソルCが位置するグリッド)と入力終了位置とが同じ値であるかどうかを判定している(ステップS27)。この判定の結果、入力開始位置=入力終了位置であれば、CPU6は、ユーザが五線譜2a1をタッチしたとしても、依然として最小単位の音符長の音符を入力しているとして、処理を前記(42)第1の音符入力処理に進める一方、入力開始位置≠入力終了位置であれば、CPU6は、処理を前記(43)第2の音符入力処理に進める。
【0074】
(42)第1の音符入力処理では、CPU6は、五線譜2a1上の入力位置(横(時間)軸方向の位置であり、具体的には、カーソルCの位置に対応する五線譜2a1上の位置である。この事情は、後述するステップS34の処理についても同様)に、入力用バッファにストアされているノートナンバに対応する音符をルーラ2a3の1目盛り分の音符長で入力した(ステップS28)後、次のグリッドを入力開始位置にセットする(ステップS29)。
【0075】
(43)第2の音符入力処理では、CPU6は、五線譜2a1上の入力位置に、入力用バッファにストアされているノートナンバに対応する音符を入力開始位置から入力終了位置までの長さの音符長で入力した(ステップS34)後、入力終了位置の次のグリッドを入力開始位置にセットする(ステップS35)。
【0076】
前記(44)の後処理では、CPU6は、ルーラ2a3のカーソルCの位置を入力開始位置で更新し(ステップS30)、入力終了位置をクリアし(ステップS31)、入力用バッファをクリアし(ステップS32)、変更した鍵盤2a2の鍵の表示態様を「非選択状態」の態様に戻す(ステップS33)。
【0077】
図8は、前記(32)の入力位置指定処理のうち、五線譜表示画面2aが選択されている場合に実行される入力位置指定処理#1の詳細な手順を示すフローチャートである。
【0078】
本入力位置指定処理#1は、主として
(51)ユーザが鍵盤2a2をタッチ操作している状態で実行される第1の入力位置指定処理(ステップS42〜S46)
(52)ユーザが鍵盤2a2をタッチ操作していない状態で実行される第2の入力位置指定処理(ステップS47〜S52)
によって構成されている。
【0079】
CPU6は、ユーザが鍵盤2a2をタッチ操作している状態であるかどうかを、入力用バッファにノートナンバがストアされているかどうかによって判定している(ステップS41)。この判定の結果、入力用バッファにノートナンバがストアされている場合、つまり、ユーザが鍵盤2a2をタッチ操作している状態である場合には、CPU6は処理を上記(51)第1の入力位置指定処理に進める(ステップS41→S42)一方、入力用バッファにノートナンバがストアされていない場合、つまり、ユーザが鍵盤2a2をタッチ操作していない状態である場合には、CPU6は処理を上記(52)第2の入力位置指定処理に進める(ステップS41→S47)。
【0080】
(51)第1の入力位置指定処理では、まずCPU6は、タッチ位置の座標から、ルーラ2a3の複数のグリッドのうち、当該タッチ位置に最も近い(最寄りの)グリッドを判定する(ステップS42)。ここで、最寄りのグリッドの判定は、たとえば、タッチ位置のx座標が、ルーラ2a3上の各グリッドがそれぞれ占める領域(横軸(x軸)方向の領域)のうちのどの領域に含まれるかを判定することによって行えばよいが、隣接するグリッドの境界近傍がタッチされた場合には、そのタッチ位置が前のグリッドに含まれていたとしても、ユーザは後のグリッドを選択したとして、後のグリッドを最寄りのグリッドとするなどの例外処理を行う必要がある。
【0081】
次にCPU6は、判定されたグリッド(を特定する情報、たとえばグリッド番号)を入力終了位置としてセットし(ステップS43)、入力開始位置から入力終了位置までのルーラ2a3の表示態様を変更する(ステップS44)。これにより、前記図3(c)のように、ルーラ2a3上に短冊状表示2a7が現れる。
【0082】
さらにCPU6は、タッチ位置の移動があるかどうかを判定し(ステップS45)、タッチ位置の移動があれば、前記図7のステップS24と同様に、処理を上記ステップS42に戻して、移動後のタッチ位置の座標から最寄りのグリッドを再判定し、それに応じて上記短冊状表示2a7の横辺の長さを変更する(ステップS44)。そして、ユーザがタイミング指定部(五線譜2a1+ルーラ2a3)から指を離す(リリースする)まで、ステップS45の判定処理を繰り返すようにしている(ステップS45→S46)。
【0083】
(52)第2の入力位置指定処理では、まずCPU6は、タッチ位置の座標から最寄りのグリッドとノートナンバを判定する(ステップS47)。最寄りのグリッドの判定は、前記ステップS42で説明した判定方法と同様の方法を用いればよいので、その説明を省略する。ノートナンバの判定は、たとえば、タッチ位置のy座標と五線譜2a1内の各音高のy座標とを比較し、その差分が最も小さいy座標を持つ音高に対応するノートナンバを目的のノートナンバと判定するようにすればよい。次にCPU6は、判定されたグリッド(を特定する情報、たとえばグリッド番号)を前記入力開始位置としてセットし(ステップS48)、判定されたグリッド(の先頭)にカーソルCを表示し(ステップS49)、判定されたノートナンバに対応する鍵が鍵盤の中央付近に来るように鍵盤2a2の表示を制御する(ステップS50)。さらにCPU6は、前記ステップS45およびS46の処理と同様の処理を行う(ステップS51およびS52)。
【0084】
なお、前記ステップS45およびS51の各判定処理では、タッチ位置の移動を、その移動量の大小に拘わらず検出し、その検出に従って処理を繰り返すようにしているが、現在判定されているグリッドを変える量のタッチ位置の移動(ドラッグ操作)があった場合にのみ、“YES”と判定して処理を繰り返すようにしてもよい。ユーザは指を動かしていないつもりでも、実際にはわずかに揺れているので、そのわずかな揺れをタッチ位置の移動と検出すれば、その検出の度に処理が繰り返されることになって、この無駄な処理により制御処理全体の動作が重くなってしまうからである。
【0085】
また本実施の形態では、タッチ位置の移動はタイミング指定部(五線譜2a1+ルーラ2a3)内に限られ、タイミング指定部外へ出ることを想定していないが、タイミング指定部外へ出た場合には、ユーザがタッチ位置の移動(ドラッグ操作)のためにタッチしている指をタイミング指定部から離した(リリースした)とみなして、前記ステップS46およびS52の各判定処理により、本入力位置指定処理#1を終了してもよいし、タッチ操作自体(ドラッグ操作だけではなく、その前のタッチ操作も含むという意味)のキャンセルとみなして、それまでに実行された入力開始位置(および入力終了位置)の設定をすべてクリアした後、本入力位置指定処理#1を終了してもよい。その際に、タッチ位置がタイミング指定部外に出た旨のメッセージを表示させたり、警告音を発生させたりしてもよい。
【0086】
図9は、前記(31)の入力音符指定処理のうち、ピアノロール表示画面2bが選択されている場合に実行される入力音符指定処理#2の詳細な手順を示すフローチャートである。図9中、図7と同様の処理を行うステップには同一のステップ番号を付している。
【0087】
本入力音符指定処理#2が起動される場合は、前記図4で前述したように、ユーザが鍵盤部2b1に対してタッチ操作またはドラッグ操作を行った場合である。つまり、図9のステップS21〜S25,S32およびS33′の処理と、図7のステップS21〜S25,S32およびS33の処理とは、処理の文言はほとんど変わらないが、前者の処理が、鍵盤部2b1についてのユーザ操作に関するものであるのに対して、後者の処理は、鍵盤2a2についてのユーザ操作に関するものである点が異なっている。しかし、前者の処理は、後者の処理を類推適用すれば容易に理解できるので、その説明を省略する。
【0088】
ステップS33′の処理が終了すると、CPU6は、図10を用いて後述する入力位置指定処理#2が実行中であるかどうかを判定する(ステップS101)。この判定の結果、入力位置指定処理#2が実行中であれば、CPU6は、入力位置指定処理#2においてセットされた入力開始位置および入力終了位置をそれぞれクリアし(ステップS102)、後述する図10のステップS115で変更されたノート表示部2b2の表示態様を元に戻した(ステップS103)後、本入力音符指定処理#2を終了する一方、入力位置指定処理#2が実行中でなければ、CPU6は、直ちに本入力音符指定処理#2を終了する(ステップS101→リターン)。
【0089】
図10は、前記(32)の入力位置指定処理のうち、ピアノロール表示画面2bが選択されている場合に実行される入力位置指定処理#2の詳細な手順を示すフローチャートである。図10中、図8と同様の処理を行うステップには同一のステップ番号を付している。
【0090】
本入力位置指定処理#2は、主として
(61)前記入力音符指定処理#2によって指定された音高のノート(音符)を、ノート表示部2b2上、ユーザが指定した位置に最小単位の音符長で入力する第1のノート入力処理(ステップS119)
(62)前記入力音符指定処理#2によって指定された音高のノート(音符)を、ノート表示部2b2上、ユーザが指定した位置に最小単位より長い音符長で入力する第2のノート入力処理(ステップS122)
によって構成されている。
【0091】
そして、上記(61)の第1のノート入力処理は、ユーザによる次の操作のいずれかを経て実行される。すなわち、
(61a)鍵盤部2b1をタッチしている状態で、ノート表示部2b2をタッチした後、そのタッチ状態を解除(リリース)した場合(ステップS41→S42′→S110→S111→S112→S116→S117→S119)
(61b)鍵盤部2b1をタッチしている状態で、ノート表示部2b2をタッチし、そのタッチ状態を保持しながらドラッグ操作をした後、そのドラッグ状態を解除(リリース)した場合(ただし、ドラッグ操作によっても次のグリッドが選択されなかった場合)(ステップS41→S42′→S110→S111→S112→S113→S114→S115→S111→S112→S116→S117→S118→S119)
(61c)鍵盤部2b1をタッチしていない状態で、ノート表示部2b2をタッチし、そのタッチ状態を保持しながら続いて鍵盤部2b1をタッチした後、ノート表示部2b2のタッチ状態を解除(リリース)した場合(ステップS41→S123→上記(61a)のS42′へ)
である。
【0092】
また、上記(62)の第2のノート入力処理は、ユーザによる次の操作のいずれかを経て実行される。すなわち、
(62a)鍵盤部2b1をタッチしている状態で、ノート表示部2b2をタッチし、そのタッチ状態を保持しながらドラッグ操作をした後、そのドラッグ状態を解除(リリース)した場合(ステップS41→S42′→S110→S111→S112→S113→S114→S115→S111→S112→S116→S117→S118→S122)
(62b)ユーザが鍵盤部2b1をタッチしていない状態で、ノート表示部2b2をタッチし、そのタッチ状態を保持しながら続いて鍵盤部2b1をタッチした後、ノート表示部2b2上でドラッグ操作をしてからそのドラッグ状態を解除(リリース)した場合(ステップS41→S123→上記(62a)のS42′へ)
である。
【0093】
ユーザが前記(61a)の一連の操作をした場合、鍵盤部2b1がタッチ状態であることにより、入力用バッファにはノートナンバがストアされている(前記図9のステップS22を参照)ので、まずCPU6は、タッチ位置の座標から、ノート表示部2b2の複数のグリッド列のうち、当該タッチ位置に最も近い(最寄りの)グリッド列を判定する(ステップS41→S42′)。グリッド列は、前記図8のフローチャート中に記載の「グリッド」に相当し、最寄りのグリッド列の判定方法は、最寄りの「グリッド」の判定方法を適用すればよいので、その説明を省略する。
【0094】
次にCPU6は、判定されたグリッド列(を特定する情報、たとえばグリッド列番号)を入力開始位置としてセットする(ステップS110)。そして、この(61a)の一連の操作では、入力用バッファ内には有効なノートナンバがストアされており、ドラッグ操作がされずにノート表示部2b2へのタッチ操作が解除されたために入力終了位置はセットされていないので、CPU6は、処理をステップS111→S112→S116→S117→S119と進めることで、前記(61)第1のノート入力処理、つまり入力用バッファにストアされている、少なくとも1つのノートナンバに対応するノートを、入力開始位置から1グリッド分の音符長で入力する処理を実行する。これにより、前記図4(b)に示すように、判定されたグリッド列に属する複数のグリッドのうち、選択された音高に対応する、少なくとも1つ(図示例では、3つ)のグリッドにノートが最小単位の音符長で入力される。
【0095】
なお、上記ステップS111では、入力用バッファがクリアされたかどうかを判定しているが、これは、ユーザがノート表示部2b2をタッチ中(ドラッグ中も含む)に、鍵盤部2b1へのタッチ状態を解除したかどうかを判定するものである(前記図9のステップS25→S32)。本実施の形態では、ノート表示部2b2へのノートの入力は、ユーザが鍵盤部2b1に対するタッチ状態を保持しながら、ノート表示部2b2へのタッチおよびリリースを行ったときになされるからである。ステップS111の判定で、入力用バッファがクリアされたときには、CPU6は、処理を後述するステップS123に進め、入力用バッファにノートナンバがストアされるまで、つまり、ユーザが鍵盤部2b1に対して再度タッチ操作を行うまで、待機する。
【0096】
また、上記ステップS116では、ノート表示部2b2へのタッチ状態が解除(リリース)されたかどうかを判定しているが、これは、ユーザがノート表示部2b2へのノートの入力を指示したかどうかを判定するものである。ステップS116の判定で、タッチ状態が解除されなければ、現在の操作状態は、タッチ状態が継続中、あるいはドラッグ中であるので、CPU6は、処理を前記ステップS111に戻している。
【0097】
ユーザが前記(62a)の一連の操作をした場合、CPU6は、処理をステップS41→S42′→S110→S111→S112と進める。このステップS41,S42′,S110およびS111の処理は既に説明したので、ここでは繰り返さない。この(62a)の一連の操作で、ユーザはドラッグ操作を行っているので、CPU6は、前記ステップS42′と同様にして、移動(ドラッグ操作)後のタッチ位置の座標から最寄りのグリッド列を判定し(ステップS112→S113)、判定されたグリッド列(を特定する情報、たとえばグリッド列番号)を入力終了位置としてセットした(ステップS114)後、ノート表示部2b2上、入力開始位置から入力終了位置までの表示領域の表示態様を変更する(ステップS115)。これにより、前記図4(d)のように、入力開始位置から入力終了位置までの表示領域(図示例では、グリッド列R3〜R6の領域)の色が変わる。ドラッグ操作が終了して、ユーザがそのタッチ状態を解除すると、CPU6は、処理をステップS111→S112→S116→S117と進める。このステップS111,S112およびS116の処理は既に説明したので、ここでは繰り返さない。前記ステップS114の処理により、入力終了位置には有効なグリッド列がセットされ、しかもこの(62a)の一連の操作では、入力終了位置と入力開始位置とは異なっているので、CPU6は、処理をステップS117→S118→S122と進めることで、前記(62)第2のノート入力処理、つまり入力用バッファにストアされている、少なくとも1つのノートナンバに対応するノートを、入力開始位置から入力終了位置までの音符長で入力する処理を実行する。これにより、前記図4(d)のように、入力開始位置から入力終了位置までの複数(図示例では、4列)のグリッド列に属する複数のグリッド行のうち、選択された音高に対応する、少なくとも1行(図示例では、3行)のグリッドにノートが最小単位×列数の音符長で入力される。
【0098】
ユーザが前記(61b)の一連の操作をした場合、CPU6は、処理をステップS41→S42′→S110→S111→S112→S113→S114→S115→S111→S112→S116→S117→S118と進める。このステップS41→(中略)→S117の処理は既に説明したので、ここでは繰り返さない。この(61b)の一連の操作では、入力開始位置と入力終了位置とが同じであるので、CPU6は、処理をステップS118→S119と進めて、前記(61)第1のノート入力処理を実行する。この(61)第1のノート入力処理も既に詳述したので、これ以上繰り返さない。
【0099】
ユーザが前記(61c)の一連の操作をした場合、鍵盤部2b1が非タッチ状態であることにより、入力用バッファにはノートナンバがストアされていないので、CPU6は、入力用バッファにノートナンバがストアされるまで、つまり、ユーザが鍵盤部2b1に対してタッチ操作を行うまで、ノート表示部2b2へのタッチ状態が解除されたかどうかを監視しながら、待機する(ステップS41→S123→S124→S123)。ここで、鍵盤部2b1が非タッチ状態である間に、ノート表示部2b2へのタッチ状態が解除されると、CPU6は、本入力位置指定処理#2を直ちに終了する(ステップS124→リターン)。この(61c)の一連の操作では、ノート表示部2b2へのタッチ状態が解除される前に、ユーザは鍵盤部2b1に対してタッチ操作を行っているので、CPU6は、処理をステップS123→S42′と進める。ステップS42′以降の処理は、前記(61a)の一連の操作をした場合の処理と同様であるので、その説明を省略する。
【0100】
ユーザが前記(62b)の一連の操作をした場合の処理は、前記(61c)の一連の操作をした場合の処理の一部(ステップS123およびS124の処理)に、前記(62a)の一連の操作をした場合の処理の一部(ステップS42′以降の処理)を組み合わせたものであり、両処理については詳述したので、これ以上繰り返さない。
【0101】
なお、前記(61)第1および(62)第2のノート入力処理が終了すると、CPU6は、入力開始位置および入力終了位置をクリアする(ステップS120)とともに、前記ステップS115の処理によって変更された、ノート表示部2b2上の表示領域の表示態様を元に戻している(ステップS121)。
【0102】
図11は、前記(33)の操作に応じた処理#1の詳細な手順を示すフローチャートである。
【0103】
本操作に応じた処理#1が起動されると、まずCPU6は、ユーザが行った操作の種類を判定する(ステップS61)。本操作に応じた処理#1が起動される場合は、ノート入力用画像上におけるユーザ操作が検出された場合であり、そのユーザ操作には、本実施の形態では前述のように、長押し操作、スワイプ操作、ピンチ操作、回転操作(回転指示を行う操作)、タッチ操作およびドラッグ操作の6種類が少なくとも含まれている。このうち、タッチ操作およびドラッグ操作は、前記図6のステップS6およびS8で除外されているので、上記ステップS61では、ユーザ操作として、長押し操作、スワイプ操作、ピンチ操作または回転操作のいずれかが判定される。そして、スワイプ操作は「スクロール」指示に、ピンチ操作は「拡大縮小」指示に、回転操作は「回転」指示に、それぞれ対応し、長押し操作はこれら以外の指示に対応する。したがって、ユーザ操作が、スワイプ操作、ピンチ操作または回転操作のいずれかと判定されたときには、CPU6は、処理をステップS62→S63と進める一方、ユーザ操作が長押し操作と判定されたときには、CPU6は、処理をステップS62→S66と進める。
【0104】
ステップS63では、CPU6は、ユーザ操作に基づいて操作量を検出する。操作量は、操作の種類に応じて異なり、スワイプ操作では、スクロールの「移動量」を検出し、ピンチ操作では、拡大縮小の「拡大(縮小)率」を検出し、回転操作では、回転の「回転角」を検出する。なお、スワイプ操作では、スクロールの移動量だけでなく、移動速度も検出するようにしてもよい。また、本実施の形態では前述のように、各表示部品を回転させる場合、回転中心は表示部品毎に固定点としたので、ユーザによる回転操作は、回転角を決定するために利用される。もちろん、これに限らず、回転中心もユーザが自由に設定できるようにしてもよい。
【0105】
次にCPU6は、検出された操作量に応じて、対象となる表示部品の表示状態を変更する(ステップS64)。具体的には、「スクロール」が指示された場合には、当該表示部品を検出された移動量だけスクロールさせ、「拡大縮小」が指示された場合には、当該表示部品を検出された拡大(縮小)率だけ拡大縮小させ、「回転」が指示された場合には、当該表示部品を検出された回転角だけ回転させる。
【0106】
さらにCPU6は、検出された操作量に応じて、対象となる表示部品の座標設定を変更する(ステップS65)。本実施の形態では、各表示部品にはそれぞれ独立した座標が設定されており、上記ステップS65の処理では、対象となる表示部品に設定された座標を検出された操作量に応じて変更している。たとえば「回転」が指示された場合、上記ステップS64の処理によって当該表示部品を回転させるとともに、その回転量に合わせて当該表示部品の座標も回転させておく。これにより、ユーザが表示部品上の同じ位置をタッチすれば、回転前か回転後かに拘わらず、得られる座標値は同じになるので、表示部品の表示状態が変動したとしても、ユーザは違和感なく操作できる。
【0107】
一方、ステップS66では、CPU6は、当該操作に応じた処理を実行する。本実施の形態では、当該操作とは、上述のように「長押し操作」のみであるが、この長押し操作がなされると、CPU6は、前記図2(b)で説明したように、その操作位置に応じてメニュー2a5または2a6をポップアップ表示する。
【0108】
なお本実施の形態では、入力音符(ノート)の音高を指定するための楽器種として、鍵盤楽器を例に挙げて本発明を説明したが、これに限らず、ギターやドラムセットなどの他の楽器に対しても本発明を適用することができる。ギターを採用した場合には、五線譜表示画面2aの五線譜2a1はタブ譜とし、鍵盤2a2はフレット画像とすればよい。ピアノロール表示画面2bの鍵盤部2b1もフレット画像とすればよいが、ノート表示部2b2はそのまま変更する必要はない。また、ドラムセットを採用した場合には、五線譜表示画面2aの五線譜2a1はドラム譜とし、鍵盤2a2はドラムセットを構成する各種ドラム画像とすればよい。ピアノロール表示画面2bの鍵盤部2b1も各種ドラム画像とするか、あるいはドラムセットを構成するドラム種の名称を並べたものとすればよいが、ノート表示部2b2はそのまま変更する必要はない。
【0109】
また本実施の形態では、五線譜2a1上におけるタッチ位置に応じて鍵盤2a2がスクロールするようにしたが、これに限らず、たとえば、初期状態では楽器の全体像を表示させておき、五線譜上におけるタッチ位置に応じた音高付近の鍵域が拡大表示されるようにしてもよい。要するに、楽譜上で音高を指定したときに、対応する鍵盤(またはギターの弦やフレット)がすぐに操作できるように、鍵盤の表示を変化させるものであればよい。
【0110】
さらに本実施の形態では、五線譜表示画面2aでもピアノロール表示画面2bでも、グリッドを表示するようにしたが、これに限らず、グリッドを表示しないモードを備えるようにし、このモードが選択された場合、グリッドを表示しないようにしてもよい。これにより、ユーザは最小入力単位に拘らず、音符(ノート)を入力することができる。この場合、装置内部では、たとえば64分音符長のような細かいグリッドを持つようにし、そのグリッドを画面上に表示しないだけである。グリッドの単位は、本実施の形態では音符長としたが、これに限らず、MIDIのクロックや、μsecのような時間などを採用してもよい。
【0111】
また本実施の形態では、前記図4(b),(c)および図9のステップS25,S32,S33′のように、ユーザは指を鍵盤部2b1にタッチさせながら(タッチ状態を維持したまま)、別の指をノート表示部2b2にタッチしてリリースしたときに、ノートが入力されるようにしたが、これに限らず、ユーザが鍵盤部2b1へのタッチをリリースした後も、別の鍵にタッチしたり、別途設けられた選択解除スイッチを操作したりするまで、鍵盤部2b1へのタッチによる音高の選択状態が維持されるようにし、この音高の選択状態で、ユーザがノート表示部2b2へタッチしてリリースしたときも、ノートが入力されるようにしてもよい。
【0112】
さらに本実施の形態では、前記図4(d)のように、ドラッグ操作によって音符長を指定する際には、常に入力終了位置が入力開始位置より右側(時間が経過する方向)に来るように操作し、逆方向に操作することを想定していないが、逆方向に操作した場合には、入力開始位置と入力終了位置とを比較し、時間的に早い方を入力開始位置とみなし、もう一方を入力終了位置とみなすことで、ドラッグ範囲の音符長が指定されるようにした方が好ましい。
【0113】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0114】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0115】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【0116】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0117】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【0118】
2…タッチパネルディスプレイ,5…表示回路(表示手段),6…CPU(表示手段、第1の判定手段、制御手段、第2の判定手段、入力手段、進行手段、設定手段)
【特許請求の範囲】
【請求項1】
多点認識機能を備えたタッチパネルディスプレイと、
前記タッチパネルディスプレイに譜面画像および楽器画像を表示する表示手段と、
ユーザが前記タッチパネルディスプレイ上に表示された譜面画像をタッチしたときに、そのタッチ位置に基づいて、該タッチ位置が示す譜面画像上の音高、および音符の時間方向の入力位置を判定する第1の判定手段と、
前記第1の判定手段によって判定された音高に応じて、前記タッチパネルディスプレイ上に表示された楽器画像の表示状態を変動させるように前記表示手段を制御する制御手段と、
ユーザが前記制御手段によって表示状態の変動された楽器画像をタッチしたときに、そのタッチ位置の音高を判定する第2の判定手段と、
前記第2の判定手段によって判定された音高の音符を、前記第1の判定手段によって判定された時間方向の入力位置に入力する入力手段と
を有することを特徴とする電子音楽装置。
【請求項2】
前記入力手段によって音符が入力されたときに、前記音符の時間方向の入力位置を次の入力位置に進行させる進行手段をさらに有することを特徴とする請求項1に記載の電子音楽装置。
【請求項3】
ユーザが前記楽器画像をタッチしながら、前記譜面画像上、現在の音符の時間方向の入力位置である第1の位置とは異なる第2の位置をタッチすると、前記第1の位置と前記第2の位置との間隔に応じた音符長を、前記入力手段によって入力される音符の音符長として設定する設定手段をさらに有することを特徴とする請求項1または2に記載の電子音楽装置。
【請求項4】
多点認識機能を備えたタッチパネルディスプレイを備えた電子音楽装置を制御する制御方法をコンピュータに実行させるプログラムであって、
前記制御方法は、
前記タッチパネルディスプレイに譜面画像および楽器画像を表示させる表示ステップと、
ユーザが前記タッチパネルディスプレイ上に表示された譜面画像をタッチしたときに、そのタッチ位置に基づいて、該タッチ位置が示す譜面画像上の音高、および音符の時間方向の入力位置を判定する第1の判定ステップと、
前記第1の判定ステップによって判定された音高に応じて、前記タッチパネルディスプレイ上に表示された楽器画像の表示状態を変動させるように前記表示ステップを制御する制御ステップと、
ユーザが前記制御ステップによって表示状態の変動された楽器画像をタッチしたときに、そのタッチ位置の音高を判定する第2の判定ステップと、
前記第2の判定ステップによって判定された音高の音符を、前記第1の判定ステップによって判定された時間方向の入力位置に入力する入力ステップと
を有することを特徴とするプログラム。
【請求項1】
多点認識機能を備えたタッチパネルディスプレイと、
前記タッチパネルディスプレイに譜面画像および楽器画像を表示する表示手段と、
ユーザが前記タッチパネルディスプレイ上に表示された譜面画像をタッチしたときに、そのタッチ位置に基づいて、該タッチ位置が示す譜面画像上の音高、および音符の時間方向の入力位置を判定する第1の判定手段と、
前記第1の判定手段によって判定された音高に応じて、前記タッチパネルディスプレイ上に表示された楽器画像の表示状態を変動させるように前記表示手段を制御する制御手段と、
ユーザが前記制御手段によって表示状態の変動された楽器画像をタッチしたときに、そのタッチ位置の音高を判定する第2の判定手段と、
前記第2の判定手段によって判定された音高の音符を、前記第1の判定手段によって判定された時間方向の入力位置に入力する入力手段と
を有することを特徴とする電子音楽装置。
【請求項2】
前記入力手段によって音符が入力されたときに、前記音符の時間方向の入力位置を次の入力位置に進行させる進行手段をさらに有することを特徴とする請求項1に記載の電子音楽装置。
【請求項3】
ユーザが前記楽器画像をタッチしながら、前記譜面画像上、現在の音符の時間方向の入力位置である第1の位置とは異なる第2の位置をタッチすると、前記第1の位置と前記第2の位置との間隔に応じた音符長を、前記入力手段によって入力される音符の音符長として設定する設定手段をさらに有することを特徴とする請求項1または2に記載の電子音楽装置。
【請求項4】
多点認識機能を備えたタッチパネルディスプレイを備えた電子音楽装置を制御する制御方法をコンピュータに実行させるプログラムであって、
前記制御方法は、
前記タッチパネルディスプレイに譜面画像および楽器画像を表示させる表示ステップと、
ユーザが前記タッチパネルディスプレイ上に表示された譜面画像をタッチしたときに、そのタッチ位置に基づいて、該タッチ位置が示す譜面画像上の音高、および音符の時間方向の入力位置を判定する第1の判定ステップと、
前記第1の判定ステップによって判定された音高に応じて、前記タッチパネルディスプレイ上に表示された楽器画像の表示状態を変動させるように前記表示ステップを制御する制御ステップと、
ユーザが前記制御ステップによって表示状態の変動された楽器画像をタッチしたときに、そのタッチ位置の音高を判定する第2の判定ステップと、
前記第2の判定ステップによって判定された音高の音符を、前記第1の判定ステップによって判定された時間方向の入力位置に入力する入力ステップと
を有することを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−37237(P2013−37237A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−174182(P2011−174182)
【出願日】平成23年8月9日(2011.8.9)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願日】平成23年8月9日(2011.8.9)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
[ Back to top ]