JPH04240893A - Automatic accompaniment instrument - Google Patents

Automatic accompaniment instrument

Info

Publication number
JPH04240893A
JPH04240893A JP9123726A JP2372691A JPH04240893A JP H04240893 A JPH04240893 A JP H04240893A JP 9123726 A JP9123726 A JP 9123726A JP 2372691 A JP2372691 A JP 2372691A JP H04240893 A JPH04240893 A JP H04240893A
Authority
JP
Japan
Prior art keywords
pattern
song
mode
accompaniment
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.)
Granted
Application number
JP9123726A
Other languages
Japanese (ja)
Other versions
JP2828119B2 (en
Inventor
Hiroshi Miyamoto
弘 宮本
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 JP3023726A priority Critical patent/JP2828119B2/en
Publication of JPH04240893A publication Critical patent/JPH04240893A/en
Application granted granted Critical
Publication of JP2828119B2 publication Critical patent/JP2828119B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To automatically generate song data while imaging a flow of a large accompaniment and to eliminate input misoperation by classifying accompaniment patterns with specific indexes and storing the data, and automatically generating the song data with the indexes. CONSTITUTION:A pattern memory 6 is stored with pattern data showing the accompaniment patterns. The pattern data are classified into a hierarchic structure, e.g. a 1st layer of rock, pops, etc., a 2nd layer of introductions, endings, etc., and a 3rd layer of normal rhythm, filling-in, etc. When the pattern memory 6 is accessed, an index is specified. In song play mode, automatic performance is carried out according to the song data.

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】この発明は、自動伴奏装置に関し
、詳しくは自動伴奏を行うためのソングデータの生成を
容易に行なうことのできる自動伴奏装置に関する。 【0002】 【従来の技術】従来より、いわゆるパターンメモリに一
定区間(例えば、1小節)の伴奏内容を表す複数の異な
る伴奏パターンを記憶しておき、一方ソングメモリにこ
の伴奏パターンを指定するパターン指定情報を複数記憶
しておき、所定のテンポでこのソングメモリのパターン
指定情報を順次読出し、さらに読出したパターン指定情
報に基づいて伴奏パターンを読出し、その伴奏パターン
にしたがって各種のリズム音やベース音などを発音する
自動伴奏装置が知られている。 【0003】例えば、特公平1−39117号公報には
、小節ごとに伴奏パターンを指定するパターン指定情報
を記憶する自動伴奏装置が開示されている。また、複数
の連続する小節で同じ伴奏パターンを繰返すときには、
ソングメモリにリピートを示すデータを記憶するものが
ある。 【0004】図15は、従来の自動伴奏装置におけるソ
ングメモリに記憶したソングデータの例である。ソング
データは伴奏パターンを指定するパターン指定情報とリ
ピートを示すデータとを含み、ソングメモリの連続する
領域PART001,PART002,PART003
,…に順次記憶されている。ここでは各領域PART0
01,PART002,…はそれぞれ1小節に対応する
とする。 【0005】自動伴奏の際には、まずソングデータの第
1番目の領域PART001を読み出す。領域PART
001にはパターン00を指定する情報(例えばパター
ンメモリ中の当該パターンのアドレス)が書き込まれて
いるので、パターンメモリからこの伴奏パターン00が
読み出され、このパターン00にしたがう伴奏パターン
で自動伴奏される。次に、領域PART002はリピー
トの開始、領域PART003はリピートするパターン
、領域PART004はリピート範囲の終了とリピート
回数を示すデータが、それぞれ記憶されている。したが
って、伴奏パターン01が4回繰返し自動伴奏される。 【0006】なお、領域PART004のようにリピー
ト回数を記憶する場合、この領域PART004のリピ
ート範囲終了のデータが読み出されて(この時点で既に
、リピートすべき伴奏パターンは1回読み出されている
)から後に再びリピートすべきパターンPART003
に戻る回数を記憶しているので、実際に自動演奏される
回数は記憶されている回数より1回多い。したがって、
図15の例ではパターン01は4回リピートされる。 【0007】従来、以上のようなソングデータを生成す
る場合は、例えば1小節などの所定区間ごとに、複数あ
る(例えば100種類程度)伴奏パターンの中から所望
の1つを選択し、順次ソングメモリの各領域に設定して
いく必要があった。 【0008】 【発明が解決しようとする課題】従来のソングデータの
設定の方式では所定区間ごとに伴奏パターンを1つ1つ
選択していくので、伴奏の全体の流れが把握しづらいと
いう問題点があった。また、多くの種類の伴奏パターン
の中から1つを選択するので、選択が繁雑で入力を誤っ
てしまうことも少なくなかった。 【0009】この発明は、上述の従来例における問題点
に鑑み、自動伴奏のソングデータを設定するのに大まか
な伴奏の流れをイメージして設定できるようにし、また
誤入力が少なく入力操作も容易な自動伴奏装置を提供す
ることを目的とする。 【0010】 【課題を解決するための手段】この目的を達成するため
、この発明に係る自動伴奏装置は、一定区間の伴奏内容
を表す複数の異なる伴奏パターンを、所定のインデック
スで分類した状態で記憶した第1の記憶手段と、前記伴
奏パターンそのものまたは前記伴奏パターンを指定する
パターン指定情報などを複数並べた所望のソングデータ
を生成するために、伴奏パターンを特定するインデック
スを含むパラメータを入力するパラメータ入力手段と、
前記パラメータ入力手段により入力されたパラメータに
応じて、前記ソングデータを生成するソングデータ生成
手段とを具備することを特徴とする。 【0011】さらに、前記ソングデータ生成手段により
生成されたソングデータを記憶する第2の記憶手段と、
この第2の記憶手段に記憶されたソングデータに基づい
て自動伴奏を行う伴奏手段とを具備するとよい。前記第
1の記憶手段は、複数の伴奏パターンを所定のインデッ
クスで階層化して記憶しているようにするとよい。 【0012】 【作用】伴奏パターンが所定のインデックスで分類され
ているので、このインデックスにより伴奏パターンを特
定することができる。したがって、パラメータ入力手段
によりこのインデックスを含むパラメータを入力すれば
、ソングデータ生成手段により自動的にソングデータを
生成できる。生成したソングデータは、第2の記憶手段
に記憶され、伴奏手段によって読み出され自動伴奏が行
われる。伴奏パターンの記憶方式として、伴奏パターン
を所定のインデックスで階層化して記憶すれば、順次階
層を指定していくことによりソングデータが生成できる
。   【0013】 【実施例】以下、図面を用いてこの発明の実施例を説明
する。 【0014】図1は、この発明の一実施例に係る自動伴
奏装置のブロック構成を示す。この自動伴奏装置は、装
置全体の動作を制御する中央処理装置(CPU)1、各
種のスイッチ類や表示装置などを備えた操作パネル2、
およびパッド3を有する。パッド3は、ノーマルモード
(モードについては後述する)においてはこれを押打す
ることにより打楽器音を発生し、パターンエディットモ
ードにおいては伴奏パターンを入力するために用いる。 【0015】さらにこの自動伴奏装置は、ワーキングメ
モリ4、プログラムメモリ5、パターンメモリ6、およ
びソングメモリ7を有する。ワーキングメモリ4は各種
のワークレジスタやフラグなどに用いる。プログラムメ
モリ5はCPU1が実行するプログラムなどを記憶する
。パターンメモリ6は伴奏パターンを表すパターンデー
タを記憶する。ソングメモリ7はソングデータを記憶す
る。 【0016】8はCPU1に対し所定時間間隔(ここで
は1msec)でタイマ割込みをかけるクロック、9は
トーンジェネレータ(TG)、10はサウンドシステム
、11は双方向のバスラインを示す。 【0017】図2は、操作パネル2の外観を示す。操作
パネル2は、テンキー21、カーソルキー22、表示装
置23、パターンスイッチ24、ソングスイッチ25、
休符スイッチ26、メイクスイッチ27、スタートスイ
ッチ28、およびストップスイッチ29を有する。カー
ソルキー22は、上向きカーソルキー22a、下向きカ
ーソルキー22b、右向きカーソルキー22c、左向き
カーソルキー22dからなる。 【0018】次に、図1,2の自動伴奏装置におけるモ
ードについて説明する。 【0019】この自動伴奏装置は以下の6つのモードを
有する。 (1)ノーマルモード 通常の演奏を行うモードである。操作パネル2から所定
のパラメータをあらかじめ入力しておき、パッド3を押
打することにより、所定の音色の打楽器音が発音される
。 (2)パターンモード 所定区間例えば1小節ごとの伴奏パターンを作成するた
めに、その伴奏パターンを特定するインデックスを設定
するモードである。 (3)パターンエディットモード 上記パターンモードで設定したインデックスにより特定
される伴奏パターンの内容を作成するモードである。例
えば1小節内のどのタイミングで打楽器音を発生させる
か、あるいはどのタイミングを休符とするかなどを入力
する。 【0020】(4)ソングモード ソングデータを作成するために、そのソングデータを構
成する伴奏パターンを特定するインデックスを含むパラ
メータを入力するモードである。 (5)ソングメイクモード 上記ソングモードで入力したインデックスにしたがい、
ソングデータを自動生成するモードである。 (6)ソングプレイモード 記憶されているソングデータに基づき自動伴奏を実行す
るモードである。 【0021】図3は、この実施例の自動伴奏装置におけ
る状態遷移図である。 【0022】ノーマルモードにおいてパターンスイッチ
24を押下するとパターンモードに移行する。パターン
モードにおいて再度パターンスイッチ24を押下すると
ノーマルモードに戻る。パターンモードにおいてスター
トスイッチ28を押下するとパターンエディットモード
に移行する。パターンエディットモードにおいてストッ
プスイッチ29を押下するとノーマルモードに移行する
。 【0023】パターンモードは4つのサブモードを有す
る。各サブモードにおいて、伴奏パターンのインデック
スを設定する。ノーマルモードからパターンスイッチ2
4を押下してパターンモードに移行した時点ではスタイ
ル設定サブモードになる。 【0024】スタイル設定サブモードでは、これから作
成する伴奏パターンデータのスタイルを設定する。スタ
イルとはロック、あるいはポップスなどの音楽的な種別
を示すインデックスである。スタイル設定サブモードに
おいて下向きカーソルキー22bを押下するとイントロ
ソロエンディング設定サブモードに移行し、上向きカー
ソルキー22aを押下するとクォンタイズ設定サブモー
ドに移行する。 【0025】イントロソロエンディング設定サブモード
では、イントロソロエンディングに関するインデックス
を設定する。すなわち、これから作成する伴奏パターン
データが、イントロダクション(序奏部)のパターンか
、ソロ(序奏部に続く本体部)のパターンか、あるいは
エンディング(終奏部)のパターンかを設定する。イン
トロソロエンディング設定サブモードにおいて、上向き
カーソルキー22aを押下するとスタイル設定サブモー
ドに移行し、下向きカーソルキー22bを押下するとノ
ーマルフィルイン設定サブモードに移行する。 【0026】ノーマルフィルイン設定サブモードでは、
ノーマルフィルインに関するインデックスを設定する。 すなわち、これから作成する伴奏パターンデータが、ノ
ーマルパターンかフィルインパターンかを設定する。ノ
ーマルパターンとは通常の伴奏パターンであり、フィル
インパターンとは適当な位置に通常の伴奏パターンに代
えて挿入される伴奏パターンである。ノーマルフィルイ
ン設定サブモードにおいて、上向き22aカーソルキー
を押下するとイントロソロエンディング設定サブモード
に移行し、下向きカーソルキー22bを押下するとクォ
ンタイズ設定サブモードに移行する。 【0027】クォンタイズ設定サブモードでは、これか
ら作成する伴奏パターンデータのクォンタイズを設定す
る。クォンタイズとは、この伴奏パターンをどれ程の分
解能で区分するかを示す値である。このクォンタイズの
値に応じて区分された区間を単位として、発音すべき打
楽器音をパターンエディットモードにて設定できる。ク
ォンタイズ設定サブモードにおいて、上向きカーソルキ
ー22aを押下するとノーマルフィルイン設定サブモー
ドに移行し、下向きカーソルキー22bを押下するとス
タイル設定サブモードに移行する。 【0028】ノーマルモードにおいてソングスイッチ2
5を押下するとソングモードに移行する。ソングモード
において再度ソングスイッチ25を押下するとノーマル
モードに戻る。ソングモードにおいてメイクスイッチ2
7を押下するとソングメイクモードに移行する。ソング
メイクモードにおいて再度メイクスイッチ27を押下す
るとソングモードに戻る。ソングモードにおいてスター
トスイッチ28を押下するとソングプレイモードに移行
する。ソングメイクモードにおいてスタートスイッチ2
8を押下するとソングプレイモードに移行する。ソング
プレイモードにおいてストップスイッチ29を押下する
とノーマルモードに移行する。 【0029】ソングモードは7つのサブモードを有する
。各サブモードにおいて、ソングデータを自動生成する
ためのパラメータを設定する。このパラメータはパター
ンを特定するインデックスを含む。ノーマルモードから
ソングスイッチ25を押下してソングモードに移行した
時点ではソングナンバ設定サブモードになる。 【0030】ソングナンバ設定サブモードでは、これか
ら作成するソングデータのソングナンバを設定する。ソ
ングナンバはソングデータを特定する番号である。ソン
グナンバ設定サブモードにおいて下向きカーソルキー2
2bを押下するとスタイル設定サブモードに移行し、上
向きカーソルキー22aを押下するとフィルイン設定サ
ブモードに移行する。 【0031】スタイル設定サブモードでは、これから作
成するソングデータのスタイルを設定する。スタイル設
定サブモードにおいて下向きカーソルキー22bを押下
するとテンポ設定サブモードに移行し、上向きカーソル
キー22aを押下するとソングナンバ設定サブモードに
移行する。 【0032】以下、ソングモードの他のサブモードとし
ては、テンポ設定サブモード、曲全体の小節数設定サブ
モード、ソロ開始小節数設定サブモード、ソロ終了小節
数設定サブモード、およびフィルイン小節設定サブモー
ドがあるが、図3では省略する。これらのサブモード間
の移行は上向きカーソルキー22aまたは下向きカーソ
ルキー22bの押下により行われる。これらのサブモー
ドは、作成するソングデータに関する種々のパラメータ
を設定するためのサブモードである。 【0033】テンポ設定サブモードでは曲のテンポを設
定する。曲全体の小節数設定サブモードでは曲全体の小
節数を設定する。ソロ開始小節数設定サブモードではソ
ロ部が何小節目から開始されるかを設定する。ソロ終了
小節数設定サブモードではソロ部が何小節目で終了する
かを設定する。フィルイン小節設定サブモードではフィ
ルインが何小節目に挿入されるか(複数でもよい)を設
定する。 【0034】次に図4を参照して、パターンモードおよ
びパターンエディットモードの操作と画面表示について
説明する。 【0035】上述したように、ノーマルモードにおいて
パターンスイッチ24を押下するとパターンモードのス
タイル設定サブモードとなる。41はスタイル設定サブ
モードの表示画面例である。画面上には、スタイルナン
バの入力を促すメッセージが表示されている。46はカ
ーソルである。テンキー21によりスタイルナンバを入
力すると、カーソル46の位置にそのナンバが表示され
、スタイルナンバとして設定される。 【0036】次に、下向きカーソルキー22bを押下す
ると、イントロソロエンディング設定サブモードとなる
。42はイントロソロエンディング設定サブモードの表
示画面例である。画面上には、イントロ、ソロまたはエ
ンディングの選択を促すメッセージが表示されている。 右向きカーソルキー22cまたは左向きカーソルキー2
2dを押下することにより、カーソル46を画面上の「
INTRO」、「SOLO」または「ENDING」に
設定することができ、これによりイントロ、ソロまたは
エンディングを選択できる。 【0037】次に、下向きカーソルキー22bを押下す
ると、ノーマルフィルイン設定サブモードとなる。43
はノーマルフィルイン設定サブモードの表示画面例であ
る。画面上には、ノーマルまたはフィルインの選択を促
すメッセージが表示されている。選択の仕方は上記のイ
ントロソロエンディング設定と同様である。 【0038】次に、下向きカーソルキー22bを押下す
ると、クォンタイズ設定サブモードとなる。44はクォ
ンタイズ設定サブモードの表示画面例である。画面上に
は、クォンタイズの4つの選択技が表示されている。 「1/16」は1小節内を16等分した各区間を単位と
して発音するリズム音を設定できることを示す。「1/
8」、「1/4」または「1/2」も同様にそれぞれ1
小節内を8等分、4等分または2等分した各区間を単位
とできることを示す。選択の仕方は上記のイントロソロ
エンディング設定と同様にカーソルを移動させることに
より行なう。 【0039】以上のようにパターンモードにおいてデー
タ設定した後、スタートキーを押下するとパターンエデ
ィットモードとなる。45はパターンエディットモード
の表示画面例である。横線47は1本で1つのビート(
拍)位置を表わす。横線47は設定されたクォンタイズ
に応じた数だけ設定される。例えばクォンタイズが1/
16であれば16本の横線47が表示される。付番45
の表示例はクォンタイズが1/4の場合を示し、横線4
7は4つ表示されている。縦線53はパターンの終わり
(ここでは小節の終わり)横線47の上下に表示された
黒丸50は、そのタイミングで所定のリズム音が発音さ
れることを示す。上段48と下段49とで発音するリズ
ム音の音色を異ならせることができる。 【0040】パターンの入力すなわち黒丸50の入力は
、カーソル46をカーソル移動キー22で所望の拍位置
に位置付け、パッドを押打することにより行なう。横線
47の位置に黒丸50が設定されていないとき、そのタ
イミングは休符となる。休符の入力は、カーソル46を
カーソル移動キー22で所望の拍位置に位置付け、休符
スイッチ26を押下することにより行なう。 【0041】以上のようにして、パターンモードで入力
したインデックスに対応する伴奏パターンの内容が設定
される。所定の伴奏パターンを作成した後、ソングデー
タを作成する。 【0042】図5は、ソングモード、ソングメイクモー
ドおよびソングプレイモードの操作および画面表示例を
示す。 【0043】上述したように、ノーマルモードにおいて
ソングスイッチ25を押下するとソングモードのソング
ナンバ設定サブモードとなる。51はソングナンバ設定
サブモードの表示画面例である。画面上にはソングナン
バの入力を促すメッセージが表示されている。テンキー
21によりソングナンバを入力すると、カーソル46の
位置にそのナンバが表示され、ソングナンバとして設定
される。 【0044】次に、下向きカーソルキー22bを押下す
ると、スタイル設定サブモードとなる。52はスタイル
設定サブモードの表示画面例である。画面上にはスタイ
ルナンバの入力を促すメッセージが表示されている。テ
ンキー21によりスタイルナンバを入力することができ
る。 【0045】以下、同様にしてテンポ設定サブモード、
曲全体の小節数設定サブモード、ソロ開始小節設定サブ
モード、ソロ終了小節設定サブモードおよびフィルイン
小節設定サブモードにおいて、それぞれソングデータ生
成のためのパラメータを入力する。 【0046】パラメータの入力が終了したら、メイクス
イッチ27を押下してソングメイクモードとし、ソング
データを自動的に作成する。ソングデータは上記のよう
に入力したパラメータに基づいて自動作成される。ソン
グデータの作成の後、スタートスイッチ28を押下する
とソングプレイモードとなり、作成したソングデータに
基づいて自動伴奏が開始する。 【0047】図6はこの実施例の自動伴奏装置における
パターンデータの階層構造を示す。パターンデータは最
上位の第1の階層としてインデックスの1つであるスタ
イルにより分類されている。スタイルは例えば、ロック
あるいはポップスなどの別を示す。次の第2階層として
、イントロ、ソロまたはエンディングの別を示すインデ
ックスで分類されている。さらに次の第3階層として、
通常リズムまたはフィルインの別を示すインデックスで
分類されている。 【0048】PTNはパターンデータを記憶するパター
ンメモリを示す。PTN(i,j,k)で1小節分のパ
ターンデータを示す。なお、PTN(i,j,k)はパ
ターンメモリ中の記憶位置を示すとともに、その位置に
記憶されたデータをも示すものとする。パターンデータ
は上述のような階層構造で分類されており、パターンメ
モリをアクセスする場合はそのインデックスを指定する
ことにより行なう。すなわち、パターンメモリPTN(
i,j,k)の第1パラメータiは第1階層のスタイル
を示す値、第2パラメータjは第2階層のイントロ、ソ
ロまたはエンディングの別を示す値、第3パラメータk
は第3階層の通常リズムまたはフィルインの別を示す値
を、それぞれ指定する。ここでは、スタイルとしてロッ
クを示す値を「0」、ポップスを示す値を「1」、…と
した。また、イントロを示す値を「0」、ソロを示す値
を「1」、エンディングを示す値を「2」とした。さら
に、通常リズムを示す値を「0」、フィルインを示す値
を「1」とした。したがって、例えばロックのイントロ
に用いる通常リズムはPTN(0,0,0)で、ロック
のイントロに用いるフィルインのリズムはPTN(0,
0,1)で、ロックのソロに用いる通常リズムはPTN
(0,1,0)で、…というようにアクセスすることが
できることとなる。 【0049】図7は、伴奏パターン(パターンデータ)
を並べて1曲のソングを構成した1つの例を示す。ソン
グは大きく分けてイントロ部、ソロ部およびエンディン
グ部を有する。各部はそれぞれ通常リズムとフィルイン
のリズムとを適宜並べて構成される。例えば、図7の例
では、イントロ部は8小節設定されており、先頭の3小
節はロックのイントロの通常リズムPTN(0,0,0
)が3回繰返される。PTN(0,0,0)の右上に記
載された「×3」は同パターンが3回繰返されることを
示す。次に、ロックのイントロのフィルインリズムPT
N(0,0,1)が1回演奏され、再び通常リズムPT
N(0,0,0)が4回繰返される。 【0050】イントロ部に続くソロ部は8小節設定され
ており、まず3小節分はロックのソロの通常リズムPT
N(0,1,0)が3回繰返される。次に、ロックのソ
ロのフィルインリズムPTN(0,1,1)が1回演奏
され、再び通常リズムPTN(0,1,0)が4回繰返
される。 【0051】ソロ部に続くエンディング部は8小節設定
されており、ロックのエンディングの通常リズムPTN
(0,2,0)が8回繰返される。 【0052】図8は、図7に示した構成のソングに対応
するソングデータの具体的な内容を示す。PARTはソ
ングデータを記憶するソングメモリを示す。PART(
SONG,n)でソングナンバSONGの第n番目(n
は0から昇順に数えるものとする)のソングデータ要素
を示す。なお、PART(SONG,n)はソングメモ
リ中の記憶位置を示すとともに、その位置に記憶された
データをも示すものとする。 【0053】図8において、要素PART(SONG,
0)〜PART(SONG,2)はイントロの先頭3小
節のパターンPTN(0,0,0)を3回繰返す部分に
対応する。すなわち、要素PART(SONG,0)に
繰返し開始記号(なお、この繰返し開始記号のイメージ
を下記に示す。以下、『外1』はこのイメージを示すも
のとする。)を格納し、次の要素PART(SONG,
1)に繰返すべきパターンPTN(0,0,0)を格納
し(パターンそのものを格納してもよいし、またはその
パターンを特定するアドレスなどを格納してもよい)、
さらに次の要素PART(SONG,2)に繰返し終了
記号(なお、この繰返し終了記号のイメージを下記に示
す。以下、『外2』はこのイメージを示すものとする。 )と前に(すなわちPART(SONG,1)に)戻る
回数「×2」を格納している。 【0054】 【外1】 【0055】 【外2】 【0056】次の要素PART(SONG,3)はイン
トロのフィルインパターンPTN(0,0,1)に対応
し、そのパターン(またはアドレス)を格納している。 引き続きPART(SONG,4)〜PART(SON
G,6)にはイントロのパターンPTN(0,0,0)
を4回繰返す部分に対応する繰返しデータを格納してい
る。以下、同様にして、図7に対応するデータを格納し
、最後の要素PART(SONG,17)にエンドコー
ドを格納して、1曲のソングデータが終了する。 【0057】次に上述したこの実施例の自動伴奏装置で
用いているレジスタ類について説明する。 (a)MOD:モードを示すモードレジスタである。図
3に示したように、ノーマルモードのとき「0」、パタ
ーンモードのとき「1」、パターンエディットモードの
とき「2」、ソングモードのとき「3」、ソングメイク
モードのとき「4」、ソングプレイモードのとき「5」
の値をそれぞれとる。 (b)T:1/16拍単位の拍の間の時間を1msec
単位でダウンカウントするためのカウンタである。 (c)BT:1/16拍単位の拍の間の時間を表す1m
sec単位の値を記憶する時間レジスタである。 (d)Q:伴奏パターンの1小節内で1/16拍ごとに
カウントアップされるカウンタである。 (e)BEET:パターンの拍を示す拍レジスタである
。1/4拍を単位とし、例えば、3/4拍子のソングで
は「3」、4/4拍子では「4」が設定される。 (f)PATERN:再生すべき伴奏パターンを一時記
憶するパターンレジスタである。 【0058】(g)POINT:再生すべきソングデー
タ要素の次の要素を指すポインタである。 (h)BAR:ソングデータを作成する際に用いる、小
節数をカウントするカウンタである。 (i)BSPT:通常パターンを一時記憶する通常パタ
ーンレジスタである。 (j)FLPT:フィルインパターンを一時記憶するフ
ィルインパターンレジスタである。 (k)FIN:イントロ部、ソロ部、およびエンディン
グ部の境界位置(先頭からの小節数で示す)を指す境界
ポインタである。 (l)RPN:ソングを再生する際の伴奏パターン繰返
し回数をダウンカウントするリピートカウンタである。 【0059】(m)REPEAT:伴奏パターンの繰返
し(リピート)の状態を示すリピート状態レジスタであ
る。繰返し開始記号を読出したとき「1」に設定され、
次に繰返し終了記号と繰返し回数を読出したとき「0」
に設定される。 (n)SONG:ソングナンバを格納するソングナンバ
レジスタである。 (o)STYL:スタイルナンバを格納するスタイルナ
ンバレジスタである。 (p)TMP:テンポの値を格納するテンポレジスタで
ある。1分間に含まれる4分音符の数によりテンポを表
わす。 (q)NBAR:曲全体の小節数を格納する全体小節数
レジスタである。 (r)ST:ソロ部のスタート小節位置(先頭からの小
節数)を格納するソロスタート小節レジスタである。 (s)END:ソロ部の終了小節位置(先頭からの小節
数)を格納するソロ終了小節レジスタである。 (t)FLL(i):フィルインパターンを挿入する小
節位置を格納するフィルイン小節レジスタである。フィ
ルインパターンを複数の位置に挿入する場合があるため
、配列形式(iは0,1,…)になっている。 (u)FN:フィルインの回数を示すフィルイン回数レ
ジスタである。 (v)PN:ソングメモリを指すポインタである。 【0060】なお、各レジスタ類を示す記号は、そのレ
ジスタそのものを表すとともに、そのレジスタの内容(
値)をも表すものとする。 【0061】次に、図9〜14を参照してこの実施例の
自動伴奏装置の動作を説明する。 【0062】図9のメインルーチンを参照して、この装
置の動作がスタートすると、まずステップS1で各レジ
スタ類などの初期設定(例えば、MOD=0)が行なわ
れる。次に、ステップS2でパッドスイッチのイベント
があるか否か判別する。パッドスイッチのイベントがあ
る場合は、ステッブS3でモードレジスタMODが「2
」であるか否かすなわちパターンエディットモードであ
るか否かを判別する。パターンエディットモードである
ときは、ステップS4でスタイル、イントロソロエンデ
ィングの別、ノーマルフィルインの別、クォンタイズお
よびカーソル位置の情報に基づき選択されているパター
ンメモリ上のパターンの拍の位置(図4の表示45参照
)にデータ(表示45における黒丸50)を書込む。次
に、ステップS5で発音および消音の処理を行ない、ス
テップS6に進む。 【0063】ステップS3でモードMODが「2」でな
いときは、パターンエディットモードでないからパター
ンメモリへの書込みは行なわず、直接ステップS5へ進
む。ステップS2でパッドスイッチのイベントがない場
合は、直接ステップS6へ進む。 【0064】ステップS6でスイッチに関するイベント
があるか否か判別する。あればステップS7でスイッチ
ルーチン(図10)をコールし、再びステップS2に戻
る。ステップS6でスイッチイベントがない場合は、ス
テップS2に戻る。以上の処理を繰返す。 【0065】図10のフローチャートを参照して、スイ
ッチルーチンがコールされると、まずステップS11で
イベントのあったスイッチを判別する。パターンスイッ
チ24、ソングスイッチ25、メイクスイッチ27、ス
タートスイッチ28、ストップスイッチ29、または上
向きあるいは下向きカーソルキー22a、22bのイベ
ントの場合はステップS12に進む。テンキー21のイ
ベントの場合はステップS18に進む。右向きあるいは
左向きカーソルキー22c、22dのイベントの場合は
ステップS19に進む。休符スイッチ26のイベントの
場合はステップS21に進む。 【0066】ステップS12に進む場合というのは、図
3で説明したようにモードまたはサブモードを切換える
スイッチが押下された場合である。したがって、ステッ
プS12でモードおよび表示画面を切換え、モードレジ
スタMODを状態に応じた値とする。次に、ステップS
13でモードレジスタMODの値が「4」か否かすなわ
ちソングメイクモードであるか否かを判別する。ソング
メイクモードのときは、ステップS14でメイクルーチ
ン(図11)をコールし、その後リターンする。ステッ
プS13でソングメイクモードでないときは、ステップ
S15でモードレジスタMODの値が「5」か否かすな
わちソングプレイモードであるか否かを判別する。 【0067】ステップS15でソングプレイモードのと
きは、ステップS16で時間レジスタBT、カウンタT
、カウンタQ、ポインタPOINT、リピートカウンタ
RPN、およびリピート状態レジスタのそれぞれの値を
初期化する。具体的には、時間レジスタBTには60×
103/(TMP×4)を小数点以下を四捨五入して設
定する。テンポレジスタTMPの値は1分間(=60×
103msec)の4分音符の数を示すから60×10
3/TMPは4分音符1つの時間すなわち4分音符を単
位とした拍と拍との時間間隔をmsec表記で表わした
ものとなる。これをさらに4で割って16分音符を単位
とした拍から次の拍までの時間をmsec表記で表わし
た値を算出し、時間レジスタBTに設定するようにして
いる。その他のレジスタは「0」とする。 【0068】ステップS16の後、ステップS17でデ
ータ先読ルーチンをコールし、リターンする。ステップ
S15でソングプレイモードでないときは、そのままリ
ターンする。 【0069】ステップS11でイベントのあったスイッ
チがテンキー21のときは、ステップS18でその時点
のモード、サブモードおよびカーソル位置に応じて種々
のデータ設定処理を行なう。具体的には、パターンモー
ドにおけるスタイルナンバの設定(図4の表示41)、
並びにソングモードにおけるソングナンバSONG(図
5の表示51)、ソングスタイルナンバSTYL(図5
の表示52)、テンポTMP、曲全体小節数NBAR、
ソロ開始小節ST、およびソロ終了小節END、フィル
イン小節FLL(i)(ただし、フィルイン回数FNに
対しi=0〜FN−1とする)のそれぞれの設定を入力
に応じて実行する。その後、リターンする。 【0070】ステップS11でイベントのあったスイッ
チが右向きまたは左向きカーソルキー22c、22dの
ときは、ステップS19でモードレジスタMODの値が
「1」または「2」であるか否かすなわちパターンモー
ドまたはパターンエディットモードであるか否かを判別
する。これらのいずれかのモードのときは、ステップS
20でその時点の画面にてカーソル46を左右に移動し
、例えばパターンモードにおけるパラメータ(スタイル
を除く)の設定(図4の表示42、43、44)あるい
はパターンエディットモードにおけるカーソル移動(図
4の表示45)を行なう。その後、リターンする。 ステップS19でモードレジスタMODが「1」および
「2」でないときはそのままリターンする。 【0071】ステップS11でイベントのあったスイッ
チが休符スイッチ26のときは、ステップS21でモー
ドレジスタMODの値が「2」か否かすなわちパターン
エディットモードであるか否かを判別する。パターンエ
ディットモードのときは、ステップS22でスタイルや
クォンタイズなどのパラメータおよびカーソルの位置に
基づき選択されているパターンメモリ上のパターンの拍
の位置(図4の表示45参照)に休符データを書き込み
、リターンする。ステップS21でパターンエディット
モードでないときは、そのままリターンする。 【0072】次に図11のフローチャートを参照して、
メイクルーチンがコールされると、まずステップS31
でソングメモリ内ポインタPNを「0」、フィルイン回
数レジスタFNを「0」、小節数カウンタBARを「1
」に、それぞれ設定する。次にステップS32で、通常
パターンレジスタBSPTにスタイルSTYLのイント
ロの通常リズムパターンPTN(STYL,0,0)を
、フィルインパターンレジスタFLPTにスタイルST
YLのイントロのフィルインパターンPTN(STYL
,0,1)を、イントロソロエンディング境界ポインタ
FINにソロスタート小節位置STを、それぞれ設定す
る。次に、ステップS33で編集ルーチンをコールする
。これによりソングデータのイントロ部が自動生成され
る。 【0073】次に、ステップS34で、通常パターンレ
ジスタBSPTにスタイルSTYLのソロ部の通常リズ
ムパターンPTN(STYL,1,0)を、フィルイン
パターンレジスタFLPTにスタイルSTYLのソロ部
のフィルインパターンPTN(STYL,1,1)を、
イントロソロエンディング境界ポインタFINにソロ終
了小節位置ENDと「1」とを加算した値(すなわちエ
ンディング部開始位置)を、それぞれ設定する。次に、
ステップS35で編集ルーチンをコールする。これによ
り、ソングデータのソロ部が自動生成される。 【0074】次に、ステップS36で、通常パターンレ
ジスタBSPTにスタイルSTYLのエンディング部の
通常リズムパターンPTN(STYL,2,0)を、フ
ィルインパターンレジスタFLPTにスタイルSTYL
のエンディング部のフィルインパターンPTN(STY
L,2,1)を、イントロソロエンディング境界ポイン
タFINにソングの全体小節数NBARと「1」とを加
算した値を、それぞれ設定する。次に、ステップS37
で編集ルーチンをコールする。これにより、ソングデー
タのエンディング部が自動生成される。 【0075】最後に、ステップS38で、生成したソン
グデータの最終位置PART(STYL,PN)にエン
ドコードを設定してリターンする。 【0076】次に図12のフローチャートを参照して、
編集ルーチンがコールされると、まずステップS41で
フィルイン回数レジスタFNにより特定されるフィルイ
ン小節の位置FLL(FN)とイントロソロエンディン
グの境界位置FINとを比較する。フィルイン小節の位
置FLL(FN)が境界位置FINより小さい場合は、
現在自動生成しようとしている部分(イントロ部、ソロ
部、またはエンディング部)内にフィルインパターンを
生成する必要があり、ステップS42に進む。ステップ
S42でフィルイン小節の位置FLL(FN)から、現
在処理しようとしている小節位置BAR(ソング中で先
頭から何番目の小節を処理しているかを示す)を引いた
値が「2」以上であるか否かを判別する。この値が「2
」以上ならば、この小節位置BARの小節から次のフィ
ルインパターンの直前の小節までは通常パターンBSP
Tをリピートするということであるから、繰返しパター
ンを設定するため、ステップS43に進む。 【0077】ステップS43でフィルイン小節の位置F
LL(FN)から現在の小節位置BARを引きさらに「
1」を引いた値すなわち図8で説明したリピート時に繰
返すべき伴奏パターンの要素に戻る回数(例えば図8の
PART(SONG,2)における「×2」)を算出し
、ワークレジスタRTNに設定する。そして、ステップ
S44で、ソングメモリ中の要素PART(SONG,
PN)に繰返し開始記号『外1』を、要素PART(S
ONG,PN+1)に繰返すべき通常パターンBSPT
を、要素PART(SONG,PN+2)に繰返し終了
記号『外2』と前に戻る回数RTNを、要素PART(
SONG,PN+3)にフィルインパターンFLPTを
、それぞれ設定する。 【0078】次に、ステップS45でソングメモリを指
すポインタPNに「3」を加算し、フィルイン回数FN
をインクリメントし、現在の小節位置BARを更新する
。通常パターンがRTN+1回繰返されさらにフィルイ
ンパターンが設定されるので、小節位置BARにレジス
タRTNの値および「2」を加算し、新たな小節位置B
ARとする。ステップS45の後、再びステップS41
に戻る。 【0079】ステップS42でフィルイン小節の位置F
LL(FN)から現在の小節位置BARを引いた値が「
2」以上でなければ、ステップS46でこの値が「1」
に等しいか否かを判別する。この値が「1」に等しいな
らば、この小節位置BARの小節は通常パターンで、そ
の次の小節はフィルインパターンであるということであ
るから、ステップS47に進みこれらのパターンを設定
する。すなわちステップS47で、ソングメモリ中の要
素PART(PN)に通常パターンBSPTを、次の要
素PART(PN+1)にフィルインパターンFLPT
を、それぞれ設定する。次に、ステップS48でポイン
タPNに「2」を加算し、フィルイン回数FNをインク
リメントし、現在の小節数BARに「2」を加算する。 ステップS48の後、再びステップS41に戻る。 【0080】ステップS46でフィルイン小節の位置F
LL(FN)から現在の小節位置BARを引いた値が「
1」でなければ(このとき、この値は「0」のはずであ
る)、この小節位置BARがフィルインパターンである
ということであるから、ステップS49でソングメモリ
の要素PART(PN)にフィルインパターンFLPT
を設定する。そして、ステップS50でポインタPN、
フィルイン回数FN、および現在の少数位置BARを、
それぞれインクリメントする。ステップS50の後、再
びステップS41に戻る。 【0081】ステップS41でフィルイン小節の位置F
LL(FN)が境界位置FIN以上である場合は、現位
置BARからこの位置FINまでの全小節を通常パター
ンとしてよいということだから、ステップS51に分岐
する。ステップS51で現在の小節位置BARが境界位
置FINに等しい場合は当該部分(イントロ部、ソロ部
、またはエンディング部)のソングデータを作成終了し
たということであるから、リターンする。 【0082】ステップS51で現在の小節位置BARが
境界位置FINに等しくない場合は、ステップS52で
境界位置FINから現在位置BARを減算し、その差が
「1」であるか否かを判別する。その差が「1」でなけ
れば、通常パターンの繰返しを設定すべきであるからス
テップS53に進む。 【0083】ステップS53で境界位置FINから現在
位置BARを引きさらに「1」を引いた値すなわちリピ
ート時に繰返しパターンに戻る回数を算出し、ワークレ
ジスタRTNに設定する。そして、ステップS54でソ
ングメモリ中の要素PART(SONG,PN)に繰返
し開始記号『外1』を、要素PART(SONG,PN
+1)に繰返すべき通常パターンBSPTを、要素PA
RT(SONG,PN+2)に繰返し終了記号『外2』
と前に戻る回数RTNを、それぞれ設定する。次に、ス
テップS55でポインタPNに「2」を加算し、現在の
小節位置BARに戻る回数RTN+1を加算して、リタ
ーンする。 【0084】ステップS52で境界位置FINから現在
位置BARを引いた差が「1」のときは、ステップS5
6でソングメモリの要素PART(PN)に通常パター
ンBSPTを設定し、ステップS57でポインタPNお
よび現在位置BARをそれぞれインクリメントして、リ
ターンする。 【0085】次に図13のフローチャートを参照して、
データ先読みルーチンについて説明する。データ先読み
ルーチンは、ソングプレイモードで自動伴奏する場合に
次に再生すべき伴奏パターンをあらかじめ先に読み出し
ておき、読み出したパターンにしたがって各種のレジス
タに値を設定する。データ先読みルーチンでは、まずス
テップS61で1/16拍単位のカウンタQをゼロクリ
アする。次に、ステップS62で次に再生すべきソング
メモリの要素PART(POINT)を読み出しパター
ンレジスタPATERNに設定する。そして、ステップ
S63でポインタPOINTをインクリメントしておく
。次に、ステップS64で読み出したパターンPATE
RNがエンドコードであるか否か判別し、エンドコード
ならばリターンする。 【0086】ステップS64でパターンPATERNが
エンドコードでないときは、ステップS65でパターン
PATERNが繰返し開始記号『外1』であるか否か判
別する。繰返し開始記号『外1』であるときはステップ
S66でソングメモリのポインタPOINTの値をワー
クレジスタRPSTに設定し、リピートフラブREPE
ATに「1」を設定して、再びステップS62に戻る。 【0087】ステップS65でパターンPATERNが
繰返し開始記号『外1』でないときは、ステップS67
でパターンPATERNが繰返し終了記号『外2』と前
に戻る回数「×n」のデータであるか否か判断する。繰
返し終了記号などである場合はステップS68でリピー
トフラグが「1」であるか否か判別する。リピートフラ
グREPEATが「1」であるときは、繰返しの処理に
入って始めて繰返し終了記号を読み出したということで
あるから、ステップS69でリピートフラグREPEA
Tを「0」にリセットし、リピート回数をダウンカウン
トするカウンタRPNに前に戻る回数nから「1」を引
いた値(この時点で繰返すべきパターンは1回読み出さ
れている)を格納し、ポインタPOINTにワークレジ
スタRPST(このレジスタRPSTにはステップS6
6で繰返すべきパターンの位置が格納されている)の値
を復帰して、ステップS62に戻る。 【0088】ステップS68でリピートフラグREPE
ATが「1」でない場合は、繰返しの処理に入ってから
2度目以降の繰返し終了記号の読み出しであるから、ス
テップS70でダウンカウンタRPNが「0」であるか
否か判別する。「0」でなければ、ステップS71でポ
インタPOINTにワークレジスタRPSTの繰返すべ
きパターンの位置を設定し、カウンタRPNをデクリメ
ントして、ステップS62に戻る。ステップS70でカ
ウンタRPNが「0」ときは繰返し処理における最後の
パターンの先読みであるからそのままステップS62に
戻る。 【0089】ステップS67でパターンPATERNが
繰返し終了記号などのデータでない場合は、読み出した
のは伴奏パターンであるから、ステップS72で1/4
拍を単位とする拍を設定する拍レジスタBEETにパタ
ーンPATERNの拍数を設定して、リターンする。 【0090】次に図14を参照して割込みルーチンにつ
き説明する。割込みルーチンは、クロック8(図1)に
よりタイマ割込み(1msecごと)があるごとに実行
される。割込みルーチンでは、まずステップS81でカ
ウンタTが「0」であるか否か判別する。カウンタTが
「0」でない場合は、未だ1/16拍の時間が経過して
いない(すなわち、1/16拍のタイミングでない)と
いうことだから、発音は行なわず、ステップS82でカ
ウンタTをデクリメントしてリターンする。 【0091】ステップS81でカウンタTが「0」であ
れば、1/16拍ごとのタイミングであるから、ステッ
プS83に進み、カウンタTに時間レジスタBTから「
1」を引いた値を格納する。時間レジスタBTには1/
16拍単位の拍と拍の間の時間をmsecで表わした値
があらかじめ格納されており、ステップS83に至った
割込みに対応する1msecの分をこのレジスタBTの
値から引いて、ダウンカウンタTの初期値としている。 次に、ステップS84でモードレジスタMODが「5」
であるか否かすなわちソングプレイモードか否かを判別
する。ソングプレイモードでない場合は自動演奏の必要
はないので、リターンする。ソングプレイモードである
ときは、ステップS85でパターンデータPATERN
(データ先読みルーチンにより、あらかじめレジスタP
ATERNに格納されている)がエンドコードであって
かつカウンタQが16か(すなわち、小節の終了か)を
判別する。ステップS85の判別結果が真の場合は、楽
曲の終了であるからそのままリターンする。 【0092】ステップS85の判別が偽の場合は、ステ
ップS86で1/16拍ごとのアップカウンタQをイン
クリメントし、ステップS87でパターンレジスタPA
TERN内の1/16×Q拍目の情報に応じてリズム音
のオン情報や音色情報をトーンジェネレータTGに出力
する。これにより当該タイミングにおける自動伴奏のリ
ズム音が発音される。なお、パターンPATERNの1
/16×Q拍目の情報が休符の場合は当然ながら発音は
なされない。 【0093】次に、ステップS88で拍レジスタBEE
Tに「4」を乗算しその積とカウンタQの値とが等しい
か否か判別する。これは自動伴奏する楽曲が4/4拍子
以外(3/4拍子など)の場合に小節終了に至ったかを
調べるための判別である。この判別の結果が真ならば小
節の終りに至っているので次のパターンデータを先読み
するため、ステップS89でデータ先読ルーチンをコー
ルし、リターンする。ステップS88の判別が偽ならば
そのままリターンする。 【0094】以上説明したように、この実施例によれば
、パターンデータが図6のように階層化されているので
、ソングのスタイル、テンポあるいはフィルイン位置な
どの所定のパラメータを入力することによりソングデー
タが自動生成できる。 【0095】なお、上記の実施例ではパターンは1小節
を単位として構成しているが、1小節に限らず、複数の
小節を単位としてもよい。また、各パターンの小節数が
異なっていてもよい。さらに、パターンデータは、1/
16拍の分解能に限ることなく種々の分解能で構成して
もよいし、そのフォーマットも任意である。 【0096】上記実施例ではパターンをスタイルの別、
イントロソロエンディングの別、および通常リズムとフ
ィルインの別のインデックスで階層化して分類している
が、パターンを分類する構造はこれに限らない。また、
イントロとエンディングが同一、通常リズムが数種ある
、などとしてもよい。さらに、上記の自動伴奏装置はリ
ズム音を発音する装置であるが、リズム音に限らず例え
ばリズム音にコードなどを加えてもよい。 【0097】 【発明の効果】以上説明したように、この発明に係る自
動伴奏装置によれば、伴奏パターンを所定のインデック
スで分類した状態で記憶しておき、これらのインデック
スを含む所定のパラメータに基づいてソングデータを自
動生成するにようにしているので、大まかな伴奏の流れ
をイメージしてソングデータを自動生成でき、また誤入
力が少なく入力操作も容易となる。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an automatic accompaniment device, and more particularly to an automatic accompaniment device that can easily generate song data for performing automatic accompaniment. [0002] Conventionally, a so-called pattern memory stores a plurality of different accompaniment patterns representing the accompaniment content of a certain section (for example, one bar), and a pattern for specifying this accompaniment pattern in a song memory. A plurality of pieces of specification information are stored, and the pattern specification information of this song memory is sequentially read out at a predetermined tempo, and an accompaniment pattern is read out based on the read pattern specification information, and various rhythm tones and bass tones are played according to the accompaniment pattern. Automatic accompaniment devices that produce sounds such as For example, Japanese Patent Publication No. 1-39117 discloses an automatic accompaniment device that stores pattern designation information that designates an accompaniment pattern for each bar. Also, when repeating the same accompaniment pattern in multiple consecutive measures,
Some song memories store data indicating repeats. FIG. 15 shows an example of song data stored in a song memory in a conventional automatic accompaniment device. The song data includes pattern specification information specifying an accompaniment pattern and data indicating repeat, and is stored in continuous areas PART001, PART002, PART003 of the song memory.
,... are stored sequentially. Here, each area PART0
01, PART002, . . . each correspond to one bar. [0005] For automatic accompaniment, first, the first area PART001 of the song data is read out. Area PART
Since information specifying pattern 00 (for example, the address of the pattern in the pattern memory) is written in 001, this accompaniment pattern 00 is read out from the pattern memory, and automatic accompaniment is performed with the accompaniment pattern according to this pattern 00. Ru. Next, an area PART002 stores data indicating the start of repeat, an area PART003 stores a repeat pattern, and an area PART004 stores data indicating the end of the repeat range and the number of repeats. Therefore, accompaniment pattern 01 is automatically performed repeatedly four times. [0006] When storing the number of repeats as in the area PART004, the data at the end of the repeat range of this area PART004 is read out (at this point, the accompaniment pattern to be repeated has already been read out once). ) pattern to be repeated again after
Since the number of times the song returns to is stored, the number of times the automatic performance is actually performed is one more than the number of times that is stored. therefore,
In the example of FIG. 15, pattern 01 is repeated four times. Conventionally, when generating song data as described above, a desired one is selected from among a plurality of accompaniment patterns (for example, about 100 types) for each predetermined section such as one measure, and the song data is sequentially created. It was necessary to set each area of memory. [0008] In the conventional method of setting song data, accompaniment patterns are selected one by one for each predetermined section, so the problem is that it is difficult to understand the overall flow of the accompaniment. was there. Furthermore, since one of many types of accompaniment patterns is selected, the selection process is complicated and input errors are often made. In view of the above-mentioned problems in the conventional example, the present invention makes it possible to set song data for automatic accompaniment by imagining the general flow of the accompaniment, and also allows for easy input operations with fewer erroneous inputs. The purpose is to provide an automatic accompaniment device. [Means for Solving the Problems] In order to achieve this object, the automatic accompaniment device according to the present invention classifies a plurality of different accompaniment patterns representing the accompaniment content of a certain section using a predetermined index. In order to generate desired song data in which a plurality of stored first storage means and the accompaniment pattern itself or pattern designation information specifying the accompaniment pattern are arranged, parameters including an index specifying an accompaniment pattern are input. parameter input means;
The present invention is characterized by comprising song data generation means for generating the song data according to the parameters input by the parameter input means. Further, a second storage means for storing the song data generated by the song data generation means;
It is preferable to include accompaniment means for performing automatic accompaniment based on the song data stored in the second storage means. Preferably, the first storage means stores a plurality of accompaniment patterns in a hierarchical manner using a predetermined index. [0012] Since the accompaniment patterns are classified by a predetermined index, the accompaniment pattern can be specified using this index. Therefore, by inputting parameters including this index using the parameter input means, song data can be automatically generated by the song data generation means. The generated song data is stored in the second storage means and read out by the accompaniment means to perform automatic accompaniment. As a storage method for accompaniment patterns, if accompaniment patterns are stored in hierarchies using predetermined indexes, song data can be generated by sequentially specifying hierarchies. Embodiments [0013] Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 shows a block configuration of an automatic accompaniment apparatus according to an embodiment of the present invention. This automatic accompaniment device includes a central processing unit (CPU) 1 that controls the operation of the entire device, an operation panel 2 equipped with various switches and a display device, etc.
and pad 3. The pad 3 is used to generate a percussion instrument sound when pressed in the normal mode (the mode will be described later), and to input an accompaniment pattern in the pattern edit mode. The automatic accompaniment device further includes a working memory 4, a program memory 5, a pattern memory 6, and a song memory 7. The working memory 4 is used for various work registers, flags, etc. The program memory 5 stores programs executed by the CPU 1 and the like. The pattern memory 6 stores pattern data representing accompaniment patterns. Song memory 7 stores song data. Reference numeral 8 indicates a clock that issues a timer interrupt to the CPU 1 at predetermined time intervals (in this case, 1 msec), 9 indicates a tone generator (TG), 10 indicates a sound system, and 11 indicates a bidirectional bus line. FIG. 2 shows the appearance of the operation panel 2. As shown in FIG. The operation panel 2 includes a numeric keypad 21, a cursor key 22, a display device 23, a pattern switch 24, a song switch 25,
It has a rest switch 26, a make switch 27, a start switch 28, and a stop switch 29. The cursor keys 22 include an upward cursor key 22a, a downward cursor key 22b, a right cursor key 22c, and a left cursor key 22d. Next, modes in the automatic accompaniment apparatus shown in FIGS. 1 and 2 will be explained. This automatic accompaniment device has the following six modes. (1) Normal mode This is a mode for normal performance. By inputting predetermined parameters in advance from the operation panel 2 and pressing the pad 3, a percussion instrument sound of a predetermined tone is produced. (2) Pattern mode In order to create an accompaniment pattern for each predetermined section, for example, one bar, this is a mode in which an index for specifying the accompaniment pattern is set. (3) Pattern Edit Mode This mode is for creating the contents of the accompaniment pattern specified by the index set in the pattern mode. For example, input the timing within one bar to generate a percussion instrument sound, or the timing to generate a rest. (4) Song mode In this mode, in order to create song data, parameters including an index specifying an accompaniment pattern constituting the song data are input. (5) Song Make Mode According to the index entered in the song mode above,
This mode automatically generates song data. (6) Song Play Mode This is a mode in which automatic accompaniment is performed based on stored song data. FIG. 3 is a state transition diagram of the automatic accompaniment device of this embodiment. When the pattern switch 24 is pressed in the normal mode, the mode shifts to the pattern mode. When the pattern switch 24 is pressed again in the pattern mode, the mode returns to the normal mode. When the start switch 28 is pressed in the pattern mode, the mode shifts to the pattern edit mode. When the stop switch 29 is pressed in the pattern edit mode, the mode shifts to the normal mode. The pattern mode has four submodes. In each submode, set the accompaniment pattern index. Pattern switch 2 from normal mode
When you press 4 to shift to the pattern mode, the mode becomes the style setting submode. In the style setting submode, the style of accompaniment pattern data to be created is set. A style is an index indicating a musical type such as rock or pop. When the downward cursor key 22b is pressed in the style setting submode, the mode shifts to the intro solo ending setting submode, and when the upward cursor key 22a is depressed, the mode shifts to the quantize setting submode. In the intro solo ending setting submode, an index related to the intro solo ending is set. That is, it is set whether the accompaniment pattern data to be created from now on is an introduction (introduction) pattern, a solo (main body part following the introduction) pattern, or an ending (final part) pattern. In the intro solo ending setting submode, pressing the upward cursor key 22a shifts to the style setting submode, and pressing the downward cursor key 22b shifts to the normal fill-in setting submode. In the normal fill-in setting submode,
Set the index related to normal fill-in. That is, it is set whether the accompaniment pattern data to be created from now on is a normal pattern or a fill-in pattern. The normal pattern is a normal accompaniment pattern, and the fill-in pattern is an accompaniment pattern inserted at an appropriate position in place of the normal accompaniment pattern. In the normal fill-in setting submode, pressing the upward cursor key 22a shifts to the intro solo ending setting submode, and pressing the downward cursor key 22b shifts to the quantize setting submode. In the quantization setting submode, quantization of accompaniment pattern data to be created from now on is set. Quantize is a value indicating how much resolution this accompaniment pattern is divided into. Percussion instrument sounds to be generated can be set in the pattern edit mode using sections divided according to the quantization value as units. In the quantize setting submode, pressing the upward cursor key 22a shifts to the normal fill-in setting submode, and pressing the downward cursor key 22b shifts to the style setting submode. [0028] In normal mode, song switch 2
Press 5 to switch to song mode. When the song switch 25 is pressed again in song mode, the mode returns to normal mode. Make switch 2 in song mode
Pressing 7 moves to song make mode. When the make switch 27 is pressed again in the song make mode, the mode returns to the song mode. When the start switch 28 is pressed in the song mode, the mode shifts to the song play mode. In song make mode, press start switch 2
Pressing 8 shifts to song play mode. When the stop switch 29 is pressed in the song play mode, the mode shifts to the normal mode. Song mode has seven submodes. In each submode, set parameters for automatically generating song data. This parameter contains an index that identifies the pattern. When the song switch 25 is pressed from the normal mode to the song mode, the song number setting submode is entered. In the song number setting submode, the song number of song data to be created is set. The song number is a number that identifies song data. Down cursor key 2 in song number setting submode
When 2b is pressed, the mode shifts to the style setting submode, and when the upward cursor key 22a is depressed, the mode shifts to the fill-in setting submode. In the style setting submode, the style of the song data to be created is set. When the downward cursor key 22b is pressed in the style setting submode, the mode shifts to the tempo setting submode, and when the upward cursor key 22a is depressed, the mode shifts to the song number setting submode. [0032] Below, other sub-modes of the song mode include a tempo setting sub-mode, a sub-mode for setting the number of measures for the entire song, a sub-mode for setting the number of solo starting measures, a sub-mode for setting the number of solo ending measures, and a sub-mode for setting the number of measures in the fill-in. Although there is a mode, it is omitted in FIG. Transition between these submodes is performed by pressing the upward cursor key 22a or the downward cursor key 22b. These submodes are for setting various parameters regarding song data to be created. In the tempo setting submode, the tempo of the song is set. The number of measures for the entire song setting submode sets the number of measures for the entire song. In the solo start measure number setting submode, you can set the measure at which the solo section starts. In the solo ending measure number setting submode, you can set the measure at which the solo section ends. In the fill-in measure setting sub-mode, you can set at which measure (or more than one measure) the fill-in will be inserted. Next, operations and screen displays in the pattern mode and pattern edit mode will be explained with reference to FIG. As described above, when the pattern switch 24 is pressed in the normal mode, the style setting submode of the pattern mode is entered. 41 is an example of a display screen in the style setting submode. A message prompting the user to input a style number is displayed on the screen. 46 is a cursor. When a style number is input using the numeric keypad 21, the number is displayed at the position of the cursor 46 and is set as the style number. Next, when the downward cursor key 22b is pressed, the intro solo ending setting submode is entered. 42 is an example of a display screen in the intro solo ending setting submode. A message is displayed on the screen prompting you to select an intro, solo, or ending. Right cursor key 22c or left cursor key 2
By pressing 2d, move the cursor 46 to "
It can be set to ``INTRO,''``SOLO,'' or ``ENDING,'' allowing you to select an intro, solo, or ending. Next, when the downward cursor key 22b is pressed, the normal fill-in setting submode is entered. 43
is an example of a display screen in the normal fill-in setting submode. A message prompting you to select normal or fill-in is displayed on the screen. The selection method is the same as the intro solo ending setting above. Next, when the downward cursor key 22b is pressed, the quantize setting submode is entered. 44 is an example of a display screen in the quantize setting submode. Four selection techniques for quantization are displayed on the screen. "1/16" indicates that a rhythm sound can be set to be produced in units of 16 equal sections within one bar. “1/
Similarly, ``8'', ``1/4'' or ``1/2'' are each 1
This shows that each section of a measure can be divided into 8 equal parts, 4 equal parts, or 2 equal parts, and can be used as a unit. The selection is made by moving the cursor in the same way as the intro solo ending setting above. After setting the data in the pattern mode as described above, pressing the start key enters the pattern edit mode. 45 is an example of a display screen in the pattern edit mode. One horizontal line 47 is one beat (
beat) represents the position. The number of horizontal lines 47 is set according to the set quantization. For example, quantize is 1/
If it is 16, 16 horizontal lines 47 are displayed. Numbered 45
The display example shows when the quantization is 1/4, and the horizontal line 4
Four 7s are displayed. The vertical line 53 indicates the end of the pattern (in this case, the end of the measure), and the black circles 50 displayed above and below the horizontal line 47 indicate that a predetermined rhythm sound will be produced at that timing. The timbre of the rhythm tones generated in the upper stage 48 and the lower stage 49 can be made different. Inputting a pattern, that is, inputting a black circle 50, is performed by positioning the cursor 46 at a desired beat position using the cursor movement keys 22 and pressing the pad. When the black circle 50 is not set at the position of the horizontal line 47, the timing is a rest. A rest is input by positioning the cursor 46 at a desired beat position using the cursor movement keys 22 and pressing the rest switch 26. In the manner described above, the contents of the accompaniment pattern corresponding to the index input in the pattern mode are set. After creating a predetermined accompaniment pattern, song data is created. FIG. 5 shows operation and screen display examples of the song mode, song make mode, and song play mode. As described above, when the song switch 25 is pressed in the normal mode, the song number setting submode of the song mode is entered. 51 is an example of a display screen in the song number setting submode. A message prompting you to input the song number is displayed on the screen. When a song number is input using the numeric keypad 21, the number is displayed at the position of the cursor 46 and is set as the song number. Next, when the downward cursor key 22b is pressed, the style setting submode is entered. 52 is an example of a display screen in the style setting submode. A message prompting the user to enter a style number is displayed on the screen. A style number can be input using the numeric keypad 21. [0045] Similarly, the tempo setting submode,
Parameters for generating song data are input in each of the sub-mode for setting the number of measures for the entire song, the sub-mode for setting solo start measures, the sub-mode for setting solo end measures, and the sub-mode for setting fill-in measures. After inputting the parameters, the make switch 27 is pressed to enter the song make mode, and song data is automatically created. Song data is automatically created based on the parameters input as described above. After creating the song data, when the start switch 28 is pressed, the song play mode is entered and automatic accompaniment starts based on the created song data. FIG. 6 shows the hierarchical structure of pattern data in the automatic accompaniment device of this embodiment. The pattern data is classified by style, which is one of the indexes, in the first hierarchy at the top. The style indicates, for example, rock or pop. In the second layer, songs are classified by index indicating whether they are intro, solo, or ending. Furthermore, as the next third layer,
It is usually classified by an index that indicates whether it is a rhythm or a fill-in. PTN indicates a pattern memory that stores pattern data. PTN (i, j, k) indicates pattern data for one measure. Note that PTN (i, j, k) indicates a storage position in the pattern memory and also indicates data stored at that position. The pattern data is classified in the hierarchical structure described above, and the pattern memory is accessed by specifying its index. That is, the pattern memory PTN (
i, j, k), the first parameter i is a value indicating the style of the first layer, the second parameter j is a value indicating whether the second layer is intro, solo, or ending, and the third parameter k is
specifies a value indicating whether the third layer is a normal rhythm or a fill-in. Here, the value indicating rock as a style is set to "0", the value indicating pop is set to "1", and so on. Further, the value indicating an intro was set as "0", the value indicating a solo was set as "1", and the value indicating an ending was set as "2". Further, a value indicating a normal rhythm was set as "0", and a value indicating a fill-in was set as "1". Therefore, for example, the normal rhythm used for a rock intro is PTN (0, 0, 0), and the fill-in rhythm used for a rock intro is PTN (0, 0, 0).
0,1), and the normal rhythm used for rock solos is PTN.
(0, 1, 0), etc. can be accessed as follows. FIG. 7 shows an accompaniment pattern (pattern data)
Here is an example of arranging them to form one song. A song can be roughly divided into an intro section, a solo section, and an ending section. Each section is constructed by appropriately arranging a normal rhythm and a fill-in rhythm. For example, in the example shown in FIG. 7, the intro section is set to 8 measures, and the first 3 measures are the normal rock intro rhythm PTN (0, 0, 0
) is repeated three times. "x3" written on the upper right of PTN (0, 0, 0) indicates that the same pattern is repeated three times. Next, the rock intro fill-in rhythm PT
N(0,0,1) is played once and then the normal rhythm PT is played again.
N(0,0,0) is repeated four times. [0050] The solo section following the intro section is set to 8 measures, and the first 3 measures are the normal rhythm PT of a rock solo.
N(0,1,0) is repeated three times. Next, the rock solo fill-in rhythm PTN (0, 1, 1) is played once, and the normal rhythm PTN (0, 1, 0) is repeated four times. [0051] The ending section that follows the solo section is set to 8 bars, and is the normal rhythm PTN of a rock ending.
(0, 2, 0) is repeated 8 times. FIG. 8 shows specific contents of song data corresponding to the song having the structure shown in FIG. PART indicates a song memory that stores song data. PART(
SONG, n), the nth song number SONG (n
shall be counted in ascending order starting from 0). It is assumed that PART (SONG, n) indicates the storage location in the song memory and also indicates the data stored at that location. In FIG. 8, element PART(SONG,
0) to PART (SONG, 2) correspond to a portion in which the pattern PTN (0, 0, 0) of the first three bars of the intro is repeated three times. That is, store the repetition start symbol (the image of this repetition start symbol is shown below. Hereinafter, "outside 1" shall indicate this image) in the element PART (SONG, 0), and then PART(SONG,
1) stores the pattern PTN (0, 0, 0) to be repeated (the pattern itself may be stored, or an address specifying the pattern may be stored),
Furthermore, the next element PART (SONG, 2) has a repetition end symbol (the image of this repetition end symbol is shown below. Hereinafter, "outside 2" will refer to this image) and the previous (i.e. PART The number of times to return (to (SONG, 1)) "x2" is stored. [Example 1] [Example 2] The next element PART (SONG, 3) corresponds to the intro fill-in pattern PTN (0, 0, 1), and its pattern (or address) is It is stored. Continue from PART(SONG, 4) to PART(SONG)
G, 6) has the intro pattern PTN (0, 0, 0)
It stores repetition data corresponding to the part where is repeated four times. Thereafter, data corresponding to FIG. 7 is stored in the same manner, and an end code is stored in the last element PART (SONG, 17), thereby completing one song data. Next, the registers used in the automatic accompaniment device of this embodiment described above will be explained. (a) MOD: Mode register indicating mode. As shown in Figure 3, "0" in normal mode, "1" in pattern mode, "2" in pattern edit mode, "3" in song mode, "4" in song make mode, "5" when in song play mode
Take the value of each. (b) T: The time between beats in units of 1/16 beats is 1 msec.
This is a counter for counting down in units. (c) BT: 1m representing the time between beats in units of 1/16 beats
This is a time register that stores a value in seconds. (d) Q: This is a counter that counts up every 1/16 beat within one measure of the accompaniment pattern. (e) BEET: This is a beat register indicating the beat of the pattern. The unit is 1/4 beat, and for example, "3" is set for a song with a 3/4 time signature, and "4" is set for a song with a 4/4 time signature. (f) PATERN: A pattern register that temporarily stores an accompaniment pattern to be played. (g) POINT: A pointer pointing to the next element of the song data element to be played. (h) BAR: A counter that counts the number of bars used when creating song data. (i) BSPT: A normal pattern register that temporarily stores normal patterns. (j) FLPT: A fill-in pattern register that temporarily stores a fill-in pattern. (k) FIN: This is a boundary pointer that points to the boundary position (indicated by the number of measures from the beginning) of the intro section, solo section, and ending section. (l) RPN: A repeat counter that counts down the number of accompaniment pattern repetitions when playing a song. (m) REPEAT: This is a repeat state register indicating the repeat state of the accompaniment pattern. Set to “1” when the repeat start symbol is read,
The next time you read the repetition end symbol and the number of repetitions, it will be ``0''.
is set to (n) SONG: A song number register that stores a song number. (o) STYL: A style number register that stores a style number. (p) TMP: Tempo register that stores the tempo value. Tempo is expressed by the number of quarter notes included in one minute. (q) NBAR: This is a total bar number register that stores the number of bars in the entire song. (r) ST: A solo start measure register that stores the start measure position (number of measures from the beginning) of the solo section. (s) END: This is a solo end measure register that stores the end measure position (number of measures from the beginning) of the solo section. (t) FLL(i): This is a fill-in measure register that stores the measure position where a fill-in pattern is inserted. Since the fill-in pattern may be inserted at multiple positions, it is in an array format (i is 0, 1, . . . ). (u) FN: Fill-in count register indicating the number of fill-ins. (v) PN: Pointer pointing to song memory. [0060] The symbols indicating each register type represent the register itself as well as the contents of the register (
value). Next, the operation of the automatic accompaniment device of this embodiment will be explained with reference to FIGS. 9 to 14. Referring to the main routine of FIG. 9, when the operation of this apparatus starts, first, in step S1, initial settings of each register, etc. (for example, MOD=0) are performed. Next, in step S2, it is determined whether or not there is a pad switch event. If there is a pad switch event, the mode register MOD is set to "2" in step S3.
”, that is, whether the mode is pattern editing mode. When in the pattern edit mode, the beat position of the pattern in the pattern memory selected based on the style, intro solo ending, normal fill-in, quantize, and cursor position information is determined in step S4 (displayed in Figure 4). 45)), the data (black circle 50 in display 45) is written. Next, in step S5, sound generation and muting processing is performed, and the process proceeds to step S6. If the mode MOD is not "2" in step S3, it is not the pattern edit mode, so writing to the pattern memory is not performed, and the process directly advances to step S5. If there is no pad switch event in step S2, the process directly advances to step S6. [0064] In step S6, it is determined whether there is an event related to the switch. If so, the switch routine (FIG. 10) is called in step S7, and the process returns to step S2. If there is no switch event in step S6, the process returns to step S2. Repeat the above process. Referring to the flowchart of FIG. 10, when the switch routine is called, first in step S11 the switch in which the event occurred is determined. In the case of an event of the pattern switch 24, song switch 25, make switch 27, start switch 28, stop switch 29, or the upward or downward cursor keys 22a and 22b, the process advances to step S12. If it is an event on the numeric keypad 21, the process advances to step S18. In the case of an event of the rightward or leftward cursor keys 22c, 22d, the process advances to step S19. If the event is the rest switch 26, the process advances to step S21. The case where the process proceeds to step S12 is when the switch for changing the mode or submode is pressed as explained with reference to FIG. Therefore, in step S12, the mode and display screen are switched, and the mode register MOD is set to a value according to the state. Next, step S
At step 13, it is determined whether the value of the mode register MOD is "4" or not, that is, whether or not it is the song make mode. In the song make mode, the make routine (FIG. 11) is called in step S14, and then the process returns. If it is determined in step S13 that the mode is not the song make mode, it is determined in step S15 whether the value of the mode register MOD is "5" or not, that is, whether or not the mode is the song play mode. When the song play mode is selected in step S15, the time register BT and counter T are set in step S16.
, counter Q, pointer POINT, repeat counter RPN, and repeat status register. Specifically, the time register BT has 60×
Set 103/(TMP×4) by rounding off the decimal point. The value of tempo register TMP is 1 minute (=60×
103msec) indicates the number of quarter notes, so 60×10
3/TMP is the time of one quarter note, that is, the time interval between beats in units of quarter notes expressed in msec. This is further divided by 4 to calculate a value representing the time from one beat to the next beat in units of 16th notes in msec notation, and is set in the time register BT. Other registers are set to "0". After step S16, a data prefetch routine is called in step S17, and the process returns. If the song play mode is not selected in step S15, the process returns directly. If the switch on which the event occurred is the numeric keypad 21 in step S11, various data setting processes are performed in step S18 depending on the mode, submode, and cursor position at that time. Specifically, setting the style number in pattern mode (display 41 in FIG. 4),
Also, the song number SONG (display 51 in Fig. 5) and song style number STYL (display 51 in Fig. 5) in the song mode.
display 52), tempo TMP, total number of bars NBAR,
Settings for the solo start measure ST, the solo end measure END, and the fill-in measure FLL(i) (where i=0 to FN-1 for the fill-in number FN) are executed according to the input. Then return. If the switch where the event occurred is the right or left cursor key 22c or 22d in step S11, it is determined in step S19 whether the value of the mode register MOD is "1" or "2", that is, the pattern mode or the pattern mode. Determine whether or not it is in edit mode. In any of these modes, step S
20, move the cursor 46 left and right on the screen at that point, for example, to set parameters (excluding styles) in pattern mode (displays 42, 43, and 44 in FIG. 4) or move the cursor in pattern edit mode (displays 42, 43, and 44 in FIG. 4). Display 45) is performed. Then return. If the mode register MOD is not "1" or "2" in step S19, the process returns directly. If the switch in which the event occurred is the rest switch 26 in step S11, it is determined in step S21 whether the value of the mode register MOD is "2" or not, that is, whether the mode is pattern editing mode. In the pattern edit mode, in step S22, rest data is written at the beat position of the pattern on the pattern memory selected based on parameters such as style and quantize and the cursor position (see display 45 in FIG. 4). Return. If the pattern editing mode is not selected in step S21, the process returns directly. Next, referring to the flowchart of FIG. 11,
When the make routine is called, first step S31
Set the song memory pointer PN to "0", fill-in count register FN to "0", and bar number counter BAR to "1".
”, respectively. Next, in step S32, the normal rhythm pattern PTN (STYL, 0, 0) of the intro of style STYL is stored in the normal pattern register BSPT, and the style ST is stored in the fill-in pattern register FLPT.
YL intro fill-in pattern PTN (STYL
, 0, 1) and the solo start bar position ST is set in the intro solo ending boundary pointer FIN. Next, in step S33, an editing routine is called. As a result, the intro part of the song data is automatically generated. Next, in step S34, the normal rhythm pattern PTN (STYL, 1, 0) of the solo section of style STYL is stored in the normal pattern register BSPT, and the fill-in pattern PTN (STYL, 1, 0) of the solo section of style STYL is stored in the fill-in pattern register FLPT. ,1,1),
A value obtained by adding the solo end bar position END and "1" (that is, the ending part start position) is set to the intro solo ending boundary pointer FIN. next,
An editing routine is called in step S35. As a result, the solo section of the song data is automatically generated. Next, in step S36, the normal rhythm pattern PTN (STYL, 2, 0) of the ending part of style STYL is stored in the normal pattern register BSPT, and the normal rhythm pattern PTN (STYL, 2, 0) of the ending part of style STYL is stored in the fill-in pattern register FLPT.
The fill-in pattern of the ending part of PTN (STY
L, 2, 1) are respectively set to the sum of the intro solo ending boundary pointer FIN, the total number of bars of the song NBAR, and "1". Next, step S37
Call the editing routine with . As a result, the ending part of the song data is automatically generated. Finally, in step S38, an end code is set at the final position PART (STYL, PN) of the generated song data, and the process returns. Next, referring to the flowchart of FIG. 12,
When the editing routine is called, first in step S41, the fill-in bar position FLL (FN) specified by the fill-in count register FN is compared with the intro solo ending boundary position FIN. If the fill-in measure position FLL (FN) is smaller than the boundary position FIN,
It is necessary to generate a fill-in pattern within the portion (intro, solo, or ending) that is currently being automatically generated, and the process advances to step S42. In step S42, the value obtained by subtracting the measure position BAR (indicating which measure from the beginning of the song is being processed) from the fill-in measure position FLL (FN) is greater than or equal to "2". Determine whether or not. This value is “2”
”, the normal pattern BSP is used from the measure at this measure position BAR to the measure immediately before the next fill-in pattern.
Since T is to be repeated, the process advances to step S43 to set a repeat pattern. In step S43, fill-in measure position F
Subtract the current bar position BAR from LL (FN) and then
1", that is, the number of times the element of the accompaniment pattern to be repeated at the time of repeat explained in FIG. . Then, in step S44, the element PART(SONG,
Add the repeating start symbol "outside 1" to element PART(S
Normal pattern BSPT to be repeated in ONG, PN+1)
, the repetition end symbol "out 2" and the number of times to go back RTN are added to the element PART (SONG, PN+2), and the element PART (
A fill-in pattern FLPT is set for each of SONG and PN+3). Next, in step S45, "3" is added to the pointer PN pointing to the song memory, and the fill-in number FN is
is incremented to update the current bar position BAR. The normal pattern is repeated RTN+1 times and a fill-in pattern is set, so add the value of register RTN and "2" to bar position BAR, and set the new bar position B.
AR. After step S45, step S41 is performed again.
Return to In step S42, fill-in measure position F
The value obtained by subtracting the current bar position BAR from LL (FN) is "
If the value is not greater than "2", this value is set to "1" in step S46.
Determine whether it is equal to or not. If this value is equal to "1", it means that the bar at this bar position BAR is a normal pattern and the next bar is a fill-in pattern, so the process advances to step S47 to set these patterns. That is, in step S47, the normal pattern BSPT is assigned to element PART (PN) in the song memory, and the fill-in pattern FLPT is assigned to the next element PART (PN+1).
Set each. Next, in step S48, "2" is added to the pointer PN, the fill-in number FN is incremented, and "2" is added to the current number of bars BAR. After step S48, the process returns to step S41 again. In step S46, fill-in measure position F
The value obtained by subtracting the current bar position BAR from LL (FN) is "
If it is not "1" (in this case, this value should be "0"), this means that this bar position BAR is a fill-in pattern, and in step S49 the fill-in pattern is stored in element PART (PN) of the song memory. FLPT
Set. Then, in step S50, the pointer PN,
Fill-in number FN and current minority position BAR,
Increment each. After step S50, the process returns to step S41 again. In step S41, fill-in measure position F
If LL(FN) is greater than or equal to the boundary position FIN, this means that all measures from the current position BAR to this position FIN may be used as a normal pattern, and the process branches to step S51. If the current bar position BAR is equal to the boundary position FIN in step S51, this means that the creation of song data for the relevant portion (intro, solo, or ending) has been completed, and the process returns. If the current bar position BAR is not equal to the boundary position FIN in step S51, the current position BAR is subtracted from the boundary position FIN in step S52, and it is determined whether or not the difference is "1". If the difference is not "1", it is necessary to set the repetition of the normal pattern, so the process advances to step S53. In step S53, a value obtained by subtracting the current position BAR from the boundary position FIN and further subtracting "1", that is, the number of times the pattern returns to the repeating pattern during repeating, is calculated and set in the work register RTN. Then, in step S54, the repetition start symbol "out 1" is added to the element PART (SONG, PN) in the song memory.
+1), the normal pattern BSPT to be repeated in element PA
RT (SONG, PN+2) has a repeat end symbol “outside 2”
and the number of times RTN to go back are set, respectively. Next, in step S55, "2" is added to the pointer PN, the number of times RTN+1 to return to the current bar position BAR is added, and the process returns. [0084] If the difference obtained by subtracting the current position BAR from the boundary position FIN is "1" in step S52, step S5
At step S6, the normal pattern BSPT is set in element PART (PN) of the song memory, and at step S57, the pointer PN and current position BAR are each incremented, and the process returns. Next, referring to the flowchart of FIG. 13,
The data prefetch routine will be explained. The data pre-reading routine reads in advance the accompaniment pattern to be played next when performing automatic accompaniment in song play mode, and sets values in various registers according to the read pattern. In the data prefetch routine, first, in step S61, a counter Q in units of 1/16 beat is cleared to zero. Next, in step S62, the element PART (POINT) of the song memory to be reproduced next is set in the read pattern register PATERN. Then, in step S63, the pointer POINT is incremented. Next, the pattern PATE read out in step S64
Determine whether RN is an end code or not, and if it is an end code, return. If the pattern PATERN is not an end code in step S64, it is determined in step S65 whether the pattern PATERN is the repetition start symbol "outside 1". If the repetition start symbol is "outside 1", the value of the song memory pointer POINT is set in the work register RPST in step S66, and the repeat flub REPE is set.
AT is set to "1" and the process returns to step S62. If the pattern PATERN is not the repetition start symbol "outside 1" in step S65, step S67
Then, it is determined whether the pattern PATERN is the data of the repetition end symbol "outside 2" and the number of times of going back "xn". If it is a repeat end symbol, etc., it is determined in step S68 whether the repeat flag is "1" or not. When the repeat flag REPEAT is "1", it means that the repeat end symbol has been read for the first time after entering the repeat process, so in step S69 the repeat flag REPEAT is
Reset T to ``0'' and store the value obtained by subtracting ``1'' from the previous number of times n to the counter RPN that counts down the number of repeats (at this point, the pattern to be repeated has been read once). , pointer POINT is set to work register RPST (this register RPST contains step S6).
In step S6, the value of (in which the position of the pattern to be repeated is stored) is restored, and the process returns to step S62. [0088] In step S68, the repeat flag REPE
If AT is not "1", this is the second or later repetition end symbol read after the start of the repetition process, so it is determined in step S70 whether or not the down counter RPN is "0". If not "0", the position of the pattern to be repeated in the work register RPST is set in the pointer POINT in step S71, the counter RPN is decremented, and the process returns to step S62. When the counter RPN is "0" in step S70, this means that the last pattern in the repeating process is read ahead, and the process returns to step S62. If the pattern PATERN is not data such as a repetition end symbol in step S67, since it is an accompaniment pattern that has been read out, in step S72
The number of beats of the pattern PATERN is set in the beat register BEET, which sets the beat in units of beats, and the process returns. Next, the interrupt routine will be explained with reference to FIG. The interrupt routine is executed every time there is a timer interrupt (every 1 msec) by the clock 8 (FIG. 1). In the interrupt routine, first in step S81 it is determined whether the counter T is "0". If the counter T is not "0", it means that the time of 1/16 beat has not yet elapsed (that is, the timing of 1/16 beat has not passed), so no sound is generated, and the counter T is decremented in step S82. and return. If the counter T is "0" in step S81, since the timing is every 1/16 beat, the process advances to step S83, and the counter T is set to "0" from the time register BT.
1" is subtracted and the value is stored. The time register BT has 1/
A value representing the time between beats in units of 16 beats in msec is stored in advance, and the value of 1 msec corresponding to the interrupt that led to step S83 is subtracted from the value of this register BT, and the value of the down counter T is calculated. This is the initial value. Next, in step S84, the mode register MOD is set to "5".
In other words, it is determined whether the mode is song play mode or not. If you are not in song play mode, there is no need for automatic performance, so return. When the song play mode is selected, the pattern data PATERN is set in step S85.
(By the data prefetch routine, the register P
ATERN) is the end code and the counter Q is 16 (ie, the end of the measure). If the determination result in step S85 is true, the music has ended, and the process returns directly. If the determination in step S85 is false, the up counter Q is incremented every 1/16 beat in step S86, and the pattern register PA is incremented in step S87.
Rhythm sound ON information and timbre information are output to the tone generator TG in accordance with the information of 1/16×Q-th beat in TERN. As a result, the automatic accompaniment rhythm sound at the timing is generated. In addition, 1 of pattern PATERN
If the information on beat /16×Q is a rest, naturally no sound is produced. Next, in step S88, the beat register BEE
T is multiplied by "4" and it is determined whether or not the product is equal to the value of the counter Q. This is a determination to check whether the measure has come to an end when the automatic accompaniment music is in a time signature other than 4/4 time (such as 3/4 time signature). If the result of this determination is true, the end of the bar has been reached, so in order to pre-read the next pattern data, a data pre-read routine is called in step S89, and the process returns. If the determination in step S88 is false, the process directly returns. As explained above, according to this embodiment, the pattern data is hierarchical as shown in FIG. Data can be automatically generated. [0095] In the above embodiment, the pattern is constructed in units of one measure, but the pattern is not limited to one measure, but may be formed in units of a plurality of measures. Furthermore, the number of bars in each pattern may be different. Furthermore, the pattern data is 1/
The resolution is not limited to 16 beats, but may be configured with various resolutions, and the format is also arbitrary. [0096] In the above embodiment, the pattern is divided by style,
Although patterns are classified in a hierarchical manner using separate indexes for intro solo endings, and separate indexes for normal rhythm and fill-in, the structure for classifying patterns is not limited to this. Also,
The intro and ending may be the same, and there may be several normal rhythms. Furthermore, although the automatic accompaniment device described above is a device that produces rhythm sounds, it is not limited to rhythm sounds; for example, chords or the like may be added to rhythm sounds. [0097] As explained above, according to the automatic accompaniment device of the present invention, accompaniment patterns are stored in a state classified by predetermined indexes, and predetermined parameters including these indexes are stored. Since the song data is automatically generated based on the song data, the song data can be automatically generated based on the general flow of the accompaniment, and the input operation is easy with fewer erroneous inputs.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】この発明の一実施例に係る自動伴奏装置のブロ
ック構成図
FIG. 1 is a block diagram of an automatic accompaniment device according to an embodiment of the present invention.

【図2】操作パネルの外観図[Figure 2] External view of the operation panel

【図3】この自動伴奏装置における状態遷移図[Figure 3] State transition diagram in this automatic accompaniment device

【図4】
パターンモードおよびパターンエディットモードの操作
および画面例
[Figure 4]
Operation and screen examples of pattern mode and pattern edit mode

【図5】ソングモード、ソングメイクモードおよびソン
グプレイモードの操作および画面例
[Figure 5] Operation and screen examples of song mode, song make mode, and song play mode

【図6】パターンデータの階層構造を示す概念図[Figure 6] Conceptual diagram showing the hierarchical structure of pattern data

【図7
】ソングの構成例を示す概念図
[Figure 7
] Conceptual diagram showing an example of song structure

【図8】ソングデータの例を示す概念図[Figure 8] Conceptual diagram showing an example of song data

【図9】メイン
ルーチンのフローチャート
[Figure 9] Flowchart of main routine

【図10】スイッチルーチン
のフローチャート
[Figure 10] Flowchart of switch routine

【図11】メイクルーチンのフローチ
ャート
[Figure 11] Flowchart of makeup routine

【図12】編集ルーチンのフローチャート[Figure 12] Flowchart of editing routine

【図1
3】データ先読みルーチンのフローチャート
[Figure 1
3] Flowchart of data prefetch routine

【図14】
割込みルーチンのフローチャート
[Figure 14]
Interrupt routine flowchart

【図15】従来のソン
グデータ例
[Figure 15] Example of conventional song data

【符号の説明】[Explanation of symbols]

1:CPU,2:操作パネル,3:パッド,4:ワーキ
ングメモリ,5:プログラムメモリ,6:パターンメモ
リ,7:ソングメモリ,8:クロック,9:トーンジェ
ネレータ,10:サウンドシステム。
1: CPU, 2: Operation panel, 3: Pad, 4: Working memory, 5: Program memory, 6: Pattern memory, 7: Song memory, 8: Clock, 9: Tone generator, 10: Sound system.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】    一定区間の伴奏内容を表す複数の
異なる伴奏パターンを、所定のインデックスで分類した
状態で記憶した第1の記憶手段と、前記伴奏パターンそ
のものまたは前記伴奏パターンを指定するパターン指定
情報などを複数並べた所望のソングデータを生成するた
めに、伴奏パターンを特定するインデックスを含むパラ
メータを入力するパラメータ入力手段と、前記パラメー
タ入力手段により入力されたパラメータに応じて、前記
ソングデータを生成するソングデータ生成手段とを具備
することを特徴とする自動伴奏装置。
1. A first storage means that stores a plurality of different accompaniment patterns representing the accompaniment content of a certain section in a state classified by a predetermined index, and the accompaniment pattern itself or pattern designation information specifying the accompaniment pattern. a parameter input means for inputting parameters including an index for specifying an accompaniment pattern, and generates the song data according to the parameters input by the parameter input means. An automatic accompaniment device comprising: song data generation means for generating song data.
JP3023726A 1991-01-25 1991-01-25 Automatic accompaniment device Expired - Fee Related JP2828119B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3023726A JP2828119B2 (en) 1991-01-25 1991-01-25 Automatic accompaniment device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3023726A JP2828119B2 (en) 1991-01-25 1991-01-25 Automatic accompaniment device

Publications (2)

Publication Number Publication Date
JPH04240893A true JPH04240893A (en) 1992-08-28
JP2828119B2 JP2828119B2 (en) 1998-11-25

Family

ID=12118322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3023726A Expired - Fee Related JP2828119B2 (en) 1991-01-25 1991-01-25 Automatic accompaniment device

Country Status (1)

Country Link
JP (1) JP2828119B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055782A (en) * 2000-06-02 2002-02-20 Yamaha Corp Multi-media performing system and multi-media file and multi-media file performing method
JP2008123591A (en) * 2006-11-10 2008-05-29 Teac Corp Audio-reproducing device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61156099A (en) * 1984-12-27 1986-07-15 ヤマハ株式会社 Automatic performancer
JPS63193198A (en) * 1987-02-05 1988-08-10 ヤマハ株式会社 Automatically accompanying apparatus for electronic musical instrument
JPH02127694A (en) * 1988-11-07 1990-05-16 Nec Corp Automatic playing device
JPH02244092A (en) * 1989-01-19 1990-09-28 Yamaha Corp Automatic music playing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61156099A (en) * 1984-12-27 1986-07-15 ヤマハ株式会社 Automatic performancer
JPS63193198A (en) * 1987-02-05 1988-08-10 ヤマハ株式会社 Automatically accompanying apparatus for electronic musical instrument
JPH02127694A (en) * 1988-11-07 1990-05-16 Nec Corp Automatic playing device
JPH02244092A (en) * 1989-01-19 1990-09-28 Yamaha Corp Automatic music playing device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055782A (en) * 2000-06-02 2002-02-20 Yamaha Corp Multi-media performing system and multi-media file and multi-media file performing method
JP2008123591A (en) * 2006-11-10 2008-05-29 Teac Corp Audio-reproducing device

Also Published As

Publication number Publication date
JP2828119B2 (en) 1998-11-25

Similar Documents

Publication Publication Date Title
US4539882A (en) Automatic accompaniment generating apparatus
EP1161075A2 (en) Portable communication terminal apparatus with music composition capability
US5486646A (en) Rhythm creating system for creating a rhythm pattern from specifying input data
JP2580720B2 (en) Automatic performance device
JPH0760310B2 (en) Touch control device
JP3562333B2 (en) Performance information conversion device, performance information conversion method, and recording medium storing performance information conversion control program
US5278347A (en) Auto-play musical instrument with an animation display controlled by auto-play data
JP3497940B2 (en) Electronic musical instrument display
JPH1039864A (en) Electronic musical instrument and its display device
JP2828119B2 (en) Automatic accompaniment device
JPH096346A (en) Control data inputting method for automatic playing
JP3625914B2 (en) Arpeggiator
US5283388A (en) Auto-play musical instrument with an octave shifter for editing phrase tones
US5070758A (en) Electronic musical instrument with automatic music performance system
JPS647392B2 (en)
JP3799843B2 (en) Music generation apparatus and computer-readable recording medium on which music generation program is recorded
JP2757711B2 (en) Electronic musical instrument
JP3752956B2 (en) PERFORMANCE GUIDE DEVICE, PERFORMANCE GUIDE METHOD, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING PERFORMANCE GUIDE PROGRAM
JP3398983B2 (en) Automatic accompaniment device
JP2756799B2 (en) Automatic rhythm playing device
JP2674331B2 (en) Automatic accompaniment device
JP3252425B2 (en) Automatic performance device
JP3625913B2 (en) Arpeggiator
JP2904020B2 (en) Automatic accompaniment device
JP3760938B2 (en) Performance information conversion device, performance information conversion method, and recording medium recording performance information conversion control program

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20070918

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080918

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090918

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees