JP3988668B2 - 自動伴奏装置および自動伴奏プログラム - Google Patents
自動伴奏装置および自動伴奏プログラム Download PDFInfo
- Publication number
- JP3988668B2 JP3988668B2 JP2003084361A JP2003084361A JP3988668B2 JP 3988668 B2 JP3988668 B2 JP 3988668B2 JP 2003084361 A JP2003084361 A JP 2003084361A JP 2003084361 A JP2003084361 A JP 2003084361A JP 3988668 B2 JP3988668 B2 JP 3988668B2
- Authority
- JP
- Japan
- Prior art keywords
- chord
- information
- section
- accompaniment
- automatic accompaniment
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、伴奏データを自動的に作成する自動伴奏装置に関するものである。
【0002】
【従来の技術】
従来、自動伴奏は、ユーザがメロディを実演奏する際、あるいは、曲データを用いてメロディを自動演奏する際に、伴奏データを自動的に生成し、これをメロディ演奏とともに再生することにより行われる。
このような自動伴奏をする場合、伴奏スタイルを設定するとともに、設定された伴奏スタイルに応じたパターンデータにコード情報を反映させて自動伴奏データを作成している(特許文献1参照)。
例えば、入力和音(コード情報)の種類に応じて、伴奏スタイルに応じて記憶されているソースパターン(パターンデータ)内のキーコード(音高)を変換するとともに、全音高を入力コード情報の根音に応じてシフトし、入力されたコード情報に合った音高の伴奏音を生成している。
なお、所定コード情報で作成したパターンデータを入力コード情報の種類に合ったように音高変換するために、パターンデータの音高についてのシフトデータをコード情報の種類に対応づけてノート変換テーブルとして記憶しておき、入力されるコード情報の種類に応じたシフトデータをノート変換テーブルから読み出し、この読み出したシフトデータをソースパターンの音高と演算することによりコード情報の種類に応じた伴奏音を得ている。
【0003】
ここで、伴奏スタイルは、曲の本体部(メロディ演奏区間)に主として用いる「メインセクション」、メロディ演奏区間の前に主として用いる「イントロセクション」、メロディ演奏区間の終了後に主として用いる「エンディングセクション」など、複数のセクションからなる(特許文献2参照)。
この他、フィルインなどのセクションや、さらに、メインA、メインBなどというバリエーションもある。
伴奏スタイルの各セクションが、パターンデータを持ち、さらに、コード情報に従って、リズム音やコード音、ベース音など各種の具体的な伴奏音に展開される。
【0004】
コード情報とは、本来、メロディのコード進行に合わせて自動伴奏をするために指定されるものである。
コード情報が楽譜上に指示されている場合もある。ユーザの意図を反映したものとするために、コード情報は、ユーザによって入力される。あるいは、曲データ中に元々含まれている場合もある。
ところで、コード情報は、自動伴奏の演奏中に入力されることがある(コードチェンジ)。通常は、コードチェンジのあった時点から新しいコード情報をもとに上述した方法などでパターンデータから伴奏を得る。
従来のパターンデータは、一般に、どのようなコード情報が指定されても問題ないように、コード進行のないパターンデータが設定されていた。例えば、コード情報が(Cmaj)であるとき、「ド,ソ,ミ,ソ」を繰り返すパターンデータが設定されている。
しかし、最近では、コード進行を考慮してパターンデータが作成されている場合がある。特に、「イントロセクション」や「エンディングセクション」では、同時にはメロディ演奏されないので、独自のコード進行が考慮される場合がある。
【0005】
図6は、コード進行を考慮して作成されたパターンデータにコード情報が与えられて生成される自動伴奏データの一例を示す説明図である。自動伴奏中に誤ってコードチェンジされる場合を示す。
図6(a)においては、コード情報(Cmaj)で作成されたパターンデータが、コード情報(Cmaj)の指定で開始されてそのまま続き、パターンデータのコード進行がI→IIm→V7→Iであり、指定されたコード情報(Cmaj)を反映して(Cmaj)→(Dm)→(G7)→(Cmaj)の流れを持つ自動伴奏が出力される。
これに対し、図6(b)では、元のパターンデータは図6(a)と同じであるが、最初、(Cmaj)で指定されたコード情報が、第3小節目から、(Fmaj)にコードチェンジされた場合を示している。
このコードチェンジにより、パターンデータの各音符は、パターンデータ作成時の元のコード情報(Cmaj)と新たなコード情報(Fmaj)のルート(根音)の差に応じて、4度上に移調される。この例では、同じコード種類でのコードチェンジなので、根音に基づく移調のみになる。その結果、パターンデータ中のコード進行は、(Cmaj)→(Dm)→(C7)→(Fmaj)となって、出力される自動伴奏データがセクションの自動伴奏途中で移調されてしまい不自然な聴感になってしまう。
このセクションが、イントロセクションであった場合、自動伴奏途中でコードチェンジがあると、イントロセクションが最初と異なる調で終わることになる。メインセクションの自動伴奏が開始されたとき、イントロセクションの最初のコード情報と同じものが指定されている場合が多い。したがって、今度は、4度下に移調されることになる。その結果、移調が上下して落ち着かない印象を与え、不安定な聴感になってしまう。
【0006】
上述したコードチェンジは、ユーザの操作ミスに限られない。
楽譜に記載されたものを誤って入力してしまう場合もある。すなわち、楽譜によっては、ユーザが弾くためのイントロ演奏楽譜とそのコード情報とが記載されている場合がある。自動伴奏装置では、楽譜に記載されたイントロ演奏楽譜とは無関係に、付与されたイントロセクションより自動伴奏をすることから、ユーザが楽譜に指定されたコードを入力してしまうと、付与されたイントロセクションとは必ずしも関連のないコード指定をしてしまうことになる。
あるいは、曲データの自動演奏において、この曲データ中の、イントロセクションを付与する区間にコード情報が含まれている場合がある。更に、メロディの演奏データとは別のトラックに別の演奏データが入っている場合がある。伴奏スタイルによる自動伴奏を実行する場合は、メロディ以外の演奏データの入ったトラックはミュートさせる。しかし、このミュート操作を行っても曲データのコード情報は残っており、自動伴奏装置で自動作成されるイントロセクションの伴奏データとは必ずしも関連のないコード指定をしてしまうことになる。
【0007】
一方、従来、エンディングセクションに関しては、コード進行が変化すると演奏上好ましくないことに着目して、エンディングセクションが有効な間は、コード変更を受け付けないというコードシーケンサが知られている(特許文献3参照)。
この技術を応用すれば、ユーザが指定したセクションに関しては、コード変更を受け付けないようにする方法が考えられる。
しかし、指定した以外のセクションの中にも、パターンデータがコード進行を考慮して作成されていた場合には対応できない。
逆に、指定したセクションのパターンデータが、元々、コード進行を考慮しておらず、むしろユーザによるコード情報の指定によって、伴奏に変化をつけたい場合もある。このような場合、コードチェンジが受け付けられないので、所望の伴奏データが得られない。
【0008】
【特許文献1】
特開平10−293586号公報
【特許文献2】
特許3327188号
【特許文献3】
特許2536525号
【0009】
【発明が解決しようとする課題】
本発明は、上述した問題点を解決するためになされたもので、セクション演奏の自動伴奏途中で第2番目以降のコード情報が供給されても、自然な自動伴奏データが得られる自動伴奏装置および自動伴奏プログラムを提供することを目的とするものである。
【0010】
【課題を解決するための手段】
本発明は、請求項1に記載の発明においては、伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報を供給する伴奏スタイル・セクション指示情報供給手段と、コード情報を供給するコード情報供給手段と、パターンデータと、該パターンデータがコード進行を考慮して作成されたパターンデータであるか否かを指示するコード進行有無情報を、前記伴奏スタイルのセクションに対応させて記憶するパターンデータ記憶手段と、該パターンデータ記憶手段に記憶された複数のパターンデータの中から、前記伴奏スタイル・セクション指示情報供給手段により供給された伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報に応じてパターンデータを決定し、決定されたパターンデータに、前記コード情報供給手段により供給されたコード情報を反映させて自動伴奏データを生成する自動伴奏データ生成手段と、該自動伴奏データ生成手段において決定されたパターンデータが、前記コード進行有無情報によりコード進行を考慮されたものでないと判別したときは、前記コード情報供給手段から供給されるコード情報を前記自動伴奏データ生成手段に反映させるとともに、前記コード進行有無情報により前記コード進行を考慮されたものであると判別したときは、前記コード情報供給手段から供給される、前記セクションの自動伴奏開始時に有効な最初のコード情報は、前記自動伴奏データ生成手段に反映させるが、前記コード情報供給手段から供給される前記セクションの自動伴奏途中で指定される第2番目以降のコード情報は、前記自動伴奏データ生成手段に反映させないようにするコードチェンジ制御手段を有するものである。
従って、セクションの自動伴奏途中で第2番目以降のコード情報が供給されても、伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報に応じて決定されたパターンデータがコード進行を考慮したものである場合には、このコード情報が無視されるので、自然な聴感の自動伴奏データが得られる。
上述したコード情報の無視は自動的に行われるので、ユーザは伴奏スタイルおよびセクションの指示やコード情報の入力に気を遣わなくてもよい。
【0011】
請求項2に記載の発明においては、請求項1に記載の自動伴奏装置において、コードチェンジ無効化制御情報供給手段を有し、該コードチェンジ無効化制御情報供給手段は、前記自動伴奏データ生成手段において決定されたパターンデータが、前記コードチェンジ制御手段によりコード進行を考慮されたものであると判別されたときに、前記コードチェンジ制御手段が、前記コード情報供給手段から供給される前記セクションの自動伴奏途中で指定される第2番目以降のコード情報を前記自動伴奏データ生成手段に反映させるか否かを切り替える制御情報を前記コードチェンジ制御手段に供給するものである。
従って、コードチェンジを有効にすることもできるので、コード情報の供給を間違えたときでも、直ちに正しいコード情報を供給することにより、自動伴奏データの修復が速やかに行われる。
また、セクションのパターンデータがコード進行を考慮していないときには、コードチェンジが有効であるので、ユーザが適切なコード情報を供給することにより、変化に富んだ自動伴奏データを得ることができる。
【0012】
請求項3に記載の発明においては、上述した請求項1に記載の自動伴奏装置をコンピュータに実行させるプログラムの形態で実現するものである。同様に、請求項2に記載の発明もコンピュータに実行させるプログラムの形態で実現することができる。
【0013】
【発明の実施の形態】
図1は、本発明の実施の一形態を説明するための機能構成図である。
伴奏スタイル・セクション指示情報供給部1は、複数種類ある伴奏スタイルの中から1つを指定する情報を出力する。例えば、16ビート,カントリー,ラテン,スイング&ジャズ等の音楽ジャンルに応じたカテゴリーと、各カテゴリー下における具体的な伴奏スタイル名を指定することにより、例えば、1つのスタイルファイル名を指定する。
各伴奏スタイルにおいては、メイン、イントロ、エンディングなどの、複数のセクション毎に、異なるパターンデータが指定される。
伴奏スタイル・セクション指示情報供給部1は、ユーザが演奏をする際に、操作子操作によりユーザが指定したものを供給したり、曲データを自動演奏する際に、操作子操作によりユーザが指定したり、曲データ中に指定されたものを読み出したりして供給するものである。
【0014】
コード情報供給部2は、従来と同様に、後述する自動伴奏データ生成部4に対し、コード情報を反映した自動伴奏データを出力させるためのものである。
この実施の形態において、コード情報は、コードチェンジ制御部3を通して自動伴奏データ生成部4に出力する。コード情報は、1曲を通しても、各セクションにおいても、何回でも供給できる。
このコード情報供給部2は、例えば、コード情報設定操作子によりユーザがリアルタイムでコード情報を供給するものである。
あるいは、予め、コード情報のシーケンスデータとして用意されて記憶されている記憶装置でもよい。
もしくは、曲データ中の任意のパート(通常は、メロディパート)が指定されて、このパートを自動分析する装置でもよい。自動分析して検出されたコード情報を供給する。この場合、イントロセクションでは、指定されたパートを分析したときの先頭のコード情報を採用する。
【0015】
コードチェンジ制御部3は、後述する条件を満たすか否かを判別し、コード情報供給部2から供給されたコード情報を自動伴奏データ生成部4に反映させるか否かを制御する。
すなわち、伴奏スタイルのセクションを指示する情報に応じて、後述する自動伴奏データ生成部4において決定された各セクションのパターンデータが、コード進行を考慮されたものでないときは、コード情報供給部2から供給されるコード情報を自動伴奏データ生成部4に反映させる。
一方、コード進行を考慮されたものであるときは、コード情報供給部2から供給される、各セクションの自動伴奏開始時に有効な最初のコード情報は自動伴奏データ生成部4に反映させるが、各セクションの自動伴奏途中で指定される第2番目以降のコード情報は反映させないようにする。
ここで、自動伴奏データ生成部4において決定された各セクションのパターンデータがコード進行を考慮されたものか否かの判別は、図2を参照して後述するように、伴奏スタイルの各セクションに含まれる、コード進行考慮の有無を示す「コード進行有無情報」によって判別することなどにより実現できる。
【0016】
また、各セクションの自動伴奏開始時に有効な最初のコード情報とするのは、従来と同様であり、一例として次の2例が考えられる。しかし、製品仕様として、任意の条件を決めることができる。
第1に、セクションの開始と同時かそれ以前に指定される最初のコード情報である。セクションの開始時点から自動伴奏か開始される。
第2に、あるセクションが開始されるまで何もコード情報が指定されていなくても、そのセクション中、最初にコード情報が指定されたときのコード情報である。この場合、最初にコード情報が指定された時点から、このセクションの自動伴奏か開始される。
【0017】
コードチェンジ制御部3は、また、コードチェンジ無効化制御情報供給部6から、コードチェンジ無効化制御情報(フラグ)の供給を受け、コードチェンジ無効化機能のON/OFFを制御する。
すなわち、自動伴奏データ生成部4において決定されたパターンデータがコード進行を考慮されたものであるときに、コードチェンジ制御部3が、コード情報供給部2から供給される、各セクションの自動伴奏途中で指定される第2番目以降のコード情報を反映させるか否かを切り替える。
【0018】
自動伴奏データ生成部4は、従来のものと同様の構成でもよい。
例えば、伴奏スタイルデータ記憶部5に記憶された複数種類の伴奏スタイルデータファイルの各セクションのパターンデータを参照し、これらの中から、伴奏スタイル・セクション指示情報供給部1から供給された伴奏スタイルおよびこの伴奏スタイルのセクション指示情報に応じてパターンデータを決定し、決定されたパターンデータに、コードチェンジ制御部3を介して指定されたコード情報を反映させて自動伴奏データを生成する。
ここで、反映とは、上述したパターンデータを、コード情報に合う、例えば、コード構成音になるように変換して自動伴奏を行うことである。
【0019】
上述した構成により、伴奏スタイルのイントロセクションなどで、コード進行を考慮したパターンデータを持つ場合は、セクションの自動伴奏開始時に有効な最初のコード情報は反映されるが、セクションの自動伴奏途中で指定される第2番目以降のコード情報は無視されることから、自然な伴奏が得られるようになる。
一方、コードチェンジ無効化制御情報供給部6が、コードチェンジ制御部3のコードチェンジ無効化機能をOFFにしたときには、常にコートチェンジが反映されることになり、自動伴奏データ生成部4は、従来と同様の自動伴奏データを出力することになる。
【0020】
図2は、伴奏スタイルデータファイルのデータ構造の一例を示す説明図である。
ある1つの伴奏スタイル11は、ヘッダー部、および、これに続くセクション部を有している。ヘッダー部には、伴奏スタイル名,自動伴奏の拍子,自動伴奏のテンポのデータ等が含まれる。セクション部は、既に説明したように、イントロ,メイン,エンディング等の自動伴奏される区間に応じた、複数のセクションに分かれている。
各セクション12は、さらに、設定情報,パターンデータ,各セクションを構成するパートに関するパート情報が含まれている。設定情報には、セクション名,セクションの小節数等が含まれる。
【0021】
上述したパターンデータは、実際に生成される自動伴奏データの元になるノートデータのパターンデータである。調の主音を基準とした度数形式で記述されたり、ある調のノートデータパターンをMIDI(Musical Instrument Digital Interface)で記述されたりする。
セクションの自動伴奏開始時に、コードチェンジ制御部3により指定されているコード情報を反映するようにこのパターンデータを変換する。
パターンデータは、リズムパート,ベースパート,コードパート,フレーズパート等、1または複数のパートで構成される。各パートに関する情報は、パート情報として記述されている。パート情報は、パート名,出力チャンネル,コード進行有無情報,その他の伴奏データ作成情報を含む。
伴奏データ作成情報としては、例えば、パターンデータにコード情報を反映させる際に、自動伴奏データの音域を指定したり、音高を高い方にシフトさせるのか、低い方にシフトさせるのかを指定したりする。
コード進行有無情報は、既に説明したように、当該セクション12のパターンデータがコード進行を考慮して作成されたものか否かを指示するもので、例えば、考慮して作成されている場合は1、考慮して作成されていない場合は0とする。
【0022】
図示の例では、コード進行有無情報は、パート毎に記述されるものとしている。ただし、例えば、ベースパートおよびコードパートでは、自動伴奏データにコード情報を反映させるが、リズムパートはコード情報に無関係なので、コード進行有無情報は含まれない。
また、コード進行を考慮したパターンデータにおいては、通常、コード情報が反映されるパートの全てにコード進行が考慮されている。
従って、コード進行が考慮されたパターンデータを有するセクションであるか否かは、コード情報が反映される全てのパートのコード進行有無情報に応じて判定する必要はなく、任意の1つのパートのコード進行有無情報に応じて判定することができる。
【0023】
あるいは、伴奏スタイルデータファイルの作成誤り、あるいはコード進行有無情報の検出誤り等を考慮して、コード情報が反映される全てのパートのコード進行有無情報に基づいて、例えば、少なくとも1つが1であるか、あるいは、全てが1であるかなどの判定基準で判定してもよい。
また、コード進行有無情報は、各パートのパート情報内ではなく、各セクション12の設定情報内に、全パートに共通のものとして含めてもよい。
さらにまた、使用される伴奏スタイルの、あるセクション12(例えば、イントロセクション)が全て、コード進行を考慮したパターンデータを持つものであることが、予め、わかっているなどの場合は、このセクションに対し、一律に、セクションの途中のコードチェンジを無効化するように、無効化制御情報を供給すればよい。
【0024】
図3は、本発明の実施の一形態を実現するハードウェア構成図である。
電子楽器等の電子音楽装置において、プログラムを実行させることにより自動伴奏機能を実現する場合を説明する。
図中、21はバス、22はCPU(Central Processing Unit)、23はROM(Read Only Memory)、24はRAM(Random Access Memory)である。RAM24にはCPU22のワーキングエリアが設けられ、ROM23にはCPU22を動作させる制御プログラムのほか、伴奏スタイルデータなど各種のプリセットデータが記憶されている。
25は入力操作部であって、鍵盤を含む各種の操作子である。図1に示した伴奏スタイルを設定する操作子や、コード情報を指定する操作子、コードチェンジ無効化機能をオンオフする操作子がある。
【0025】
これらの操作子は、物理的な切替えボタンやスイッチに限られない。
例えば、設定された伴奏スタイルや使用しているセクションの一覧をディスプレイ27に提示し、各セクションに対し、コードチェンジ無効化機能のオンオフを、カーソルキーやエンターキーを操作してユーザに設定させる形式でもよい。また、上述した各種の設定をメニュー画面の切替えで行えるようになっていてもよい。
この他、自動伴奏の開始あるいは終了を制御したり、曲データの記録再生を制御する操作子や音源パラメータを設定する設定操作子等がある。
伴奏スタイルデータファイルや曲データは、ROM23あるいは外部記憶装置30に記憶され、RAM24にロードされる。
【0026】
26は表示回路であって、液晶等のディスプレイ27に画像データを出力する。ディスプレイ27には、自動伴奏の設定のメニュー画面を表示したり、音源パラメータの設定メニューを表示したり、演奏する曲の楽譜を表示したりする。
28は音源回路、29はサウンドシステムである。音源回路28は、演奏データおよび自動伴奏データに応じた音源制御パラメータ等を入力し、演奏音を波形合成し、この楽音信号は、サウンドシステム29に供給されてスピーカから出力される。音源回路28は、専用のハードウェアや、DSP(Digital Signal Processor)とマイクロプログラムによる構成をとる。あるいは、CPU32に波形合成をさせるソフトウェア音源プログラムによって音源機能を実現するものでもよい。
【0027】
30はフラッシュメモリ(半導体メモリカード),FDD(Flexible Disk Drive)等の外部記憶装置である。HDD(ハードディスクドライブ)、CD-ROM(コンパクトディスク・リード・オンリィ・メモリ),MO(Magneto Optical Disk),DVD(Digital Versatile Disk)等の記録媒体用のドライブでもよい。伴奏スタイルデータファイルは、FDD等の外部記憶媒体で供給されてRAM24に読み込まれてもよい。制御プログラムは、ハードディスクにインストールしておき、それをRAM24に読み込んでもよい。
31は通信インターフェースであって、音源装置、MIDI鍵盤等の外部機器32をバス21に接続する。専用のMIDIインターフェースに限らず、汎用のインターフェースを用いて直結あるいはLAN( Local Area Network)接続されたり、インターネット経由で、パーソナルコンピュータ,サーバ等の外部機器32に接続されたりする。
伴奏スタイルデータファイルや曲データファイルは、外部機器32から外部記憶装置30あるいはRAM24にダウンロードされるほか、曲データは、リアルタイムあるいはストリーミング再生方式でRAM24に供給されて用いられる場合もある。
【0028】
なお、図1の伴奏スタイルデータ記憶部5は、RAM24に対応し、ROM23、外部記憶装置30内の外部記憶媒体、あるいは、外部機器32等から複数種類の伴奏スタイルデータファイル(図2)が入力される。しかし、RAM24には、伴奏スタイルおよびこの伴奏スタイルのセクション指示情報に応じて決定された伴奏スタイル11のデータあるいは各セクション12のデータだけが、決定の都度、ROM23、外部記憶媒体あるいは外部機器32から入力されてもよい。この場合、図1の伴奏スタイルデータ記憶部5は、ROM23,外部記憶媒体あるいは外部機器32等に相当する。
【0029】
CPU22は、ROM23に記憶された自動伴奏プログラムを含む電子音楽装置制御用プログラムをRAM24にロードし、自動伴奏データを生成するなど、各種の制御を行う。
生成された各パートの自動伴奏データは、楽音の音色等の音源制御パラメータ、ノート・オン,ノート・オフデータとして、音源回路28に出力する。
また、曲データあるいは楽譜表示用データに応じて、楽譜のイメージデータを生成し、表示回路26に出力する。
パーソナルコンピュータにおいても、同様の自動伴奏機能を実現することができる。キーボード,マウス等の操作子を入力操作部25とし、鍵盤等は、通信インターフェース31を介して接続される外部機器32としてのMIDI鍵盤を用いることができる。
【0030】
図4は、伴奏スタイルのセクションとコードのシーケンスデータの一例を示す説明図である。
イントロセクションとメインセクションからなる。イントロセクションイベントと、最初の2つのコードイベントにより生成される自動伴奏データは、図6(b)に示した具体例に対応している。
図中、時間(時刻)は、小節,拍,クロックで示し、各時刻における伴奏スタイルのセクションイベントおよびコードイベントのみを示している。
【0031】
第1小節の第1拍において、(Cmaj)を指定するコードイベント[Chord(Cmaj)]と、スタイルAのイントロセクションを小節幅4で指定するセクションイベント[StyleA・Section(Intro) 4Measure]が発生している。従って、第1小節目から4小節目の終わりまでイントロセクションが有効となる。
第3小節の第1拍において、(Fmaj)を指定するコードイベント[Chord(Fmaj)]がある。このコードイベントは、イントロセクションの途中のタイミングで発生している。
第5小節の第1拍において、(Cmaj)を指定するコードイベント[Chord(Cmaj)]と、スタイルAのメインセクションを小節幅12で指定するセクションイベント[StyleA・Section(Main) 12Measure]が発生している。従って、第5小節から16小節目の終わりまでメインセクションが有効となる。
従来技術では、第3小節の第1拍で発生したコードイベント[Chord(Fmaj)]によって、イントロセクションの自動伴奏途中でパターンデータが移調されて出力される。
この実施の形態では、イントロセクションがコード進行を考慮したセクションであれば、このイントロセクションの区間内で発生する第3小節の第1拍で発生したコード指定(Fmaj)を無効にし、図6(b)ではなく、図6(a)のような、「Cmaj→Dm→G7→Cmaj」の伴奏データが生成されるようにする。
【0032】
図5は、図1に示した本発明の実施の一形態の動作例を説明するためのフローチャートである。
図3に示したCPU22が自動伴奏プログラムを実行することにより行われる。伴奏スタイル(セクション)とコードのイベントが図4に示した形式で入力される場合に適合したものを示す。
図中、「Chord」,「Section」は、その時々のコードイベントとセクションイベントを示すイベントバッファである。
「CFlag」は、コードチェンジ無効化を制御するフラグであり、所定の条件下でコードチェンジを無効にする機能をON/OFFする。
【0033】
まず、動作の概要を説明する。
S45においてコードイベントが検出されたときには、S52〜S59の処理がなされ、S46においてセクションイベントが検出されたときには、S47〜S50の処理がなされる。S51において、その時点での「Chord」と「Section」を基に自動伴奏再生処理が行われる。
コードチェンジ無効化機能のオンオフ状態はS56で判別され、伴奏スタイルの各セクションのパターンデータのコード進行有無情報はS58に判別される。S53においてコードイベントが「Chord」に書き込まれ、一方、S47において、セクションイベントが「Section」に書き込まれることにより、S49→S50→S51と処理が進められることにより、「Chord」と「Section」の内容に基づき自動伴奏処理が行われる。(先に、S53で「Chord」に書き込まれたコードイベントをS47で「Section」に書き込まれたこのセクションで有効な最初のコードイベントとして扱っている)。
S55において、現在のセクションの終了時刻以降のコードイベントが検出されると、S57→S43と処理が進められ(S53で「Chord」に書き込まれたコードイベントは、先に、S47で「Section」に書き込まれた現在のセクションに有効なコードイベントではない)、次のセクションイベントが検出されると(S44→S45→S46)、S47→S49→S50→S51と処理が進められ、その時点で「Chord」と「Section」の内容に基づいて自動伴奏処理が行われる。
【0034】
図4に示した具体例とは異なり、イントロセクションイベントが発生した後に、初めてコードイベントが供給される場合には、S44→S45→S46→S47→S49→S43→S44→S45→S52(コードカウンタの値=1)→S53→S54→S55→S56(例:コードチェンジの無効化を指示している場合)→S58(例:コード進行有無情報が1の場合)→S59→S51と処理が進められることにより、このコードイベントが供給された時点でイントロセクションの自動伴奏再生処理が開始される(S53で書き込まれたコードイベントを、先に、S47で書き込まれたこのセクションで有効な最初のコードイベントとして扱っている。ただし、最初のセクションの場合に限られる)。
【0035】
次に、図4に示した具体例に当てはめて、順番に説明する。
S41においてユーザ設定を行い、S42においてカウンタやバッファ等を初期化する。
S43において供給されたイベントを1つ読み出し、S44において何らかのイベントがあればS45に進める。イベントが発生している間は、処理を継続するが、シーケンスデータの終了,ユーザ演奏の停止などにより、所定時間経過してもイベントがないときなどには再生を終了する。
S45においてはコードイベントであるか否か、S46においてはセクションイベントであるか否かを判定し、いずれでもない場合には、S48に処理を進め、その他のイベントの再生処理を行い、S43に処理を戻す。
図4の具体例では、最初の1小節目でコードイベント[Chord(Cmaj)]が検出されるので、S52に処理を進め、コードカウンタの値を1とし、S53において、「Chord」バッファに[Chord(Cmaj)]を供給する。
S54において、[Section」に保持されたセクションイベントが初期状態(セクション指示情報が保持されていない)であるか否かを判定し、初期状態であればS43に処理を戻し、初期状態でなければS55に処理を進める。
図4に示した具体例では、S43に処理を戻すことになる。
【0036】
次に、S43からS45に進んだときは、1小節目のセクションイベント[StyleA・Section(Intro)]が検出され、S47において、このセクションイベントを「Section」に供給する。S49において「Chord」が初期状態(コード情報が入力されていない)であればS43に処理を戻す。
しかし、既にS53において「Chord」バッファに[Chord(Cmaj)]が保持されているので、S50に処理を進め、コードカウンタの値を1にする。
S51において、「Section」に保持された[StyleA・Section(Intro)]に応じたパターンデータに基づいて、「Chord」バッファに保持された[Chord(Cmaj)]を反映した自動伴奏データを作成し再生する処理を開始させ、S43に処理を戻す。自動伴奏再生処理は、各セクションの終了時刻が来れば終了する。
【0037】
次に、S43からS45に進んだときに、図4の3小節目でコードイベント[Chord(Fmaj)]が検出される。S52において、コードカウンタの値は2となり、S53において、「Chord」バッファに[Chord(Fmaj)]を保持する。S54において、「Section」が[StyleA・Section(Intro)]であるので、S55に処理を進める。
S55においては、「Chord」に保持されたコードイベント時刻が「Section」バッファに保持されたセクションイベントの終了時刻よりも前である、すなわち、セクションの区間内にコード情報が供給されたか否かを判定する。
「Chord」に保持されたコードイベントの時刻(3:1:000)が「Section」に保持されたセクションイベントの終了時刻(5:1:000)(開始時刻の1小節目に4小節分を加算)よりも前である、すなわち、イントロセクションの区間内にこのコード情報が供給されたので、S56に処理を進めることになる。
S56において、コードチェンジの無効化機能を制御するるフラグ「CFlag」がONか否かを判定する。OFFであればS51に処理を進め、「Section」に保持された[StyleA・Section(Intro)]のパターンデータに、「Chord」に保持された[Chord(Fmaj)]を反映させた自動伴奏データを生成する。
【0038】
一方、コードチェンジの無効化機能を制御するフラグ「CFlag」がONであれば、S58に処理を進め、コード進行有無情報が1であるか否か、すなわち、「Section」に保持された[StyleA・Section(Intro)]のパターンデータがコード進行を考慮して作成されたものであるか否かを判定する。
コード進行有無情報が1であるときは、S59に処理を進め、コードカウンタの値が1であるか否かを判定する。1であればS51に処理を進めるが、1でなければS43に処理を戻す。
図4の具体例では、現在のコードカウンタの値が2であるから、S43に処理を戻すことになる。その結果、セクションの自動伴奏途中で供給されて「Chord」に保持されたコードイベント[Chord(Fmaj)]は、S51の自動伴奏再生処理に反映されないから、コードチェンジ無効化機能が実行される。
【0039】
次に、S43からS45に進んで、図4の5小節目で、コードイベント[Chord(Cmaj)]が検出されたとき、S52においてコードカウンタの値を3にし、S53において「Chord」バッファに(Cmaj)を供給し、S54においてセクションは初期状態でないのでS55に進む。
S55において、「Chord」に保持されたコードイベントの時刻(5:1:000)が「Section」に保持されたセクションイベントの有効期間の終了時刻(5:1:000)よりも前であるか否かを判定する。
図4の具体例では、両者の時刻が等しいことから、イントロセクションの有効区間外にコードイベントが供給されたことになるので、現在のセクションは有効なセクションでないとして、S57に処理を進め「Section」を初期化し、再びS43に戻す。
【0040】
次に、S43からS44に進み、図4の5小節目で、セクションイベント[StyleA・Section(Main)]が検出されたときは、S46からS47に進み、「Section」バッファに[StyleA・Section(Main)]を供給し、S49において、「Chord」バッファは初期状態ではないので、S50においてコードカウンタの値を1にしてS51に進める。
S51において、「Section」に保持された[StyleA・Section(Main)]のパターンデータに、先に、S53において「Chord」に保持されていたコードイベント[Chord(Cmaj)]を反映させた自動伴奏データを生成する。
なお、最後のセクション(図4に示した具体例では、メインセクション)の終了時刻が来れば、全処理を終了する。
図4の具体例にはないが、メインセクションの自動伴奏途中でコード情報が入力されたときも、S56において、コードチェンジ無効化機能を制御するフラグ「CFlag」がONであり、かつ、S58において、コード進行有無情報が1であれば、このコード指定を無効とする。
【0041】
従って、コードチェンジの無効化機能が有効な場合は、伴奏スタイルの各セクションにおいて、コード進行が考慮されたパターンデータを有する場合は、セクションの自動伴奏開始時に有効な最初のコード情報は反映されるが、自動伴奏途中で指定される2番目以降のコード情報は自動的に無視される。
コードチェンジを有効にすることもできるので、例えば、セクションの最初のコード情報を、(Cmaj)にすべきところを(Fmaj)にしてしまい、伴奏音を聞いて間違いに気づいたとき、ユーザは、直ちにコードチェンジの無効化機能をOFFにし、正しいコード情報(Cmaj)を供給することにより、自動伴奏データの修復を行うことができる。
また、コード進行を考慮していないパターンデータが長く続く場合、ユーザが適切なコード情報を1または複数回供給することにより、コード進行を与えて、変化に富んだ自動伴奏データを得ることもできる。
【0042】
上述した説明では、専用の電子音楽装置に適用した例で説明した。ここで、電子音楽装置としては、電子楽器や自動演奏ピアノなどの鍵盤楽器に限らない。電子管楽器,電子弦楽器など楽器形態に制約されない。
また、ハードウェア音源を備えたり、ソフト音源プログラムがインストールされたりしたパーソナルコンピュータ、あるいは、音源機能を備える機器が外部接続されたパーソナルコンピュータに適用することもできる。
ゲーム機、携帯電話端末等の通信端末、PDA(Personal Digital Assistant)、家電機器等において、自動伴奏機能を持たせた場合にも適用できる。自動伴奏機能は、組み込まれたCPUに制御プログラムを実行させることで実現できる。自動伴奏装置を1つの本体に内蔵したものに限らず、それぞれが別体の装置であり、各種ネットワークを用いて各装置が接続され、全体として統合された自動伴奏装置となるものであってもよい。
【0043】
【発明の効果】
本発明は、上述した説明から明らかなように、伴奏スタイルのセクションのパターンデータがコード進行を考慮したものである場合に、セクションの自動伴奏途中で指定される第2番目以降のコード情報を無視するので、自然な自動伴奏データが得られるという効果がある。
【図面の簡単な説明】
【図1】 本発明の実施の一形態を説明するための機能構成図である。
【図2】 伴奏スタイルデータファイルのデータ構造の一例を示す説明図である。
【図3】 本発明の実施の一形態を実現するハードウェア構成図である。
【図4】 伴奏スタイルとコードのシーケンスデータの一例を示す説明図である。
【図5】 図1に示した本発明の実施の一形態の動作例を説明するためのフローチャートである。
【図6】 コード進行を考慮して作成されたパターンデータから生成される自動伴奏データの一例を示す説明図である。
【符号の説明】
1…伴奏スタイル・セクション指示情報供給部、2…コード情報供給部、3…コードチェンジ制御部、4…自動伴奏データ生成部、5…伴奏スタイルデータ記憶部、6…コードチェンジ無効化制御情報供給部
Claims (3)
- 伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報を供給する伴奏スタイル・セクション指示情報供給手段と、
コード情報を供給するコード情報供給手段と、
パターンデータと、該パターンデータがコード進行を考慮して作成されたパターンデータであるか否かを指示するコード進行有無情報を、前記伴奏スタイルのセクションに対応させて記憶するパターンデータ記憶手段と、
該パターンデータ記憶手段に記憶された複数のパターンデータの中から、前記伴奏スタイル・セクション指示情報供給手段により供給された伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報に応じてパターンデータを決定し、決定されたパターンデータに、前記コード情報供給手段により供給されたコード情報を反映させて自動伴奏データを生成する自動伴奏データ生成手段と、
該自動伴奏データ生成手段において決定されたパターンデータが、前記コード進行有無情報によりコード進行を考慮されたものでないと判別したときは、前記コード情報供給手段から供給されるコード情報を前記自動伴奏データ生成手段に反映させるとともに、前記コード進行有無情報により前記コード進行を考慮されたものであると判別したときは、前記コード情報供給手段から供給される、前記セクションの自動伴奏開始時に有効な最初のコード情報は、前記自動伴奏データ生成手段に反映させるが、前記コード情報供給手段から供給される前記セクションの自動伴奏途中で指定される第2番目以降のコード情報は、前記自動伴奏データ生成手段に反映させないようにするコードチェンジ制御手段、
を有することを特徴とする自動伴奏装置。 - コードチェンジ無効化制御情報供給手段を有し、
該コードチェンジ無効化制御情報供給手段は、前記自動伴奏データ生成手段において決定されたパターンデータが、前記コードチェンジ制御手段によりコード進行を考慮されたものであると判別されたときに、前記コードチェンジ制御手段が、前記コード情報供給手段から供給される前記セクションの自動伴奏途中で指定される第2番目以降のコード情報を前記自動伴奏データ生成手段に反映させるか否かを切り替える制御情報を前記コードチェンジ制御手段に供給する、
ことを特徴とする請求項1に記載の自動伴奏装置。 - 伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報を供給する伴奏スタイル・セクション指示情報供給ステップと、
コード情報を供給するコード情報供給ステップと、
パターンデータと、該パターンデータがコード進行を考慮して作成されたパターンデータであるか否かを指示するコード進行有無情報を、前記伴奏スタイルのセクションに対応させて記憶するパターンデータ記憶手段に記憶された複数のパターンデータの中から、前記伴奏スタイル・セクション指示情報供給ステップにより供給された伴奏スタイルおよび該伴奏スタイルのセクションを指示する情報に応じてパターンデータを決定し、決定されたパターンデータに、前記コード情報供給ステップにより供給されたコード情報を反映させて自動伴奏データを生成する自動伴奏データ生成ステップと、
該自動伴奏データ生成ステップにおいて決定されたパターンデータが、前記コード進行有無情報によりコード進行を考慮されたものでないと判別したときは、前記コード情報供給ステップから供給されるコード情報を前記自動伴奏データ生成ステップに反映させるとともに、前記コード進行有無情報により前記コード進行を考慮されたものであると判別したときは、前記コード情報供給ステップから供給される、前記セクションの自動伴奏開始時に有効な最初のコード情報は、前記自動伴奏データ生成ステップに反映させるが、前記コード情報供給ステップから供給される前記セクションの自動伴奏途中で指定される第2番目以降のコード情報は、前記自動伴奏データ生成ステップに反映させないようにするコードチェンジ制御ステップ、
をコンピュータに実行させることを特徴とする自動伴奏プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003084361A JP3988668B2 (ja) | 2003-03-26 | 2003-03-26 | 自動伴奏装置および自動伴奏プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003084361A JP3988668B2 (ja) | 2003-03-26 | 2003-03-26 | 自動伴奏装置および自動伴奏プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004294595A JP2004294595A (ja) | 2004-10-21 |
JP3988668B2 true JP3988668B2 (ja) | 2007-10-10 |
Family
ID=33399549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003084361A Expired - Fee Related JP3988668B2 (ja) | 2003-03-26 | 2003-03-26 | 自動伴奏装置および自動伴奏プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3988668B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4973215B2 (ja) * | 2007-02-01 | 2012-07-11 | ヤマハ株式会社 | 演奏装置及びプログラム |
-
2003
- 2003-03-26 JP JP2003084361A patent/JP3988668B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004294595A (ja) | 2004-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3707364B2 (ja) | 自動作曲装置、方法及び記録媒体 | |
WO2015053278A1 (ja) | 複数セットの波形データを切り替えて波形再生を行う技術 | |
JP3915807B2 (ja) | 奏法自動判定装置及びプログラム | |
JP3533972B2 (ja) | 電子楽器の設定制御装置 | |
US11955104B2 (en) | Accompaniment sound generating device, electronic musical instrument, accompaniment sound generating method and non-transitory computer readable medium storing accompaniment sound generating program | |
JP3988668B2 (ja) | 自動伴奏装置および自動伴奏プログラム | |
JP2006126710A (ja) | 奏法決定装置及びプログラム | |
JP3632536B2 (ja) | パート選択装置 | |
JP3649014B2 (ja) | 演奏データファイルの再生設定制御装置 | |
JP4003625B2 (ja) | 演奏制御装置および演奏制御用プログラム | |
JP3358568B2 (ja) | 演奏補助装置及びそのための記録媒体 | |
JP4802947B2 (ja) | 奏法決定装置及びプログラム | |
JP4552769B2 (ja) | 楽音波形合成装置 | |
JP3709821B2 (ja) | 楽曲情報編集装置及び楽曲情報編集プログラム | |
JP3620396B2 (ja) | 情報修正装置及び情報修正プログラムを記録した媒体 | |
JP3752859B2 (ja) | 自動作曲装置と記録媒体 | |
JP3873880B2 (ja) | 演奏補助装置および演奏補助用プログラム | |
JP3747802B2 (ja) | 演奏データ編集装置及び方法並びに記憶媒体 | |
JP3777976B2 (ja) | 演奏情報解析装置及び記録媒体 | |
JP5104414B2 (ja) | 自動演奏装置及びプログラム | |
JP3637782B2 (ja) | データ生成装置と記録媒体 | |
JP3669301B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP3738634B2 (ja) | 自動伴奏装置、及び記録媒体 | |
JP4186802B2 (ja) | 自動伴奏生成装置及びプログラム | |
JPH1097256A (ja) | 楽音発生装置及びプログラムを記録した媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070123 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070326 |
|
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: 20070626 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070709 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
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: 20100727 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130727 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |