JP4129794B2 - Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method - Google Patents

Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method Download PDF

Info

Publication number
JP4129794B2
JP4129794B2 JP2003077490A JP2003077490A JP4129794B2 JP 4129794 B2 JP4129794 B2 JP 4129794B2 JP 2003077490 A JP2003077490 A JP 2003077490A JP 2003077490 A JP2003077490 A JP 2003077490A JP 4129794 B2 JP4129794 B2 JP 4129794B2
Authority
JP
Japan
Prior art keywords
pitch
information
input
accompaniment
event 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
JP2003077490A
Other languages
Japanese (ja)
Other versions
JP2004286974A (en
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 JP2003077490A priority Critical patent/JP4129794B2/en
Publication of JP2004286974A publication Critical patent/JP2004286974A/en
Application granted granted Critical
Publication of JP4129794B2 publication Critical patent/JP4129794B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、予め作成された伴奏パターンに基づいて自動伴奏を生成する自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラムに関する。
【0002】
【従来の技術】
予め作成された伴奏パターンに基づいて自動伴奏を生成する自動伴奏生成装置は、従来から知られている。
【0003】
このような自動伴奏生成装置として、アルペジエータと呼ばれるものがある。アルペジエータは、演奏者の押鍵に応じてアルペジオ(分散和音)を生成するものであり、たとえば、複数のキー番号(音高に対応したノートナンバではなく、単純な番号)とその発音タイミングとからなるアルペジオパターンを予めメモリに記憶しておき、複数の鍵が同時に押鍵されると、該各押鍵にそれぞれ対応する各ノートナンバに、所定のルール(たとえば、音高の低い順)に従って番号を割り振り、この割り振られた番号に一致する、アルペジオパターン中のキー番号の発音タイミングで、該割り振られた番号に対応するノートナンバの音を発音させるようにして、押鍵音に基づいてアルペジオを生成するように構成されている。また、固定モードスイッチを設け、このスイッチがオンのときには、押鍵に応じて、固定音高のノートナンバが入力され、この固定音高のノートナンバに基づいて、上記方法と同様にして、アルペジオを生成するように構成されたアルペジエータもある(たとえば、特許文献1参照)。
【0004】
一方、各種スタイル(ジャンル等)に応じた多種類の伴奏パターンを記憶し、演奏者の選択した伴奏パターンに基づいて、鍵盤等から検出した入力和音に合わせて自動伴奏を行うようにした自動伴奏装置もある。伴奏パターンは、個々の伴奏音に対応した音高データとタイミングデータとをセットにしたものであり、たとえばCメジャなどの所定和音に基づいたソースパターンとして用意されている。そして、入力和音の種類に応じてソースパターン内の音高データの音高を変換するとともに、変換後の音高データの音高を、入力和音の根音の音高に応じてシフトし、入力和音にあった音高の伴奏音を生成するようにしている(たとえば、特許文献2参照)。
【0005】
【特許文献1】
特開2001−22354号公報
【特許文献2】
特許3319390号公報
【0006】
【発明が解決しようとする課題】
しかし、上記従来の自動伴奏生成装置のうち、押鍵音に基づいてアルペジオを生成するものでは、演奏者が押鍵している音高の音のみが発音されるので、演奏者は、自分自身のイメージ通りの伴奏音が発音されるように考慮して、押鍵操作をしなければならず、特に初心者にとっては、自動伴奏を生成するための押鍵操作が難しかった。
【0007】
また、上記従来の自動伴奏生成装置のうち、押鍵音ではなく、固定音に基づいてアルペジオを生成するものでは、特に初心者であっても、自動伴奏を生成するための押鍵操作は簡単であるものの、演奏者の押鍵音は考慮されないので、演奏者自らが自動伴奏音に変化を付けることができなかった。
【0008】
さらに、上記従来の自動伴奏生成装置のうち、演奏者の選択した伴奏パターンに基づいて、鍵盤等から検出した入力和音に合わせて自動伴奏を行うようにしたものでは、生成される自動伴奏の音高は、演奏者が押鍵している音高だけではなく、押鍵状態から検出された和音によっても決まるので、演奏者自らが自動伴奏音に変化を付けることができるものの、演奏者は、和音が成立するような(あるいは、意図した和音が検出されるような)押鍵操作をしなければならず、特に初心者にとっては、自動伴奏を生成するための押鍵操作が難しかった。
【0009】
本発明は、この点に着目してなされたものであり、演奏者が初心者であっても、簡単な押鍵で、安定し、変化に富んだ自動伴奏を生成することが可能となる自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラムを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の自動伴奏生成装置は、所定の音名を第1の基準音として予め作成された、複数のイベントデータからなる伴奏パターンデータであって、該各イベントデータはそれぞれ音高情報および発音タイミング情報を含むものを記憶する伴奏パターン記憶手段と、少なくとも1つの音高情報を入力する入力手段と、該入力手段によって1つの音高情報が入力されたときには該音高情報を、複数の音高情報が入力されたときにはそのうちのいずれか1つの音高情報を第2の基準音に決定する決定手段と、前記伴奏パターンデータ内の各イベントデータにそれぞれ含まれ得る各音高情報それぞれの音名の、前記第1の基準音の音名からの音程である第1の音程および前記入力手段によって入力され得る各音高情報それぞれの音名の、前記決定手段によって決定された第2の基準音の音名からの音程である第2の音程毎に、当該各イベントデータにそれぞれ含まれ得る各音高情報の変換の仕方を示す変換マップを記憶する変換マップ記憶手段と、前記伴奏パターンデータ内の各イベントデータにそれぞれ含まれる各音高情報について前記第1の音程を算出するとともに、前記入力手段によって入力された各音高情報について前記第2の音程を算出し、前記算出された第1の音程、前記算出された第2の音程、および前記音高変換マップ記憶手段に記憶された変換マップに基づいて、前記伴奏パターンデータ内の各イベントデータにそれぞれ含まれる各音高情報を変換し、該変換後の各音高情報を前記第2の基準音に基づいてシフトする変換手段と、該変換手段によって得られた各音高情報がそれぞれ含まれる各イベントデータを当該発音タイミング情報が示す発音タイミングで発音する発音手段とを有することを特徴とする。
【0013】
また、請求項に記載のプログラムは、請求項1と同様の技術的思想によって実現できる。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0015】
図1は、本発明の一実施の形態に係る自動伴奏生成装置の概略構成を示すブロック図である。
【0016】
同図に示すように、本実施の形態の自動伴奏生成装置は、文字入力用キーボード、マウス等のポインティングデバイスおよび各種スイッチ等の複数の操作子からなる操作子群1と、該操作子群1の各操作子の操作状態を検出する検出回路2と、装置全体の制御を司るCPU3と、該CPU3が実行する制御プログラムや各種テーブルデータ等を記憶するROM4と、楽曲データ、各種入力情報および演算結果等を一時的に記憶するRAM5と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する外部記憶装置6と、各種情報等を表示する、たとえば液晶ディスプレイ(LCD)および発光ダイオード(LED)等を備えた表示装置7と、外部MIDI(Musical Instrument Digital Interface)機器等の外部制御機器100を接続し、この外部制御機器100とデータの送受信を行う通信インターフェース(I/F)8と、上記記憶された楽曲データ等を楽音信号に変換する音源回路9と、該音源回路9からの楽音信号に各種効果を付与するための効果回路10と、該効果回路10からの楽音信号を音響に変換する、たとえば、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等のサウンドシステム11とにより構成されている。
【0017】
上記構成要素2〜10は、バス12を介して相互に接続され、通信I/F8には外部制御機器100が接続され、音源回路9には効果回路10が接続され、効果回路10にはサウンドシステム11が接続されている。
【0018】
外部記憶装置6としては、たとえば、フレキシブルディスクドライブ(FDD)、ハードディスクドライブ(HDD)、CD−ROMドライブおよび光磁気ディスク(MO)ドライブ等を挙げることができる。そして、外部記憶装置6には、前述のように、CPU3が実行する制御プログラムも記憶でき、ROM4に制御プログラムが記憶されていない場合には、この外部記憶装置6に制御プログラムを記憶させておき、それをRAM5に読み込むことにより、ROM4に制御プログラムを記憶している場合と同様の動作をCPU3にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【0019】
通信I/F8には、図示例では、外部制御機器100が直接接続されているが、これに限られず、たとえばLAN(Local Area Network)やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、外部記憶装置6に上記各プログラムや各種パラメータが記憶されていなければ、通信I/F8は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ(本実施の形態では、自動伴奏生成装置)は、通信I/F8および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介してコンピュータへと配信し、コンピュータが通信I/F8を介して、これらプログラムやパラメータを受信して外部記憶装置6に蓄積することにより、ダウンロードが完了する。
【0020】
外部制御機器100としては、本実施の形態では、MIDI鍵盤装置が接続されているものとする。MIDI鍵盤装置は、演奏者が押鍵すると、その押鍵音に対応するMIDIイベントデータを生成して出力する。通信I/F8は、この出力、すなわちMIDIイベントデータを受信して、RAM5の所定位置に確保されたMIDIイベント領域に格納する。
【0021】
なお、本実施の形態の自動伴奏生成装置は、上述の構成から分かるように、汎用的なパーソナルコンピュータ上に構築されたものであるが、これに限らず、本発明を実施できる最小限要素のみから構成した専用装置上に構築してもよい。
【0022】
図2は、前記外部記憶装置6から読み出されて前記RAM5の所定領域に格納された1つの伴奏パターンデータの一例を示す図である。
【0023】
同図に示すように、伴奏パターンデータは、ヘッダ情報、パターンの基準音名およびパターンデータリストによって構成されている。ヘッダ情報は、当該伴奏パターンデータの書誌的事項を記載するためのものであり、ヘッダ情報としては、たとえば、伴奏パターン名、基準となる拍子、当該伴奏パターンデータのデータ長などが記載されている。パターンの基準音名とは、当該伴奏パターンデータを作成するときに基準とした音名であり、図示例では、“C(ド)”を基準としている。なお、基準とした音は、音名に限らず、ノートナンバであってもよい。パターンデータリストは、当該伴奏パターンを生成するための基礎となる複数のデータが記載されたリストであり、発音タイミング(Timing)、発音持続時間(Gate)、発音音高(Note)およびベロシティ(Vel)からなるイベントデータ複数によって構成されている。なお、図示例では、1拍を480クロックとしているが、もちろん、これに限られる訳ではない。また、発音音高の横の括弧内の数字(たとえば、“C3”に対する(60))は、ノートナンバを表している。なお、パターンデータリスト内の音高は音名で表現しておき、実際の発音音高、つまりオクターブを含む音高は、演奏者の押鍵音に基づいて決定するようにしてもよい。
【0024】
伴奏パターンデータは、各種伴奏パターンに応じた個数だけ予め作成され、外部記憶装置6に記憶されており、演奏者がいずれかを選択すると、選択された伴奏パターンデータが読み出されてRAM5の上記所定領域に格納される。
【0025】
図3は、選択された伴奏パターンデータのパターンデータリスト内の各発音音高を、演奏者の押鍵音に応じて変換する音高変換マップの一例を示す図であり、該音高変換マップは、たとえば前記ROM4の所定領域に格納されている。
【0026】
同図において、「パターン基準音名からの半音距離」とは、当該伴奏パターンデータの基準音名から、そのパターンデータリスト中、変換対象の音の音名までの音程(距離)を、半音単位で表したものである。また、「パターン基準音名がCの場合の音名」とは、当該伴奏パターンデータの基準音名が“C”の場合に、そのパターンデータリスト中、変換対象の音の音名を表したものである。なお、「パターン基準音名からの半音距離」と「パターン基準音名がCの場合の音名」とは、表現方法が異なるのみで、同じことを意味している。本実施の形態では、「パターン基準音名からの半音距離」を採用し、「パターン基準音名がCの場合の音名」は採用していない。このため、「パターン基準音名がCの場合の音名」は、括弧書きで表現されている。
【0027】
さらに、「押鍵音中の基準音名からの半音距離」とは、押鍵音中の基準音(押鍵音が複数ある場合には、たとえば、最低音高のもの)の音名から、押鍵音中、対象となる音の音名までの音程(距離)を、半音単位で表したものである。
【0028】
そして、マップを構成するデータは、変換対象の音の音高を移動させる変動量(移動量)を示している。なお、この音高変換マップを用いて、変換対象の音の音高を変動させる方法については、後述する。
【0029】
以上のように構成された自動伴奏生成装置が実行する制御処理を、まずその概要を説明し、次に図4〜図7を参照して詳細に説明する。
【0030】
本実施の形態の自動伴奏生成装置は、演奏者が選択した伴奏パターンデータ(のパターンデータリスト)の各イベントデータにそれぞれ含まれる各音高を、まず(1)当該伴奏パターンデータ、演奏者の押鍵音および前記音高変換マップに基づいて変更(移動)し(イベントによっては、その音高を変更しないものもある)、次に(2)変更後の各音高を、当該伴奏パターンデータの基準音および上記押鍵音中の基準音に基づいて変更(移動)した後、対応する発音タイミングで出力することにより、自動伴奏を生成するようにしている。
【0031】
そして、本発明の特徴は、演奏者の押鍵音を、伴奏パターンデータの各イベントデータにそれぞれ含まれる各音高を変更するために用いていることにある。これにより、演奏者の押鍵音がそのまま発音されず、さらに、押鍵操作も何らかの規則(たとえば、押鍵音が和音を構成するというような規則)通りに行わなくてもよいので、演奏者が特に初心者であっても、簡単な押鍵操作で安定した伴奏を生成でき、また、演奏者の押鍵音に基づいて伴奏パターンは変化するので、変化に富んだ伴奏を生成することもできる。
【0032】
次に、この制御処理を詳細に説明する。
【0033】
図4は、本実施の形態の自動伴奏生成装置、特にCPU3が実行する伴奏データ生成処理の手順を示すフローチャートであり、図5および図6は、図4のステップS11のデータリスト(DataList)作成処理サブルーチンの詳細な手順を示すフローチャートである。
【0034】
本伴奏データ生成処理は、主として、
(a)初期化処理
(b)押鍵状態の検出処理
(c)キーオンリスト(KeyOnList)作成処理
(d)データリスト(DataList)作成処理
(e)伴奏音発音処理
の各処理によって構成されている。
【0035】
以下、上記(a)〜(e)の各処理を、順に説明する。
【0036】
たとえば、演奏者が前記操作子群1の所定操作子を操作して、伴奏データ生成モードが選択されると、本伴奏データ生成処理が起動し、まず、処理は上記(a)の初期化処理に移行する。この(a)初期化処理では、音色の設定や伴奏パターンデータの選択設定、テンポ設定等の初期設定を行い(図4のステップS1)、前記RAM5の所定位置に確保された領域KeyOnListおよび領域DataListを初期化する(ステップS2)。ここで、領域KeyOnListは、演奏者の押鍵に応じて入力されたイベントデータ(主として、ノートナンバ)を格納するための領域であり、領域DataListは、上記選択設定された伴奏パターンデータのパターンデータリストに含まれる全イベントデータ(主として、ノートナンバ)を格納するための領域である。なお、領域KeyOnListおよび領域DataListを初期化するときには、該各領域KeyOnListおよびDataListに関連する領域も、同様に初期化しておく。領域KeyOnListに関連する領域とは、図7(a)の領域BNk,Nk(x),Dk(Nk(x))等であり、領域DataListに関連する領域とは、図7(b)の領域BNd,Nd(y),Dd(Nd(y)),S等である。なお、各領域に格納されるデータの内容については、後述する。
【0037】
次に、処理は前記(b)の押鍵状態の検出処理に移行する。この(b)押鍵状態の検出処理では、たとえば、前記MIDIイベント領域内のデータを読み出すことにより、押鍵状態を検出し(ステップS3)、読み出されたデータと領域KeyOnList内のデータとを比較することにより、押鍵状態に変化があったか否かを検出する(ステップS4)。このとき、押鍵状態に変化があれば、領域DataListは初期状態か否か、つまり、押鍵なし状態から押鍵あり状態に変化したか否かを判別し(ステップS5)、領域DataListが初期状態でないとき、つまり、ある押鍵状態から他の押鍵状態に変化したときには、変化前の押鍵状態で行っている自動伴奏処理(具体的には、後述するステップS12でなされている処理)を中止した後(ステップS6)、前記ステップS2と同様に、領域KeyOnListおよび領域DataList(および両領域KeyOnListおよびDataListに関連する各領域)を初期化する(ステップS7)。一方、領域DataListが初期状態であるとき、つまり、押鍵なし状態から押鍵あり状態に変化したときには、直ちに、領域KeyOnListおよび領域DataList(および両領域KeyOnListおよびDataListに関連する各領域)を初期化する(ステップS7)。
【0038】
次に、処理は前記(c)のキーオンリスト作成処理に移行する。この(c)キーオンリスト作成処理では、まず、MIDIイベント領域に格納されているMIDIイベントデータを読み出し、その中の音高(ここで、音高とは、オクターブ情報を含む音名(たとえば、“C3”等)を意味するが、これに限らず、ノートナンバを採用するようにしてもよい)を抽出して、領域KeyOnListに格納する。なお、オクターブは異なるものの、音名の同じ音高は、領域KeyOnListに格納しなくてもよい。これは、本伴奏データ生成処理では、音名に基づいて各種処理を行うように構成されているからである。次に、領域KeyOnListに格納された、少なくとも1つの音高(押鍵音)から基準音を決定する(ステップS9)。ここで、基準音を決定する方法は、本実施の形態では、最低音高のものを基準音とする方法を採用しているが、何らかの規則に従って、いずれか1つの音高を基準音として決定できれば、その決定方法はどのようなものを採用してもよい。次に、領域KeyOnListに格納された各音高について、その音名Nk(x)(ただし、xは、1以上の整数であって、領域KeyOnListに格納された音高の個数までの値を取る)の、基準音の音名BNkに対する半音距離Dk(Nk(x))を算出して、前記RAM5の所定位置に確保された領域Dk(Nk(x))に記憶する(ステップS10)。なお、ステップS10では、以降の処理に必要な半音距離Dk(Nk(x))のみを記憶するようにしているが、半音距離Dk(Nk(x))を算出するときに必要なデータ、すなわち、基準音の音名BNk、および領域KeyOnListに格納された各音高の各音名Nk(x)も記憶しておいた方が好ましい。したがって、図7(a)の例では、領域KeyOnListおよび領域Dk(Nk(x))に加えて、その関連領域として、RAM5上に、基準音の音名BNkを格納する領域BNk、および領域KeyOnListに格納された各音高の各音名Nk(x)を格納する領域Nk(x)を設けるようにしている。
【0039】
次に、処理は前記(d)のデータリスト作成処理に移行する。この(d)データリスト作成処理では、選択された伴奏パターンデータのパターンデータリスト中の各イベントデータにそれぞれ含まれる各音高を、以下に述べる方法で変換することにより、目的の伴奏パターンデータを生成するようにしている。なお、(d)データリスト作成処理は、具体例を用いて説明した方が理解し易いので、図7の例に従って説明する。
【0040】
図7(b)は、上記算出された半音距離Dk(Nk(x))、図2のパターンデータリスト中の各音高(Note)および図3の音高変換マップを用いて、図5および図6のフローチャート中、ステップS21〜S32の処理を行ったときの結果を示す図である。
【0041】
図7(b)において、まず、図2の伴奏パターンデータから、パターンの基準音名“C”を読み出して、RAM5の所定位置に確保された領域BNdに格納し(ステップS21)、伴奏パターンデータのパターンデータリスト中の各イベントデータの音高“C3”,“E3”,“G3”および“C4”を読み出して、RAM5の所定位置に確保された領域DataList(初期DataList)に格納する(ステップS22)。
【0042】
次に、領域DataListに格納された各音高からそれぞれの音名Nd(y)(ただし、yは、1以上の整数であって、領域DataListに格納された音高の個数までの値を取る)を取得し、当該音高と対応付けて、領域Nd(y)に格納し、各音名Nd(y)の、基準音名BNd(=C)に対する半音距離Dd(Nd(y))を算出して、RAM5の所定位置に確保された領域Dd(Nd(y))に記憶する(ステップS23)。
【0043】
そして、領域DataListに格納されたすべての音高について、1音高ずつ、該音高を移動させる音高移動量Sを決定し、この決定された音高移動量Sだけ当該音高を移動させ、領域DataListとは別の領域(調整DataList)の対応する位置に格納する。なお、移動後の音高は、領域DataListの対応する位置に上書きするようにしてもよい。以下、音高移動量Sの決定方法を説明する。
【0044】
まず、領域DataList(初期DataList)の先頭に格納された音高“C3”について、該音高“C3”に対応する半音距離Dd(Nd(1))は、“0”であり、領域KeyOnListに格納された各音高“C3”および“E♭3”に対応する各半音距離Dk(Nk(1))およびDk(Nk(2))は、それぞれ“0”および“3”であるので、図3の音高変換マップから、最初に“0”列目の“0”行目の値(=0)を読み出して、音高移動量S(このとき、領域Sはリセット(0)されている)に加算し(S=0)、次に“0”列目の“3”行目の値(=0)を読み出して、音高移動量Sに加算する(S=0+0)。このようにして得られた音高移動量Sで、音高“C3”を調整する(ステップS25〜S29→S26〜S30)。この場合、音高移動量Sの最終値は、“0”であるので、音高“C3”は変動しない。
【0045】
次に、領域DataList(初期DataList)の2番目に格納された音高“E3”について、該音高“E3”に対応する半音距離Dd(Nd(2))は、“4”であり、領域KeyOnListに格納された各音高“C3”および“E♭3”に対応する各半音距離Dk(Nk(1))およびDk(Nk(2))は、それぞれ“0”および“3”であるので、図3の音高変換マップから、最初に“4”列目の“0”行目の値(=0)を読み出して、音高移動量S(このとき、領域Sはリセット(0)されている)に加算し(S=0)、次に“4”列目の“3”行目の値(=−1)を読み出して、音高移動量Sに加算する(S=0+(−1))。このようにして得られた音高移動量Sで、音高“E3”を調整する(ステップS31→S32→S25〜S29→S26〜S30)。この場合、音高移動量Sの最終値は、“−1”であるので、音高“E3”は、“E♭3”に変動する。
【0046】
このような処理を、領域DataList(初期DataList)に格納されたすべての音高について行った後、調整DataListに格納された各音高を、押鍵音の基準音に合わせてシフトする(ステップS32→S33)。
【0047】
最後に、処理は前記(e)の伴奏音発音処理に移行する。この(e)伴奏音発音処理では、調整DataList(上書きした場合には、領域DataList)に格納された各音高で、前記選択された伴奏パターンデータのパターンデータリスト中の、対応するイベントデータの音高を差し替え、差し替え後の内容で、伴奏データを生成し、前記音源回路9に送信する(図4のステップS12)。
【0048】
このようにして、本実施の形態では、選択された伴奏パターンデータのパターンデータリスト中の各イベントデータにそれぞれ含まれる各音高を、演奏者の押鍵音に応じて変更して、新たな伴奏パターンデータを生成するようにしたので、簡単な押鍵操作で安定した伴奏を生成できるとともに、変化に富んだ伴奏を生成することもできる。
【0049】
なお、前記(d)データリスト作成処理では、音高変換マップを用いて、調整DataListを作成するようにしたが、音高変換マップを用いないで、アルゴリズムのみによって調整DataListを作成するようにしてもよい。たとえば、まず、領域KeyOnListに格納された各音高について、その音名Nk(x)を取得し、領域Nk(x)に格納しておく。次に、選択された伴奏パターンデータのパターンデータリスト中の各イベントデータの音高を、領域DataListに格納し、この音高を、伴奏パターンデータの基準音名BNdと、領域KeyOnListに格納された各音高から決定した基準音の音名BNkとに基づいて変動させる。そして、変動後の各音高にそれぞれ対応する各音名と、上記各音名Nk(x)とを比較し、両者の半音距離が、たとえば“2”以内である場合、当該音高の音名が、当該音名Nk(x)になるように、当該音高を変動させる。
【0050】
また、本実施の形態では、音高変換マップは1つとしたが、これに限らず、複数個用意しておき、その中から演奏者が選択できるようにしてもよい。あるいは、伴奏パターン毎に用意するようにしてもよい。また、音高変換マップ中の各マップデータは、そのまま使用するようにしたが、これに限らず、演奏者が編集できるようにしてもよい。
【0051】
さらに、演奏者によるイベントデータの入力は、本実施の形態では、MIDI鍵盤装置から行うようにしたが、入力手段は、もちろんこれに限られる訳ではなく、MIDIイベントデータ以外のデータ形式のイベントデータを出力する鍵盤装置でも、鍵盤装置以外の、たとえば、弦楽器型の装置でも、さらには、シーケンサなどのように、予め記憶された演奏データを再生して出力するような装置でも、音高情報を含むイベントデータを入力できるものであれば、どのような種類のものを採用してもよい。
【0052】
また、本実施の形態では、伴奏パターンデータは、予め作成されたもの複数の中から選択して使用するようにしたが、これに限らず、演奏者(ユーザ)が一から作成したり、既製のものを編集したりできるようにし、これを選択して使用するようにしてもよい。また、伴奏パターンデータは、複数パート分あってもよい。さらに、伴奏パターンデータのパターンデータリストには、本実施の形態では、音高を記憶するようにしたが、これに限らず、たとえば基準音からの半音距離数で表現したものを記憶するようにしてもよい。
【0053】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU3やMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0054】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0055】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【0056】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0057】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU3などが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0058】
【発明の効果】
以上説明したように、請求項1またはに記載の発明によれば、少なくとも1つの音高情報が入力され、該入力された、少なくとも1つの音高情報から第2の基準音が決定され、該決定された第2の基準音に基づいて、伴奏パターン記憶手段に記憶された伴奏パターンデータ内の各イベントデータにそれぞれ含まれる各音高情報が変換されるので、つまり、入力された音高情報がそのまま発音されず、さらに、入力操作も何らかの規則(たとえば、入力された音高情報が和音を構成するというような規則)通りに行わなくてもよいので、演奏者が特に初心者であっても、簡単な入力操作で安定した伴奏を生成でき、また、演奏者によって入力された音高情報に基づいて伴奏パターンは変化するので、変化に富んだ伴奏を生成することもできる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態に係る自動伴奏生成装置の概略構成を示すブロック図である。
【図2】 図1の外部記憶装置から読み出されて図1のRAMの所定領域に格納された1つの伴奏パターンデータの一例を示す図である。
【図3】 選択された伴奏パターンデータのパターンデータリスト内の各発音音高を、演奏者の押鍵音に応じて変換する音高変換マップの一例を示す図である。
【図4】 図1の自動伴奏生成装置、特にCPUが実行する伴奏データ生成処理の手順を示すフローチャートである。
【図5】 図4のデータリスト作成処理サブルーチンの詳細な手順を示すフローチャートである。
【図6】 図5のデータリスト作成処理サブルーチンの続きの手順を示すフローチャートである。
【図7】 図5および図6のデータリスト作成処理サブルーチンによる処理結果の一例を示す図である。
【符号の説明】
3…CPU(決定手段、変換手段、発音手)、4…ROM(変換マップ記憶手段)、5…RAM(伴奏パターン記憶手段)、6…外部記憶装置(伴奏パターン記憶手段)、9…音源回路(発音手段)、100…外部制御機器(入力手段)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an automatic accompaniment generating apparatus and an automatic accompaniment generating method for generating an automatic accompaniment based on an accompaniment pattern created in advance.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, an automatic accompaniment generating apparatus that generates an automatic accompaniment based on a previously created accompaniment pattern has been known.
[0003]
One such automatic accompaniment generator is called an arpeggiator. The arpeggiator generates arpeggios (distributed chords) according to the player's key press. For example, the arpeggiator is based on a plurality of key numbers (simple numbers instead of note numbers corresponding to pitches) and their sounding timings. When a plurality of keys are pressed simultaneously, each note number corresponding to each key is numbered according to a predetermined rule (for example, in order of low pitch). The note number corresponding to the assigned number is pronounced at the sounding timing of the key number in the arpeggio pattern that matches the assigned number, and the arpeggio is played based on the key-press sound. Configured to generate. Also, a fixed mode switch is provided, and when this switch is on, a fixed note number is input according to the key pressed, and the arpeggio is based on the fixed note number in the same manner as described above. There is also an arpeggiator configured to generate (see, for example, Patent Document 1).
[0004]
On the other hand, a variety of accompaniment patterns according to various styles (genres, etc.) are stored, and an automatic accompaniment is performed based on the accompaniment pattern selected by the performer, in accordance with the input chord detected from the keyboard etc. There is also a device. The accompaniment pattern is a set of pitch data and timing data corresponding to each accompaniment sound, and is prepared as a source pattern based on a predetermined chord such as a C measure. The pitch of the pitch data in the source pattern is converted according to the type of the input chord, and the pitch of the converted pitch data is shifted according to the pitch of the root of the input chord. An accompaniment sound having a pitch suitable for a chord is generated (for example, see Patent Document 2).
[0005]
[Patent Document 1]
JP 2001-22354 A
[Patent Document 2]
Japanese Patent No. 3319390
[0006]
[Problems to be solved by the invention]
However, among the conventional automatic accompaniment generators that generate an arpeggio based on the key-press sound, only the pitch of the key pressed by the player is produced, so the player It is necessary to perform a key pressing operation in consideration that the accompaniment sound according to the image is generated, and it is difficult for a beginner to generate an automatic accompaniment.
[0007]
Of the conventional automatic accompaniment generators described above, those that generate arpeggios based on fixed sounds rather than key-press sounds, and even for beginners, the key press operation for generating automatic accompaniments is simple. However, since the player's key press sound is not considered, the player himself cannot change the automatic accompaniment sound.
[0008]
Furthermore, in the conventional automatic accompaniment generator described above, in which automatic accompaniment is performed in accordance with the input chord detected from the keyboard or the like based on the accompaniment pattern selected by the performer, the generated automatic accompaniment sound The high is determined not only by the pitch of the key pressed by the performer, but also by the chord detected from the key pressed state, so that the performer himself can change the automatic accompaniment sound, It is necessary to perform a key pressing operation so that a chord is established (or an intended chord is detected), and it is difficult for a beginner to generate a key accompaniment.
[0009]
The present invention has been made paying attention to this point, and even if a performer is a beginner, an automatic accompaniment capable of generating a stable and varied automatic accompaniment with a simple key press. It is an object of the present invention to provide a program for realizing a generation device and an automatic accompaniment generation method.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, an automatic accompaniment generator according to claim 1 is accompaniment pattern data composed of a plurality of event data created in advance with a predetermined pitch name as a first reference sound, The event data includes accompaniment pattern storage means for storing information including pitch information and pronunciation timing information, input means for inputting at least one pitch information, and when one pitch information is input by the input means. Determining means for determining any one of the pitch information as the second reference sound when a plurality of pitch information is input; The pitch name of each pitch information that can be included in each event data in the accompaniment pattern data can be input by the first pitch which is the pitch from the pitch name of the first reference tone and the input means. Each pitch information that can be included in each event data for each second pitch, which is a pitch from the pitch name of the second reference tone determined by the determining means, of the pitch name of each pitch information A conversion map storage means for storing a conversion map indicating how to convert the first pitch for each pitch information included in each event data in the accompaniment pattern data, and input by the input means The second pitch is calculated for each piece of pitch information, and is recorded in the calculated first pitch, the calculated second pitch, and the pitch conversion map storage means. Transform map Each pitch information included in each event data in the accompaniment pattern data is converted based on The pitch information after the conversion is shifted based on the second reference sound. Conversion means to perform, and by the conversion means Obtained And sounding means for sounding each event data including each pitch information at the sounding timing indicated by the sounding timing information.
[0013]
Claims 2 The program described in (1) can be realized by the same technical idea as in the first aspect.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0015]
FIG. 1 is a block diagram showing a schematic configuration of an automatic accompaniment generator according to an embodiment of the present invention.
[0016]
As shown in the figure, the automatic accompaniment generating apparatus of the present embodiment includes a manipulator group 1 including a character input keyboard, a pointing device such as a mouse, and a plurality of operators such as various switches, and the manipulator group 1 A detection circuit 2 that detects the operation state of each of the control elements, a CPU 3 that controls the entire apparatus, a ROM 4 that stores a control program executed by the CPU 3, various table data, and the like, music data, various input information, and operations A RAM 5 that temporarily stores results, an external storage device 6 that stores various application programs including the control program, various music data, various data, and the like, and displays various information such as a liquid crystal display (LCD) and Display device 7 equipped with a light emitting diode (LED), external MIDI (Musical Instrument Digital Interface) device, etc. A communication interface (I / F) 8 that connects the external control device 100 and transmits / receives data to / from the external control device 100, a sound source circuit 9 that converts the stored music data and the like into a musical sound signal, and the sound source circuit 9. An effect circuit 10 for applying various effects to the musical sound signal from 9, and a musical sound signal from the effect circuit 10 for converting to a sound, such as a DAC (Digital-to-Analog Converter), an amplifier, a speaker, etc. The system 11 is comprised.
[0017]
The above components 2 to 10 are connected to each other via the bus 12, the external control device 100 is connected to the communication I / F 8, the effect circuit 10 is connected to the sound source circuit 9, and the sound is supplied to the effect circuit 10. A system 11 is connected.
[0018]
Examples of the external storage device 6 include a flexible disk drive (FDD), a hard disk drive (HDD), a CD-ROM drive, and a magneto-optical disk (MO) drive. As described above, the external storage device 6 can also store a control program to be executed by the CPU 3. If the control program is not stored in the ROM 4, the control program is stored in the external storage device 6. By reading it into the RAM 5, it is possible to cause the CPU 3 to perform the same operation as when the control program is stored in the ROM 4. In this way, control programs can be easily added and upgraded.
[0019]
In the illustrated example, the external control device 100 is directly connected to the communication I / F 8. However, the communication I / F 8 is not limited to this, and for example, a server computer via a communication network such as a LAN (Local Area Network), the Internet, or a telephone line. May be connected. In this case, if the above programs and various parameters are not stored in the external storage device 6, the communication I / F 8 is used for downloading the programs and parameters from the server computer. A computer serving as a client (in this embodiment, an automatic accompaniment generation apparatus) transmits a command requesting download of a program and parameters to the server computer via the communication I / F 8 and the communication network. The server computer receives this command and distributes the requested program or parameter to the computer via the communication network. The computer receives the program or parameter via the communication I / F 8 and receives the external storage device 6. Downloading is completed by accumulating in.
[0020]
As the external control device 100, it is assumed that a MIDI keyboard device is connected in the present embodiment. When a performer presses a key, the MIDI keyboard device generates and outputs MIDI event data corresponding to the key pressing sound. The communication I / F 8 receives this output, that is, MIDI event data, and stores it in a MIDI event area secured at a predetermined position in the RAM 5.
[0021]
Note that the automatic accompaniment generator according to the present embodiment is constructed on a general-purpose personal computer, as can be seen from the above configuration, but is not limited to this, and only the minimum elements that can implement the present invention are included. You may build on the exclusive apparatus comprised from these.
[0022]
FIG. 2 is a diagram showing an example of one accompaniment pattern data read from the external storage device 6 and stored in a predetermined area of the RAM 5.
[0023]
As shown in the figure, the accompaniment pattern data is composed of header information, a pattern reference pitch name, and a pattern data list. The header information is for describing bibliographic items of the accompaniment pattern data. As the header information, for example, an accompaniment pattern name, a reference time signature, a data length of the accompaniment pattern data, and the like are described. . The reference pitch name of a pattern is a pitch name that is used as a reference when creating the accompaniment pattern data. In the illustrated example, “C (do)” is used as a reference. Note that the reference sound is not limited to a note name, and may be a note number. The pattern data list is a list in which a plurality of data serving as a basis for generating the accompaniment pattern is described. The sound generation timing (Timing), sound generation duration (Gate), sound generation pitch (Note), and velocity (Vel) ) Is composed of a plurality of event data. In the illustrated example, one beat is set to 480 clocks, but it is not limited to this. A number in parentheses beside the pronunciation pitch (for example, (60) for “C3”) represents a note number. Note that the pitches in the pattern data list may be expressed by pitch names, and the actual tone pitch, that is, the pitch including the octave, may be determined based on the player's key press sound.
[0024]
The number of accompaniment pattern data is created in advance according to the various accompaniment patterns and stored in the external storage device 6. When the performer selects one of the accompaniment pattern data, the selected accompaniment pattern data is read out and stored in the RAM 5. Stored in a predetermined area.
[0025]
FIG. 3 is a diagram showing an example of a pitch conversion map for converting each tone pitch in the pattern data list of the selected accompaniment pattern data in accordance with the key-press sound of the performer. Is stored in a predetermined area of the ROM 4, for example.
[0026]
In the figure, “semitone distance from pattern reference pitch name” means the pitch (distance) from the reference pitch name of the accompaniment pattern data to the pitch name of the sound to be converted in the pattern data list in semitone units. It is represented by. “The pitch name when the pattern reference pitch name is C” represents the pitch name of the sound to be converted in the pattern data list when the reference pitch name of the accompaniment pattern data is “C”. Is. The “semitone distance from the pattern reference pitch name” and the “pitch name when the pattern reference pitch name is C” mean the same thing except for the expression method. In the present embodiment, “semitone distance from pattern reference pitch name” is used, and “pitch name when pattern reference pitch name is C” is not used. For this reason, “the pitch name when the pattern reference pitch name is C” is expressed in parentheses.
[0027]
Furthermore, the “semitone distance from the reference note name during the key-pressing sound” refers to the pitch name of the reference sound during the key-press sound (for example, the lowest pitch when there are multiple key-press sounds) The pitch (distance) to the pitch name of the target sound during the key pressing sound is expressed in semitone units.
[0028]
And the data which comprises a map have shown the fluctuation amount (movement amount) which moves the pitch of the sound of conversion object. Note that a method of changing the pitch of the sound to be converted using this pitch conversion map will be described later.
[0029]
The control process executed by the automatic accompaniment generator configured as described above will first be described in outline, and then described in detail with reference to FIGS.
[0030]
The automatic accompaniment generating apparatus according to the present embodiment first selects each pitch included in each event data of the accompaniment pattern data (the pattern data list) selected by the performer. Change (move) based on the key-pressing sound and the pitch conversion map (some events do not change the pitch), and then (2) change each pitch to the accompaniment pattern data The automatic accompaniment is generated by changing (moving) based on the reference sound and the reference sound in the key-pressing sound, and then outputting the sound at the corresponding sounding timing.
[0031]
A feature of the present invention resides in that the player's key press sound is used to change each pitch included in each event data of accompaniment pattern data. As a result, the player's key-pressing sound is not pronounced as it is, and the key-pressing operation does not have to be performed according to any rule (for example, a rule that the key-pressing sound constitutes a chord). However, even for beginners, it is possible to generate a stable accompaniment with a simple key press operation, and the accompaniment pattern changes based on the key press sound of the performer, so that a variety of accompaniment can be generated. .
[0032]
Next, this control process will be described in detail.
[0033]
FIG. 4 is a flowchart showing a procedure of accompaniment data generation processing executed by the automatic accompaniment generation apparatus of the present embodiment, particularly the CPU 3, and FIGS. 5 and 6 create a data list (DataList) in step S11 of FIG. It is a flowchart which shows the detailed procedure of a processing subroutine.
[0034]
The accompaniment data generation process mainly includes
(A) Initialization process
(B) Key-pressed state detection process
(C) Key-on list creation process
(D) Data list creation process
(E) Accompaniment sound generation processing
It is comprised by each process.
[0035]
Hereinafter, the processes (a) to (e) will be described in order.
[0036]
For example, when the performer operates a predetermined operator of the operator group 1 and the accompaniment data generation mode is selected, the accompaniment data generation process is started. First, the process is the initialization process (a) described above. Migrate to In this (a) initialization process, initial settings such as timbre setting, accompaniment pattern data selection setting, and tempo setting are performed (step S1 in FIG. 4), and the area KeyOnList and area DataList secured at predetermined positions in the RAM 5 are set. Is initialized (step S2). Here, the area KeyOnList is an area for storing event data (mainly note numbers) input according to the player's key press, and the area DataList is the pattern data of the accompaniment pattern data set and set. This is an area for storing all event data (mainly note numbers) included in the list. When the area KeyOnList and the area DataList are initialized, the areas related to the areas KeyOnList and DataList are also initialized in the same manner. The region related to the region KeyOnList is the region BNk, Nk (x), Dk (Nk (x)), etc. in FIG. 7A, and the region related to the region DataList is the region in FIG. 7B. BNd, Nd (y), Dd (Nd (y)), S, etc. The contents of data stored in each area will be described later.
[0037]
Next, the processing shifts to the key depression state detection processing (b). In this (b) key pressing state detection process, for example, the key pressing state is detected by reading the data in the MIDI event area (step S3), and the read data and the data in the area KeyOnList are obtained. By comparing, it is detected whether or not the key pressing state has changed (step S4). At this time, if there is a change in the key depression state, it is determined whether or not the area DataList is in the initial state, that is, whether or not the area DataList has changed from the no key depression state to the key depression state (step S5). When it is not in a state, that is, when a key-pressed state is changed to another key-pressed state, automatic accompaniment processing performed in the key-pressed state before the change (specifically, processing performed in step S12 described later) (Step S6), the area KeyOnList and the area DataList (and the areas related to both areas KeyOnList and DataList) are initialized (Step S7). On the other hand, when the area DataList is in the initial state, that is, when the state is changed from the no key pressed state to the key pressed state, the area KeyOnList and the area DataList (and the areas related to both areas KeyOnList and DataList) are immediately initialized. (Step S7).
[0038]
Next, the processing shifts to the key-on list creation processing (c). In this (c) key-on list creation process, first, the MIDI event data stored in the MIDI event area is read, and the pitch (in this case, the pitch is a pitch name including octave information (for example, “ C3 ″ etc.), but not limited to this, note numbers may be adopted) and extracted in the region KeyOnList. Note that although the octaves are different, pitches having the same pitch name need not be stored in the region KeyOnList. This is because the accompaniment data generation process is configured to perform various processes based on the pitch names. Next, a reference sound is determined from at least one pitch (keypress sound) stored in the area KeyOnList (step S9). Here, as a method for determining the reference sound, in this embodiment, a method in which the lowest pitch is used as the reference sound is adopted, but according to some rule, any one pitch is determined as the reference sound. If possible, any determination method may be adopted. Next, for each pitch stored in the area KeyOnList, the pitch name Nk (x) (where x is an integer equal to or greater than 1 and takes values up to the number of pitches stored in the area KeyOnList. ), A semitone distance Dk (Nk (x)) with respect to the pitch name BNk of the reference sound is calculated and stored in a region Dk (Nk (x)) secured at a predetermined position in the RAM 5 (step S10). In step S10, only the semitone distance Dk (Nk (x)) necessary for the subsequent processing is stored, but data necessary for calculating the semitone distance Dk (Nk (x)), that is, It is also preferable to store the pitch name BNk of the reference sound and the pitch names Nk (x) of the pitches stored in the area KeyOnList. Therefore, in the example of FIG. 7A, in addition to the region KeyOnList and the region Dk (Nk (x)), as the related region, the region BNk for storing the pitch name BNk of the reference sound and the region KeyOnList are stored on the RAM 5. An area Nk (x) for storing each pitch name Nk (x) of each pitch stored in is provided.
[0039]
Next, the processing shifts to the data list creation processing (d). In this (d) data list creation process, the target accompaniment pattern data is converted by converting each pitch contained in each event data in the pattern data list of the selected accompaniment pattern data by the method described below. It is trying to generate. Note that (d) the data list creation process is easier to understand if it is described using a specific example, and will be described according to the example of FIG.
[0040]
7B uses the calculated semitone distance Dk (Nk (x)), the pitches (Note) in the pattern data list of FIG. 2, and the pitch conversion map of FIG. It is a figure which shows a result when the process of step S21-S32 is performed in the flowchart of FIG.
[0041]
7B, first, the reference pitch name “C” of the pattern is read from the accompaniment pattern data of FIG. 2 and stored in a region BNd secured at a predetermined position in the RAM 5 (step S21). The pitches “C3”, “E3”, “G3” and “C4” of each event data in the pattern data list are read out and stored in an area DataList (initial DataList) secured at a predetermined position of the RAM 5 (step S22).
[0042]
Next, each pitch Nd (y) from each pitch stored in the area DataList (where y is an integer equal to or greater than 1 and takes values up to the number of pitches stored in the area DataList) ) Is stored in the region Nd (y) in association with the pitch, and the semitone distance Dd (Nd (y)) of each pitch name Nd (y) with respect to the reference pitch name BNd (= C) is obtained. The calculated value is stored in a region Dd (Nd (y)) secured at a predetermined position in the RAM 5 (step S23).
[0043]
Then, for all pitches stored in the area DataList, the pitch shift amount S for moving the pitch is determined for each pitch, and the pitch is moved by the determined pitch shift amount S. And stored in a corresponding position in a region (adjustment DataList) different from the region DataList. Note that the pitch after movement may be overwritten at the corresponding position in the area DataList. Hereinafter, a method for determining the pitch movement amount S will be described.
[0044]
First, for the pitch “C3” stored at the beginning of the region DataList (initial DataList), the semitone distance Dd (Nd (1)) corresponding to the pitch “C3” is “0”, and the region KeyOnList Since the semitone distances Dk (Nk (1)) and Dk (Nk (2)) corresponding to the stored pitches “C3” and “E ♭ 3” are “0” and “3”, respectively. First, the value (= 0) in the “0” row of the “0” column is read out from the pitch conversion map of FIG. 3, and the pitch shift amount S (at this time, the region S is reset (0)). (S = 0), and then the value (= 0) in the “3” row of the “0” column is read and added to the pitch movement amount S (S = 0 + 0). The pitch “C3” is adjusted by the pitch shift amount S thus obtained (steps S25 to S29 → S26 to S30). In this case, since the final value of the pitch movement amount S is “0”, the pitch “C3” does not vary.
[0045]
Next, in the area DataList (initial DataList) Second , The semitone distance Dd (Nd (2)) corresponding to the pitch “E3” is “4”, and each pitch “C3” stored in the region KeyOnList and Since each semitone distance Dk (Nk (1)) and Dk (Nk (2)) corresponding to “E ♭ 3” is “0” and “3”, respectively, from the pitch conversion map of FIG. Then, the value (= 0) in the “0” row of the “4” column is read and added to the pitch movement amount S (at this time, the region S is reset (0)) (S = 0). Next, the value (= −1) in the “3” row of the “4” column is read and added to the pitch movement amount S (S = 0 + (− 1)). The pitch “E3” is adjusted with the pitch shift amount S thus obtained (steps S31 → S32 → S25 to S29 → S26 to S30). In this case, since the final value of the pitch movement amount S is “−1”, the pitch “E3” changes to “E に 3”.
[0046]
After performing such processing for all the pitches stored in the area DataList (initial DataList), each pitch stored in the adjustment DataList is shifted in accordance with the reference tone of the key pressing tone (step S32). → S33).
[0047]
Finally, the processing shifts to the accompaniment sound generation processing of (e). In this (e) accompaniment sound generation process, the corresponding event data in the pattern data list of the selected accompaniment pattern data at each pitch stored in the adjustment DataList (or the area DataList if overwritten) is stored. The pitch is replaced, and accompaniment data is generated with the replaced content and transmitted to the tone generator circuit 9 (step S12 in FIG. 4).
[0048]
In this way, in the present embodiment, each pitch included in each event data in the pattern data list of the selected accompaniment pattern data is changed according to the key-press sound of the performer, and a new Since the accompaniment pattern data is generated, a stable accompaniment can be generated by a simple key pressing operation, and an accompaniment rich in change can also be generated.
[0049]
In the above (d) data list creation process, the adjustment DataList is created using the pitch conversion map. However, the adjustment DataList is created only by the algorithm without using the pitch conversion map. Also good. For example, first, for each pitch stored in the area KeyOnList, the pitch name Nk (x) is acquired and stored in the area Nk (x). Next, the pitch of each event data in the pattern data list of the selected accompaniment pattern data is stored in the area DataList, and this pitch is stored in the reference pitch name BNd of the accompaniment pattern data and the area KeyOnList. Based on the pitch name BNk of the reference sound determined from each pitch. Then, each pitch name corresponding to each pitch after fluctuation is compared with each pitch name Nk (x), and when the semitone distance between them is within “2”, for example, the pitch of the pitch The pitch is changed so that the name becomes the pitch name Nk (x).
[0050]
In this embodiment, the number of pitch conversion maps is one. However, the present invention is not limited to this, and a plurality of maps may be prepared so that a player can select one from them. Or you may make it prepare for every accompaniment pattern. Further, although each map data in the pitch conversion map is used as it is, the present invention is not limited to this, and the player may be able to edit it.
[0051]
Further, in the present embodiment, the event data is input by the performer from the MIDI keyboard device. However, the input means is not limited to this, and event data of a data format other than MIDI event data is used. The pitch information can be output by a keyboard device that outputs a sound, a device other than a keyboard device, for example, a stringed instrument type device, or a device that reproduces and outputs pre-stored performance data such as a sequencer. Any type of event data can be used as long as the event data can be input.
[0052]
In the present embodiment, the accompaniment pattern data is selected from a plurality of pre-created patterns and used. However, the present invention is not limited to this. It is also possible to edit an item and select it for use. The accompaniment pattern data may be for a plurality of parts. Further, in the present embodiment, the pitch data is stored in the pattern data list of the accompaniment pattern data. However, the present invention is not limited to this, and for example, a pattern expressed by the number of semitone distances from the reference sound is stored. May be.
[0053]
A program in which a storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or CPU 3 or MPU) of the system or apparatus is stored in the storage medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the code.
[0054]
In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.
[0055]
As a storage medium for supplying the program code, for example, a flexible disk, hard disk, magneto-optical disk, CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD + RW, magnetic A tape, a non-volatile memory card, a ROM, or the like can be used. Further, the program code may be supplied from a server computer via a communication network.
[0056]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the OS running on the computer based on the instruction of the program code performs the actual processing. It goes without saying that a case where the functions of the above-described embodiment are realized by performing part or all of the above and the processing thereof is included.
[0057]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU 3 or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0058]
【The invention's effect】
As described above, claim 1 or 2 According to the above-described invention, at least one pitch information is input, a second reference sound is determined from the input at least one pitch information, and based on the determined second reference sound Thus, each pitch information included in each event data in the accompaniment pattern data stored in the accompaniment pattern storage means is converted, that is, the input pitch information is not directly sounded, and the input operation is further performed. However, even if the performer is a beginner in particular, a stable accompaniment can be achieved with a simple input operation, since it does not have to be performed according to some rules (for example, rules in which the input pitch information constitutes a chord). Since the accompaniment pattern changes based on pitch information input by the performer, a variety of accompaniment can be generated.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of an automatic accompaniment generating apparatus according to an embodiment of the present invention.
2 is a diagram showing an example of one accompaniment pattern data read from the external storage device of FIG. 1 and stored in a predetermined area of the RAM of FIG. 1;
FIG. 3 is a diagram showing an example of a pitch conversion map for converting each tone pitch in a pattern data list of selected accompaniment pattern data in accordance with a player's key press sound;
FIG. 4 is a flowchart showing a procedure of accompaniment data generation processing executed by the automatic accompaniment generation device of FIG. 1, particularly a CPU.
FIG. 5 is a flowchart showing a detailed procedure of a data list creation processing subroutine of FIG. 4;
6 is a flowchart showing a continuation procedure of the data list creation processing subroutine of FIG. 5;
7 is a diagram showing an example of a processing result by a data list creation processing subroutine of FIGS. 5 and 6. FIG.
[Explanation of symbols]
3 ... CPU (decision means, conversion means, sound generator Steps 4) ROM (conversion map storage means), 5 ... RAM (accompaniment pattern storage means), 6 ... External storage device (accompaniment pattern storage means), 9 ... Sound source circuit (sound generation means), 100 ... External control device (input) means)

Claims (2)

所定の音名を第1の基準音として予め作成された、複数のイベントデータからなる伴奏パターンデータであって、該各イベントデータはそれぞれ音高情報および発音タイミング情報を含むものを記憶する伴奏パターン記憶手段と、
少なくとも1つの音高情報を入力する入力手段と、
該入力手段によって1つの音高情報が入力されたときには該音高情報を、複数の音高情報が入力されたときにはそのうちのいずれか1つの音高情報を第2の基準音に決定する決定手段と、
前記伴奏パターンデータ内の各イベントデータにそれぞれ含まれ得る各音高情報それぞれの音名の、前記第1の基準音の音名からの音程である第1の音程および前記入力手段によって入力され得る各音高情報それぞれの音名の、前記決定手段によって決定された第2の基準音の音名からの音程である第2の音程毎に、当該各イベントデータにそれぞれ含まれ得る各音高情報の変換の仕方を示す変換マップを記憶する変換マップ記憶手段と、
前記伴奏パターンデータ内の各イベントデータにそれぞれ含まれる各音高情報について前記第1の音程を算出するとともに、前記入力手段によって入力された各音高情報について前記第2の音程を算出し、前記算出された第1の音程、前記算出された第2の音程、および前記音高変換マップ記憶手段に記憶された変換マップに基づいて、前記伴奏パターンデータ内の各イベントデータにそれぞれ含まれる各音高情報を変換し、該変換後の各音高情報を前記第2の基準音に基づいてシフトする変換手段と、
該変換手段によって得られた各音高情報がそれぞれ含まれる各イベントデータを当該発音タイミング情報が示す発音タイミングで発音する発音手段と
を有することを特徴とする自動伴奏生成装置。
Accompaniment patterns for storing accompaniment pattern data composed of a plurality of event data created in advance with a predetermined pitch name as a first reference sound, each event data including pitch information and pronunciation timing information Storage means;
Input means for inputting at least one pitch information;
Determining means for determining the pitch information as the second reference sound when one pitch information is input by the input means, and when one of the pitch information is input as the second reference sound. When,
The pitch name of each pitch information that can be included in each event data in the accompaniment pattern data can be input by the first pitch which is the pitch from the pitch name of the first reference tone and the input means. Each pitch information that can be included in each event data for each second pitch, which is a pitch from the pitch name of the second reference tone determined by the determining means, of the pitch name of each pitch information Conversion map storage means for storing a conversion map indicating how to convert
Calculating the first pitch for each pitch information included in each event data in the accompaniment pattern data, calculating the second pitch for each pitch information input by the input means, and Each sound included in each event data in the accompaniment pattern data based on the calculated first pitch, the calculated second pitch, and the conversion map stored in the pitch conversion map storage means Conversion means for converting high information and shifting each pitch information after the conversion based on the second reference sound ;
Automatic accompaniment generating apparatus characterized by having a Could sound generating means each event data in tone generation timing indicated by the sound generation timing information each pitch information obtained we were are included respectively by said converting means.
所定の音名を第1の基準音として予め作成された、複数のイベントデータからなる伴奏パターンデータであって、該各イベントデータはそれぞれ音高情報および発音タイミング情報を含むものを伴奏パターン記憶手段に記憶する記憶手順と、
少なくとも1つの音高情報を入力する入力手順と、
該入力手順によって1つの音高情報が入力されたときには該音高情報を、複数の音高情報が入力されたときにはそのうちのいずれか1つの音高情報を第2の基準音に決定する決定手順と、
前記伴奏パターンデータ内の各イベントデータにそれぞれ含まれる各音高情報について、当該各音高情報それぞれの音名の、前記第1の基準音の音名からの音程である第1の音程を算出するとともに、前記入力手順によって入力された各音高情報について、当該各音高情報それぞれの音名の、前記決定手段によって決定された第2の基準音の音名からの音程である第2の音程を算出し、前記算出された第1の音程、前記算出された第2の音程、および音高変換マップ記憶手段に記憶された変換マップであって、前記伴奏パターンデータ内の各イベントデータにそれぞれ含まれ得る各音高情報それぞれの前記第1の音程および前記入力手順によって入力され得る各音高情報それぞれの前記第2の音程毎に、当該各イベントデータにそれぞれ含まれ得る各音高情報の変換の仕方を示すものに基づいて、前記伴奏パターンデータ内の各イベントデータにそれぞれ含まれる各音高情報を変換し、該変換後の各音高情報を前記第2の基準音に基づいてシフトする変換手順と、
該変換手順によって得られた各音高情報がそれぞれ含まれる各イベントデータを当該発音タイミング情報が示す発音タイミングで発音する発音手順と
をコンピュータに実行させるためのプログラム。
Accompaniment pattern storage means, which is accompaniment pattern data composed of a plurality of event data created in advance with a predetermined pitch name as a first reference sound, each event data including pitch information and pronunciation timing information A storage procedure to be stored in
An input procedure for inputting at least one pitch information;
Determination procedure for determining the pitch information as the second reference sound when one pitch information is input by the input procedure, and any one of the pitch information when the plurality of pitch information is input. When,
For each pitch information included in each event data in the accompaniment pattern data, a first pitch that is a pitch from the pitch name of the first reference tone is calculated for each pitch information. In addition, for each pitch information input by the input procedure, a second pitch which is a pitch from the pitch name of the second reference tone determined by the determining means of each pitch information of the pitch information. A pitch is calculated, and the calculated first pitch, the calculated second pitch, and a conversion map stored in the pitch conversion map storage means are provided for each event data in the accompaniment pattern data. Each event data includes each first pitch of each pitch information that can be included and each second pitch of each pitch information that can be input by the input procedure. Based on an indication how the conversion of the pitch information obtained, the accompaniment converts each pitch information included in each of the event data in the pattern data, each pitch information after the conversion the second A conversion procedure to shift based on the reference sound ;
Program for executing a Could pronunciation procedures on a computer each event data each pitch information obtained we were by the conversion procedure are contained respectively sounding timing indicated by the sound generation timing information.
JP2003077490A 2003-03-20 2003-03-20 Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method Expired - Fee Related JP4129794B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003077490A JP4129794B2 (en) 2003-03-20 2003-03-20 Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003077490A JP4129794B2 (en) 2003-03-20 2003-03-20 Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method

Publications (2)

Publication Number Publication Date
JP2004286974A JP2004286974A (en) 2004-10-14
JP4129794B2 true JP4129794B2 (en) 2008-08-06

Family

ID=33292236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003077490A Expired - Fee Related JP4129794B2 (en) 2003-03-20 2003-03-20 Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method

Country Status (1)

Country Link
JP (1) JP4129794B2 (en)

Also Published As

Publication number Publication date
JP2004286974A (en) 2004-10-14

Similar Documents

Publication Publication Date Title
JP3812328B2 (en) Automatic accompaniment pattern generation apparatus and method
US7091410B2 (en) Apparatus and computer program for providing arpeggio patterns
US8324493B2 (en) Electronic musical instrument and recording medium
JP2000221976A (en) Music data preparation device and recording medium for recording music data preparation program
JP3829439B2 (en) Arpeggio sound generator and computer-readable medium having recorded program for controlling arpeggio sound
JP2009156914A (en) Automatic accompaniment device and program
JP5228315B2 (en) Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method
US11955104B2 (en) Accompaniment sound generating device, electronic musical instrument, accompaniment sound generating method and non-transitory computer readable medium storing accompaniment sound generating program
JP4962592B2 (en) Electronic musical instruments and computer programs applied to electronic musical instruments
JP4556852B2 (en) Electronic musical instruments and computer programs applied to electronic musical instruments
JP4129794B2 (en) Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method
JP4003625B2 (en) Performance control apparatus and performance control program
JP3719219B2 (en) Electronic musical sound generating apparatus and method
JP3752859B2 (en) Automatic composer and recording medium
JP3873880B2 (en) Performance assist device and performance assist program
JP5104414B2 (en) Automatic performance device and program
JP3620396B2 (en) Information correction apparatus and medium storing information correction program
JP4175364B2 (en) Arpeggio sound generator and computer-readable medium having recorded program for controlling arpeggio sound
JP5200368B2 (en) Arpeggio generating apparatus and program for realizing arpeggio generating method
JP3988668B2 (en) Automatic accompaniment device and automatic accompaniment program
JP5104415B2 (en) Automatic performance device and program
JP2005017676A (en) Automatic music player and program
JP4148184B2 (en) Program for realizing automatic accompaniment data generation method and automatic accompaniment data generation apparatus
JP3738634B2 (en) Automatic accompaniment device and recording medium
JP2000172253A (en) Electronic musical instrument

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050224

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060424

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080204

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: 20080428

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: 20080511

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: 20110530

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130530

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140530

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees