JP5402167B2 - アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム - Google Patents

アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム Download PDF

Info

Publication number
JP5402167B2
JP5402167B2 JP2009086320A JP2009086320A JP5402167B2 JP 5402167 B2 JP5402167 B2 JP 5402167B2 JP 2009086320 A JP2009086320 A JP 2009086320A JP 2009086320 A JP2009086320 A JP 2009086320A JP 5402167 B2 JP5402167 B2 JP 5402167B2
Authority
JP
Japan
Prior art keywords
data
start position
event data
arpeggio
pattern data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009086320A
Other languages
English (en)
Other versions
JP2010237509A (ja
Inventor
忠 岡野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2009086320A priority Critical patent/JP5402167B2/ja
Publication of JP2010237509A publication Critical patent/JP2010237509A/ja
Application granted granted Critical
Publication of JP5402167B2 publication Critical patent/JP5402167B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、供給されたアルペジオパターンデータおよび入力された音符情報に基づいてアルペジオを生成するアルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラムに関する。
供給されたアルペジオパターンデータおよび入力された音符情報に基づいてアルペジオを生成するアルペジオ生成装置は、従来から知られている。
このようなアルペジオ生成装置、いわゆるアルペジエータは、複数のキー番号(音高に対応したノートナンバではなく、単純な番号)とその発音タイミングからなるアルペジオパターンデータを記憶し、同時に押鍵されて入力された複数の音の各音高に、所定のルール(たとえば、音高の低い順)に従って番号を割り振り、アルペジオパターンデータ中のキー番号に対応した番号が割り振られた音高を、その発音タイミングで発生させるようにして、押鍵音を基にアルペジオを生成している。このようにアルペジエータは、ユーザによる押鍵があると、その押鍵音およびアルペジオパターンデータに応じて順次発音データを生成して出力し、アルペジオパターンデータの最後のデータに対応する発音データが生成されて出力されると、再びアルペジオパターンデータの先頭のデータに戻って、そのデータに対応する発音データの生成および出力を繰り返す。これにより、ユーザの押鍵が続く限り、その押鍵音およびアルペジオパターンデータに応じた発音データの生成および出力が継続する。
ところで、上記アルペジエータは、押鍵によって複数の音、たとえば和音が入力されると、入力された和音を発音するとともに、その和音に基づいてアルペジオを生成して発音する。そしてアルペジオの生成および発音は、上述のように押鍵が続く限り続くので、押鍵が続いている間、その和音も継続して発音するようにした場合には、押鍵が続いている間、常に和音にアルペジオが重なって発音される。したがって上記アルペジエータでは、ユーザが和音の発音を継続させながら、そのアルペジオを装飾的に(具体的には、アルペジオの発音回数を制限して)付加した音作りをしようとしても、和音の押鍵が続いている間、常にその和音にアルペジオが重なって発音される(つまり、アルペジオの発音回数を制限できない)ので、このユーザの要求に応えることはできなかった。
このユーザの要求に応えるために本出願人は、アルペジオパターンデータを繰り返し使用する回数をユーザが指定できるようにして、アルペジオの発音回数を制限できるようにしたアルペジエータを提案した(たとえば、特許文献1参照)。このアルペジエータでは、ユーザが指定した回数分、アルペジオパターンデータが繰り返し使用されると、その後ユーザの押鍵が続いたとしても、アルペジオは発音されずに、その押鍵音だけが発音される。
特開2008−139450号公報
しかし、上記従来のアルペジエータでは、アルペジオパターンデータ全体のデータ長を最小単位としてアルペジオを生成するようにしているので、アルペジオパターンデータの一部を、たとえば繰り返し用いてアルペジオを生成することはできなかった。
本発明は、この点に着目してなされたものであり、アルペジオパターンデータの一部を用いてアルペジオを生成することが可能となるアルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラムを提供することを目的とする。
上記目的を達成するため、請求項1に記載のアルペジオ生成装置は、タイミング情報を含むイベントデータ複数からなるアルペジオパターンデータを供給する供給手段と、該供給手段によって供給されたアルペジオパターンデータの切り出し開始位置および切り出し終了位置を設定する設定手段と、該設定手段によって設定された切り出し開始位置を時間的に遅い位置に変更する変更手段と、音高情報を含む音符情報を1つ以上入力する入力手段と、該入力手段によって入力された音符情報および前記供給手段によって供給されたアルペジオパターンデータ内のイベントデータに基づいてアルペジオデータを生成する生成手段とを有し、前記設定手段によって切り出し開始位置および切り出し終了位置が設定されている場合には、前記生成手段は、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータを、先頭のイベントデータから順次読み出し、末尾のイベントデータを読み出すと、前記先頭のイベントデータに戻って読み出しを続け、当該読み出したイベントデータに基づいてアルペジオデータを生成し、さらに前記変更手段によって前記切り出し開始位置が変更されている場合には、前記生成手段は、当該変更後の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータを、先頭のイベントデータから順次読み出し、末尾のイベントデータを読み出すと、当該変更前の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータの先頭のイベントデータに戻って読み出しを続け、当該読み出したイベントデータに基づいてアルペジオデータを生成することを特徴とする。
上記目的を達成するため、請求項に記載のアルペジオ生成装置は、タイミング情報を含むイベントデータ複数からなるアルペジオパターンデータを供給する供給手段と、該供給手段によって供給されたアルペジオパターンデータの切り出し開始位置および切り出し終了位置を設定する設定手段と、該設定手段によって設定された切り出し開始位置を時間的に遅い位置に変更する変更手段と、前記設定手段によって切り出し開始位置および切り出し終了位置が設定されている場合には、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータをコピーし、さらに前記変更手段によって前記切り出し開始位置が変更されている場合には、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記変更後の切り出し開始位置から前記切り出し終了位置までのイベントデータをコピーし、さらに前記切り出し開始位置から前記変更後の切り出し開始位置までのイベントデータを、前記コピーに続くようにタイミング情報の値を調整しながらコピーするコピー手段と、前記設定手段によって切り出し開始位置および切り出し終了位置が設定されている場合には、前記コピー手段によってコピーされたイベントデータに含まれるタイミング情報の値を、前記アルペジオパターンデータの先頭から前記切り出し開始位置までの時間分、時間的に早い方向にシフトし、さらに前記変更手段によって前記切り出し開始位置が変更されている場合には、前記コピー手段によってコピーされたイベントデータに含まれるタイミング情報の値を、前記アルペジオパターンデータの先頭から前記変更後の切り出し開始位置までの時間分、時間的に早い方向にシフトするシフト手段と、保存の指示が検出されたことに応じて、前記シフト手段によってタイミング情報の値がシフトされたイベントデータからなる新たなアルペジオパターンデータを生成し、記憶手段に記憶させる記録手段とを有することを特徴とする。
上記目的を達成するため、請求項に記載のプログラムは、請求項1と同様の技術的思想によって実現できる。
上記目的を達成するため、請求項に記載のプログラムは、請求項と同様の技術的思想によって実現できる。
請求項1またはに記載の発明によれば、切り出し開始位置および切り出し終了位置が設定されている場合には、供給されたアルペジオパターンデータ内のイベントデータのうち、前記切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータが、先頭のイベントデータから順次読み出され、末尾のイベントデータが読み出されると、前記先頭のイベントデータに戻って読み出しが続けられ、当該読み出されたイベントデータおよび入力された音符情報に基づいてアルペジオデータが生成されるので、アルペジオパターンデータの一部を用いてアルペジオを生成することが可能となる。
請求項1または3に記載の発明によれば、さらに前記切り出し開始位置が時間的に遅い位置に変更されている場合には、前記供給されたアルペジオパターンデータ内のイベントデータのうち、当該変更後の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータが、その先頭のイベントデータから順次読み出され、末尾のイベントデータが読み出されると、当該変更前の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータの先頭のイベントデータに戻って読み出しが続けられ、当該読み出されたイベントデータおよび入力された音符情報に基づいてアルペジオデータが生成されるので、アルペジオパターンデータの特性などによって、アルペジオパターンデータの切り出しを設定された切り出し開始位置より時間的に遅い位置から始めたいときに有効である。そして、切り出し開始位置から切り出し終了位置までに含まれるイベントデータの読み出しは、変更後の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータの先頭のイベントデータから開始されるものの、末尾のイベントデータに到達すると、当該先頭のイベントデータに戻らずに、それより時間的に早い位置にある、変更前の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータの先頭のイベントデータに戻るので、切り出し開始位置を時間的に遅い位置に変更したとしても、変更前の切り出し開始位置から切り出し終了位置までの時間長を維持しつつ、新たなアルペジオを生成することができる。
請求項またはに記載の発明によれば、切り出し開始位置および切り出し終了位置が設定されている場合には、供給されたアルペジオパターンデータ内のイベントデータのうち、前記切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータがコピーされ、該コピーされたイベントデータに含まれるタイミング情報の値が、前記アルペジオパターンデータの先頭から前記切り出し開始位置までの時間分、時間的に早い方向にシフトされ、保存の指示が検出されたことに応じて、前記タイミング情報の値がシフトされたイベントデータからなる新たなアルペジオパターンデータが生成され、記憶手段に記憶されるので、アルペジオパターンデータの一部を用いて新たなアルペジオパターンデータを作成することが可能となる。
請求項2または4に記載の発明によれば、さらに前記切り出し開始位置が時間的に遅い位置に変更されている場合には、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記変更後の切り出し開始位置から前記切り出し終了位置までのイベントデータがコピーされ、さらに前記切り出し開始位置から前記変更後の切り出し開始位置までのイベントデータが、前記コピーに続くようにタイミング情報の値を調整しながらコピーされ、該コピーされたイベントデータに含まれるタイミング情報の値が、前記アルペジオパターンデータの先頭から前記変更後の切り出し開始位置までの時間分、時間的に早い方向にシフトされ、保存の指示が検出されたことに応じて、前記タイミング情報の値がシフトされたイベントデータからなる新たなアルペジオパターンデータが生成され、記憶手段に記憶されるので、アルペジオパターンデータの特性などによって、アルペジオパターンデータの切り出しを設定された切り出し開始位置より時間的に遅い位置から始めたいときに有効である。そして、切り出し開始位置から変更後の切り出し開始位置までにあるイベントデータは、変更後の切り出し開始位置から切り出し終了位置までにあるイベントデータの後に追加されるので、切り出し開始位置を時間的に遅い位置に変更したとしても、変更前の切り出し開始位置から切り出し終了位置までの時間長を維持しつつ、新たなアルペジオパターンデータを作成することができる。
本発明の一実施の形態に係るアルペジオ生成装置(アルペジエータ)の概略構成を示すブロック図である。 図1のアルペジエータが実行する制御処理の制御構成を示すブロック図である。 アルペジオパターンデータに含まれる発音パターンデータから作成された新発音パターンデータのフォーマットの一例と、その新発音パターンデータとユーザの押鍵操作によって入力された押鍵音の音高に基づいて生成した発音データリストを示す図である。 図1のアルペジエータが実行する制御処理を説明するための図である。 図1のアルペジエータが実行する他の制御処理を説明するための図である。 図1のアルペジエータ、特にCPUが実行するアルペジオ再生モード処理の手順を示すフローチャートである。 図6中の新発音パターンデータ作成処理の詳細な手順を示すフローチャートである。 図6中の発音データリスト生成処理の詳細な手順を示すフローチャートである。 図1のアルペジエータ、特にCPUが実行するアルペジオパターンデータ記録処理の手順を示すフローチャートである。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の一実施の形態に係るアルペジエータの概略構成を示すブロック図である。
同図に示すように、本実施の形態のアルペジエータは、鍵盤等の演奏操作子および各種スイッチ等の設定操作子からなる操作子群1と、該操作子群1の各操作子の操作状態を検出する検出回路2と、装置全体の制御を司るCPU3と、該CPU3が実行する制御プログラムや各種テーブルデータ等を記憶するROM4と、前記演奏操作子から入力された演奏情報(音符情報)、アルペジオパターンデータ、各種入力情報および演算結果等を一時的に記憶するRAM5と、前記制御プログラムを含む各種アプリケーションプログラムや各種アルペジオパターンデータ、各種データ等を記憶する外部記憶装置6と、各種情報等を表示する、たとえば液晶ディスプレイ(LCD)および発光ダイオード(LED)等を備えた表示装置7と、外部MIDI(Musical Instrument Digital Interface)機器等の外部機器100を接続し、この外部機器100とデータの送受信を行う通信インターフェース(I/F)8と、前記演奏操作子から入力された演奏情報および前記RAM5に記憶されたアルペジオパターンデータに基づいて生成したアルペジオ発音データ等を楽音信号に変換する音源回路9と、該音源回路9からの楽音信号に各種効果を付与するための効果回路10と、該効果回路10からの楽音信号を音響に変換する、たとえば、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等のサウンドシステム11とにより構成されている。
上記構成要素2〜10は、バス12を介して相互に接続され、通信I/F8には外部機器100が接続され、音源回路9には効果回路10が接続され、効果回路10にはサウンドシステム11が接続されている。
外部記憶装置6は、たとえば、フレキシブルディスク(FD)、ハードディスク(HD)、CD−ROM、DVD(digital versatile disc)、光磁気ディスク(MO)および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は、駆動装置から着脱可能であってもよいし、外部記憶装置6自体が、本実施の形態のアルペジエータから着脱可能であってもよい。あるいは、記憶媒体も外部記憶装置6も着脱不可能であってもよい。なお、外部記憶装置6(の記憶媒体)には、前述のように、CPU3が実行する制御プログラムも記憶でき、ROM4に制御プログラムが記憶されていない場合には、この外部記憶装置6に制御プログラムを記憶させておき、それをRAM5に読み込むことにより、ROM4に制御プログラムを記憶している場合と同様の動作をCPU3にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
通信I/F8には、図示例では、外部機器100が接続されているが、これに限られず、たとえばLAN(local area network)やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、外部記憶装置6に上記各プログラムや各種パラメータが記憶されていなければ、通信I/F8は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなるアルペジエータは、通信I/F8および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介してアルペジエータへと配信し、アルペジエータが通信I/F8を介して、これらプログラムやパラメータを受信して外部記憶装置6に蓄積することにより、ダウンロードが完了する。
なお、本実施の形態のアルペジエータは、上述の構成から分かるように、電子鍵盤楽器上に構築されたものであるが、これに限らず、鍵盤を外部接続した汎用的なパーソナルコンピュータ上に構築してもよい。また、鍵盤楽器の実施形態に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の他の実施形態でもよい。
以上のように構成されたアルペジエータが実行する制御処理を、まず図2〜図5を参照してその概要(ただし、一部は詳細)を説明し、次に図6〜図9を参照して詳細に説明する。
本実施の形態のアルペジエータは、主として
(A)ユーザによって選択されたアルペジオパターンデータ中の発音パターンデータに基づいて新発音パターンデータを作成する新発音パターンデータ作成処理
(B)上記(A)の新発音パターンデータ作成処理によって作成された新発音パターンデータおよびユーザの押鍵操作によって入力された演奏情報(本実施の形態では、音高)に基づいて発音データリストを生成する発音データリスト生成処理
(C)上記(B)の発音データリスト生成処理によって生成された発音データリストを再生する発音データリスト再生処理
(D)ユーザの押鍵/離鍵操作に応じてノートオン/ノートオフイベントを生成して前記音源回路9に出力することで、押鍵音の発音/離鍵音の消音を行う発音/消音処理
を行う。
図2は、本実施の形態のアルペジエータが実行する制御処理、つまり上記(A)〜(D)の処理の制御構成を示すブロック図であり、図3は、アルペジオパターンデータに含まれる発音パターンデータから作成された新発音パターンデータのフォーマットの一例と、その新発音パターンデータとユーザの押鍵操作によって入力された押鍵音の音高に基づいて生成した発音データリストを示す図である。
アルペジオパターンデータは、たとえば前記外部記憶装置6内に予め複数種類(たとえば、音色毎に複数種類)記憶され、その中からユーザがいずれかを選択すると、選択されたアルペジオパターンデータが、外部記憶装置6から読み出されて、前記RAM5の所定位置に確保されたアルペジオパターンデータ格納領域(図示せず)に格納される。図2には、ユーザがアルペジオパターンデータ群から選択したアルペジオパターンデータNに基づいてアルペジオ発音データを生成する様子が示されている。
各アルペジオパターンデータにはそれぞれ、発音パターンデータが含まれている。発音パターンデータは、図3に示すように、発音タイミング(Timing)、ゲートタイム(Gate)、キーナンバ(Key)、オクターブ(Oct)およびベロシティ(Vel)を1組のデータ(以下、「イベントデータ」と言う)とする複数組のイベントデータによって構成されている(ただし図3は、上述のように新発音パターンデータのフォーマットを示し、その作成基となる発音パターンデータのフォーマットを示していないが、両者のフォーマットは同じとする)。ここで、発音タイミングは、対応する(つまり、同じ組に属する)キーナンバの押鍵音を発音するタイミングを「小節:拍:クロック数」で表したものであり、本実施の形態では、480クロックが1拍分の時間に相当する。ゲートタイムは、上記発音タイミングで発音が開始された押鍵音の発音継続時間(つまり音長)をクロック数で表したものである。キーナンバは、ユーザが複数の鍵を同時に押したとき(押鍵開始タイミングは、同時でもよいし、ずれていてもよく、要は複数鍵が同時に押されている期間があればよい。以下、同様)に入力される押鍵音に対して、音高の低い順に番号付けしたものである。オクターブは、対応するキーナンバの押鍵音をどれだけオクターブシフトするかを示したものである。ベロシティは、対応するキーナンバの押鍵音を発音する際のベロシティの値を示したものである。
図3には、ユーザの押鍵により3つの音高“C3”,“E3”および“G3”が同時に入力されたときに、新発音パターンデータ、つまり前記(A)の新発音パターンデータ作成処理によって作成された新発音パターンデータを用いて生成した発音データリストが記載されている。図示例の新発音パターンデータは4小節長であるが、元のアルペジオパターンデータ(ここでは、アルペジオパターンデータN)中の発音パターンデータは4小節長以上である。
押鍵音“C3”,“E3”および“G3”には、前記ルールに従ってそれぞれ“1”,“2”および“3”のキーナンバが付与されるので、発音データリストの、たとえば先頭(“1:1:000”)から第2拍の末尾(“1:2:479”)までのノートナンバ(Note)は、次のように生成される。すなわち、
タイミング“1:1:000”:C4(発音パターンデータの発音タイミング“1:1:000”におけるキーナンバ“1”の押鍵音の音高(“C3”)を“1”オクターブシフトしたもの)
タイミング“1:1:240”:G3(発音パターンデータの発音タイミング“1:1:240”におけるキーナンバ“3”の押鍵音の音高(“G3”)を“0”オクターブシフトしたもの)
タイミング“1:2:000”:E3(発音パターンデータの発音タイミング“1:2:000”におけるキーナンバ“2”の押鍵音の音高(“E3”)を“0”オクターブシフトしたもの)
タイミング“1:2:240”:C3(発音パターンデータの発音タイミング“1:2:240”におけるキーナンバ“1”の押鍵音の音高(“C3”)を“0”オクターブシフトしたもの)
他の拍の各タイミングのノートナンバも、同様にして生成される。
なお本実施の形態では、新発音パターンデータとして元の発音パターンデータから4小節長(図3の例では、4/4拍子)分切り出したものを採用しているが、発音データリストの生成は、後述するようにユーザの押鍵操作で開始された後、その離鍵操作があるまで停止されないので、ユーザの押鍵操作から離鍵操作に至るまでの時間が4小節長を超えると、発音データリストは4小節長を超えて生成される。したがって、押鍵音が変更されないまま、発音データリストが4小節長を超えて生成されたときには、第5小節目以降のノートナンバは、第1〜第4小節で生成されたノートナンバが繰り返し生成される。ただし、発音データリストに登録される第5小節目以降の発音データのタイミングは、発音パターンデータ中の対応する発音タイミングをそのまま使うことができず、新発音パターンデータをループして使用する回数(以下、「ループ回数」と言う)×新発音パターンデータの時間長分、当該発音タイミングを時間的に遅く(後ろ)にシフトする必要がある。たとえば、ループ回数が2回目の先頭の発音データのタイミングは、図3に示すように、新発音パターンデータ中の対応する発音タイミング“1:1:000”に対して4小節分後ろにシフトされ、“5:1:000”となっている。ここで、ループ回数は“0”を初期値としているので、図3の「ループ2回目」とは、ループ回数=1のことである(この事情は、図4および図5でも同様である)。なお、新発音パターンデータとして切り出す時間長は、元の発音パターンデータ全体の時間長より短ければ、上記4小節長に限られないことは言うまでもない。
図2に戻り、ユーザの指示に応じてアルペジオ再生モードに移行し、ユーザが、アルペジオパターンデータを選択するとともに開始位置、終了位置および開始位置シフト量を設定し(ブロック1b)、アルペジオ発音データの生成開始を指示した後、押鍵操作によって、少なくとも1つ以上の押鍵音を入力する(ブロック1a)と、入力された押鍵音(少なくともキーコードおよびベロシティを含む)は、前記RAM5の所定位置に確保されたキーオンバッファ(図示せず)に格納される。前記CPU3はキーオンバッファの状態を常にチェックし、キーオンバッファに押鍵音が格納されると、その押鍵音に対応するノートオンイベントを生成して前記音源回路9に出力する。これに応じて音源回路9は、入力されたノートオンイベントに対応する楽音信号を生成して、前記効果回路10に出力する。これにより、サウンドシステム11から押鍵音が発音される。
次にCPU3は、新発音パターンデータ、つまりアルペジオパターンデータN中の発音パターンデータを前記開始位置から前記終了位置まで切り出すことによって得られた発音パターンデータと、キーオンバッファに格納された押鍵音の音高(キーコード)に基づいて、前述のようにして発音データリストを生成する(ブロック3a)。なお前記ブロック1bでは、「開始位置シフト量」も設定できるように構成されているが、これに基づいた制御処理については、後述する。また本発明は、アルペジオパターンデータ(の発音パターンデータ)の一部を使用することで、新たなアルペジオパターンデータを生成して再生したり、保存したりすることに特徴があるので、本実施の形態では常に、アルペジオパターンデータの一部を使用することにする。つまり、「開始位置」および「終了位置」のうち、少なくとも一方が常に設定されるものとする。しかし、これは説明の都合上であって、「開始位置」および「終了位置」のいずれも設定されず(この場合、「開始位置シフト量」は設定できてもできなくてもよい)、前記従来のアルペジエータのようにアルペジオパターンデータ全体を用いて発音データリストを生成できるように構成してもよい。
このようにして生成された(あるいは生成中の)発音データリストは、図示しないタイマ割り込み処理内に埋め込まれた前記(C)の発音データリスト再生処理によって再生される。この(C)発音データリスト再生処理は、具体的には、次のようにして実現される。すなわち、タイマ割り込み処理は、たとえば前記クロックの1周期毎に起動されるとして、
(i)RAM5の所定位置に設けたフリーランカウンタ(図示せず)を、タイマ割り込み処理が起動される度にカウントアップする
(ii)フリーランカウンタのカウント値と発音データリスト中の発音タイミングとを比較し、その結果、両者が一致すると、発音データリストから、その発音タイミングのノートナンバおよびベロシティを読み出し、このノートナンバおよびベロシティを含むノートオンイベントを生成して、音源回路9へ出力する
(iii)上記(ii)でノートオンイベントを生成した場合、フリーランカウンタが、その生成時点を起点として現時点までカウントした値を検出し、その検出値と、生成したノートオンイベントに対応するゲートタイムとを比較し、その結果、両者が一致すると、生成したノートオンイベントに対応するノートオフイベントを生成して、音源回路9に出力する。
なおフリーランカウンタは、押鍵が開始されたタイミングなどの所定のタイミングでリセットする必要があることは言うまでもない。そしてリセットは通常、フリーランカウンタの値を“0”に設定することによって行うが、本実施の形態では、フリーランカウンタの値を“−1”に設定することによって行う。これは、本実施の形態では上述のように、フリーランカウンタがカウントアップされてから、そのカウント値と発音タイミングとが比較されるため、フリーランカウンタを“0”でリセットすると、発音タイミングが“0000”の位置にあるイベントを検出できないからである。また本実施の形態では、発音タイミングの表現形式として「小節:拍:クロック数」を採用する一方、フリーランカウンタのカウントは単純な(たとえば、“1”ずつの)カウントアップであるため、前記(ii)の処理における「比較」は、一方の表現形式を他方の表現形式に合わせた後に行う必要がある。どちらをどちらに合わせても構わないが、本実施の形態では説明の都合上、フリーランカウンタのカウント値を「小節:拍:クロック数」の表現形式に変換した後、発音タイミングと比較することにする。
図4は、本実施の形態のアルペジエータが実行する制御処理を説明するための図であり、同図(a)は、選択された6小節長のアルペジオパターンデータの一部を切り出す様子を示し、同図(b)は、同図(a)のアルペジオパターンデータ中の発音パターンデータに基づいて新たに作成した発音パターンデータを示し、同図(c)は、同図(b)の発音パターンデータを使用して生成した発音データリストに基づいて再生を行ったときの様子を示している。
前述のように、ユーザによって選択されたアルペジオパターンデータは前記アルペジオパターンデータ格納領域に格納されるが、このとき、そのアルペジオパターンデータ中の発音パターンデータを構成する各イベントデータの時間的位置が、たとえば図4(a)に示すように前記表示装置7上に表示される。その表示画面上には、切り出し開始位置および切り出し終了位置をそれぞれ示す矢印とともに、図示しないカーソルも表示される。ユーザは、このカーソルを切り出し開始位置または切り出し開始位置を示す矢印に合わせてドラッグ操作することで、切り出し開始位置または切り出し終了位置を指定する。図示例では、切り出し開始位置として第2小節の先頭が、切り出し終了位置として第5小節の末尾が指定されている。これにより、前記図2のブロック1bにおける「開始位置」として第2小節の先頭が、同「終了位置」として第5小節の末尾が設定される。なお、切り出し開始位置および切り出し終了位置の指定をドラッグ操作で行うと、切り出し開始位置が切り出し終了位置より時間的に遅く指定されたり、切り出し開始位置が当該アルペジオパターンデータの先頭を超えて指定されたり、切り出し終了位置が当該アルペジオパターンデータの末尾を超えて指定されたりすることがあり得る。このようなエラー指定については、ユーザに警告したり、指定そのものをできなくしたりすればよい。
次にユーザが、アルペジオ発音データの生成開始を指示すると、図4(b)に示すように、アルペジオパターンデータ中の発音パターンデータが「開始位置」から「終了位置」まで切り出されて、新たな発音パターンデータが作成される。
そして、この新発音パターンデータおよび入力された押鍵音に基づいて発音データリストが生成され、この発音データリストに基づいて楽音、つまりアルペジオが生成される。図4(c)は、新発音パターンデータを2回使用してアルペジオを生成したときの様子を示している。ただし図示例では、新発音パターンデータ内のキーナンバが読み出される様子が示され、発音データリスト内のノートナンバが再生される様子は示されていない。これは、本発明ではアルペジオパターンデータ(の発音パターンデータ)の一部をどのように切り出し、切り出し後のアルペジオパターンデータ(の発音パターンデータ内のキーナンバ)をどのように読み出してアルペジオを生成するかが問題であって、切り出し後のアルペジオパターンデータ(の発音パターンデータ内のキーナンバ)から発音データリスト内のノートナンバをどのように生成するかは問題ではない(つまり、発音パターンデータ内のキーナンバから発音データリスト内のノートナンバを生成する方法は、前記従来のアルペジエータによってなされている方法をそのまま用いている)からである。
図5は、図4の制御処理と異なる他の制御処理を説明するための図である。図5の制御処理は、図4の制御処理に対して、ユーザがタイミングシフト量を指定した点が異なっている。図5(a)〜(c)はそれぞれ、図4(a)〜(c)に対応している。
図5(a)に示すように、まずユーザが、図4(a)と同じアルペジオパターンデータを選択して、図4(a)と同じ区間の切り出しを指定した上で、さらに2拍分のタイミングシフト量を指定すると、前記図2のブロック1bの「開始位置」、「終了位置」および「開始位置シフト量」にはそれぞれ、「第2小節の先頭」、「第5小節の末尾」および「2拍分」が設定される。
次にユーザが、アルペジオ発音データの生成開始を指示すると、図5(b)に示すように、アルペジオパターンデータ中の発音パターンデータが「開始位置」+「開始位置シフト量」から「終了位置」まで切り出され、さらに「開始位置」から「開始位置」+「開始位置シフト量」まで切り出され、前者の切り出された発音パターンデータの後ろに後者の切り出された発音パターンデータを追加して、新たな発音パターンデータが生成される。
そして、この新発音パターンデータおよび入力された押鍵音に基づいて発音データリストが生成され、この発音データリストに基づいて楽音、つまりアルペジオが生成される。図5(c)は、新発音パターンデータを2回使用してアルペジオを生成したときの様子を示している。
なお、図4(b)および図5(b)の新発音パターンデータは、ユーザの保存の指示により、新たなアルペジオパターンデータとして所定の記憶媒体に記録できるように構成されている。
このように本実施の形態のアルペジエータでは、アルペジオパターンデータの一部を用いてアルペジオを生成することができる。そして、使用したアルペジオパターンデータ(の発音パターンデータ)の一部は、新たなアルペジオパターンデータとして保存するようにしたので、1つのアルペジオパターンデータから複数のアルペジオパターンデータを作成することができる。具体的には、たとえばドラム用のアルペジオパターンでは、7小節間の通常のパターンの後、フィルイン的なパターンが8小節目に入るような構成になっていることがある。このとき、ユーザが8小節目でなく、もっと先にフィルイン的なパターンを入れたい場合には、フィルイン的なパターンの前の通常のパターンの部分を切り出して使い、最後にフィルイン的なパターンを使うというように、切り出したパターンと元のパターンを簡単に組み合わせて利用することができる。
またパターンの切り出しは、基本的には小節の先頭タイミングから始めるが、パターンの特性などによっては小節の途中から始めたいこともある。この場合、本実施の形態のアルペジエータではタイミングシフト量を指定することができるので、ユーザは、そのパターンの特性などを考慮してタイミングシフト量を指定することで、そのパターンの切り出し開始位置を適宜(たとえば、16分音符単位毎に)後ろにずらすことができる。これにより、たとえば切り出した発音パターンデータの先頭に休符が入っている場合など、休符を飛ばしてアルペジオ生成を開始することができる。さらに、このように切り出し開始位置をずらしたアルペジオパターンをループ再生する場合、本実施の形態のアルペジエータでは、再生が進行して切り出し終了位置に到達すると、ずらす前の切り出し開始位置、つまり、図5の例では小節の先頭タイミングに戻るようにしているので、全体として見たときに小節がずれることなくアルペジオ生成を行うことができる。
次に、この制御処理を詳細に説明する。
図6は、本実施の形態のアルペジエータ、特にCPU3が実行するアルペジオ再生モード処理の手順をそれぞれ示すフローチャートであり、本アルペジオ再生モード処理は、ユーザが前記アルペジオ再生モードを選択したときに起動される。
本アルペジオ再生モード処理は、主として
(1)初期設定処理(ステップS1〜S3)
(2)前記(A)の新発音パターンデータ作成処理(ステップS4)
(3)前記(D)の発音/消音処理(ステップS5,S6,S11,S12)
(4)アルペジオ再生のスタート/ストップ処理(ステップS7〜S10,S13,S14)
によって構成されている。
上記(1)の初期化処理では、まずCPU3は、前記外部記憶装置6に記憶されているアルペジオパターンデータ群の一覧を、たとえば前記表示装置7上に表示することでユーザに提示し、ユーザがその中からいずれかのアルペジオパターンデータを選択すると、選択されたアルペジオパターンデータを外部記憶装置6から前記アルペジオパターンデータ格納領域に読み込む(ステップS1)。
次にCPU3は、前述のようにしてアルペジオパターンデータ格納領域内のアルペジオパターンデータを前記表示装置7上に表示し、ユーザによって切り出し開始位置および切り出し終了位置が指定されるのを待つ。ユーザが切り出し開始位置および切り出し終了位置を指定すると、CPU3は、その切り出し開始位置および切り出し終了位置をそれぞれ、前記RAM5の所定位置に確保された切り出し開始位置格納領域および切り出し終了位置格納領域(ともに図示せず)に格納する(ステップS3)。
切り出し開始位置および切り出し終了位置の指定は、図4(a)を用いて前述したように、たとえばアルペジオパターンデータ(中の発音パターンデータを構成する各イベントデータの時間的位置)が表示された画面上の矢印およびカーソルを用いてなされる。この位置の指定は、小節単位や拍単位、さらに細かくクロック単位など、いずれの単位を採用してもよいが、本実施の形態ではクロック単位で指定できるものとする。もちろん、ユーザがその単位をいずれにするか設定できるようにしてもよい。なお、切り出し開始位置および切り出し終了位置が指定されたときに、少なくとも一方の位置が、当該発音パターンデータ内のいずれかのイベントデータの発音継続時間の途中になっていることがある。この場合、そのイベントデータは、切り出し位置で分割してもよいし、切り出し対象から除外するようにしてもよいし、クオンタイズ処理を施した後に切り出すようにしてもよい。また、このようなルールをいくつか用意しておき、ユーザあるいはメーカがいずれかを選択設定できるようにしてもよい。
なお、本実施の形態では前述のように、切り出し開始位置および切り出し終了位置のうちのいずれか一方が設定されない場合があり得るが、設定されない方の格納領域にはデフォルト位置(たとえば、切り出し終了位置が設定されない場合には、元のアルペジオパターンデータの終了位置)を設定しておけばよい。
さらにCPU3は、ユーザによってタイミングシフト量(前記図2の「開始位置シフト量」に相当)が指定されるのを待つ。ユーザがタイミングシフト量を指定すると、CPU3は、そのタイミングシフト量を、RAM5の所定位置に確保されたタイミングシフト量格納領域(図示せず)に格納する(ステップS3)。タイミングシフト量の指定も、前記切り出し開始位置および切り出し終了位置の指定と同様に、表示画面上の矢印およびカーソルを用いて行われる。しかしその指定単位は、前記切り出し開始位置および切り出し終了位置の指定単位より細かく、たとえば、16分音符単位や8分音符単位、4分音符単位、さらに細かくクロック単位のいずれかを採用すればよい。本実施の形態では、クロック単位で指定できるものとするが、ユーザがその単位をいずれにするか設定できるようにしてもよい。なお、前記図4を用いて説明したように、タイミングシフト量は指定されない場合があり、その場合、タイミングシフト量格納領域には“FF”(1バイトで表現される場合)を設定しておけばよい。
次にCPU3は、処理を前記(2)の新発音パターンデータ作成処理に進める。
図7は、この(2)新発音パターンデータ作成処理の詳細な手順を示すフローチャートである。同図に示すように、まずCPU3は、新発音パターンデータを作成するためにRAM5の所定位置に新発音パターンデータ格納領域(図示せず)を確保する(ステップS21)。次にCPU3は、前記タイミングシフト量格納領域をチェックすることで、タイミングシフト量が設定されているかどうかを判別し(ステップS22)、タイミングシフト量が設定されていないとき、つまりタイミングシフト量格納領域に“FF”が格納されているときには、ステップS23〜S25の処理を実行する一方、タイミングシフト量が設定されているとき、つまりタイミングシフト量格納領域に“FF”以外の値が格納されているときには、ステップS26〜S28およびS25の処理を実行する。
タイミングシフト量が設定されていないときには、CPU3は、前記アルペジオパターンデータ格納領域に格納されているアルペジオパターンデータ中の発音パターンデータ内のイベントデータのうち、発音タイミングが前記切り出し開始位置から前記切り出し終了位置までの時間内にあるイベントデータをコピーして、前記新発音パターンデータ格納領域の先頭から書き込む(ステップS23)。そしてCPU3は、このようにして書き込まれた各イベントデータの発音タイミングを切り出し開始位置分、つまり当該アルペジオパターンデータ中の発音パターンデータの先頭から切り出し開始位置までの時間(に相当するクロック数)分前にシフトさせる(ステップS24)。さらにCPU3は、必要に応じて新発音パターンデータ格納領域内の末尾のイベントデータの終了時間を調整する(ステップS25)。末尾のイベントデータは、その発音タイミングが切り出し終了位置より時間的に早い位置にあるために、新発音パターンデータ格納領域に書き込まれているものの、そのゲートタイムで、つまり発音継続時間だけ発音させたときには、切り出し終了位置を超えることがあり得る。上記ステップS25の「調整」とは、末尾のイベントデータをそのゲートタイムで発音させたときに切り出し終了位置を超えないように、そのゲートタイムを調整することを意味する。なお、このような「調整」は、末尾のイベントデータだけでなく、末尾に近いいくつかのイベントデータについても行う必要があり得るが、その場合には、当該イベントデータについても同様の「調整」を行うことは言うまでもない。このようにして新発音パターンデータは、前記図4(b)のように作成される。
一方、タイミングシフト量が設定されているときには、CPU3は、前記アルペジオパターンデータ格納領域に格納されているアルペジオパターンデータ中の発音パターンデータ内のイベントデータのうち、発音タイミングが前記切り出し開始位置にタイミングシフト量分加算した結果の位置(切り出し開始位置+タイミングシフト量)から前記切り出し終了位置までの時間内にあるイベントデータをコピーして、前記新発音パターンデータ格納領域の先頭から書き込む(ステップS26)。そしてCPU3は、当該アルペジオパターンデータ中の発音パターンデータ内のイベントデータのうち、発音タイミングが切り出し開始位置から該切り出し開始位置にタイミングシフト量分加えた位置(切り出し開始位置+タイミングシフト量)までの時間内にあるイベントデータのコピーであって、その各イベントデータの発音タイミングをそれぞれ、切り出し終了位置から切り出し開始位置を減算した結果(切り出し終了位置−切り出し開始位置)分だけ時間的に遅くシフトしたコピーを新発音パターンデータ格納領域に追加する(ステップS27)。さらにCPU3は、このようにして書き込まれた各イベントデータの発音タイミングを切り出し開始位置にタイミングシフト量を加算した結果(切り出し開始位置+タイミングシフト量)分、つまり当該アルペジオパターンデータ中の発音パターンデータの先頭から切り出し開始位置+タイミングシフト量までの時間(に相当するクロック数)分前にシフトさせる(ステップS28)。そしてCPU3は、処理を前記ステップS25に進める。ステップS25の処理については前述したので、ここでは繰り返さない。
次にCPU3は、処理を前記(3)の発音/消音処理に進める。この(3)発音/消音処理では、まずCPU3は、ユーザの押鍵操作に応じて前記検出回路2から出力された演奏情報(押鍵音)を取得し、前記キーオンバッファに格納する(図6のステップS5)。次にCPU3は、キーオンバッファに格納された押鍵情報に基づいてノートオンイベントを生成し、音源回路9に出力する(ステップS6)。なおユーザの押鍵操作は、複数の鍵に対するもののみである必要はなく、1つの鍵に対するものでもよい。そしてCPU3は、ユーザの離鍵操作に応じて検出回路2から出力された離鍵情報(離鍵音)を取得すると、その取得された離鍵情報に基づいてノートオフイベントを生成し、音源回路9に出力する(ステップS11→S12)。これにより、ユーザの押鍵から離鍵に至るまで、その押鍵音が継続して発音される。
前記(4)のアルペジオ生成のスタート/ストップ処理では、CPU3は、前記ステップS5で検出された押鍵がニューキーオンであるか否かを判別する(ステップS7)。この判別の結果、ニューキーオンであれば、CPU3は、ループ回数をカウントするためにRAM5の所定位置に設けられたループカウンタ(図示せず)をリセット(“0”)するとともに、前記新発音パターンデータ格納領域内の発音パターンデータから読み出すべき1組のイベントデータの位置を示すためにRAM5の所定位置に設けられた読み出しポインタ(図示せず)をリセット(“0”)し(ステップS8)、さらに発音データリストを初期化(クリア)する(ステップS9)。なお発音データリストも、RAM5の所定位置に確保された領域上に形成される。そしてCPU3は、アルペジオ再生をスタートさせて、アルペジオ再生を動作状態とした(ステップS10)後、発音データリスト生成処理(前記(B)の発音データリスト生成処理に相当する)を実行する。
図8は、発音データリスト生成処理の詳細な手順を示すフローチャートである。本発音データリスト生成処理は、アルペジオ再生の動作中に1回起動されると、新発音パターンデータ格納領域内の新発音パターンデータを1回使って発音データリストを生成するものである。
図8において、まずCPU3は、アルペジオ再生が動作中かどうかを判別し(ステップS31)、動作中でなければ、直ちに本発音データリスト生成処理を終了する一方、動作中であれば、新発音パターンデータ格納領域内の新発音パターンデータから、読み出しポインタが示す位置の1組のイベントデータを読み出す(ステップS32)。
次にCPU3は、読み出した1組のイベントデータと押鍵音の音高に基づいて、前述した方法により発音データを生成し、ループカウンタの値を考慮して発音データリストに書き込む(ステップS33)。図3を用いて前述したように、1回目のループ(ループカウンタ=0の場合)では、発音データリストに登録する発音データのタイミング(Timing)は新発音パターンデータ内の対応するイベントデータの発音タイミングをそのまま使うことができる。しかし2回目以降のループ(ループカウンタ≧1の場合)では、当該イベントデータの発音タイミングをループカウンタの値×新発音パターンデータ全体の時間長(=切り出し終了位置−切り出し開始位置)分だけ時間的に遅くシフトさせてから発音データリストに登録する必要がある。上記ステップS33の「ループカウンタの値を考慮して」とは、発音データを発音データリストに登録するに際して、ループカウンタの値によっては(ループカウンタ≠0の場合)発音データのタイミングを換算する必要があることを意味する。
次にCPU3は、読み出しポインタの値を“1”だけ進める(ステップS34)。そしてCPU3は、読み出した1組のイベントデータが発音パターンデータの末尾のデータになるまで、前記ステップS32〜S34の処理を繰り返す(ステップS35→S32)。一方、読み出した1組のイベントデータが発音パターンデータの末尾のデータになると、CPU3は、ループカウンタを“1”だけカウントアップするとともに、読み出しポインタをリセットした(ステップS35→S36)後、本発音データリスト生成処理を終了する。
このようにして生成された発音データリストを再生して、アルペジオを発音させる処理については、既に説明したので、繰り返さない。ただし、発音データリストに登録された最後の(あるいは、それより前であって、それに近い位置の)発音データが読み出されたときには、CPU3に本発音データリスト生成処理を1回実行させる必要がある。これにより、新発音パターンデータを使った2回目以降のループでも、アルペジオを正しく発音させることができる。
図6に戻り、アルペジオ動作中に、前記ステップS11で検出された離鍵がオールキーオフ(押鍵されていた状態からすべての鍵が離鍵された状態になること)であれば、アルペジオ生成をストップさせて、アルペジオを非動作状態とする(ステップS13→S14)。このときCPU3は、発音データリスト内でユーザの離鍵タイミング以降に消音される発音データについて、必要があればその消音タイミングを調整する。ここで、消音タイミングを調整する必要がある場合とは、たとえば、新発音パターンデータが1度も末尾まで使われずに離鍵操作がされた場合である。この場合には、離鍵操作が検出された後、最初に到来する切りのよい位置(小節や拍の終了位置やパターンの末尾など)までアルペジオ生成を続けた方が望ましい。もちろんこれに限らず、消音タイミングの調整を行わずに、離鍵操作が検出された時点で、アルペジオ生成も即座に停止するようにしてもよい。
このように新発音パターンデータを使ってアルペジオ再生を行ったときに、ユーザがその新発音パターンデータを、新たなアルペジオパターンデータとして前記外部記憶装置6に記録しておきたいことがある。
図9は、アルペジオパターンデータ記録処理の手順を示すフローチャートであり、本アルペジオパターンデータ記録処理は、ユーザが、たとえば前記操作子群1に含まれる保存スイッチ(図示せず)を操作したときに起動される。
本アルペジオパターンデータ記録処理では、まずCPU3は、アルペジオパターンデータの枠組み(たとえば、ファイル)を新規作成する(ステップS41)。新規作成する場所は、たとえば前記RAM5のワークエリアである。
次にCPU3は、作成中のアルペジオパターンデータを識別する識別情報(名前や番号)を決定し、当該アルペジオパターンデータに付与する(ステップS42)。ここで識別情報は、ユーザによって入力されたものを用いてもよいし、CPU3によって自動的に付けられたものを用いてもよい。
次にCPU3は、切り出し開始位置と切り出し終了位置より、新発音パターンデータの長さを抽出し、作成中のアルペジオパターンデータに付与する(ステップS43)。ここで、切り出し開始位置および切り出し終了位置は、前記切り出し開始位置格納領域および切り出し終了位置格納領域にそれぞれ格納されているものを読み出して用いればよい。
次にCPU3は、元のアルペジオパターンデータ、つまり前記アルペジオパターンデータ格納領域に格納されているアルペジオパターンデータを参照して、その他の必要な情報(音色や拍子など)を抽出し、作成中のアルペジオパターンデータに付与する(ステップS44)。なお、ステップS42〜S44の処理は、作成中のアルペジオパターンデータのフォーマットを本実施の形態で採用したアルペジオパターンデータのフォーマットに合わせるための処理である。したがって、本実施の形態で言及したアルペジオパターンデータには、ステップS42〜S44の処理によって付与される情報が付与されている。
次にCPU3は、新発音パターンデータ格納領域から、そこに格納されている新発音パターンデータを読み出して、作成中のアルペジオパターンデータ内に取り込む(ステップS45)。
次にCPU3は、作成中のアルペジオパターンデータを所定の記憶媒体に記録する(ステップS46)。ここで所定の記憶媒体とは、前記外部記憶装置6であるが、外部記憶装置6には、前述のように各種の記憶媒体が存在するので、ユーザにそのいずれかを指定させ、指定された記憶媒体に作成中のアルペジオパターンデータを記録させている。
このように本実施の形態では、アルペジオパターンデータの記録は、ユーザの操作に応じて行うようにしたが、これに限らず、別のアルペジオパターンデータが選択されるときに自動的に行うようにしてもよいし、ある一定時間(たとえば、5分間)いずれのユーザ操作も検出されなかったときに自動的に行うようにしてもよい。自動的に記録する場合、新たなアルペジオパターンデータの識別情報(番号)としては、空いている番号を付けるようにすればよい。
なお本実施の形態では、アルペジオパターンデータ記録処理は、アルペジオ再生モード内の一処理としたが、これに限らず、アルペジオ再生モードとは独立したアルペジオパターンデータ記録モードを設け、そのモード内でアルペジオパターンデータの記録を単独で行うようにしてもよい。この場合、上記図9のアルペジオパターンデータ記録処理の先頭に、前記図6のステップS1〜S4の処理を追加すればよい。
また本実施の形態では、アルペジオ再生を行うに際して、常に新発音パターンデータを作成するようにしたが、新発音パターンデータを作成せず、アルペジオパターンデータ格納領域に格納されているアルペジオパターンデータ中の発音パターンデータ内のイベントデータのうち、切り出し開始位置から切り出し終了位置までに含まれるものを読み出すことで、アルペジオ再生を行うようにしてもよい。具体的には、前記図8の発音データリスト生成処理を次のように変更する。つまり、
a.「新発音パターンデータ」を「アルペジオパターンデータ格納領域に格納されているアルペジオパターンデータ中の発音パターンデータ」に変更
b.読み出しポインタの初期値を“0”(図6のステップS8および図8のステップS36)から「切り出し開始位置のイベントデータの位置」に変更
c.生成した発音データを発音データリストに書き込むときの「ループカウンタの値を考慮して」(ステップS33)を「読み出した1組のイベントデータに含まれる発音タイミングを切り出し開始位置分時間的に早い方向にシフトした上で、ループカウンタの値を考慮して」に変更
d.ステップS35の「読み出した1組のイベントデータは新発音パターンデータの末尾の1組のイベントデータ?」を「読み出した1組のイベントデータは切り出し終了位置までにある最後の1組のイベントデータ?」に変更。
ただし、タイミングシフト量が指定されている場合には、上記b.をさらに「読み出しポインタの初期値を『切り出し開始位置のイベントデータの位置』から『切り出し開始位置+タイミングシフト量のイベントデータの位置』に変更し、ステップS35とステップS36の間に、「切り出し開始位置から切り出し開始位置+タイミングシフト量までに含まれるイベントデータを1組ずつ読み出して、ステップS33の処理と同様の処理を行う(ただし、生成した発音データを発音データリストに書き込むときには、当該発音タイミングを切り出し終了位置−切り出し開始位置−タイミングシフト量分時間的に遅い方向にシフトした上で、ループカウンタの値を考慮する)」処理を追加する。
この場合、新発音パターンデータは作成されないので、前記アルペジオパターンデータ記録モードを設け、そのモード内でアルペジオパターンデータの記録を単独で行う必要がある。
さらに本実施の形態では、アルペジオパターンデータは、外部記憶装置6に予め複数種類記憶されているとしたが、これに限らず、前記ROM4に予め複数種類記憶されていてもよいし、ネットワーク上にあるものを、前記通信I/F8を介して取得するようにしてもよい。
また本実施の形態では、ループカウンタは設けられているものの、ループ回数を設定し、その設定したループ回数で、切り出したアルペジオパターンデータを繰り返し用いる回数を制限できるようには構成されていないが、前記従来のアルペジエータと同様にして、切り出したアルペジオパターンデータを繰り返し用いる回数を制限できるように構成してもよい。
さらに本実施の形態では、アルペジオパターンデータが参照する音符情報として、ユーザがリアルタイム演奏することによって入力したもの(つまり、押鍵音)を用いるようにしたが、これに限らず、ユーザが事前に作成した演奏情報ファイルや既製の演奏情報ファイルを再生して得られたものを用いてもよい。
また本実施の形態では、アルペジオパターンデータ中の発音パターンデータの「切り出し開始位置」、「切り出し終了位置」および「タイミングシフト量」の各指定は、画面上の矢印およびカーソルを用いて行うようにしたが、これに限らず、小節数や拍数、音符長などの数値を、たとえば前記操作子群1に含まれるテンキー(図示せず)などを用いて直接入力するようにしてもよい。さらに本実施の形態では、選択されたアルペジオパターンデータ中の発音パターンデータ(を構成する各イベントデータの時間的位置)を表示装置7上に表示するようにしたが、表示しないようにしてもよい。ただしこの場合、上記「切り出し位置」などを指定するための便宜上、アルペジオパターンデータ中の発音パターンデータの長さを数値で表示できるようにした方が好ましい。
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
1…操作子群(設定手段、入力手段、変更手段),3…CPU(供給手段、設定手段、生成手段、変更手段、コピー手段、シフト手段、記録手段),4…ROM(供給手段),6…外部記憶装置(供給手段、記憶手段),8…通信I/F(供給手段)

Claims (4)

  1. タイミング情報を含むイベントデータ複数からなるアルペジオパターンデータを供給する供給手段と、
    該供給手段によって供給されたアルペジオパターンデータの切り出し開始位置および切り出し終了位置を設定する設定手段と、
    該設定手段によって設定された切り出し開始位置を時間的に遅い位置に変更する変更手段と、
    音高情報を含む音符情報を1つ以上入力する入力手段と、
    該入力手段によって入力された音符情報および前記供給手段によって供給されたアルペジオパターンデータ内のイベントデータに基づいてアルペジオデータを生成する生成手段と
    を有し、
    前記設定手段によって切り出し開始位置および切り出し終了位置が設定されている場合には、前記生成手段は、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータを、先頭のイベントデータから順次読み出し、末尾のイベントデータを読み出すと、前記先頭のイベントデータに戻って読み出しを続け、当該読み出したイベントデータに基づいてアルペジオデータを生成し、
    さらに前記変更手段によって前記切り出し開始位置が変更されている場合には、前記生成手段は、当該変更後の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータを、先頭のイベントデータから順次読み出し、末尾のイベントデータを読み出すと、当該変更前の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータの先頭のイベントデータに戻って読み出しを続け、当該読み出したイベントデータに基づいてアルペジオデータを生成する
    ことを特徴とするアルペジオ生成装置。
  2. タイミング情報を含むイベントデータ複数からなるアルペジオパターンデータを供給する供給手段と、
    該供給手段によって供給されたアルペジオパターンデータの切り出し開始位置および切り出し終了位置を設定する設定手段と、
    該設定手段によって設定された切り出し開始位置を時間的に遅い位置に変更する変更手段と、
    前記設定手段によって切り出し開始位置および切り出し終了位置が設定されている場合には、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータをコピーし、さらに前記変更手段によって前記切り出し開始位置が変更されている場合には、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記変更後の切り出し開始位置から前記切り出し終了位置までのイベントデータをコピーし、さらに前記切り出し開始位置から前記変更後の切り出し開始位置までのイベントデータを、前記コピーに続くようにタイミング情報の値を調整しながらコピーするコピー手段と、
    前記設定手段によって切り出し開始位置および切り出し終了位置が設定されている場合には、前記コピー手段によってコピーされたイベントデータに含まれるタイミング情報の値を、前記アルペジオパターンデータの先頭から前記切り出し開始位置までの時間分、時間的に早い方向にシフトし、さらに前記変更手段によって前記切り出し開始位置が変更されている場合には、前記コピー手段によってコピーされたイベントデータに含まれるタイミング情報の値を、前記アルペジオパターンデータの先頭から前記変更後の切り出し開始位置までの時間分、時間的に早い方向にシフトするシフト手段と、
    保存の指示が検出されたことに応じて、前記シフト手段によってタイミング情報の値がシフトされたイベントデータからなる新たなアルペジオパターンデータを生成し、記憶手段に記憶させる記録手段と
    を有することを特徴とするアルペジオ生成装置。
  3. タイミング情報を含むイベントデータ複数からなるアルペジオパターンデータを供給する供給手順と、
    該供給手順によって供給されたアルペジオパターンデータの切り出し開始位置および切り出し終了位置を設定する設定手順と、
    該設定手順によって設定された切り出し開始位置を時間的に遅い位置に変更する変更手順と、
    音高情報を含む音符情報を1つ以上入力する入力手段によって入力された音符情報および前記供給手順によって供給されたアルペジオパターンデータ内のイベントデータに基づいてアルペジオデータを生成する生成手順と
    をコンピュータに実行させるためのプログラムであって、
    前記設定手順によって切り出し開始位置および切り出し終了位置が設定されている場合には、前記生成手順では、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータを、先頭のイベントデータから順次読み出し、末尾のイベントデータを読み出すと、前記先頭のイベントデータに戻って読み出しを続け、当該読み出したイベントデータに基づいてアルペジオデータを生成し、
    さらに前記変更手順によって前記切り出し開始位置が変更されている場合には、前記生成手順では、当該変更後の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータを、先頭のイベントデータから順次読み出し、末尾のイベントデータを読み出すと、当該変更前の切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータの先頭のイベントデータに戻って読み出しを続け、当該読み出したイベントデータに基づいてアルペジオデータを生成する
    ことを特徴とするプログラム。
  4. タイミング情報を含むイベントデータ複数からなるアルペジオパターンデータを供給する供給手順と、
    該供給手順によって供給されたアルペジオパターンデータの切り出し開始位置および切り出し終了位置を設定する設定手順と、
    該設定手順によって設定された切り出し開始位置を時間的に遅い位置に変更する変更手順と、
    前記設定手順によって切り出し開始位置および切り出し終了位置が設定されている場合には、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記切り出し開始位置から前記切り出し終了位置までに含まれるイベントデータをコピーし、さらに前記変更手順によって前記切り出し開始位置が変更されている場合には、前記供給されたアルペジオパターンデータ内のイベントデータのうち、前記変更後の切り出し開始位置から前記切り出し終了位置までのイベントデータをコピーし、さらに前記切り出し開始位置から前記変更後の切り出し開始位置までのイベントデータを、前記コピーに続くようにタイミング情報の値を調整しながらコピーするコピー手順と、
    前記設定手順によって切り出し開始位置および切り出し終了位置が設定されている場合には、前記コピー手順によってコピーされたイベントデータに含まれるタイミング情報の値を、前記アルペジオパターンデータの先頭から前記切り出し開始位置までの時間分、時間的に早い方向にシフトし、さらに前記変更手順によって前記切り出し開始位置が変更されている場合には、前記コピー手順によってコピーされたイベントデータに含まれるタイミング情報の値を、前記アルペジオパターンデータの先頭から前記変更後の切り出し開始位置までの時間分、時間的に早い方向にシフトするシフト手順と、
    保存の指示が検出されたことに応じて、前記シフト手順によってタイミング情報の値がシフトされたイベントデータからなる新たなアルペジオパターンデータを生成し、記憶手段に記憶させる記録手順と
    をコンピュータに実行させるためのプログラム。
JP2009086320A 2009-03-31 2009-03-31 アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム Expired - Fee Related JP5402167B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009086320A JP5402167B2 (ja) 2009-03-31 2009-03-31 アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009086320A JP5402167B2 (ja) 2009-03-31 2009-03-31 アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム

Publications (2)

Publication Number Publication Date
JP2010237509A JP2010237509A (ja) 2010-10-21
JP5402167B2 true JP5402167B2 (ja) 2014-01-29

Family

ID=43091876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009086320A Expired - Fee Related JP5402167B2 (ja) 2009-03-31 2009-03-31 アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム

Country Status (1)

Country Link
JP (1) JP5402167B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223167A (ja) * 2002-01-30 2003-08-08 Matsushita Electric Ind Co Ltd 着信メロディ編集システム
JP4265452B2 (ja) * 2004-03-19 2009-05-20 ヤマハ株式会社 演奏データ再生装置及びプログラム
JP5228315B2 (ja) * 2006-11-30 2013-07-03 ヤマハ株式会社 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム

Also Published As

Publication number Publication date
JP2010237509A (ja) 2010-10-21

Similar Documents

Publication Publication Date Title
JP2006284817A (ja) 電子楽器
JP3266149B2 (ja) 演奏ガイド装置
JP5228315B2 (ja) 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム
JP4770419B2 (ja) 楽音発生装置、及びプログラム
JP5402167B2 (ja) アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム
JP3649014B2 (ja) 演奏データファイルの再生設定制御装置
JP5838563B2 (ja) 電子楽器及びプログラム
JP5200368B2 (ja) アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム
JP3047879B2 (ja) 演奏ガイド装置、演奏ガイド用演奏データ作成装置および記憶媒体
JP4221757B2 (ja) 楽譜表示装置および楽譜表示方法を実現するためのプログラム
JP4270102B2 (ja) 自動演奏装置及びプログラム
JP3587133B2 (ja) 発音長決定方法と装置及び記録媒体
JP4315116B2 (ja) 電子音楽装置
JP3885791B2 (ja) 自動伴奏装置および自動伴奏方法を実現するためのプログラム
JP4449370B2 (ja) 自動伴奏生成装置及びプログラム
JP4648177B2 (ja) 電子楽器及びコンピュータプログラム
JP4835434B2 (ja) 演奏パターン再生装置及びそのコンピュータプログラム
JP3379098B2 (ja) 演奏装置、および該装置に係るプログラムまたはデータを記録した記録媒体
JP4873307B2 (ja) 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム
JP4835433B2 (ja) 演奏パターン再生装置及びそのコンピュータプログラム
JP3757664B2 (ja) 演奏情報再生装置および演奏情報再生プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4147407B2 (ja) 音楽的表情付け用コンピュータプログラムおよび音楽的表情付け装置
JP3925359B2 (ja) 演奏効果制御装置および演奏効果制御方法を実現するためのプログラム
JP2972364B2 (ja) 音楽的情報処理装置及び音楽的情報処理方法
JP2002162966A (ja) 演奏情報編集装置、演奏情報編集方法及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130902

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131014

LAPS Cancellation because of no payment of annual fees