JP2005077763A - 自動伴奏生成装置及びプログラム - Google Patents

自動伴奏生成装置及びプログラム Download PDF

Info

Publication number
JP2005077763A
JP2005077763A JP2003308177A JP2003308177A JP2005077763A JP 2005077763 A JP2005077763 A JP 2005077763A JP 2003308177 A JP2003308177 A JP 2003308177A JP 2003308177 A JP2003308177 A JP 2003308177A JP 2005077763 A JP2005077763 A JP 2005077763A
Authority
JP
Japan
Prior art keywords
accompaniment
information
note
timing
pattern
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.)
Granted
Application number
JP2003308177A
Other languages
English (en)
Other versions
JP4449370B2 (ja
Inventor
Daisuke Suzuki
大祐 鈴木
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 JP2003308177A priority Critical patent/JP4449370B2/ja
Publication of JP2005077763A publication Critical patent/JP2005077763A/ja
Application granted granted Critical
Publication of JP4449370B2 publication Critical patent/JP4449370B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】ユーザ操作による入力(押鍵)音高を常に全て自動伴奏音に反映させること。
【解決手段】この自動伴奏生成システムでは、複数のパターンノートP1;P2;…から成る伴奏パターンデータApが使用され、これらのパターンノートP1〜P5は、夫々が有するタイミング情報(0000,0480,0960,1440 )により時系列的に関連付けられている。伴奏用鍵5から任意の音高(例えば、D3,F3)を指示する押鍵音情報Ma,Mbを入力すると、伴奏パターンデータAp内から夫々のタイミング情報Timingに従って、順次、読み出される各パターンノートP1;P2;…の音高は、入力された全ての押鍵音情報Ma,Mbにより指示される音高(D3,F3)に変更されて、自動伴奏音を表わす伴奏ノートN1a,N1b;N2a,N2b;…が次々に生成され、これら伴奏ノートに対応する伴奏音が発音される。
【選択図】図3

Description

この発明は、伴奏パターンを用いてユーザの押鍵音に従い自動伴奏音情報を生成する自動伴奏生成システムに関する。
従来より、伴奏パターンを用いて自動伴奏を生成する手段としてアルペジエータや伴奏スタイルを使ったものが知られており、例えば、アルペジエータは、特許文献1に示されるようなものがある。
特開2001−22354号公報
アルペジエータは、押鍵に応じてアルペジオ(分散和音)を生成するものであり、アルペジオパターンとして、複数のキー番号(音高に対応したノートナンバーではなく、単純な番号)とその発音タイミングを記憶している。そして、同時に押鍵された複数のノート番号に所定のルール(例えば、音高の低い順)に従って番号を割り振り、アルペジオパターン中のキー番号に対応した番号が割り振られているノート番号を、その発音タイミングにおいて発生させるようにして、押鍵音を元にアルペジオを生成している。
アルペジエータによる自動伴奏生成においては、ユーザが押鍵している音名が発音されるが、全ての押鍵音が常に自動伴奏に反映されるとは限らない。例えば、アルペジオパターンで想定されている押鍵数よりも多く押鍵されているときは、発音されない押鍵音がある。また、アルペジオパターンによってはオクターブシフトされて発音されるケースもあり、押鍵音の音高が常に発音されるとは限らない。
この発明は、このような事情に鑑み、複数の音符情報(ノートイベント)から成る伴奏パターンデータを使用して自動伴奏音情報を生成する際に、ユーザの演奏操作による押鍵音などの入力音高を常に全て自動伴奏音情報に反映させることができる自動伴奏生成システムを提供することを目的とする。
この発明の主たる特徴に従うと、発音タイミングを表わす夫々のタイミング情報(Timing)により時系列的に関連付けられた複数の音符情報(P1;P2;…)から成る伴奏パターンデータ(Ap)を記憶する記憶手段(2〜4)と、伴奏音の音高を指示する音高指示情報(Ma,Mb,…)を入力するための入力手段(5,PD)と、伴奏パターンデータ(Ap)内の各音符情報(P1;P2;…)をそのタイミング情報(Timing)に従って順次読み出す読出し手段(S5〜S6)と、読み出された音符情報(P1;P2;…)から、入力されている全ての音高指示情報(Ma,Mb,…)により指示される音高を持つ伴奏音情報(N1a,N1b,…;N2a,N2b,…;…)を生成する生成手段(S6〜S18)と、生成された伴奏音情報(N1a,N1b,…;N2a,N2b,…;…)に基づいて伴奏音を発音させる発音手段(7,S14)とを具備する自動伴奏生成装置〔請求項1〕、並びに、発音タイミングを表わす夫々のタイミング情報(Timing)により時系列的に関連付けられた複数の音符情報(P1;P2;…)から成る伴奏パターンデータ(Ap)を記憶する記憶手段(2〜4)、及び、伴奏音の音高を指示する音高指示情報(Ma,Mb,…)を入力するための入力手段(5,PD)を具備する音楽情報処理装置に対して、伴奏パターンデータ内の各音符情報(P1;P2;…)をそのタイミング情報(Timing)に従って順次読み出すステップ(S5〜S6)と、読み出された音符情報(P1;P2;…)から、入力されている全ての音高指示情報(Ma,Mb,…)により指示される音高を持つ伴奏音情報(N1a,N1b,…;N2a,N2b,…;…)を生成するステップ(S6〜S18)と、生成された伴奏音情報(N1a,N1b,…;N2a,N2b,…;…)に基づいて伴奏音を発音させるステップ(S14)とから成る手順を実行させるための自動伴奏生成プログラム〔請求項4〕が提供される。なお、括弧書きは、対応する実施例の参照記号であり、以下においても同様である。
この発明の自動伴奏生成装置において、伴奏パターンデータ(Ap)は所定形式の演奏データに含まれ〔請求項2〕、また、生成手段(S6〜S18)は、発音タイミングが前後する音符情報(P1,P2)の時間範囲が重なるとき(Ta〜Tb)、後の音符情報(P2)の発音タイミングに応じて、前の音符情報(P1)から生成される伴奏音情報の時間長(Gate)を制限する制限手段(S9〜S10)を備える〔請求項3〕ことができる。
この発明による自動伴奏生成システムで使用される伴奏パターンデータ(Ap)は複数の音符情報(P1;P2;…)から成り、これら音符情報(P1;P2;…)は、夫々のタイミング情報(Timing)により時系列的に関連付けられており、例えば、音高(Note)、長さ(Gate)、音量(Vel )などの情報を含む。システムは、自動伴奏の開始に伴い、伴奏パターンデータ(Ap)内の各音符情報(P1;P2;…)がタイミング情報(Timing)に従って順次読み出す(S6)。ユーザ押鍵操作などにより所望の音高(例えば、D3,F3)の音高指示情報(Ma,Mb,…)が入力手段(5,PD)から入力されると、有効に入力された全ての音高指示情報(Ma,Mb,…)が指示する所望の音高を取得する。そして、読み出された各音符情報(P1;P2;…)の音高(Note)を所望の音高に差し替える等の方法を用いて、全音高指示情報(Ma,Mb,…)が指示する所望の音高を持つ伴奏音情報(N1a,N1b,…;N2a,N2b,…;…)を生成し(S13,S17)、音源部(7)を通じて、対応する自動伴奏音を発音させる(S14)。
この発明では、このように、タイミング情報を含む複数の音符情報から成る伴奏パターンデータを使用しユーザの演奏操作に応じて伴奏音情報を自動生成するに際し、伴奏パターンデータから、各タイミング情報に従って各音符情報を順次読み出し、読み出された音符情報が持つ長さや音量などの情報と、ユーザ操作に基づく全ての入力音高(押鍵音高)を持つ伴奏音情報を生成し発音するようにしているので、ユーザ入力音高(押鍵音高)を全て常に使用した自動伴奏音に反映させることができる。さらに、ユーザ入力音高(押鍵音高)が、全て、そのまま音符情報のパターンに乗って直ちに発音されるので、ユーザは、自身の押鍵状態と生成される自動伴奏音との対応を演奏しながら簡単に認識することができる。また、自動伴奏音の元になる伴奏パターンデータ内の音符情報は、各タイミング情報が表わす発音タイミングにつき1音分でよいので、従来の各種伴奏パターンデータと比較してデータ量が少なくなり、これを記憶するメモリなどを節約することができる。
また、この発明のシステムで使用される伴奏パターンデータは、MIDIで代表される所定の汎用形式の演奏データに含まれ、その音符情報が該汎用形式で記述されるので、伴奏パターンデータの制作者は、電子楽器などで一般的に利用可能な任意の曲データの一部や、電子楽器などによる実際の演奏を記憶したものを、そのまま利用することができる。
この発明では、さらに、発音タイミングが時間的に前後する音符情報(P1,P2)に時間的な重なり(Ta〜Tb)が生じる場合、前の音符情報(P1)に従って生成される先行伴奏音情報の時間長(Gate)を後の音符情報(P2)のタイミング情報(Timing=Ta)に応じて制限する。例えば、後の音符情報(P2)に従って新しい後続伴奏音情報を生成する際に、既にその時点で発音中の自動伴奏音をオフする(S9〜S10)。これにより、自動伴奏音の同時発音数は、全ユーザ入力音数(押鍵音数)に一致してこれを超えることがない。従って、最大同時発音数を超えたり、先行伴奏音情報により既に発音中の自動伴奏音のオフが来るまで音量が大きくなってしまう、などの問題が起きない。
〔システム構成〕
図1は、この発明の一実施例による自動伴奏生成システムのハードウエア構成例を示す。この例では、自動伴奏生成生成装置には、電子楽器などの音楽専用の音楽情報処理装置が用いられるが、パーソナルコンピュータに演奏入力及び楽音生成機能を設けた汎用の情報処理装置を用いてもよい。この自動伴奏生成装置は、中央処理装置(CPU)1、ランダムアクセスメモリ(RAM)2、読出専用メモリ(ROM)3、外部記憶装置4、入力操作部5、表示部6、音源部7、通信インターフェース(通信I/F)8などの要素を備え、これらの要素1〜8はバス9に接続される。
装置全体を制御するCPU1は、所定の制御プログラムに従い、タイマーの計時クロックを利用して各種処理を実行し、RAM2は、これらの処理で利用される種々の情報を一時的に記憶するための処理バッファとして機能する。例えば、自動伴奏生成プログラムによる処理時には、押鍵音情報(Ma,Mb,…)や伴奏ノート情報(N1a,N1b,…;N2a,N2b,…;…)、パターンノート情報(P1;P2;…)を格納するためのバッファ領域(KeyOnList ,DataList,PatternNote )がRAM2上に確保される。また、ROM3は、CPU1に自動伴奏生成プログラムを含む各種制御プログラムや、パターンノート情報を含む伴奏パターンデータ(Ap)等の各種データを記憶している。
外部記憶装置4は、ハードディスク(HD)や、コンパクトディスク・リード・オンリィ・メモリ(CD−ROM)、フレキシブルディスク(FD)、光磁気(MO)ディスク、ディジタル多目的ディスク(DVD)、メモリカード等の記憶媒体を用いた記憶手段である。自動伴奏生成プログラム等の各種制御データ、曲データや伴奏パターン集等の各種データは、ROM3だけでなく外部記憶装置4に記憶させることができる。
例えば、ROM3に制御プログラムが記憶されていない場合、HDやCD−ROMなどの外部記憶装置4に制御プログラムを記憶させておきそれをRAM2に読み込むことで、ROM3に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができ、制御プログラムの追加やバージョンアップ等を容易に行うことができる。例えば、自動伴奏生成処理等に用いられるプログラムや各種データ等をインストールすることによって、所望の自動伴奏生成装置を実現することができる。
入力操作部5は、マウスやキー等のパネル操作子や演奏鍵盤などの演奏操作子及び検出回路から成り、操作子による設定/演奏入力操作の内容を検出回路で検出し設定情報や押鍵音情報などをシステム本体内に導入する。例えば、パネル操作子にて、自動伴奏のスタート/ストップ等、このシステムの動作状態を設定したり、自動伴奏生成処理に必要な各種情報を入力し、或いは、演奏操作子の操作に従って演奏データを入力することができる。ここで、演奏操作子の演奏鍵盤において、伴奏用鍵域又は伴奏用鍵盤として設定された複数の鍵(以下、「伴奏鍵」という)は、伴奏音の音高を指示する押鍵音情報(音高指示情報)を入力するのに用いられる。表示部6は、ディスプレイ(CRT、LCD等の表示器)10の表示内容や各種インジケータの点灯状態をCPU1からの指令に従って制御し、入力操作部5の操作に対する表示援助を行う。
音源部7は、音源(ソフトウエアを含む)や効果付与DSPを含み、CPU1で処理された入力演奏データや自動伴奏データなどに対応する楽音信号を生成し、音源部7に接続されるサウンドシステム11は、D/A変換部やアンプ、スピーカを備え、音源部7からの楽音信号に基づく楽音を発生する。つまり、音源部7及びサウンドシステム11は楽音生成部を形成し、例えば、自動伴奏生成処理時には、押鍵音情報に応じて生成された自動伴奏データに従って伴奏音を発音することができる。
また、図示の通信I/F8は、ローカルエリアネットワーク(LAN)や、インターネット、電話回線などの一般用通信ネットワーク、或いは、MIDI用ネットワークに接続される各種インターフェースを一括して表わしており、サーバ等の他のコンピュータやMIDI機器などの種々の外部機器PDと、必要な各種情報を授受することができる。例えば、この装置に制御プログラムや各種データ等が記憶されていない場合、通信I/F8を介して他のコンピュータPDから制御プログラム等をダウンロードすることができる。また、外部機器PDに、他の鍵盤や、弦楽器、管楽器を含むMIDI演奏操作装置を用いて、その演奏操作に基づく演奏データや演奏音を通信I/F8から取り込むこともできる。
〔伴奏パターンデータと自動伴奏生成の例〕
この発明の一実施例による自動伴奏生成システムでは、或る伴奏鍵5を操作(押鍵)すると、自動伴奏生成プログラムに従って、ROM3又は外部記憶装置4に記憶された伴奏パターンデータApを利用して全ての押鍵音高を反映した伴奏データを自動的に生成し楽音生成部7,11から伴奏音を放音することができる。図2及び図3は、この発明の一実施例による伴奏パターンデータと自動伴奏生成例を数値及びタイムチャート(第1周期分のみ)で表わしたものである。
ここで、図3を用いてこのシステムにおける自動伴奏生成の概要を極く簡単に説明しておく。この自動伴奏生成システムでは、複数のノートイベントP1〜P5から成る伴奏パターンデータApが使用され、これらのノートイベントP1〜P5は、夫々が有するタイミング情報Timingにより時系列的に関連付けられている。伴奏用鍵5から任意の音高(例えば、D3,F3)を指示する押鍵音情報Ma,Mb,…を入力すると、伴奏パターンデータAp内から夫々のタイミング情報Timingに従って、順次、読み出される各ノートイベントP1;P2;…の音高は、有効に入力された全ての押鍵音情報Ma,Mbにより指示される音高(D3,F3)に変更されて、自動伴奏音を表わすノートイベントN1a,N1b,…;N2a,N2b,…;…が次々に生成され、これらのノートイベントN1a,N1b,…;N2a,N2b,…;…に対応する伴奏音が発音される。
以下、図2及び図3につき、より詳しく説明する。図2(1)は、1パート分の伴奏パターンデータApの一例を表わしており、この伴奏パターンデータApは、1パート分の一例が図2(1)に示されるように、複数の伴奏パターンノートイベント(以下、「パターンノート」という)P1,P2,…が所定の時間(以下、「パターン時間」という)Tpにわたって時系列的に配列されて成る。各パターンノートP1,P2,…(各行)は、タイミング情報Timing、ゲートタイム情報Gate、音高情報Note、ベロシティ情報Vel (以下、「情報」の用語は省略することがある)等の情報から成り、それらの音高を時間的に展開すると図3(1)のようになる。
なお、このような伴奏パターンデータApは、MIDIなどの所定の汎用形式で記述されており、既存の曲データ中から引用したものであっても、実際の演奏を記録したものであってもよい。また、図2(1)及び図3(1)は、説明を簡単にするためにパターン時間Tp=1小節分の伴奏パターンデータを例示しているが、これより長くてもよいし、勿論、短くしてより簡単なパターンにしてもよい。
ここで、タイミングTiming及びゲートタイムGateは、それぞれ、各パターンノートP1,P2,…の発音開始時点(タイミング)及びノートオン時間の長さを示す時間情報である。図示の例では、1拍を480クロックとしたクロック数で表わされており、パターン時間Tp=1920クロックである。なお、第1パターンノートP1のゲートタイムGate(P1)=“0490”は、第2パターンノートP2のタイミングTiming(P2)=“0480”を超えており、レガートっぽい演奏表現が企図されている。
次に、音高Note及びベロシティVel は、それぞれ、各パターンノートP1,P2,…の音高及び音量(押鍵速度乃至強度)を表わす情報である。図示の例では、音高情報Noteに音高名“C4”,“D4”,…又はノート番号(ナンバ)値を用い、音量情報Vel にはベロシティ値を用いており、各値は、MIDI規格に従い、最小値=“0”又は“1”〜最大値=“127”の範囲内に設定される。
このシステムでは、任意数且つ任意音高の伴奏鍵をユーザが操作(押鍵)して、当該各鍵に対応する音高を表わす押鍵音情報Ma,Mb,…が入力されると、有効に入力された押鍵音情報Ma,Mb,…は、全て、伴奏音の音高を指示する音高指示情報として用いられる。例えば、図2(1)及び図3(1)の伴奏パターンデータApに対して、音高“D3”,“F3”に対応する2鍵が押鍵されると、自動伴奏生成プログラムにより、同鍵操作中、伴奏パターンデータApから、パターンノートP1;P2;…のタイミングTimingに従って、順次、各タイミングTimingに関連付けられたパターンノートP1;P2;…が読み出されるのに伴い、図2(2)及び図3(2)に示すように、押鍵音情報Ma,Mbが指示する2つの音高“D3”,“F3”を持つ伴奏ノートイベントN1a,N1b;N2a,N2b;…を自動伴奏データAnとして自動的に生成する。
つまり、各パターンノートP1;P2;…のタイミングTimingに基づく読出しタイミング(Tr)が到来する毎に、順次、各パターンノートP1;P2;…;P5が読み出され、これらのゲートタイムGate及びベロシティVel 、並びに、ユーザの押鍵音高“D3”,“F3”(ノートナンバ“62”,“65”)を持つ自動伴奏ノートイベント(以下、「伴奏ノート」という)N1a,N1b;N2a,N2b;…が生成される。そして、このような伴奏ノートの生成は、同一伴奏鍵の押鍵操作が持続している間、継続して行われ、伴奏パターンデータApのパターン時間Tpを1周期として循環的に繰り返される。
ここで、或るパターンノートPnのタイミングTiming(Pn)=Taが前のパターンノートPn−1のゲートタイムGate(Pn-1)の消費時点t=Tb=Timing(Pn-1)+Gate(Pn-1)よりも前にある場合、パターンノートPn−1に従ってそのまま伴奏ノートNn−1を生成すると、タイミングTa〜Tbの間、伴奏ノートNn−1の発音を継続しつつ、パターンノートPnに対応する次の伴奏ノートNnが生成されて、発音数が2倍になってしまう。このような場合は、両伴奏ノートNn−1,Nnが重ならないように、先行する伴奏ノートNn−1のゲートタイムGate(Nn-1)を制限する。このため、例えば、次の伴奏ノートNnの生成タイミングTaでは、音源部7によりパターンノートPn−1のゲートタイムGate(Pn-1)に従って既に発音中の全ての伴奏ノートNn−1を消音する。或いは、音源部7に送る伴奏ノートNn−1自体のゲートタイムGate(Nn-1)を、次のパターンノートPnのタイミングTaに合った長さ〔Gate(Nn-1)=Timing(Pn)−Timing(Pn-1)〕に短縮する。
図示の例では、図3タイムチャートに「(注1)」で示すように、第1パターンノートP1のゲートタイムGate(P1)の消費時点Tb=490(クロック)は、第2のパターンノートP2のタイミングTiming(P2)=480=Taをオーバし、時間Ta〜Tb=480〜490の間、両パターンノートP1,P2が重なる。そこで、第1パターンノートP1に従って生成される第1伴奏ノートN1a,N1bは、次に第2パターンノートP2に従って生成される第2伴奏ノートN2a,N2bに重ならないように、矢印で示すように、タイミングTaで消音され、ゲートタイムGateが第2パターンノートP2のタイミングに合った長さ〔Gate(N1a,N1b) =Timing(P2)−Timing(P1)=480〕に短縮される。
また、伴奏パターンデータAp内においてタイミングTimingがほぼ等しい〔例えば、32分音符長(60クロック)以内で近接している〕複数のパターンノートは、和音とみなし、適当な所定の方法に従って選ばれた何れか一つのパターンノートについてのみ伴奏ノートを生成し、他のパターンノートは自動伴奏生成に反映させない。
図示の例では、図3タイムチャートの「(注2)」に示すように、第4及び第5パターンノートP4,P5は、開始タイミングTcが同じ〔Tc=Timing(P4)=Timing(P5)=1440〕なので、和音とみなされ、時間長が大きい第4パターンノートP4〔Gate(P4)>Gate(P5)〕に従って伴奏ノートN4a,N4bが生成され、第5パターンノートP5は自動伴奏生成に反映されない。つまり、この例では、最長時間のパターンノートを優先する方法を採用し、第5パターンノートP5については、時間範囲Tc〜Td〔Td=Timing(P5)+Gate(P5)=1660〕が第4パターンノートP4の時間範囲Tc〜Te〔Te=Timing(P4)+Gate(P4)=1670〕に含まれるため、自動伴奏音を生成させない。
〔自動伴奏生成の動作フロー〕
図4及び図5は、この発明の一実施例による自動伴奏生成の動作例を表わすフローチャートである。入力操作部(パネル操作子)5のユーザ操作により自動伴奏スタートが指示され、この自動伴奏生成の動作フローがスタートすると、CPU1は、まず、ユーザ操作或いはデフォルトに従って初期設定を行う(ステップS1:なお、以下においては、記号“S…”単独で該当ステップを表わす)。初期設定には、例えば、この自動伴奏生成に使用する伴奏パターンデータApの設定や、伴奏鍵の設定(例えば、伴奏用鍵域を定めるスプリットポイントの設定、伴奏鍵盤の指定など)、自動伴奏の最大同時発音数(例えば、16)の設定などがある。この伴奏パターンデータApの設定には、予めROM3又は外部記憶装置4に用意された曲データから所望トラックの伴奏パターン部分を選択したり、伴奏パターン集から所望の伴奏パターンを選択したり、ユーザの実演奏による伴奏パターンを記録した後使用登録するなどの方法が用いられる。
CPU1は、次いで、押鍵音情報格納領域KeyOnList 、伴奏ノート情報格納領域DataList及びパターンノート情報格納領域PatternNote (以下、各領域は、参照記号単独で表わす)をRAM2上にセットして、これらを初期化すると共に(S2)、タイマーをスタートする(S3)。なお、KeyOnList ,DataListは、初期状態では要素数が“0”であり、最大要素数は最大同時発音数となる。また、PatternNote に格納される伴奏パターンデータApの各ノートイベント(パターンノート)のデータ構造は、通常のノートイベント情報と同じ記述形式でよく、初期状態は無効値がセットされる。そして、所定時間間隔のタイマー割込みにより、以後の本処理段階(S4〜S18)に入る。
本処理段階では、まず、自動伴奏ストップの指示があったか否かを判別し(S4)、自動伴奏ストップ指示がないときは(S4→NO)、さらに、現在、初期設定(S1)で設定された伴奏パターンデータApのパターンノートを読み出すべき読出しタイミングTrであるか否かを判断する(S5)。ここで、読出しタイミングTrは、伴奏パターンデータApのパターン周期Tpのn倍に個々のパターンノートのタイミングTimingを加算した値であり、Tr=n×Tp+Timingで表わされる。なお、値nは、当初は0であるが、自動伴奏の時間進行がパターン時間Tpを越える毎に“1”ずつ増加する自然数である。
ここで、読出しタイミングTrであれば(S5→YES)、伴奏パターンデータApから当該パターンノートを読み出してPatternNote に記憶する(S6)。図2及び図3の例では、演奏開始時点t=0(クロック)で処理が開始され、この時点に等しい読出しタイミングTr=Timing(P1)=“0000”で、直ちに第1パターンノートP1を読み出してPatternNote に記憶し、以後も、読出しタイミングTr=n×1920+Timing(n=0又は自然数)毎に、順次、パターンノートP2,P3,…を読み出していく。
なお、読出しタイミングTrの判断(S5)は、或る程度余裕のある時間幅(時間幅は設定可能であってもよい)を持って行われる。また、パターンノート記憶ステップ(S6)では、読出しタイミングTrが同時又は所定の余裕時間(例えば、60クロック)以内で、和音とみなし得るパターンノートを全て読出し、複数イベントが読み出されたときは、適当な方法で選定された何れか1つのパターンノートをPatternNote に記憶する。例えば、図2及び図3のように、タイミングt=Tc=1440で第4及び第5パターンノートP4,P5が読み出されたときは、第4パターンノートP4をPatternNote に記憶する。
続いて、KeyOnList を初期化し(S7)、さらに、伴奏鍵5の押鍵に基づく現在の押鍵音情報を取得し、KeyOnList に記憶する(図5:S8)。この場合、初期設定ステップ(S1)で設定された最大同時発音数を超える押鍵については無視し、この発音数以下の押鍵を有効とする。なお、図2及び図3の例では、第1読出しタイミングTr=Timing(P1)=0で、押鍵音記憶ステップ(S8)にて、押鍵音高“D3”(62),“F3”(65)がKeyOnList に記憶される。
次いで、発音中の自動伴奏音があるか否かを判断する(S9)。ここで、前のパターンノートに従ったDataList内の伴奏ノートによる自動伴奏音が継続して発音しているときは(S9→YES)、発音中の自動伴奏音をオフするように音源部7に指令し(S10)、DataListを初期化する(S11)。図2及び図3の例で説明すると、第2読出しタイミングTr=Timing(P2)=“0480”=Taで、第2パターンノートP2がPatternNote に記憶され(S6)、このとき、その前の第1パターンノートP1に基づくDataListの伴奏ノートN1a,N1bにより、自動伴奏音が発音中である(S9→YES)。そこで、CPU1は、この時点Taで直ちに、音源部7に全自動伴奏音をオフさせ(S10)、DataListを初期化する(S11)。従って、伴奏ノートN1a,N1bのゲートタイムGateは結果的に値Taに短縮される。
さらに、伴奏鍵5の押鍵タイミングが、PatternNote に格納されているパターンノートのタイミングTimingが表わす時刻Tsより後ろの時刻であるか否かを判定する(S12)。なお、この時刻Tsは読出しタイミングTrに等しい。つまり、時刻Tsは、物理的に厳密に云えば読出しタイミングTrに若干遅れるかもしれないが、音楽データ取扱い上は無視し得る遅れであり読出しタイミングTrと実質的に同じである。
ここで、開始時刻Ts以前に押鍵されたときは(S12→NO)、KeyOnList 中の各押鍵音情報に対して、当該パターンノートのタイミングTimingに対応する開始時刻Ts、長さGate及び音量Vel 、並びに、押鍵音高を持つ伴奏ノートを生成し(要するに、パターンノートの音高情報Noteのみを変更された音高に書き換える)、それぞれ、DataListに記憶する(S13)。そして、DataList内の伴奏ノートを音源部7に送り、対応する自動伴奏音をサウンドシステム11から発音させる再生処理を行った後(S14)、ストップ指示判別ステップ(図4:S5)に戻る。
次いで、読出しタイミング判定ステップに戻って読出しタイミングTrでないと判定されたときは(S4・NO→S5・NO)、続いて、現在の押鍵状態がKeyOnList の押鍵音高と同じか否かを判断する(S15)。ここで、同一押鍵状態が維持されているときは(S15→YES)、ストップ指示判別ステップ(S4)に戻り、読出しタイミングTrの到来毎に(S5・YES)上述の動作(S6〜S14)を繰り返す。
図2及び図3の例では、第1パターンノートP1の開始時刻t=Ts=0(クロック)で伴奏鍵D3,F3が押鍵されるので(S12→NO)、音高情報Noteのみを押鍵音高D3,F3に書き換えた第1伴奏ノートN1a,N1bをDataListに記憶した後(S13)、この押鍵状態が維持されている間、各パターンノートP2,P3,…が、順次、同じ態様で記憶される(S13)。但し、DataListに記憶されるタイミングTimingは、それぞれの伴奏ノートの開始時刻Ts=n×1920+Timing(n=0又は自然数)となる。
さて、押鍵状態判定ステップ(S15)において、KeyOnList の押鍵音高とは別の押鍵がなされた判断したときは(S15→NO)、さらに、押鍵変更された時点で、PatternNote のパターンノートが有効か否か、即ち、PatternNote に記憶されているパターンノートが発音持続時間中かどうかをチェックする(S16)。ここで、押鍵変更時点において、このパターンノートのゲートタイムGateが消費されておらず、当該パターンノートの発音期間を維持しているときは(S16→YES)、前述したKeyOnList 初期化〜DataList初期化ステップ(S7〜S11)を経て、押鍵タイミング判定ステップ(S12)に進む。なお、パターンノート有効性判定ステップ(S16)や押鍵タイミング判定ステップ(S12)におけるタイミング比較は、或る程度の時間幅を持って行ってもよい。また、それぞれの時間幅は設定可能であってもよい。
この場合、押鍵タイミング判定ステップ(S12)では、PatternNote に格納されているパターンノートの開始時刻Tsの後、つまり、対応する伴奏ノートの発音中に押鍵されたと判定され(S12→YES)、当該パターンノートのタイミング及び長さを押鍵タイミングに応じて調整し、KeyOnList 中の各押鍵音情報に対して、調整されたタイミングTiming及び長さGateと、当該パターンノートの音量Vel と、押鍵音高とを持つ伴奏ノートを生成し、それぞれDataListに記憶する(S17)。そして、当該伴奏ノートの再生処理を行った後(S14)、ストップ指示判別ステップ(S4)に戻る。
例えば、図3において、第2パターンノートP2の開始時刻Ts=Timing(P2)+1920×0=480=Taより後乃至同パターンP2の終了時刻=960より前(第2伴奏ノートN2a,N2bが発音中)の時点t=Tfで押鍵されたときは、伴奏ノートの途中での押鍵変更と判断され(S16→YES)、当該パターンノートP2のタイミングTimingを押鍵タイミングTfに変更し、ゲートタイムGateをGate(P2)−(Tf−Ta)に変更する調整を行い、ベロシティVel をVel (P2)=72とし音高Noteを新たな押鍵音高とした伴奏ノートをDataListに記憶する(S14)。
また、PatternNote に記憶されているパターンノートの開始時刻Ts以前に別の伴奏用鍵が押鍵された場合〔S15(NO)→S16(NO)〕には、一旦当該パターンノートの記憶ステップに進んでから〔S4(NO)→S5(YES)→S6〕、KeyOnList 初期化〜DataList初期化ステップ(S7〜S11)を経て、伴奏ノートの発音開始以前での押鍵と判定され(S12→NO)、当該パターンノートの音高Noteのみを当該押鍵音高に書き換えて(タイミングTimingは開始時刻Tsとなる)をDataListに記憶する(S13)。
図2及び図3で説明すると、当初の押鍵(D3,F3)後、PatternNote に記憶されている何れかのパターンノートP1〜P5の開始時刻Ts以前に別の伴奏用鍵が押鍵された場合、例えば、図3の時刻Tg〜Tc〔Tg=Timing(P3)+Gate(P3)=1210〕間のように、前後のパターンノートP3〜P4間にノートイベントが存在しない空白の時間範囲で押鍵された場合は、上述の過程〔S15・S16・S4(NO)→S5(YES)→S6〜S12(NO)〕を経て、PatternNote のパターンノートP4の開始時刻Ts=Timing(P3)=Tc=1440で、同パターンノートに対応する伴奏ノートをDataListに記憶する。
なお、この自動伴奏のスタート時に押鍵がないときは、伴奏パターンデータApの読出しタイミング毎に、パターンノートを読み出してPatternNote を更新していく。この間、KeyOnList は初期化(S7)で“空”にされたままであり、DataListも、実質的に伴奏ノートイベントは記憶されない“空”の状態となる。
以上のようにして、所定の伴奏ノートの再生処理を行った後(S14)、ストップ指示判別ステップ(S4)に戻った際、パネル操作子5のユーザ操作や曲データ進行の終了などによる自動伴奏ストップ指示を検出すると(S4→YES)、発音中の自動伴奏音があればそのオフを音源部7に指令して(S18)、この自動伴奏生成フローを終了する。
〔種々の実施態様〕
以上、この発明の好適な一実施例について説明したが、これは単なる一例であって、この発明は、その精神を逸脱しない範囲で種々の変更が可能であり、種々の態様で実施することができる。例えば、伴奏パターンデータは、実施例では1パート(トラック)即ち1つの音色又は楽器音を想定しているが、複数のパート(トラック)でもよい。
伴奏パターンデータ内の音符情報列は、単音状態ばかりでもよいし、和音状態が混ざっていてもよい。伴奏パターンデータ内に和音がある場合、和音中の1音について長さや音量の情報を自動伴奏生成に用いればよい。その際、1音の選び方は、例えば、当該和音中で最初に読み込まれたものや、最長の時間長を持つものなど、適当な様々な方法を適用することができる。また、和音状態の判断の仕方は、例えばタイミング情報が32分音符程度の所定時間幅内にある複数の音符情報を1つの和音と判断するようにしてもよい。
同時発音数の上限は、実施例では16としたが、これに限らない。もしくはユーザ設定可能でもよい。また、音高指示情報を入力する手段には、実施例の特定の鍵盤(伴奏鍵盤)や鍵盤の一部鍵域(伴奏用鍵域)の外に、弦楽器や管楽器など非鍵盤タイプの演奏操作子又は機器を用いてもよい。音高指示情報は、さらに、リアルタイムで演奏されるものでもよいし、MIDI形式などで既に記録されたものを順次受信するようにしてもよい。
また、音高指示情報の入力に関して、実施例では実際の押鍵状態で押鍵音の有無を判断しているが、例えば、一度押鍵すれば、離鍵しても音高指示の入力状態を維持(ホールド)するように指令し、異なる押鍵若しくはストップ操作による解除指令が行われるまで、その押鍵を有効とするように構成してもよい。
この発明の一実施例による自動伴奏生成システムのハードウエア構成例を示すブロック図である。 この発明の一実施例による伴奏パターンデータと自動伴奏生成の例を数値的に説明する図である。 この発明の一実施例による伴奏パターンデータと1パターン時間(1小節)分の自動伴奏生成の例をタイムチャートで説明する図である。 この発明の一実施例による自動伴奏生成の動作例を表わすフローチャートの一部である。 この発明の一実施例による自動伴奏生成の動作例を表わすフローチャートの他部である。
符号の説明
P1;P2;… 伴奏パターンデータApを構成するパターンノート(音符情報)、
Tp パターン時間(繰返し周期)、
Ma,Mb,… 押鍵音情報(音高指示情報)、
N1a,N1b;N2a,N2b;… 自動伴奏データAnを構成する伴奏ノート(伴奏音情報)。

Claims (4)

  1. 発音タイミングを表わす夫々のタイミング情報により時系列的に関連付けられた複数の音符情報から成る伴奏パターンデータを記憶する記憶手段と、
    伴奏音の音高を指示する音高指示情報を入力するための入力手段と、
    上記伴奏パターンデータ内の各音符情報をそのタイミング情報に従って順次読み出す読出し手段と、
    読み出された音符情報から、入力されている全ての音高指示情報により指示される音高を持つ伴奏音情報を生成する生成手段と、
    生成された伴奏音情報に基づいて伴奏音を発音させる発音手段と
    を具備することを特徴とする自動伴奏生成装置。
  2. 前記伴奏パターンデータは所定形式の演奏データに含まれることを特徴とする請求項1に記載の自動伴奏生成装置。
  3. 前記生成手段は、発音タイミングが前後する音符情報の時間範囲が重なるとき、後の音符情報の発音タイミングに応じて、前の音符情報から生成される伴奏音情報の時間長を制限する制限手段を備えることを特徴とする請求項1又は2に記載の自動伴奏生成装置。
  4. 発音タイミングを表わす夫々のタイミング情報により時系列的に関連付けられた複数の音符情報から成る伴奏パターンデータを記憶する記憶手段、及び、伴奏音の音高を指示する音高指示情報を入力するための入力手段を具備する音楽情報処理装置に対して、
    伴奏パターンデータ内の各音符情報をそのタイミング情報に従って順次読み出すステップと、
    読み出された音符情報から、入力されている全ての音高指示情報により指示される音高を持つ伴奏音情報を生成するステップと、
    生成された伴奏音情報に基づいて伴奏音を発音させるステップと
    から成る手順を実行させるための自動伴奏生成プログラム。
JP2003308177A 2003-09-01 2003-09-01 自動伴奏生成装置及びプログラム Expired - Fee Related JP4449370B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003308177A JP4449370B2 (ja) 2003-09-01 2003-09-01 自動伴奏生成装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003308177A JP4449370B2 (ja) 2003-09-01 2003-09-01 自動伴奏生成装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2005077763A true JP2005077763A (ja) 2005-03-24
JP4449370B2 JP4449370B2 (ja) 2010-04-14

Family

ID=34410719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003308177A Expired - Fee Related JP4449370B2 (ja) 2003-09-01 2003-09-01 自動伴奏生成装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4449370B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008164922A (ja) * 2006-12-28 2008-07-17 Yamaha Corp アルペジオ生成装置及びプログラム
JPWO2021044559A1 (ja) * 2019-09-04 2021-03-11

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008164922A (ja) * 2006-12-28 2008-07-17 Yamaha Corp アルペジオ生成装置及びプログラム
JPWO2021044559A1 (ja) * 2019-09-04 2021-03-11
WO2021044559A1 (ja) * 2019-09-04 2021-03-11 ローランド株式会社 アルペジエータおよびその機能を備えたプログラム
JP7190053B2 (ja) 2019-09-04 2022-12-14 ローランド株式会社 アルペジエータおよびその機能を備えたプログラム

Also Published As

Publication number Publication date
JP4449370B2 (ja) 2010-04-14

Similar Documents

Publication Publication Date Title
US5747715A (en) Electronic musical apparatus using vocalized sounds to sing a song automatically
JP3266149B2 (ja) 演奏ガイド装置
JP5228315B2 (ja) 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム
JP4449370B2 (ja) 自動伴奏生成装置及びプログラム
JPH11282483A (ja) カラオケ装置
JP2003186466A (ja) 楽譜作成処理装置及びプログラム
JP4853054B2 (ja) 演奏データ編集装置及びプログラム
JP4802947B2 (ja) 奏法決定装置及びプログラム
JP3293521B2 (ja) 発音タイミング制御装置
JP6790362B2 (ja) 電子音響装置
JP3587133B2 (ja) 発音長決定方法と装置及び記録媒体
JP3752859B2 (ja) 自動作曲装置と記録媒体
JP3620396B2 (ja) 情報修正装置及び情報修正プログラムを記録した媒体
JP3173310B2 (ja) ハーモニー生成装置
JP5200368B2 (ja) アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム
JP5912269B2 (ja) 電子楽器
JPH04331990A (ja) 音声電子楽器
JP4534966B2 (ja) 音色設定装置及びプログラム
JP4389709B2 (ja) 楽譜表示装置および楽譜表示プログラム
JP4186855B2 (ja) 楽音制御装置及びプログラム
JP3637782B2 (ja) データ生成装置と記録媒体
JP5402167B2 (ja) アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム
JPH04257895A (ja) 自動伴奏システムのコードステップレコーディング装置及び方法
JP5141012B2 (ja) アルペジオ生成装置及びプログラム
JP4835433B2 (ja) 演奏パターン再生装置及びそのコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100105

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100118

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees