(57)【要約】【課題】誰でも簡単に編曲を楽しめる編曲装置および編曲方法を実現する。【解決手段】元曲となるオリジナルシーケンスを形成する各音の音高を、パターンシーケンスで特定されるリズムシーケンスの各音の発音／消音タイミングおよび音量に従って再生して編曲するので、誰でも簡単に編曲を楽しむことが可能になる。また、こうした編曲態様では、元曲となるオリジナルシーケンスの各音の音高が維持されるので、どのようなリズムシーケンスで編曲しても和声的にも調性的にも違和感なく自然な楽曲が得られる。【選択図】　図７
2004012945.tif 000002
【特許請求の範囲】
【請求項１】
元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを記憶する記憶手段と、
この記憶手段から前記第１および第２のシーケンスを並列的に読み出し、前記第１のシーケンスから読み出された音符の音高を、前記第２のシーケンスから読み出された音符の発音／消音タイミングに応じて再生する再生手段と
を具備することを特徴とする編曲装置。
【請求項２】
元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを記憶しておき、これら第１および第２のシーケンスを並列的に読み出す読み出し過程と、
この読み出し過程にて前記第１のシーケンスから読み出された音符の音高を、前記第２のシーケンスから読み出された音符の発音／消音タイミングに応じて再生する再生過程と
を具備することを特徴とする編曲方法。
【請求項３】
元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを記憶する記憶手段と、
この記憶手段から前記第１および第２のシーケンスを並列的に読み出す読み出し手段と、
この読み出し手段によって前記第１のシーケンスから読み出された音符の音高を、前記第２のシーケンスから読み出された音符の発音タイミングおよび音量で発音し、その音符の消音タイミングで消音する再生手段と、
前記読み出し手段によって前記第１のシーケンスから読み出された音符が休符の場合、発音中の全ての楽音を消音するよう前記再生手段に指示する消音指示手段と
を具備することを特徴とする編曲装置。
【請求項４】
元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを記憶しておき、これら第１および第２のシーケンスを並列的に読み出す読み出し過程と、
この読み出し過程にて前記第１のシーケンスから読み出された音符の音高を、前記第２のシーケンスから読み出された音符の発音タイミングおよび音量で発音し、その音符の消音タイミングで消音する再生過程と、
前記読み出し過程にて前記第１のシーケンスから読み出された音符が休符の場合、発音中の全ての楽音を消音するよう前記再生過程に指示する消音指示過程と
を具備することを特徴とする編曲方法。
【請求項５】
前記第２のシーケンスに、読み出しタイミングをオフセットさせるオフセット値を設け、このオフセット値によって前記読み出し手段が前記第２のシーケンスを読み出す際の読み出しタイミングを変化させることを特徴とする請求項３記載の編曲装置。
【請求項６】
前記第２のシーケンスに、読み出しタイミングをオフセットさせるオフセット値を設け、このオフセット値によって前記読み出し過程が前記第２のシーケンスを読み出す際の読み出しタイミングを変化させることを特徴とする請求項４記載の編曲方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、誰でも簡単に編曲を楽しめる編曲装置および編曲方法に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータを用いて作曲あるいは編曲するＤＴＭ技術として、例えば音楽ジャンル（又はスタイル）、曲調あるいはテンポなどの編曲条件を指定すると、編曲アルゴリズムに応じて元曲のメロディやコード進行を自動的にアレンジする編曲装置が知られている。
【０００３】
【発明が解決しようとする課題】
ところで、従来の編曲装置では、楽譜を見たり専門的な音楽用語を使う等、ある程度の音楽知識が無いと使いこなせず、誰でも簡単に編曲を楽しむことができない、という問題がある。
そこで本発明は、このような事情に鑑みてなされたもので、誰でも簡単に編曲を楽しむことができる編曲装置および編曲方法を提供することを目的としている。
【０００４】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを記憶する記憶手段と、この記憶手段から前記第１および第２のシーケンスを並列的に読み出し、前記第１のシーケンスから読み出された音符の音高を、前記第２のシーケンスから読み出された音符の発音／消音タイミングに応じて再生する再生手段とを具備することを特徴とする。
【０００５】
請求項２に記載の発明では、元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを記憶しておき、これら第１および第２のシーケンスを並列的に読み出す読み出し過程と、この読み出し過程にて前記第１のシーケンスから読み出された音符の音高を、前記第２のシーケンスから読み出された音符の発音／消音タイミングに応じて再生する再生過程とを具備することを特徴とする。
【０００６】
請求項３に記載の発明では、元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを記憶する記憶手段と、この記憶手段から前記第１および第２のシーケンスを並列的に読み出す読み出し手段と、この読み出し手段によって前記第１のシーケンスから読み出された音符の音高を、前記第２のシーケンスから読み出された音符の発音タイミングおよび音量で発音し、その音符の消音タイミングで消音する再生手段と、前記読み出し手段によって前記第１のシーケンスから読み出された音符が休符の場合、発音中の全ての楽音を消音するよう前記再生手段に指示する消音指示手段とを具備することを特徴とする。
【０００７】
請求項４に記載の発明では、元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを記憶しておき、これら第１および第２のシーケンスを並列的に読み出す読み出し過程と、この読み出し過程にて前記第１のシーケンスから読み出された音符の音高を、前記第２のシーケンスから読み出された音符の発音タイミングおよび音量で発音し、その音符の消音タイミングで消音する再生過程と、前記読み出し過程にて前記第１のシーケンスから読み出された音符が休符の場合、発音中の全ての楽音を消音するよう前記再生過程に指示する消音指示過程とを具備することを特徴とする。
【０００８】
上記請求項３に従属する請求項５に記載の発明では、前記第２のシーケンスに、読み出しタイミングをオフセットさせるオフセット値を設け、このオフセット値によって前記読み出し手段が前記第２のシーケンスを読み出す際の読み出しタイミングを変化させることを特徴としている。
【０００９】
上記請求項４に従属する請求項６に記載の発明では、前記第２のシーケンスに、読み出しタイミングをオフセットさせるオフセット値を設け、このオフセット値によって前記読み出し過程が前記第２のシーケンスを読み出す際の読み出しタイミングを変化させることを特徴としている。
【００１０】
本発明では、元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを並列的に読み出し、第１のシーケンスから読み出された音符の音高を、第２のシーケンスから読み出された音符の発音／消音タイミングに応じて再生するので、元曲が編曲要素となる曲に応じて再生される結果、誰でも簡単に編曲を楽しむことが可能になる。また、こうした編曲態様では、元曲の各音の音高が維持されるので、和声的にも調性的にも違和感なく自然な楽曲を得ることが可能になる。
【００１１】
【発明の実施の形態】
本発明による編曲装置は、周知の電子楽器のみならず、パーソナルコンピュータ等を用いたＤＴＭ（デスク・トップ・ミュージック）装置等に適用され得る。以下では、本発明の実施の一形態による編曲装置を実施例とし、これについて図面を参照して説明する。
【００１２】
Ａ．構成
図１は本発明による一実施例の構成を示すブロック図である。この図において、１は装置パネル面上に配設される各種スイッチから構成されるパネルスイッチである。このパネルスイッチ１には、電源をオンオフする電源スイッチの他、後述するオリジナルシーケンスやパターンシーケンスを選択する選択スイッチ、パターンシーケンスの編集開始を指示するパターン編集スイッチ、オリジナルシーケンスの編曲再生開始を指示するスタートスイッチおよびその停止を指示するストップスイッチ等が設けられている。２はＬＣＤパネルおよびドライバから構成される表示部であり、後述のＣＰＵ３から供給される表示制御信号に応じて装置各部の設定状態や動作内容などを表示する。
【００１３】
ＣＰＵ３は主にパネルスイッチ１から供給されるスイッチイベントに応じて装置各部を制御する。例えば、選択スイッチの操作に応じて、元曲となるオリジナルシーケンス（メロディシーケンス）と、アレンジ要素となるパターンシーケンス（リズムシーケンス）とを選択してスタートスイッチにより編曲再生開始が指示されると、元曲となるオリジナルシーケンスを形成する各音の音高を、パターンシーケンスで特定されるリズムシーケンスの各音の発音／消音タイミングおよび音量に従って発音させて編曲再生する。こうしたＣＰＵ３の特徴的な処理動作については追って詳述する。４は上記ＣＰＵ３にロードされる各種制御プログラムの他、複数のオリジナルシーケンス、リズムシーケンスおよびパターンシーケンスを記憶する。
【００１４】
ここで、図２を参照してＲＯＭ４に記憶されるオリジナルシーケンス、リズムシーケンスおよびパターンシーケンスについて説明する。図２（イ）に示すように、オリジナルシーケンス（メロディシーケンス）およびリズムシーケンスは、それぞれ曲を形成する各音符に対応した音符データ（Δｔ、ｓｔａｔｕｓ、ｐｉｔｃｈおよびｖｅｌｏｃｉｔｙ）を曲進行順に記憶した、いわゆる相対時間方式と呼ばれるデータ形式で形成されており、その終端には曲終端を表すデータＥＮＤが設けられる。
音符データは、前イベントからの経過時間でノートオン／ノートオフタイミングを表わすΔｔ、ノートオン／ノートフを区別するイベント種および発音チャンネルを表すｓｔａｔｕｓ、音高を表すｐｉｔｃｈ（例えばノートナンバ）および音量を表すｖｅｌｏｃｉｔｙから構成される。
【００１５】
パターンシーケンスは、図２（ロ）に図示するように、小節毎のリズムシーケンスを曲進行順に記憶したものである。このパターンシーケンスに登録される小節毎のリズムシーケンスによって、元曲となるオリジナルシーケンスを編曲する。
なお、小節毎のリズムシーケンスには、読み出しタイミングをオフセットさせるオフセット値が設けられている。オフセット値によってリズムシーケンスの読み出しタイミングを変化させることで、例えば元曲のオリジナルシーケンスが４／４拍子で、リズムシーケンスが３／４拍子である場合に、リズムシーケンスを１拍分オフセット遅延させて時間合わせしたり、あるいはリズムシーケンスのタイミングを意図的にずらして「乗り」を表現し得るようになっている。
【００１６】
次に、再び図１を参照して実施例の構成について説明を進める。図１において、５はＣＰＵ３のワークエリアとして用いられるＲＡＭであり、各種レジスタ・フラグデータが一時記憶される。６は周知の波形メモリ読み出し方式により構成される音源である。この音源６は、各種音色の波形データを記憶しており、ＣＰＵ３の制御の下に、指定された音色の波形データを、当該ＣＰＵ３から与えられる楽音パラメータに従って楽音形成してなる楽音波形を出力する。７は音源６から出力される楽音波形をアナログ形式の楽音信号にＤ／Ａ変換した後、それを増幅してスピーカより放音させるサウンドシステムである。
【００１７】
Ｂ．動作
次に、図３〜図９を参照して上記構成による実施例の動作について説明する。以下では、最初に図３を参照して全体動作を示すメインルーチンの処理について述べた後、続いて一定周期毎のタイマ割込みによって実行されるインタラプト処理の動作について説明する。
【００１８】
（１）メインルーチンの動作（全体動作）
上記構成による実施例に電源が投入されると、ＣＰＵ３はＲＯＭ４から所定の制御プログラムを読み出してロードし、図３に示すメインルーチンを実行してステップＳＡ１に処理を進める。ステップＳＡ１では、ＲＡＭ５に格納される各種レジスタ／フラグをゼロリセットしたり初期値をセットする他、音源６に対して各種レジスタ／フラグ類の初期化指示を与えるイニシャライズを実行する。次いで、ステップＳＡ２では、スイッチ走査を行い、パネルスイッチ１のスイッチ操作を検出する。以下、ステップＳＡ３〜ＳＡ１０では、スイッチ走査により検出されたスイッチ操作に応じた処理を実行する。
【００１９】
すなわち、パターンシーケンスの編集開始を指示する編集スイッチが操作された場合には、ステップＳＡ３の判断結果が「ＹＥＳ」となり、ステップＳＡ４に進み、パターン編集処理を実行する。このパターン編集処理では、編曲内容に応じて、小節毎のリズムシーケンスをパターンシーケンス（図２（ロ）参照）に登録する。
編曲再生開始を指示するスタートスイッチが操作された場合には、ステップＳＡ５の判断結果が「ＹＥＳ」となり、ステップＳＡ６に進み、フラグｐｌａｙｆに「１」をセットする。フラグｐｌａｙｆに「１」がセットされると、後述するインタラプト処理が実行され、これにより元曲のオリジナルシーケンスが編曲再生される。
【００２０】
再生停止を指示するストップスイッチが操作された場合には、ステップＳＡ７の判断結果が「ＹＥＳ」となり、ステップＳＡ８に進み、フラグｐｌａｙｆをゼロリセットすると共に、後述する各種ポインタやカウンタもリセットする。フラグｐｌａｙｆがゼロリセットされると、後述するインタラプト処理は実行されず再生停止する。
また、例えば選択スイッチを操作して編曲対象となる元曲のオリジナルシーケンスのパターンを選択する等、その他のスイッチ操作がなされると、ステップＳＡ９の判断結果が「ＹＥＳ」となり、ステップＳＡ１０に処理を進め、操作されたスイッチに対応した処理を実行する。
【００２１】
（２）インタラプト処理の動作
次に、図４〜図６を参照してインタラプト処理の動作について説明する。一定周期毎のタイマ割込みにより本処理が実行されると、ＣＰＵ３は図４のステップＳＢ１に処理を進め、フラグｐｌａｙｆが「１」、つまり再生中であるかどうかを判断する。再生中でなければ、判断結果は「ＮＯ」となり、何も処理せずに本処理を完了させるが、再生中であると、判断結果が「ＹＥＳ」となり、次のステップＳＢ２に処理を進める。
ステップＳＢ２では、イベント当りのデータ長ｎｓ（４ワード）をオリジナルシーケンスポインタｏｓｐｔｒに乗算してオリジナルシーケンスの読み出しアドレスｏｓａｄｒを算出する。なお、イニシャライズ直後に本ステップが実行された場合、オリジナルシーケンスポインタｏｓｐｔｒはゼロリセットされているので、読み出しアドレスｏｓａｄｒは選択スイッチの操作に応じて選択されたオリジナルシーケンスの先頭アドレスを指し示す。
【００２２】
次いで、ステップＳＢ３では、読み出しアドレスｏｓａｄｒに応じてオリジナルシーケンスから読み出される音符データｏｓ［ｏｓａｄｒ］（Δｔ）と、前イベントからの経過時間を経時するカウンタｏｃｎｔの値とが一致するか否か、つまり、オリジナルシーケンスのイベントタイミングであるかどうかを判断する。以下、オリジナルシーケンスのイベントタイミング下の場合とイベントタイミング下でない場合とに分けて動作説明を進める。
【００２３】
▲１▼オリジナルシーケンスのイベントタイミング下の場合
オリジナルシーケンスのイベントタイミング下であると、上記ステップＳＢ３の判断結果が「ＹＥＳ」となり、ステップＳＢ４に進む。ステップＳＢ４では、読み出しアドレスｏｓａｄｒ＋１に応じてオリジナルシーケンスから読み出される音符データｏｓ［ｏｓａｄｒ＋１］（ｓｔａｔｕｓ）がノートオンイベントであるかどうかを判断する。
ここで、ｓｔａｔｕｓがノートオフイベントであれば、判断結果は「ＮＯ」となり、ステップＳＢ５に進み、ポリ数（同時発音数）を計数するカウンタｐｃｎｔをゼロリセットしてから後述するステップＳＢ８に処理を進める。なお、カウンタｐｃｎｔがゼロリセットされる場合とは、上述したようにノートオフイベント時の他、休符イベントの場合も含まれ、要するにオリジナルシーケンスが消音期間にある状態を指す。
【００２４】
一方、ｓｔａｔｕｓがノートオンイベントであると、判断結果が「ＹＥＳ」となり、ステップＳＢ６に進む。ステップＳＢ６では、読み出しアドレスｏｓａｄｒ＋２に応じてオリジナルシーケンスから読み出される音符データｏｓ［ｏｓａｄｒ＋２］（ｐｉｔｃｈ）を、カウンタｐｃｎｔの値に対応したレジスタｐｉｔ［ｐｃｎｔ］にストアする。次いで、ステップＳＢ７では、同じイベントタイミング下で複数同時発音する和音の場合に備え、ポリ数を計数するカウンタｐｃｎｔを歩進させる。
【００２５】
そして、ステップＳＢ８では、オリジナルシーケンスから次イベントを読み出すべくオリジナルシーケンスポインタｏｓｐｔｒを歩進させ、続くステップＳＢ９では、前イベントからの経過時間を経時するカウンタｏｃｎｔをゼロリセットした後、前述のステップＳＢ２に処理を戻す。
以後、複数の音符が同時発音する和音であれば、ステップＳＢ２〜ＳＢ９を繰り返し、和音構成音の各音高を、カウンタｐｃｎｔの値に対応したレジスタｐｉｔ［ｐｃｎｔ］にそれぞれストアする。
【００２６】
▲２▼オリジナルシーケンスのイベントタイミング下でない場合
一方、オリジナルシーケンスのイベントタイミング下でない場合には、上述のステップＳＢ３の判断結果が「ＮＯ」となり、ＣＰＵ３は図５に示すステップＳＢ１０に処理を進め、リズムシーケンスの読み出しアドレスｒｓａｄｒを算出する。
リズムシーケンスの読み出しアドレスｒｓａｄｒは、パターンシーケンスポインタｐｓｐｔｒによって指定される小節のリズムシーケンスにおいて、その小節のリズムシーケンスポインタｒｓｐｔｒにイベント当りのデータ長ｎｓ（４ワード）を乗算した結果と、パターンシーケンスポインタｐｓｐｔｒが指定する小節のオフセット値ｒｓｏｆｆｓｅｔ［ｐｓ［ｐｓｐｔｒ］］とを加算して算出する。
【００２７】
こうしてリズムシーケンスの読み出しアドレスｒｓａｄｒが定まると、ステップＳＢ１１に進み、読み出しアドレスｒｓａｄｒに応じてリズムシーケンスから読み出される音符データｒｓ［ｒｓａｄｒ］（Δｔ）と、前イベントからの経過時間を経時するカウンタｒｃｎｔの値とが一致するか否か、つまり、リズムシーケンスのイベントタイミングであるかどうかを判断する。以下、リズムシーケンスのイベントタイミング下の場合とそうでない場合とに分けて動作説明を進める。
【００２８】
（ａ）リズムシーケンスのイベントタイミング下の場合
この場合、ステップＳＢ１１の判断結果が「ＹＥＳ」となり、ステップＳＢ１２に進み、ポリ数を計数するカウンタＰをゼロリセットする。次いで、ステップＳＢ１３では、読み出しアドレスｒｓａｄｒ＋１に応じてリズムシーケンスから読み出される音符データｒｓ［ｒｓａｄｒ＋１］（ｓｔａｔｕｓ）がノートオンイベントであるかどうかを判断する。以下、ノートオンイベントの場合とノートオフイベントの場合とに分けて説明する。
【００２９】
（ａ−１）ノートオンイベントの場合
ノートオンイベントであると、上記ステップＳＢ１３の判断結果は「ＹＥＳ」となり、ステップＳＢ１４に進む。ステップＳＢ１４では、カウンタｐｃｎｔの値が「０」、つまりオリジナルシーケンスが消音期間中であるかどうかを判断する。ここで、オリジナルシーケンスが消音期間中であると、判断結果は「ＹＥＳ」となり、後述するステップＳＢ１８に処理を進める。
【００３０】
一方、オリジナルシーケンスが消音期間中でなければ、判断結果は「ＮＯ」となり、ステップＳＢ１５に進む。ステップＳＢ１５では、カウンタＰの値に対応したレジスタｐｉｔ［Ｐ］に格納されている音高、すなわちオリジナルシーケンスから読み出された音符の音高と、読み出しアドレスｒｓａｄｒ＋３に応じてリズムシーケンスから読み出した音符データｒｓ［ｒｓａｄｒ＋３］（音量）とを音源６に送出する。これにより、オリジナルシーケンスから読み出された音符の音高が、リズムシーケンスから読み出した音符の発音タイミングおよび音量で発音される。
【００３１】
次いで、ステップＳＢ１６では、カウンタＰの値をインクリメントして歩進させ、続くステップＳＢ１７では、この歩進されたカウンタＰの値とカウンタｐｃｎｔの値とが一致するか否か、つまり発音指示し終えたかどうかを判断する。
オリジナルシーケンスから読み出された音符が単音発音であったならば、既に発音指示し終えているので、判断結果が「ＹＥＳ」となり、次のステップＳＢ１８に処理を進めるが、オリジナルシーケンスから読み出された音符が和音であると、同じイベントタイミング下に複数発音することになる為、判断結果は「ＮＯ」となり、上述のステップＳＢ１３に処理を戻す。
【００３２】
以後、オリジナルシーケンス側の和音に対応してカウンタｐｃｎｔに格納されるポリ数とカウンタＰのポリ数とが一致するまでステップＳＢ１３〜ＳＢ１７を繰り返す。これにより、オリジナルシーケンスから読み出された和音構成音の各音高が、リズムシーケンスから読み出された音符の発音タイミングおよび音量で発音される。
そして、ステップＳＢ１８に進むと、次イベントを読み出すべくリズムシーケンスポインタｒｓｐｔｒを歩進させ、続くステップＳＢ１９では前イベントからの経過時間を経時するカウンタｒｃｎｔをゼロリセットした後、前述のステップＳＢ１０に処理を戻す。
【００３３】
（ａ−２）ノートオフイベントの場合
さて一方、リズムシーケンスから読み出される音符データｒｓ［ｒｓａｄｒ＋１］（ｓｔａｔｕｓ）がノートオフイベントであると、前述したステップＳＢ１３の判断結果が「ＮＯ」となり、ステップＳＢ２０に進む。ステップＳＢ２０では、前述のステップＳＢ１４と同様、オリジナルシーケンスが消音期間中であるかどうかを判断する。以下、オリジナルシーケンスが消音期間中でない場合と消音期間中との場合に分けて説明を進める。
【００３４】
（ａ−２−１）オリジナルシーケンスが消音期間中でない場合
この場合、上記ステップＳＢ２０の判断結果は「ＮＯ」となり、ステップＳＢ２１に進む。ステップＳＢ２１では、カウンタＰの値に対応したレジスタｐｉｔ［Ｐ］に格納されている音高の楽音を消音するよう音源６に指示する。これにより、オリジナルシーケンスから読み出された音符の音高が、リズムシーケンスから読み出された音符の消音タイミングで消音される。
この後、ステップＳＢ１６に進み、カウンタＰの値をインクリメントして歩進させ、続くステップＳＢ１７では消音指示し終えたかどうかを判断する。オリジナルシーケンスから読み出された音符が単音であれば、判断結果は「ＹＥＳ」となり、ステップＳＢ１８に処理を進める。
【００３５】
これに対し、オリジナルシーケンスから読み出された音符が和音であると、同じイベントタイミング下に複数消音することになるので、判断結果が「ＮＯ」となり、上述のステップＳＢ１３に処理を戻す。
以後、オリジナルシーケンス側の和音に対応してカウンタｐｃｎｔに格納されるポリ数とカウンタＰのポリ数とが一致するまでステップＳＢ１３〜ＳＢ１７を繰り返す。これにより、オリジナルシーケンスから読み出された和音構成音の各音高が、リズムシーケンスから読み出された音符の消音タイミングで消音される。そして、ステップＳＢ１８にて次イベントを読み出すべくリズムシーケンスポインタｒｓｐｔｒを歩進させ、続くステップＳＢ１９では前イベントからの経過時間を経時するカウンタｒｃｎｔをゼロリセットした後、前述のステップＳＢ１０に処理を戻す。
【００３６】
（ａ−２−２）オリジナルシーケンスが消音期間中の場合
この場合、上述したステップＳＢ２０の判断結果が「ＹＥＳ」となり、ステップＳＢ２２に進み、リズムシーケンスが発音期間中であるか否かを判断する。リズムシーケンスが発音期間中でなければ、判断結果は「ＮＯ」となり、前述のステップＳＢ１８以降に処理を進め、リズムシーケンスポインタｒｓｐｔｒの歩進およびカウンタｒｃｎｔのゼロリセットを経てステップＳＢ１０に処理を戻す。
これに対し、リズムシーケンスが発音期間中にあると、上記ステップＳＢ２２の判断結果が「ＹＥＳ」となり、ステップＳＢ２３に進み、発音中の全ての楽音を消音するよう音源６に指示する。この後、ステップＳＢ１８以降に処理を進め、リズムシーケンスポインタｒｓｐｔｒの歩進およびカウンタｒｃｎｔのゼロリセットを経てステップＳＢ１０に処理を戻す。
このように、オリジナルシーケンス側が休符イベントにて消音期間にはいると、リズムシーケンスに対応して発音中の全ての楽音が消音される。
【００３７】
（ｂ）リズムシーケンスのイベントタイミング下でない場合
リズムシーケンスのイベントタイミング下でない場合には、前述したステップＳＢ１１の判断結果が「ＮＯ」となり、ＣＰＵ３は図６に示すステップＳＢ２４に進む。ステップＳＢ２４では、カウンタｏｃｎｔ、ｒｃｎｔを共にインクリメントして歩進させる。次いで、ステップＳＢ２５では、現在再生しているリズムシーケンスにおいて小節終端に達したか否かを判断する。小節終端に達していなければ、判断結果は「ＮＯ」となり、本処理を完了させる。
一方、小節終端に達した場合には、判断結果が「ＹＥＳ」となり、ステップＳＢ２６に進む。ステップＳＢ２６では、次のリズムシーケンスを読み出す為に、パターンシーケンスポインタｐｓｐｔｒを歩進する。
【００３８】
次いで、ステップＳＢ２７に進むと、歩進されたパターンシーケンスポインタｐｓｐｔｒが曲長を表すｂａｒ＿ｌｅｎに一致したか、つまり曲の終わりに達したかどうかを判断する。曲終端に達していなければ、判断結果は「ＮＯ」となり、本処理を完了させるが、曲終端に達した場合には判断結果が「ＹＥＳ」となり、ステップＳＢ２８に進み、フラグｐｌａｙｆや前述の各種ポインタおよびカウンタをゼロリセットして本処理を完了させる。
【００３９】
したがって、例えば図７（イ）の楽譜で図示される楽曲をオリジナルシーケンス、図７（ロ）の楽譜で図示される楽曲をリズムシーケンスとした場合、インタラプト処理では、オリジナルシーケンスとリズムシーケンスとを並列的に読み出し、オリジナルシーケンスから読み出された音符の音高を、リズムシーケンスから読み出された音符の発音タイミングおよび音量で発音し、リズムシーケンスから読み出された音符の消音タイミングで消音する。また、オリジナルシーケンスが休符イベントにて消音期間なると、リズムシーケンスに対応して発音中の全ての楽音を消音するので、結局、図７（イ）のオリジナルシーケンスは同図（ハ）の楽譜で図示される楽曲に編曲されて再生される。
【００４０】
また、例えば図８（イ）の楽譜で図示される楽曲をオリジナルシーケンス、図８（ロ）の楽譜で図示される楽曲をリズムシーケンスとした場合、オリジナルシーケンスは４／４拍子であるのに対し、リズムシーケンスは３／４拍子であるから、リズムシーケンスを１拍分オフセット遅延させて拍タイミングを合わせ、同図（ハ）に図示するオフセットリズムシーケンスを設定すると、上述したインタラプト処理によって、元曲である図８（イ）のオリジナルシーケンスは、同図（ニ）の楽譜で図示される楽曲に編曲されて再生される。
【００４１】
以上のように、本実施例によれば、元曲となるオリジナルシーケンスを形成する各音の音高を、パターンシーケンスで特定されるリズムシーケンスの各音の発音／消音タイミングおよび音量に従って再生して編曲するので、誰でも簡単に編曲を楽しむことが可能になる。また、こうした編曲態様では、元曲となるオリジナルシーケンスの各音の音高が維持されるので、どのようなリズムシーケンスで編曲しても和声的にも調性的にも違和感なく自然な楽曲が得られる。
【００４２】
なお、上述した実施例では、元曲となるオリジナルシーケンスとしてメロディシーケンスを用い、これをリズムシーケンスに応じて編曲するようにしたが、これに限らず、元曲となるメロディシーケンスを、他のメロディシーケンスに応じて編曲するようにしても構わない。
また、例えばユーザが曲想をハミングし、それをサンプリングしてメロディシーケンスを生成し、生成したメロディシーケンスを、ユーザ好みのリズムシーケンスの各音の発音／消音タイミングおよび音量に従って発音させて編曲再生する形態にすれば、音楽知識がなくとも簡単に好みの曲風で作曲編曲し得るようになる。
【００４３】
【発明の効果】
請求項１，２に記載の発明によれば、元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを並列的に読み出し、第１のシーケンスから読み出された音符の音高を、第２のシーケンスから読み出された音符の発音／消音タイミングに応じて再生するので、元曲が編曲要素となる曲に応じて再生される結果、誰でも簡単に編曲を楽しむことができる。また、こうした編曲態様では、元曲の各音の音高が維持されるので、和声的にも調性的にも違和感なく自然な楽曲を得ることができる。
請求項３，４に記載の発明によれば、元曲を構成する各音の音符を表す第１のシーケンスと、編曲要素となる曲を構成する各音の音符を表す第２のシーケンスとを並列的に読み出し、第１のシーケンスから読み出された音符の音高を、第２のシーケンスから読み出された音符の発音タイミングおよび音量で発音し、その音符の消音タイミングで消音する一方、第１のシーケンスから読み出された音符が休符の場合、発音中の全ての楽音を消音するので、元曲が編曲要素となる曲に応じて再生される結果、誰でも簡単に編曲を楽しむことができる。
請求項５，６に記載の発明によれば、第２のシーケンスに、読み出しタイミングをオフセットさせるオフセット値を設け、このオフセット値によって第２のシーケンスを読み出す際の読み出しタイミングを変化させるので、
例えば元曲となる第１のシーケンスが４／４拍子で、編曲要素である第２のシーケンスが３／４拍子である場合に、この第２のシーケンスを１拍分オフセット遅延させて両シーケンスの拍タイミングを合わせることができる。また、あるいは第２のシーケンスの読み出しタイミングを意図的にずらして「乗り」を表現することもできる。
【図面の簡単な説明】
【図１】本発明による一実施例の構成を示すブロック図である
【図２】オリジナルシーケンスおよびリズムシーケンスのデータ構造を示す図である。
【図３】パターンシーケンスのデータ構造を示す図である。
【図４】メインルーチンの動作を示すフローチャートである。
【図５】インタラプト処理の動作を示すフローチャートである。
【図６】インタラプト処理の動作を示すフローチャートである。
【図７】インタラプト処理の動作例を説明するための図である。
【図８】インタラプト処理の動作例を説明するための図である。
【符号の説明】
１　パネルスイッチ
２　表示部
３　ＣＰＵ
４　ＲＯＭ
５　ＲＡＭ
６　音源
７　サウンドシステム
【図１】
2004012945.tif 000003
【図２】
2004012945.tif 000004
【図３】
2004012945.tif 000005
【図４】
2004012945.tif 000006
【図５】
2004012945.tif 000007
【図６】
2004012945.tif 000008
【図７】
2004012945.tif 000009
【図８】
2004012945.tif 000010