JP3438617B2 - 自動リズム演奏装置 - Google Patents
自動リズム演奏装置Info
- Publication number
- JP3438617B2 JP3438617B2 JP31405898A JP31405898A JP3438617B2 JP 3438617 B2 JP3438617 B2 JP 3438617B2 JP 31405898 A JP31405898 A JP 31405898A JP 31405898 A JP31405898 A JP 31405898A JP 3438617 B2 JP3438617 B2 JP 3438617B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- timing
- rhythm
- new
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【発明の属する技術分野】本発明は電子楽器における自
動リズム演奏装置に関し、詳しくは、単純な自動リズム
演奏に対して音楽的なノリを付与することが可能な自動
リズム演奏装置に関する。
動リズム演奏装置に関し、詳しくは、単純な自動リズム
演奏に対して音楽的なノリを付与することが可能な自動
リズム演奏装置に関する。
【0002】
【従来の技術】従来、単純な自動演奏音に対して音楽的
なノリを付与することが可能な自動演奏装置としては、
たとえば特開平5−73036号公報に見られるよう
な、アクセントや発音タイミング等に関する効果パター
ン(元の演奏データを変形するパターン)を記憶してお
き、この効果パターンにもとづいて元の演奏データの個
々の音量や発音タイミング等を微妙に変化させることに
より、ノリを付与するものがあった。
なノリを付与することが可能な自動演奏装置としては、
たとえば特開平5−73036号公報に見られるよう
な、アクセントや発音タイミング等に関する効果パター
ン(元の演奏データを変形するパターン)を記憶してお
き、この効果パターンにもとづいて元の演奏データの個
々の音量や発音タイミング等を微妙に変化させることに
より、ノリを付与するものがあった。
【0003】
【発明が解決しようとする課題】上述した自動演奏装置
においては、元の演奏データの一部のデータを少々変形
するのみであったので、多少のノリを付与することがで
きるが、あまり元の演奏データから変化した印象を受け
なかった。
においては、元の演奏データの一部のデータを少々変形
するのみであったので、多少のノリを付与することがで
きるが、あまり元の演奏データから変化した印象を受け
なかった。
【0004】
【課題を解決するための手段】本発明は上述したような
従来技術の不都合を解決するためになされたものであっ
て、本発明に係る第1の自動リズム演奏装置は、特定の
リズム音を指示する特定のイベントデータを含む自動リ
ズム演奏データを記憶する記憶手段と、前記特定のリズ
ム音を所定の拍タイミングから前方へずらして発音する
ためのずれ量を記憶情報又はパネルスイッチ操作情報に
基づいて指示する指示手段と、前記記憶手段から自動リ
ズム演奏データを読み出す読み出し手段と、この読み出
し手段により読み出される自動リズム演奏データ中から
前記特定のイベントデータを検出する検出手段であっ
て、前記所定の拍タイミングから前記指示手段で指示さ
れたずれ量だけ前方にずれた前方タイミングで前記特定
のイベントデータの検出を行なうものと、この検出手段
により前記特定のイベントデータが検出されるのに応答
して、新たなリズム音を指示する新たなイベントデータ
と、前記前方タイミングから遅れた前記新たなリズム音
の発音タイミングを指示するタイミングデータとを発生
するデータ発生手段と、前記読み出し手段により読み出
される自動リズム演奏データに基づいて自動リズム演奏
を行なう演奏手段であって、前記検出手段により前記特
定のイベントデータが検出されるのに応答して前記前方
タイミングで前記特定のイベントデータに基づいて前記
特定のリズム音を発生した後、前記タイミングデータの
指示する発音タイミングで前記新たなイベントデータに
基づいて前記新たなリズム音を発生するものとを備えた
ものである。
従来技術の不都合を解決するためになされたものであっ
て、本発明に係る第1の自動リズム演奏装置は、特定の
リズム音を指示する特定のイベントデータを含む自動リ
ズム演奏データを記憶する記憶手段と、前記特定のリズ
ム音を所定の拍タイミングから前方へずらして発音する
ためのずれ量を記憶情報又はパネルスイッチ操作情報に
基づいて指示する指示手段と、前記記憶手段から自動リ
ズム演奏データを読み出す読み出し手段と、この読み出
し手段により読み出される自動リズム演奏データ中から
前記特定のイベントデータを検出する検出手段であっ
て、前記所定の拍タイミングから前記指示手段で指示さ
れたずれ量だけ前方にずれた前方タイミングで前記特定
のイベントデータの検出を行なうものと、この検出手段
により前記特定のイベントデータが検出されるのに応答
して、新たなリズム音を指示する新たなイベントデータ
と、前記前方タイミングから遅れた前記新たなリズム音
の発音タイミングを指示するタイミングデータとを発生
するデータ発生手段と、前記読み出し手段により読み出
される自動リズム演奏データに基づいて自動リズム演奏
を行なう演奏手段であって、前記検出手段により前記特
定のイベントデータが検出されるのに応答して前記前方
タイミングで前記特定のイベントデータに基づいて前記
特定のリズム音を発生した後、前記タイミングデータの
指示する発音タイミングで前記新たなイベントデータに
基づいて前記新たなリズム音を発生するものとを備えた
ものである。
【0005】第1の自動リズム演奏装置によれば、検出
手段は、記憶手段から読み出される自動リズム演奏デー
タ中から特定のイベントデータを検出する際に所定の拍
タイミングから指示手段で指示されたずれ量だけ前方に
ずれた前方タイミングで特定のイベントデータの検出を
行なう。データ発生手段は、検出手段が特定のイベント
データを検出するのに応答して、新たなリズム音を指示
する新たなイベントデータと、前方タイミングから遅れ
た新たなリズム音の発音タイミングを指示するタイミン
グデータとを発生する。そして、演奏手段は、記憶手段
から読み出される自動リズム演奏データに基づいて自動
リズム演奏を行なう際に検出手段により特定のイベント
データが検出されるのに応答して前方タイミングで特定
のイベントデータに基づいて特定のリズム音を発生した
後、タイミングデータの指示する発音タイミングで新た
なイベントデータに基づいて新たなリズム音を発生す
る。
手段は、記憶手段から読み出される自動リズム演奏デー
タ中から特定のイベントデータを検出する際に所定の拍
タイミングから指示手段で指示されたずれ量だけ前方に
ずれた前方タイミングで特定のイベントデータの検出を
行なう。データ発生手段は、検出手段が特定のイベント
データを検出するのに応答して、新たなリズム音を指示
する新たなイベントデータと、前方タイミングから遅れ
た新たなリズム音の発音タイミングを指示するタイミン
グデータとを発生する。そして、演奏手段は、記憶手段
から読み出される自動リズム演奏データに基づいて自動
リズム演奏を行なう際に検出手段により特定のイベント
データが検出されるのに応答して前方タイミングで特定
のイベントデータに基づいて特定のリズム音を発生した
後、タイミングデータの指示する発音タイミングで新た
なイベントデータに基づいて新たなリズム音を発生す
る。
【0006】一例として、特定のリズム音をスネアドラ
ム音とすれば、スネアドラム音を所定の拍タイミングか
ら指示に係るずれ量だけ前に発生し、この後新たなリズ
ム音としてスナップ音を発生することができる。
ム音とすれば、スネアドラム音を所定の拍タイミングか
ら指示に係るずれ量だけ前に発生し、この後新たなリズ
ム音としてスナップ音を発生することができる。
【0007】第1の自動リズム演奏装置にあっては、検
出手段は、所定の拍タイミングから指示手段で指示され
たずれた量だけ前方にずれた前方タイミングに達したか
判定する第1の判定手段と、この第1の判定手段の判定
結果が肯定的になるのに応答して所定の拍タイミングに
スネアドラム音等の所定の音色のイベントデータ(特定
のイベントデータ)が存在するか判定する第2の判定手
段とで構成することができる。
出手段は、所定の拍タイミングから指示手段で指示され
たずれた量だけ前方にずれた前方タイミングに達したか
判定する第1の判定手段と、この第1の判定手段の判定
結果が肯定的になるのに応答して所定の拍タイミングに
スネアドラム音等の所定の音色のイベントデータ(特定
のイベントデータ)が存在するか判定する第2の判定手
段とで構成することができる。
【0008】第1の自動リズム演奏装置において、デー
タ発生手段は、タイミングデータの指示する発音タイミ
ングを指示手段で指示されるずれ量に応じて決定するよ
うにしてもよい。また、指示手段は、新たなリズム音の
発音強度を決定するためのパラメータを記憶情報又はパ
ネルスイッチ操作情報に基づいて指示し、データ発生手
段は、検出手段により特定のイベントデータが検出され
るのに応答して新たなリズム音の発音強度を指示するベ
ロシティデータを発生すると共に、該ベロシティデータ
の指示する発音強度を指示手段で指示されるパラメータ
に基づいて決定し、演奏手段は、ベロシティデータの指
示する発音強度で新たなリズム音を発生するようにして
もよい。このように新たなリズム音に関して記憶情報又
はパネルスイッチ操作情報に基づいて発音タイミング又
は発音強度を決定するようにした場合は、新たなリズム
音を決定に係る発音タイミング又は発音強度で発生する
ことができる。
タ発生手段は、タイミングデータの指示する発音タイミ
ングを指示手段で指示されるずれ量に応じて決定するよ
うにしてもよい。また、指示手段は、新たなリズム音の
発音強度を決定するためのパラメータを記憶情報又はパ
ネルスイッチ操作情報に基づいて指示し、データ発生手
段は、検出手段により特定のイベントデータが検出され
るのに応答して新たなリズム音の発音強度を指示するベ
ロシティデータを発生すると共に、該ベロシティデータ
の指示する発音強度を指示手段で指示されるパラメータ
に基づいて決定し、演奏手段は、ベロシティデータの指
示する発音強度で新たなリズム音を発生するようにして
もよい。このように新たなリズム音に関して記憶情報又
はパネルスイッチ操作情報に基づいて発音タイミング又
は発音強度を決定するようにした場合は、新たなリズム
音を決定に係る発音タイミング又は発音強度で発生する
ことができる。
【0009】本発明に係る第2の自動リズム演奏装置
は、特定のリズム音を指示する特定のイベントデータを
含む自動リズム演奏データを記憶する記憶手段と、第1
〜第3のモードのうちから任意の1つのモードを記憶情
報又はパネルスイッチ操作情報に基づいて指定する指定
手段と、前記特定のリズム音を所定の拍タイミングから
前方へずらして発音するためのずれ量を記憶情報又はパ
ネルスイッチ操作情報に基づいて指示する指示手段と、
前記記憶手段から自動リズム演奏データを読み出す読み
出し手段と、 前記読み出し手段により読み出される自動
リズム演奏データ中から前記特定のイベントデータを検
出する検出手段であって、前記指定手段により前記第2
のモードが指定されたときは特定の拍タイミングで前記
特定のイベントデータの検出を行ない、前記指定手段に
より前記第3のモードが指定されたときは前記所定の拍
タイミングから前記指示手段で指示されたずれ量だけ前
方にずれた前方タイミングで前記特定のイベントデータ
の検出を行なうものと、前記指定手段により前記第2の
モードが指定されたときは前記検出手段により前記特定
のイベントデータが検出されるのに応答して、第1の新
たなリズム音を指示する第1の新たなイベントデータ
と、前記特定の拍タイミングから遅れた前記第1の新た
なリズム音の発音タイミングを指示する第1のタイミン
グデータとを発生し、前記指定手段により前記第3のモ
ードが指定されたときは前記検出手段により前記特定の
イベントデータが検出されるのに応答して、第2の新た
なリズム音を指示する第2の新たなイベントデータと、
前記前方タイミングから遅れた前記第2の新たなリズム
音の発音タイミングを指示する第2のタイミングデータ
とを発生するデータ発生手段と、前記指定手段により前
記第1〜第3のモードのうちの1つのモードが指定され
たとき前記読み出し手段により読み出される自動リズム
演奏データに基づいて自動リズム演奏を行なう演奏手段
であって、前記指定手段により前記第2のモードが指定
されたときは前記検出手段により前記特定のイベントデ
ータが検出されるのに応答して前記特定の拍タイミング
で前記特定のイベントデータに基づいて前記特定のリズ
ム音を発生した後、前記第1のタイミングデータの指示
する発音タイミングで前記第1の新たなイベントデータ
に基づいて前記第1の新たなリズム音を発生し、前記指
定手段により前記第3のモードが指定されたときは前記
検出手段により前記特定のイベントデータが検出される
のに応答して前記前方タイミングで前記特定のイベント
データに基づいて前記特定のリズム音を発生した後、前
記第2のタイミングデータの指示する発音タイミングで
前記第2の新たなイベントデータに基づいて前記第2の
新たなリズム音を発生するものとを備えたものである。
は、特定のリズム音を指示する特定のイベントデータを
含む自動リズム演奏データを記憶する記憶手段と、第1
〜第3のモードのうちから任意の1つのモードを記憶情
報又はパネルスイッチ操作情報に基づいて指定する指定
手段と、前記特定のリズム音を所定の拍タイミングから
前方へずらして発音するためのずれ量を記憶情報又はパ
ネルスイッチ操作情報に基づいて指示する指示手段と、
前記記憶手段から自動リズム演奏データを読み出す読み
出し手段と、 前記読み出し手段により読み出される自動
リズム演奏データ中から前記特定のイベントデータを検
出する検出手段であって、前記指定手段により前記第2
のモードが指定されたときは特定の拍タイミングで前記
特定のイベントデータの検出を行ない、前記指定手段に
より前記第3のモードが指定されたときは前記所定の拍
タイミングから前記指示手段で指示されたずれ量だけ前
方にずれた前方タイミングで前記特定のイベントデータ
の検出を行なうものと、前記指定手段により前記第2の
モードが指定されたときは前記検出手段により前記特定
のイベントデータが検出されるのに応答して、第1の新
たなリズム音を指示する第1の新たなイベントデータ
と、前記特定の拍タイミングから遅れた前記第1の新た
なリズム音の発音タイミングを指示する第1のタイミン
グデータとを発生し、前記指定手段により前記第3のモ
ードが指定されたときは前記検出手段により前記特定の
イベントデータが検出されるのに応答して、第2の新た
なリズム音を指示する第2の新たなイベントデータと、
前記前方タイミングから遅れた前記第2の新たなリズム
音の発音タイミングを指示する第2のタイミングデータ
とを発生するデータ発生手段と、前記指定手段により前
記第1〜第3のモードのうちの1つのモードが指定され
たとき前記読み出し手段により読み出される自動リズム
演奏データに基づいて自動リズム演奏を行なう演奏手段
であって、前記指定手段により前記第2のモードが指定
されたときは前記検出手段により前記特定のイベントデ
ータが検出されるのに応答して前記特定の拍タイミング
で前記特定のイベントデータに基づいて前記特定のリズ
ム音を発生した後、前記第1のタイミングデータの指示
する発音タイミングで前記第1の新たなイベントデータ
に基づいて前記第1の新たなリズム音を発生し、前記指
定手段により前記第3のモードが指定されたときは前記
検出手段により前記特定のイベントデータが検出される
のに応答して前記前方タイミングで前記特定のイベント
データに基づいて前記特定のリズム音を発生した後、前
記第2のタイミングデータの指示する発音タイミングで
前記第2の新たなイベントデータに基づいて前記第2の
新たなリズム音を発生するものとを備えたものである。
【0010】第2の自動リズム演奏装置によれば、指定
手段により第1のモードが指定されたときは、演奏手段
が記憶手段から読み出される自動リズム演奏データに基
づいて自動リズム演奏を行なう。
手段により第1のモードが指定されたときは、演奏手段
が記憶手段から読み出される自動リズム演奏データに基
づいて自動リズム演奏を行なう。
【0011】また、指定手段により第2のモードが指定
されたときは、検出手段が特定の拍タイミングで特定の
イベントデータを検出し、この検出に応答してデータ発
生手段が第1の新たなリズム音を指示する第1の新たな
イベントデータと、特定の拍タイミングから遅れた第1
の新たなリズム音の発音タイミングを指示する第1のタ
イミングデータとを発生する。そして、演奏手段は、記
憶手段から読み出される自動リズム演奏データに基づい
て自動リズム演奏を行なう際に検出手段により特定のイ
ベントデータが検出されるのに応答して特定の拍タイミ
ングで特定のイベントデータに基づいてスネアドラム音
等の特定のリズム音を発生した後、第1のタイミングデ
ータの指示する発音タイミングで第1の新たなイベント
データに基づいてスナップ音等の第1の新たなリズム音
を発生する。
されたときは、検出手段が特定の拍タイミングで特定の
イベントデータを検出し、この検出に応答してデータ発
生手段が第1の新たなリズム音を指示する第1の新たな
イベントデータと、特定の拍タイミングから遅れた第1
の新たなリズム音の発音タイミングを指示する第1のタ
イミングデータとを発生する。そして、演奏手段は、記
憶手段から読み出される自動リズム演奏データに基づい
て自動リズム演奏を行なう際に検出手段により特定のイ
ベントデータが検出されるのに応答して特定の拍タイミ
ングで特定のイベントデータに基づいてスネアドラム音
等の特定のリズム音を発生した後、第1のタイミングデ
ータの指示する発音タイミングで第1の新たなイベント
データに基づいてスナップ音等の第1の新たなリズム音
を発生する。
【0012】さらに、指定手段により第3のモードが指
定されたときは、検出手段が所定の拍タイミングから指
示手段で指示されたずれ量だけ前方にずれた前方タイミ
ングで特定のイベントデータを検出し、この検出に応答
してデータ発生手段が第2の新たなリズム音を指示する
第2の新たなイベントデータと、前方タイミングから遅
れた第2の新たなリズム音の発音タイミングを指示する
第2のタイミングデータとを発生する。そして、演奏手
段は、記憶手段から読み出される自動リズム演奏データ
に基づいて自動リズム演奏を行なう際に検出手段により
特定のイベントデータが検出されるのに応答して前方タ
イミングで特定のイベントデータに基づいてスネアドラ
ム音等の特定のリズム音を発生した後、第2のタイミン
グデータの指示する発音タイミングで第2の新たなイベ
ントデータに基づいてスナップ音等の第2の新たなリズ
ム音を発生する。
定されたときは、検出手段が所定の拍タイミングから指
示手段で指示されたずれ量だけ前方にずれた前方タイミ
ングで特定のイベントデータを検出し、この検出に応答
してデータ発生手段が第2の新たなリズム音を指示する
第2の新たなイベントデータと、前方タイミングから遅
れた第2の新たなリズム音の発音タイミングを指示する
第2のタイミングデータとを発生する。そして、演奏手
段は、記憶手段から読み出される自動リズム演奏データ
に基づいて自動リズム演奏を行なう際に検出手段により
特定のイベントデータが検出されるのに応答して前方タ
イミングで特定のイベントデータに基づいてスネアドラ
ム音等の特定のリズム音を発生した後、第2のタイミン
グデータの指示する発音タイミングで第2の新たなイベ
ントデータに基づいてスナップ音等の第2の新たなリズ
ム音を発生する。
【0013】この発明に係る第3の自動リズム演奏装置
は、特定のリズム音を指示する特定のイベントデータを
含む自動リズム演奏データを記憶する記憶手段と、この
記憶手段から自動リズム演奏データを読み出す読み出し
手段と、この読み出し手段により読み出される自動リズ
ム演奏データ中から前記特定のイベントデータを検出す
る検出手段であって、特定の拍タイミングで前記特定の
イベントデータの検出を行なうものと、この検出手段に
より前記特定のイベントデータが検出されるのに応答し
て、新たなリズム音を指示する新たなイベントデータ
と、前記特定の拍タイミングから遅れた前記新たなリズ
ム音の発音タイミングを指示するタイミングデータとを
発生するデータ発生手段と、前記読み出し手段により読
み出される自動リズム演奏データに前記新たなイベント
データ及び前記タイミングデータを付加して新たな自動
リズム演奏データを作成するデータ作成手段と、このデ
ータ作成手段で作成された新たな自動リズム演奏データ
に基づいて自動リズム演奏を行なう演奏手段であって、
前記特定の拍タイミングで前記特定のイベントデータに
基づいて前記特定のリズム音を発生した後、前記タイミ
ングデータの指示する発音タイミングで前記新たなイベ
ントデータに基づいて前記新たなリズム音を発生するも
のとを備えたものである。
は、特定のリズム音を指示する特定のイベントデータを
含む自動リズム演奏データを記憶する記憶手段と、この
記憶手段から自動リズム演奏データを読み出す読み出し
手段と、この読み出し手段により読み出される自動リズ
ム演奏データ中から前記特定のイベントデータを検出す
る検出手段であって、特定の拍タイミングで前記特定の
イベントデータの検出を行なうものと、この検出手段に
より前記特定のイベントデータが検出されるのに応答し
て、新たなリズム音を指示する新たなイベントデータ
と、前記特定の拍タイミングから遅れた前記新たなリズ
ム音の発音タイミングを指示するタイミングデータとを
発生するデータ発生手段と、前記読み出し手段により読
み出される自動リズム演奏データに前記新たなイベント
データ及び前記タイミングデータを付加して新たな自動
リズム演奏データを作成するデータ作成手段と、このデ
ータ作成手段で作成された新たな自動リズム演奏データ
に基づいて自動リズム演奏を行なう演奏手段であって、
前記特定の拍タイミングで前記特定のイベントデータに
基づいて前記特定のリズム音を発生した後、前記タイミ
ングデータの指示する発音タイミングで前記新たなイベ
ントデータに基づいて前記新たなリズム音を発生するも
のとを備えたものである。
【0014】第3の自動リズム演奏装置によれば、検出
手段が記憶手段から読み出される自動リズム演奏データ
中から特定のイベントデータを検出する際に特定のイベ
ントデータの検出を特定の拍タイミングで行なう。検出
手段が特定のイベントデータを検出するのに応答してデ
ータ発生手段が新たなリズム音を指示する新たなイベン
トデータと、特定の拍タイミングから遅れた新たなリズ
ム音の発音タイミングを指示するタイミングデータとを
発生する。データ作成手段は、記憶手段から読み出され
る自動リズム演奏データに新たなイベントデータ及びタ
イミングデータを付加して新たな自動リズム演奏データ
を作成する。そして、演奏手段は、作成された新たな自
動リズム演奏データに基づいて自動リズム演奏を行なう
際に特定の拍タイミングで特定のイベントデータに基づ
いてスネアドラム音等の特定のリズム音を発生した後、
タイミングデータの指示する発音タイミングで新たなイ
ベントデータに基づいてスナップ音等の新たなリズム音
を発生する。自動リズム演奏は、新たな自動リズム演奏
データが作成された後でユーザが希望するときに行なう
ことができる。
手段が記憶手段から読み出される自動リズム演奏データ
中から特定のイベントデータを検出する際に特定のイベ
ントデータの検出を特定の拍タイミングで行なう。検出
手段が特定のイベントデータを検出するのに応答してデ
ータ発生手段が新たなリズム音を指示する新たなイベン
トデータと、特定の拍タイミングから遅れた新たなリズ
ム音の発音タイミングを指示するタイミングデータとを
発生する。データ作成手段は、記憶手段から読み出され
る自動リズム演奏データに新たなイベントデータ及びタ
イミングデータを付加して新たな自動リズム演奏データ
を作成する。そして、演奏手段は、作成された新たな自
動リズム演奏データに基づいて自動リズム演奏を行なう
際に特定の拍タイミングで特定のイベントデータに基づ
いてスネアドラム音等の特定のリズム音を発生した後、
タイミングデータの指示する発音タイミングで新たなイ
ベントデータに基づいてスナップ音等の新たなリズム音
を発生する。自動リズム演奏は、新たな自動リズム演奏
データが作成された後でユーザが希望するときに行なう
ことができる。
【0015】
【発明の実施の形態】以下、図面を参照しながら、本発
明の一実施形態に係る自動リズム演奏装置を詳細に説明
する。図1はハード構成のブロック図である。CPU
(中央処理装置)1は装置全体の動作を制御するもので
あり、ROM(リード・オンリィ・メモリ)3に記憶さ
れた制御プログラムにしたがって処理を実行する。ま
た、CPU1と各部とはバス2を介して接続されてお
り、各種データの送受が行なわれれる。RAM(ランダ
ム・アクセス・メモリ)4はCPU1による処理時にお
いて発生する各種データを一時的に記憶するバッファ、
レジスタ、フラグ等の領域が設けられているとともに、
図2に示すような自動リズム演奏データを記憶する領域
も設けられている。タイマ11はCPU1に対して割り
込み信号を供給するもので、テンポに応じた可変周期で
割り込み信号を発生する。テンポに応じた割り込み信号
の発生周期は、たとえば4分音符当り96回信号が発生
する周期、即ち384分音符毎の周期である。CPU1
は、この割り込み信号の発生に従ってRAM4に記憶さ
れた自動リズム演奏データの読み出し処理を実行するこ
とによって、所定のテンポでの自動リズム演奏を実現し
ている。
明の一実施形態に係る自動リズム演奏装置を詳細に説明
する。図1はハード構成のブロック図である。CPU
(中央処理装置)1は装置全体の動作を制御するもので
あり、ROM(リード・オンリィ・メモリ)3に記憶さ
れた制御プログラムにしたがって処理を実行する。ま
た、CPU1と各部とはバス2を介して接続されてお
り、各種データの送受が行なわれれる。RAM(ランダ
ム・アクセス・メモリ)4はCPU1による処理時にお
いて発生する各種データを一時的に記憶するバッファ、
レジスタ、フラグ等の領域が設けられているとともに、
図2に示すような自動リズム演奏データを記憶する領域
も設けられている。タイマ11はCPU1に対して割り
込み信号を供給するもので、テンポに応じた可変周期で
割り込み信号を発生する。テンポに応じた割り込み信号
の発生周期は、たとえば4分音符当り96回信号が発生
する周期、即ち384分音符毎の周期である。CPU1
は、この割り込み信号の発生に従ってRAM4に記憶さ
れた自動リズム演奏データの読み出し処理を実行するこ
とによって、所定のテンポでの自動リズム演奏を実現し
ている。
【0016】パッド5は複数のパッド(打面)を有し、
演奏者によってパッドが操作されると、その操作をパッ
ド検出回路6が検出し、バス2を介してCPU1へ操作
情報が出力される。CPU1はパッド操作情報にもとづ
いてノート(演奏)データを作成し、バス2を介して音
源回路10へ出力する。音源回路10においては供給さ
れたノートデータにもとづいて打楽器音波形信号を形成
する。音源回路の方式としては、周知の波形メモリ読み
出し方式、FM(周波数変調)方式や物理モデルシュミ
レーション方式等が用いられる。音源回路10において
形成された打楽器音波形信号はサウンドシステム(S
S)13へ供給され、打楽器音が放音される。
演奏者によってパッドが操作されると、その操作をパッ
ド検出回路6が検出し、バス2を介してCPU1へ操作
情報が出力される。CPU1はパッド操作情報にもとづ
いてノート(演奏)データを作成し、バス2を介して音
源回路10へ出力する。音源回路10においては供給さ
れたノートデータにもとづいて打楽器音波形信号を形成
する。音源回路の方式としては、周知の波形メモリ読み
出し方式、FM(周波数変調)方式や物理モデルシュミ
レーション方式等が用いられる。音源回路10において
形成された打楽器音波形信号はサウンドシステム(S
S)13へ供給され、打楽器音が放音される。
【0017】7はパネルスイッチであり、自動リズム演
奏のスタート/ストップ等各種機能を指定するための多
数のスイッチを有する。これらスイッチの操作は、スイ
ッチ検出回路8によって検出され、スイッチ操作情報が
バス2を介してCPU1へ供給される。CPU1は、供
給されたスイッチ操作情報に従って各種機能を実行す
る。9は表示回路であり、各種データ、たとえば現在の
自動リズム演奏装置の動作状態等を表示する。12はM
IDIインターフェース(I/F)であり、パッド5の
操作や、自動リズム演奏処理によって発生したノートイ
ベントデータ等を外部音源装置等へ出力したり、音源回
路10の駆動や自動リズム演奏データの入力等のため
に、外部電子打楽器等からノートイベントデータ等を受
信したりするものである。また、外部自動演奏装置等と
同期をとるための信号(MIDIクロック)の送受信に
も用いられる。
奏のスタート/ストップ等各種機能を指定するための多
数のスイッチを有する。これらスイッチの操作は、スイ
ッチ検出回路8によって検出され、スイッチ操作情報が
バス2を介してCPU1へ供給される。CPU1は、供
給されたスイッチ操作情報に従って各種機能を実行す
る。9は表示回路であり、各種データ、たとえば現在の
自動リズム演奏装置の動作状態等を表示する。12はM
IDIインターフェース(I/F)であり、パッド5の
操作や、自動リズム演奏処理によって発生したノートイ
ベントデータ等を外部音源装置等へ出力したり、音源回
路10の駆動や自動リズム演奏データの入力等のため
に、外部電子打楽器等からノートイベントデータ等を受
信したりするものである。また、外部自動演奏装置等と
同期をとるための信号(MIDIクロック)の送受信に
も用いられる。
【0018】次に図2を参照して自動リズム演奏データ
のフォーマットについて説明する。(A)は自動リズム
演奏データの大まかな構成を示すものであり、ヘッダ部
とパターンデータ部とからなる。ヘッダ部とパターンデ
ータ部のそれぞれの詳細を(B)に示す。ヘッダ部には
自動リズム演奏の条件に関して、様々な情報が記憶され
ている。TYPEは自動リズム演奏に付与する効果のタ
イプを示すデータである。このTYPEは0の時にノリ
を付与する効果をかけないことを示し、1のときに「偶
数拍のスネアドラムにスナップ音を付加するとともに、
偶数拍の音を突っ込ませる」第1の効果、2の時に「2
拍目のスネアドラムにスナップ音を付加するとともに、
8分、もしくは12分(3連)表のハイハットのベロシ
ティを増加、裏のベロシティを減少させる」第2の効果
を付与するようになっている。LEVELはスネアドラ
ムのスナップ音を付加するときや、ハイハットの演奏に
強弱を与えるときのベロシティ値を決定するデータ、T
IMINGは所定の拍タイミングに存在するノートデー
タの発音タイミングを前方へずらすときのずれ量を示す
データ、QUANTIZEはスネアドラムのスナップ音
を付加するときの付加タイミングや、ハイハットのベロ
シティを変更する位置を決定するデータである。LEV
ELはたとえば1から10の値をとり、TIMINGは
たとえば2から30の値をとる。QUANTIZEは8
分または12分である。その他、ヘッダ部には拍子、小
節等に関するデータも記憶されている。
のフォーマットについて説明する。(A)は自動リズム
演奏データの大まかな構成を示すものであり、ヘッダ部
とパターンデータ部とからなる。ヘッダ部とパターンデ
ータ部のそれぞれの詳細を(B)に示す。ヘッダ部には
自動リズム演奏の条件に関して、様々な情報が記憶され
ている。TYPEは自動リズム演奏に付与する効果のタ
イプを示すデータである。このTYPEは0の時にノリ
を付与する効果をかけないことを示し、1のときに「偶
数拍のスネアドラムにスナップ音を付加するとともに、
偶数拍の音を突っ込ませる」第1の効果、2の時に「2
拍目のスネアドラムにスナップ音を付加するとともに、
8分、もしくは12分(3連)表のハイハットのベロシ
ティを増加、裏のベロシティを減少させる」第2の効果
を付与するようになっている。LEVELはスネアドラ
ムのスナップ音を付加するときや、ハイハットの演奏に
強弱を与えるときのベロシティ値を決定するデータ、T
IMINGは所定の拍タイミングに存在するノートデー
タの発音タイミングを前方へずらすときのずれ量を示す
データ、QUANTIZEはスネアドラムのスナップ音
を付加するときの付加タイミングや、ハイハットのベロ
シティを変更する位置を決定するデータである。LEV
ELはたとえば1から10の値をとり、TIMINGは
たとえば2から30の値をとる。QUANTIZEは8
分または12分である。その他、ヘッダ部には拍子、小
節等に関するデータも記憶されている。
【0019】一方、パターンデータ部にはたとえば1か
ら複数小節分の自動リズム演奏データが、イベントデー
タとタイミングデータとからなるフォーマットで記憶さ
れている。イベントデータは(C)に示すように打楽器
音の種類を表わすノートナンバと、打楽器音の発音強度
を示すベロシティとからなる。タイミングデータはイベ
ントデータとイベントデータの間隔を示すデータであ
り、クロック数(前述のタイマ割り込み間隔を1クロッ
クとする)で表わされている。同じタイミングに複数の
ドラム音を発生させるときは、1つのタイミングに対し
てイベントデータを複数並べて記憶させている。このデ
ータフォーマットは一例であり、他のフォーマットにて
自動リズム演奏データを記憶させてもよいことはもちろ
んである。
ら複数小節分の自動リズム演奏データが、イベントデー
タとタイミングデータとからなるフォーマットで記憶さ
れている。イベントデータは(C)に示すように打楽器
音の種類を表わすノートナンバと、打楽器音の発音強度
を示すベロシティとからなる。タイミングデータはイベ
ントデータとイベントデータの間隔を示すデータであ
り、クロック数(前述のタイマ割り込み間隔を1クロッ
クとする)で表わされている。同じタイミングに複数の
ドラム音を発生させるときは、1つのタイミングに対し
てイベントデータを複数並べて記憶させている。このデ
ータフォーマットは一例であり、他のフォーマットにて
自動リズム演奏データを記憶させてもよいことはもちろ
んである。
【0020】次に図3から図8のフローチャートを参照
して、CPU1による処理の詳細を説明する。図3から
図8のフローチャートは前述したタイマ11によるタイ
マ割り込み信号が発生する毎に実行される処理であっ
て、図示しないメインルーチン(パッド5関連の処理や
スイッチ7関連の処理等を行なう)の処理中に割り込ん
で自動リズム演奏に関わる処理を行なうものである。な
お、この実施形態においては、図2(B)に示したヘッ
ダ部中のTYPEに応じて異なる処理を行なうようにし
ている。すなわち、TYPEが1の時は図3から図6の
処理を、TYPEが2の時は図5、図7及び図8の処理
を行なう。TYPEが0の時は従来の自動リズム演奏の
処理と同様のものであるので、ここではその説明を省略
する。また、自動リズム演奏の開始/停止に関するスイ
ッチ7の処理、及びそれによるレジスタ等の初期設定に
関する処理も、周知であるので省略する。
して、CPU1による処理の詳細を説明する。図3から
図8のフローチャートは前述したタイマ11によるタイ
マ割り込み信号が発生する毎に実行される処理であっ
て、図示しないメインルーチン(パッド5関連の処理や
スイッチ7関連の処理等を行なう)の処理中に割り込ん
で自動リズム演奏に関わる処理を行なうものである。な
お、この実施形態においては、図2(B)に示したヘッ
ダ部中のTYPEに応じて異なる処理を行なうようにし
ている。すなわち、TYPEが1の時は図3から図6の
処理を、TYPEが2の時は図5、図7及び図8の処理
を行なう。TYPEが0の時は従来の自動リズム演奏の
処理と同様のものであるので、ここではその説明を省略
する。また、自動リズム演奏の開始/停止に関するスイ
ッチ7の処理、及びそれによるレジスタ等の初期設定に
関する処理も、周知であるので省略する。
【0021】図3のタイマ割り込み処理1において、ス
テップS1ではレジスタTIME1に記憶された値が0
であるか否かを判断する。ここで、レジスタTIME1
は図2(B)で示したパターンデータ部中のタイミング
データが格納され、後述するステップS6にてセットさ
れ、ステップS9にてデクリメントされていくものであ
る。また、自動リズム演奏開始時にも、最初のタイミン
グデータが初期セットされるが、この演奏開始時の処理
に関しては上述したように周知のため省略している。こ
こではTIME1の値がすでにセットされているものと
して話を進めていく。ステップS1においてTIME=
0と判断されたときはタイミングデータが示す時間が経
過したことになり、ステップS2以降に進んで、イベン
トデータの読み出し、次のタイミングデータのセットに
関する処理が実行される。ステップS2において次のア
ドレスのデータ、すなわちこの場合はタイミングデータ
が記憶されているアドレスの次のアドレスのデータが読
み出され、ステップS3にてそれがタイミングデータで
あったか否かが判断される。タイミングデータの次には
イベントデータが記憶されているので、ステップS3の
処理はここではNoとなり、ステップS4へ進む。ステ
ップS4では読み出したイベントデータがすでに音源回
路10へ出力されたものであるか否かが判断される。通
常はNoであり、ステップS5へ進んで読み出されたイ
ベントデータを音源回路10へ出力し、ドラム音が発生
される。ステップS4でYesと判断されるのは後述す
るステップS7の先読み処理によって現在のタイミング
(小節内の位置)よりも後ろのデータが読み出され、ス
テップS34にてそれが音源回路10へ出力されている
場合である。これらの処理については後述する。
テップS1ではレジスタTIME1に記憶された値が0
であるか否かを判断する。ここで、レジスタTIME1
は図2(B)で示したパターンデータ部中のタイミング
データが格納され、後述するステップS6にてセットさ
れ、ステップS9にてデクリメントされていくものであ
る。また、自動リズム演奏開始時にも、最初のタイミン
グデータが初期セットされるが、この演奏開始時の処理
に関しては上述したように周知のため省略している。こ
こではTIME1の値がすでにセットされているものと
して話を進めていく。ステップS1においてTIME=
0と判断されたときはタイミングデータが示す時間が経
過したことになり、ステップS2以降に進んで、イベン
トデータの読み出し、次のタイミングデータのセットに
関する処理が実行される。ステップS2において次のア
ドレスのデータ、すなわちこの場合はタイミングデータ
が記憶されているアドレスの次のアドレスのデータが読
み出され、ステップS3にてそれがタイミングデータで
あったか否かが判断される。タイミングデータの次には
イベントデータが記憶されているので、ステップS3の
処理はここではNoとなり、ステップS4へ進む。ステ
ップS4では読み出したイベントデータがすでに音源回
路10へ出力されたものであるか否かが判断される。通
常はNoであり、ステップS5へ進んで読み出されたイ
ベントデータを音源回路10へ出力し、ドラム音が発生
される。ステップS4でYesと判断されるのは後述す
るステップS7の先読み処理によって現在のタイミング
(小節内の位置)よりも後ろのデータが読み出され、ス
テップS34にてそれが音源回路10へ出力されている
場合である。これらの処理については後述する。
【0022】次にステップS2へ戻り、再び次のアドレ
スのデータが読み出される。同じタイミングに複数のイ
ベントデータが同時発生する場合はここで再びイベント
データが読み出されるので、ステップS3でNoと判断
され、上記の処理が繰り返されるが、そうでない場合、
すなわちタイミングデータが読み出された場合は、ステ
ップS6へ進んで、読み出したタイミングデータをレジ
スタTIME1へと格納する。この後、あるいはステッ
プS1でNoと判断された場合は、ステップS7へ進ん
で、イベントデータの先読み処理を実行する。このステ
ップS7の詳細処理については、図4を参照して説明す
る。
スのデータが読み出される。同じタイミングに複数のイ
ベントデータが同時発生する場合はここで再びイベント
データが読み出されるので、ステップS3でNoと判断
され、上記の処理が繰り返されるが、そうでない場合、
すなわちタイミングデータが読み出された場合は、ステ
ップS6へ進んで、読み出したタイミングデータをレジ
スタTIME1へと格納する。この後、あるいはステッ
プS1でNoと判断された場合は、ステップS7へ進ん
で、イベントデータの先読み処理を実行する。このステ
ップS7の詳細処理については、図4を参照して説明す
る。
【0023】図4において、ステップS21では現在の
BEATが1または3、かつ「CLOCK+TIMIN
G」の値が96であるか否かが判断される。ここで、レ
ジスタBEATは小節内の現在の拍位置を示すレジスタ
である。すなわち、自動リズム演奏の進行位置が1拍目
の時はレジスタBEATの値は1となり、2拍目の時は
2となる。レジスタCLOCKは各拍内における進行位
置を示すレジスタであり、1拍を96分割した時の位置
で表わされる。すなわち、進行位置が拍タイミングと一
致しているときはCLOCKの値は0となり、その次の
位置はCLOCKの値は1、その次は2・・・と95ま
でタイマ割り込み処理1回毎に1ずつインクリメントさ
れていく。TIMIMGは前述した図2(B)のヘッダ
部に記憶されている情報であり、ここでは2から30の
値をとる。TIMINGはノートイベントの発生タイミ
ングを前方へずらす量を示すものであり、「CLOCK
+TIMING」=96になるということは、現在の進
行位置が拍タイミングからTIMINGだけ前の位置で
あるということを表わす。そして、BEAT=1または
3ということは1拍目の途中、又は3拍目の途中という
ことになる。したがって1拍目の途中で、かつ拍タイミ
ング(すなわち2拍目)からTIMINGだけ前の位置
に達した、または、3拍目の途中で、かつ拍タイミング
(すなわち4拍目)からTIMINGだけ前の位置に達
したということになる。
BEATが1または3、かつ「CLOCK+TIMIN
G」の値が96であるか否かが判断される。ここで、レ
ジスタBEATは小節内の現在の拍位置を示すレジスタ
である。すなわち、自動リズム演奏の進行位置が1拍目
の時はレジスタBEATの値は1となり、2拍目の時は
2となる。レジスタCLOCKは各拍内における進行位
置を示すレジスタであり、1拍を96分割した時の位置
で表わされる。すなわち、進行位置が拍タイミングと一
致しているときはCLOCKの値は0となり、その次の
位置はCLOCKの値は1、その次は2・・・と95ま
でタイマ割り込み処理1回毎に1ずつインクリメントさ
れていく。TIMIMGは前述した図2(B)のヘッダ
部に記憶されている情報であり、ここでは2から30の
値をとる。TIMINGはノートイベントの発生タイミ
ングを前方へずらす量を示すものであり、「CLOCK
+TIMING」=96になるということは、現在の進
行位置が拍タイミングからTIMINGだけ前の位置で
あるということを表わす。そして、BEAT=1または
3ということは1拍目の途中、又は3拍目の途中という
ことになる。したがって1拍目の途中で、かつ拍タイミ
ング(すなわち2拍目)からTIMINGだけ前の位置
に達した、または、3拍目の途中で、かつ拍タイミング
(すなわち4拍目)からTIMINGだけ前の位置に達
したということになる。
【0024】以上のことから、ステップS21でYes
となるときは、前述した「偶数拍のスネアドラムにスナ
ップ音を付加し、偶数拍の音を突っ込ませる」場合の、
「偶数拍の音を突っ込ませる」処理を行なうべきタイミ
ングであることを示している。すなわち突っ込ませた音
が鳴るべきタイミングの時、後ろのデータを先読みする
ことで、突っ込ませる処理を実現しているのである。ス
テップS21の判断がYesの時はステップS22へ進
み、Noの時はそのままリターンして元の図3の処理に
戻る。
となるときは、前述した「偶数拍のスネアドラムにスナ
ップ音を付加し、偶数拍の音を突っ込ませる」場合の、
「偶数拍の音を突っ込ませる」処理を行なうべきタイミ
ングであることを示している。すなわち突っ込ませた音
が鳴るべきタイミングの時、後ろのデータを先読みする
ことで、突っ込ませる処理を実現しているのである。ス
テップS21の判断がYesの時はステップS22へ進
み、Noの時はそのままリターンして元の図3の処理に
戻る。
【0025】ステップS22では現在のアドレス値をR
AM4内に設けられたテンポラリバッファに一時退避し
ておく。ステップS23ではTIMINGの値をレジス
タREMAINへ格納する。レジスタREMAINは先
読みをするときに、拍タイミングまでの残りのタイミン
グがどれだけかを調べるための値を格納するものであ
り、後述するステップS25等で使用される。ステップ
S24ではレジスタTIME1の値をレジスタTIME
2へと格納する。TIME2はTIME1と同じくパタ
ーンデータ部中のタイミングデータが格納され、次のイ
ベントデータまでのタイミングを管理するレジスタであ
るが、TIME2はこの先読み処理のみで使用されるも
のである。
AM4内に設けられたテンポラリバッファに一時退避し
ておく。ステップS23ではTIMINGの値をレジス
タREMAINへ格納する。レジスタREMAINは先
読みをするときに、拍タイミングまでの残りのタイミン
グがどれだけかを調べるための値を格納するものであ
り、後述するステップS25等で使用される。ステップ
S24ではレジスタTIME1の値をレジスタTIME
2へと格納する。TIME2はTIME1と同じくパタ
ーンデータ部中のタイミングデータが格納され、次のイ
ベントデータまでのタイミングを管理するレジスタであ
るが、TIME2はこの先読み処理のみで使用されるも
のである。
【0026】ステップS25ではレジスタREMAIN
の値からレジスタTIME2の値を減算した値がいくつ
であるかが判断される。判断の結果が+(正の値)であ
るときは、ステップS26へ進んで、次のタイミングに
存在するイベントデータをサーチする。すなわち、RE
MAINの値からTIME2の値を減算した値が+の時
は拍タイミングまでの時間よりも次のイベントまでの時
間の方が短いため、拍タイミングは更に後ろのタイミン
グであると考えられるからである。ステップS26では
REMAINの値からTIME2値を減算したものをR
EMAINに格納し、REMAINの値を更新する。そ
してステップS27で次のアドレスのデータを読み出
し、ステップS28で読み出したデータがタイミングデ
ータであるか否かを判断する。そして、読み出したデー
タがタイミングデータとなるまでステップS27、28
の処理を繰り返し、この結果がYesとなったら、ステ
ップS29で読み出したタイミングデータをレジスタT
IME2へと格納し、再びステップS25の処理へと進
む。ステップS25での判断が0であるとき、拍タイミ
ングまでの時間と次のイベントまでの時間が等しいこと
になり、このタイミング、すなわち拍タイミングに存在
するイベントデータを音源回路10へと出力するため、
ステップS30以降の処理へ進む。
の値からレジスタTIME2の値を減算した値がいくつ
であるかが判断される。判断の結果が+(正の値)であ
るときは、ステップS26へ進んで、次のタイミングに
存在するイベントデータをサーチする。すなわち、RE
MAINの値からTIME2の値を減算した値が+の時
は拍タイミングまでの時間よりも次のイベントまでの時
間の方が短いため、拍タイミングは更に後ろのタイミン
グであると考えられるからである。ステップS26では
REMAINの値からTIME2値を減算したものをR
EMAINに格納し、REMAINの値を更新する。そ
してステップS27で次のアドレスのデータを読み出
し、ステップS28で読み出したデータがタイミングデ
ータであるか否かを判断する。そして、読み出したデー
タがタイミングデータとなるまでステップS27、28
の処理を繰り返し、この結果がYesとなったら、ステ
ップS29で読み出したタイミングデータをレジスタT
IME2へと格納し、再びステップS25の処理へと進
む。ステップS25での判断が0であるとき、拍タイミ
ングまでの時間と次のイベントまでの時間が等しいこと
になり、このタイミング、すなわち拍タイミングに存在
するイベントデータを音源回路10へと出力するため、
ステップS30以降の処理へ進む。
【0027】ステップS30では次のアドレスのデータ
を読み出し、ステップS31でそのデータがタイミング
データであるか否かを判断する。最初はイベントデータ
であるのでNoとなり、ステップS32へ進む。ステッ
プS32では読み出したイベントデータのノートナンバ
がスネアドラムのノートナンバと一致するか否かを判断
し、一致していたら、ステップS33でスナップ音の付
加処理を行なう。
を読み出し、ステップS31でそのデータがタイミング
データであるか否かを判断する。最初はイベントデータ
であるのでNoとなり、ステップS32へ進む。ステッ
プS32では読み出したイベントデータのノートナンバ
がスネアドラムのノートナンバと一致するか否かを判断
し、一致していたら、ステップS33でスナップ音の付
加処理を行なう。
【0028】ステップS33のスナップ音付加処理の詳
細を図5に示す。図5において、スってプS41では出
力待ちイベントバッファにスネアドラムのイベントを書
き込む。出力待ちイベントバッファとは、RAM4内に
設けられ、現在のタイミングよりも後のタイミングにて
所望のイベントを発生させるために用いるバッファであ
って、イベントデータとともに現在のタイミングからど
れだけ遅れて発生させるかを表わす待ち時間情報を記憶
しておき、待ち時間情報をタイマ割り込み処理毎にデク
リメントしていって、0となったときにそのイベントを
出力することで、遅らせて発音する機能を実現するもの
である。そしてイベントデータのベロシティ値を「元の
スネアドラムのベロシティ値/2+LEVEL」として
決定する。スナップ音のベロシティは元のスネアドラム
のベロシティよりも小さくし、かつLEVELの値に応
じて可変となるように、このような演算式によってスナ
ップ音のベロシティ値を決定している。なお、このほか
の求め方にてスナップ音のベロシティ値を決定してもよ
いことは勿論である。たとえばスナップ音のベロシティ
値は固定であってもよい。そして、待ち時間として、Q
UANTIZEの値に応じた値を設定する。たとえばQ
UANTIZEとしては8分音符と12分音符(3連系
のリズム)とがあるとすると、8分音符の時は待ち時間
=72(元のスネアドラムのイベントタイミングから付
点8分音符遅れた位置に相当)、12分音符の時は待ち
時間=64(元のスネアドラムのイベントタイミングか
ら12分音符2つ分遅れた位置に相当)だけ遅らせるよ
うな値を待ち時間として設定するとよい。勿論、この他
のタイミングに待ち時間を設定してもよい。
細を図5に示す。図5において、スってプS41では出
力待ちイベントバッファにスネアドラムのイベントを書
き込む。出力待ちイベントバッファとは、RAM4内に
設けられ、現在のタイミングよりも後のタイミングにて
所望のイベントを発生させるために用いるバッファであ
って、イベントデータとともに現在のタイミングからど
れだけ遅れて発生させるかを表わす待ち時間情報を記憶
しておき、待ち時間情報をタイマ割り込み処理毎にデク
リメントしていって、0となったときにそのイベントを
出力することで、遅らせて発音する機能を実現するもの
である。そしてイベントデータのベロシティ値を「元の
スネアドラムのベロシティ値/2+LEVEL」として
決定する。スナップ音のベロシティは元のスネアドラム
のベロシティよりも小さくし、かつLEVELの値に応
じて可変となるように、このような演算式によってスナ
ップ音のベロシティ値を決定している。なお、このほか
の求め方にてスナップ音のベロシティ値を決定してもよ
いことは勿論である。たとえばスナップ音のベロシティ
値は固定であってもよい。そして、待ち時間として、Q
UANTIZEの値に応じた値を設定する。たとえばQ
UANTIZEとしては8分音符と12分音符(3連系
のリズム)とがあるとすると、8分音符の時は待ち時間
=72(元のスネアドラムのイベントタイミングから付
点8分音符遅れた位置に相当)、12分音符の時は待ち
時間=64(元のスネアドラムのイベントタイミングか
ら12分音符2つ分遅れた位置に相当)だけ遅らせるよ
うな値を待ち時間として設定するとよい。勿論、この他
のタイミングに待ち時間を設定してもよい。
【0029】ステップS33の処理後、ステップS34
へ進んでイベントデータすなわちステップS30で読み
出されたスネアドラム音のイベントを音源回路10へ出
力する。一方、ステップS32でNoと判断されたとき
は、ステップS33の処理をとばし、読み出したイベン
トデータをステップS34で音源回路10へ出力する。
これによって、2拍目、4拍目に存在するイベントデー
タがTIMINGで設定された値だけ突っ込んで発音さ
れる。この後、再びステップS30へ戻り、次のデータ
を読み出す。それがタイミングデータとなるまで上記の
処理を繰り返し、ステップS31でYesと判断された
らステップS35で退避していたアドレス値を元に戻し
てリターンする。ステップS25の判断で、REMAI
Nの値からTIME2の値を減算した値がー(負の値)
と判断されたときは、拍タイミングまでの時間よりも次
のイベントまでの時間の方が長いことになり、拍タイミ
ングにはイベントが存在しないことになる。したがっ
て、突っ込んで発音すべきイベントがないので直ちにス
テップS35へ進んでアドレス値を元に戻した後、リタ
ーンする。
へ進んでイベントデータすなわちステップS30で読み
出されたスネアドラム音のイベントを音源回路10へ出
力する。一方、ステップS32でNoと判断されたとき
は、ステップS33の処理をとばし、読み出したイベン
トデータをステップS34で音源回路10へ出力する。
これによって、2拍目、4拍目に存在するイベントデー
タがTIMINGで設定された値だけ突っ込んで発音さ
れる。この後、再びステップS30へ戻り、次のデータ
を読み出す。それがタイミングデータとなるまで上記の
処理を繰り返し、ステップS31でYesと判断された
らステップS35で退避していたアドレス値を元に戻し
てリターンする。ステップS25の判断で、REMAI
Nの値からTIME2の値を減算した値がー(負の値)
と判断されたときは、拍タイミングまでの時間よりも次
のイベントまでの時間の方が長いことになり、拍タイミ
ングにはイベントが存在しないことになる。したがっ
て、突っ込んで発音すべきイベントがないので直ちにス
テップS35へ進んでアドレス値を元に戻した後、リタ
ーンする。
【0030】図3に戻り、ステップS7の後、ステップ
S8へ進んで、待ちイベント処理を実行する。この待ち
イベント処理の詳細を図6に示す。ステップS51にて
出力待ちイベントバッファに記憶されているイベントの
待ち時間の値が0であるものを検査し、該当するものが
あれば、ステップS52で該イベントデータを音源回路
10へ出力し、ステップS53でそのイベントデータを
出力待ちイベントバッファから削除する。その後、ある
いはステップS51でNoと判断されたときはステップ
S54で出力待ちイベントバッファに記憶されている待
ち時間の値をデクリメントする。この処理により、上述
した図5のステップS41でセットしたスナップ音が、
元のスネアドラムの発音から待ち時間分だけ遅れて発音
される。
S8へ進んで、待ちイベント処理を実行する。この待ち
イベント処理の詳細を図6に示す。ステップS51にて
出力待ちイベントバッファに記憶されているイベントの
待ち時間の値が0であるものを検査し、該当するものが
あれば、ステップS52で該イベントデータを音源回路
10へ出力し、ステップS53でそのイベントデータを
出力待ちイベントバッファから削除する。その後、ある
いはステップS51でNoと判断されたときはステップ
S54で出力待ちイベントバッファに記憶されている待
ち時間の値をデクリメントする。この処理により、上述
した図5のステップS41でセットしたスナップ音が、
元のスネアドラムの発音から待ち時間分だけ遅れて発音
される。
【0031】図3に戻り、ステップS8の後、ステップ
S9へ進んで、レジスタTIME1の値をデクリメント
し、ステップS10へ進む。ステップS10以下の処理
ではCLOCK及びBEATの値の更新をする。まずC
LOCKの値が95か否か判断し、95でなければステ
ップS11でCLOCKの値をインクリメントする。C
LOCKの値が95であれば、次の拍位置まで達したこ
とになり、ステップS12でCLOCKの値を0にする
とともに、ステップS13でBEATの値が4であるか
否かを判断する。4でなければBEATの値をインクリ
メントし、4であればステップS15でBEATの値を
1にセットする。なお、上記説明では簡単のために省略
したが、ステップS2の処理において、読み出したデー
タが自動リズム演奏データの最終データまで達したとき
は、自動リズム演奏データの先頭へ戻り、読み出し処理
が繰り返し継続される。自動リズム演奏データは、この
先頭へ戻る処理が小節の区切り位置において生じるよう
に作成されているので、小節単位での自動リズム演奏パ
ターンの繰り返し演奏が実現される。以上がTYPEが
1のときに行なう「偶数拍のスネアドラムにスナップ音
を付加するとともに、偶数拍の音を突っ込ませる」ため
の処理である。
S9へ進んで、レジスタTIME1の値をデクリメント
し、ステップS10へ進む。ステップS10以下の処理
ではCLOCK及びBEATの値の更新をする。まずC
LOCKの値が95か否か判断し、95でなければステ
ップS11でCLOCKの値をインクリメントする。C
LOCKの値が95であれば、次の拍位置まで達したこ
とになり、ステップS12でCLOCKの値を0にする
とともに、ステップS13でBEATの値が4であるか
否かを判断する。4でなければBEATの値をインクリ
メントし、4であればステップS15でBEATの値を
1にセットする。なお、上記説明では簡単のために省略
したが、ステップS2の処理において、読み出したデー
タが自動リズム演奏データの最終データまで達したとき
は、自動リズム演奏データの先頭へ戻り、読み出し処理
が繰り返し継続される。自動リズム演奏データは、この
先頭へ戻る処理が小節の区切り位置において生じるよう
に作成されているので、小節単位での自動リズム演奏パ
ターンの繰り返し演奏が実現される。以上がTYPEが
1のときに行なう「偶数拍のスネアドラムにスナップ音
を付加するとともに、偶数拍の音を突っ込ませる」ため
の処理である。
【0032】次に、図5、図7および図8を参照して、
TYPEが2の時の処理であるタイマ割り込み処理2に
ついて説明する。まずステップS61でレジスタTIM
E1の値が0であるか否かを判断する。この結果、Ye
sであれば、イベントデータの読み出しタイミングであ
るので、ステップS62で次のアドレスのデータを読み
出す。このデータがタイミングデータであるか否かをス
テップS63にて判断する。前述したステップS3の処
理と同じく、このステップS63においても最初はNo
と判断され、ステップS64へと進む。
TYPEが2の時の処理であるタイマ割り込み処理2に
ついて説明する。まずステップS61でレジスタTIM
E1の値が0であるか否かを判断する。この結果、Ye
sであれば、イベントデータの読み出しタイミングであ
るので、ステップS62で次のアドレスのデータを読み
出す。このデータがタイミングデータであるか否かをス
テップS63にて判断する。前述したステップS3の処
理と同じく、このステップS63においても最初はNo
と判断され、ステップS64へと進む。
【0033】ステップS64のイベント出力処理の詳細
を図8に示す。まずステップS81で現在の進行タイミ
ングが8分音符の表のタイミング(QUANTIZEが
8分の場合)、あるいは3連の表のタイミング(QUA
NTIZEが12分の場合)であるか否かが判断され
る。具体的には、BEATとCLOCKの値にもとづい
て現在の進行タイミングを判断する。すなわち「BEA
T=1、CLOCK=0」、「BEAT=2、CLOC
K=0」、「BEAT=3、CLOCK=0」、「BE
AT=4、CLOCK=0」の時、このステップS81
の判断はYes(QUANTIZEが8分、12分、と
もに)となる。そして、ステップS82へ進み、「BE
AT=2かつCLOCK=0か」、すなわち、2拍目の
タイミングであるか否かが判断される。Yesならばス
テップS83にて、読み出されたイベントデータがスネ
アドラムのイベントであるか否かを判断し、Yesであ
ればステップS84にて前述のスナップ音付加処理(図
5)を実行する。すなわち、ここでは2拍目に存在する
スネアドラムの音に対してスナップ音を付加する処理を
行なっている。そして、ステップS87でイベントデー
タ、ここではスネアドラムのイベントを音源回路10へ
出力する。
を図8に示す。まずステップS81で現在の進行タイミ
ングが8分音符の表のタイミング(QUANTIZEが
8分の場合)、あるいは3連の表のタイミング(QUA
NTIZEが12分の場合)であるか否かが判断され
る。具体的には、BEATとCLOCKの値にもとづい
て現在の進行タイミングを判断する。すなわち「BEA
T=1、CLOCK=0」、「BEAT=2、CLOC
K=0」、「BEAT=3、CLOCK=0」、「BE
AT=4、CLOCK=0」の時、このステップS81
の判断はYes(QUANTIZEが8分、12分、と
もに)となる。そして、ステップS82へ進み、「BE
AT=2かつCLOCK=0か」、すなわち、2拍目の
タイミングであるか否かが判断される。Yesならばス
テップS83にて、読み出されたイベントデータがスネ
アドラムのイベントであるか否かを判断し、Yesであ
ればステップS84にて前述のスナップ音付加処理(図
5)を実行する。すなわち、ここでは2拍目に存在する
スネアドラムの音に対してスナップ音を付加する処理を
行なっている。そして、ステップS87でイベントデー
タ、ここではスネアドラムのイベントを音源回路10へ
出力する。
【0034】一方、ステップS82、あるいはステップ
S83の処理においてNoと判断したときはステップS
85にて、読み出されたイベントデータがハイハットの
イベントであるか否かが判断される。Yesであればス
テップS86で該イベントのベロシティ値を、「元ベロ
シティ値+LEVEL」に変更する。そして、ステップ
S87でイベントデータ、ここではハイハットのイベン
トを音源回路10へ出力する。このようにして、現在の
進行タイミングが8分音符の表のタイミング、あるいは
3連の表のタイミングの場合には、ハイハットのイベン
トについてはベロシティ値を増加させるという処理を施
す。ステップS85においてNoと判断されたときは直
接ステップS87へ進んでイベントデータを音源回路1
0へ出力する。
S83の処理においてNoと判断したときはステップS
85にて、読み出されたイベントデータがハイハットの
イベントであるか否かが判断される。Yesであればス
テップS86で該イベントのベロシティ値を、「元ベロ
シティ値+LEVEL」に変更する。そして、ステップ
S87でイベントデータ、ここではハイハットのイベン
トを音源回路10へ出力する。このようにして、現在の
進行タイミングが8分音符の表のタイミング、あるいは
3連の表のタイミングの場合には、ハイハットのイベン
トについてはベロシティ値を増加させるという処理を施
す。ステップS85においてNoと判断されたときは直
接ステップS87へ進んでイベントデータを音源回路1
0へ出力する。
【0035】ステップS81の処理においてNoと判断
したときはステップS88へ進み、現在の進行タイミン
グが8分音符の裏のタイミング(QUANTIZEが8
分の場合)、あるいは3連の裏のタイミング(QUAN
TIZEが12分の場合)であるか否かが判断される。
具体的には、BEATとCLOCKの値にもとづいて現
在の進行タイミングを判断する。すなわち、「BEAT
=1、CLOCK=48」、「BEAT=2、CLOC
K=48」、「BEAT=3、CLOCK=48」、
「BEAT=4、CLOCK=48」の時(QUANT
IZEが8分の場合)、または、「BEAT=1、CL
OCK=64」、「BEAT=2、CLOCK=6
4」、「BEAT=3、CLOCK=64」、「BEA
T=4、CLOCK=64」の時(QUANTIZEが
12分の場合)、このステップS88の判断はYesと
なる。そして、ステップS89へ進み、読み出されたイ
ベントデータがハイハットのイベントであるか否かが判
断される。YesであればステップS90で該イベント
のベロシティ値を、「元ベロシティ値−LEVEL」に
変更する。そして、ステップS87でイベントデータ、
ここではハイハットのイベントを音源回路10へ出力す
る。このようにして、現在の進行タイミングが8分音符
の裏のタイミング、あるいは3連の裏のタイミングの場
合には、ハイハットのイベントについてはベロシティ値
を減少させるという処理を施す。S88、あるいはステ
ップS89においてNoと判断されたときは直接ステッ
プS87へ進んでイベントデータを音源回路10へ出力
する。
したときはステップS88へ進み、現在の進行タイミン
グが8分音符の裏のタイミング(QUANTIZEが8
分の場合)、あるいは3連の裏のタイミング(QUAN
TIZEが12分の場合)であるか否かが判断される。
具体的には、BEATとCLOCKの値にもとづいて現
在の進行タイミングを判断する。すなわち、「BEAT
=1、CLOCK=48」、「BEAT=2、CLOC
K=48」、「BEAT=3、CLOCK=48」、
「BEAT=4、CLOCK=48」の時(QUANT
IZEが8分の場合)、または、「BEAT=1、CL
OCK=64」、「BEAT=2、CLOCK=6
4」、「BEAT=3、CLOCK=64」、「BEA
T=4、CLOCK=64」の時(QUANTIZEが
12分の場合)、このステップS88の判断はYesと
なる。そして、ステップS89へ進み、読み出されたイ
ベントデータがハイハットのイベントであるか否かが判
断される。YesであればステップS90で該イベント
のベロシティ値を、「元ベロシティ値−LEVEL」に
変更する。そして、ステップS87でイベントデータ、
ここではハイハットのイベントを音源回路10へ出力す
る。このようにして、現在の進行タイミングが8分音符
の裏のタイミング、あるいは3連の裏のタイミングの場
合には、ハイハットのイベントについてはベロシティ値
を減少させるという処理を施す。S88、あるいはステ
ップS89においてNoと判断されたときは直接ステッ
プS87へ進んでイベントデータを音源回路10へ出力
する。
【0036】図7へ戻って、イベントデータの出力が終
わり,ステップS63でYesと判断されたときは、ス
テップS65へ進んで、読み出したタイミングデータを
レジスタTIME1へと格納する。その後、ステップS
8にて前述の待ちイベント処理(図6)を実行してから
ステップS66へ進んで、レジスタTIME1の値をデ
クリメントする。一方、ステップS61の処理において
Noと判断したときも、ステップS66へ進む。ステッ
プS66の処理の後、ステップS67へ進む。ステップ
S67からステップS72については前述した図3のス
テップS10からステップS15の処理と同一であるの
で、ここでの説明は省略する。なお、前述の図3におけ
るステップS2の処理と同様、ステップS62の処理に
おいて、読み出したデータが自動リズム演奏データの最
終データまで達したときは、自動リズム演奏データの先
頭へ戻り、読み出し処理が繰り返し継続される。以上が
TYPEが2のときに行なう「2拍目のスネアドラムに
スナップ音を付加するとともに、8分、もしくは12分
表のハイハットのベロシティを増加、裏のベロシティを
減少させる」ための処理である。
わり,ステップS63でYesと判断されたときは、ス
テップS65へ進んで、読み出したタイミングデータを
レジスタTIME1へと格納する。その後、ステップS
8にて前述の待ちイベント処理(図6)を実行してから
ステップS66へ進んで、レジスタTIME1の値をデ
クリメントする。一方、ステップS61の処理において
Noと判断したときも、ステップS66へ進む。ステッ
プS66の処理の後、ステップS67へ進む。ステップ
S67からステップS72については前述した図3のス
テップS10からステップS15の処理と同一であるの
で、ここでの説明は省略する。なお、前述の図3におけ
るステップS2の処理と同様、ステップS62の処理に
おいて、読み出したデータが自動リズム演奏データの最
終データまで達したときは、自動リズム演奏データの先
頭へ戻り、読み出し処理が繰り返し継続される。以上が
TYPEが2のときに行なう「2拍目のスネアドラムに
スナップ音を付加するとともに、8分、もしくは12分
表のハイハットのベロシティを増加、裏のベロシティを
減少させる」ための処理である。
【0037】なお、上述した実施形態においては、「偶
数拍のスネアドラムにスナップ音を付加し、偶数拍の音
を突っ込ませる」第1の効果、「2拍目のスネアドラム
にスナップ音を付加するとともに、8分、もしくは12
分表のハイハットのベロシティを増加、裏のベロシティ
を減少させる」第2の効果の2つの例を示したが、本発
明を用いた演奏データ変形効果は、この他の効果であっ
てもよい。
数拍のスネアドラムにスナップ音を付加し、偶数拍の音
を突っ込ませる」第1の効果、「2拍目のスネアドラム
にスナップ音を付加するとともに、8分、もしくは12
分表のハイハットのベロシティを増加、裏のベロシティ
を減少させる」第2の効果の2つの例を示したが、本発
明を用いた演奏データ変形効果は、この他の効果であっ
てもよい。
【0038】また、上述した実施形態においては、自動
リズム演奏データを読み出しながら演奏をする際に、所
定のイベントデータ(スナップ音)を付加する例を示し
たが、演奏に先立って予め所定のイベントデータを付加
した自動リズム演奏データを作成しておき、それを読み
出して自動リズム演奏を行なうようにしてもよい。ま
た、付加するイベントデータはスネアドラムのイベント
データに限らない。
リズム演奏データを読み出しながら演奏をする際に、所
定のイベントデータ(スナップ音)を付加する例を示し
たが、演奏に先立って予め所定のイベントデータを付加
した自動リズム演奏データを作成しておき、それを読み
出して自動リズム演奏を行なうようにしてもよい。ま
た、付加するイベントデータはスネアドラムのイベント
データに限らない。
【0039】また、上述した実施形態においては、自動
リズム演奏データ中(ヘッダ部)にどのような種類の効
果を付与するかを示す情報(TYPE)を記憶させるよ
うにしたが、演奏データ中にはこのような情報を記憶せ
ず、パネルスイッチ等でどのような種類の効果を付与す
るかを指定するようにしてもよい。また、付与する効果
に関する各種パラメータ(TIMING、LEVEL、
QUANTIZE)等の情報についても同様に、パネル
スイッチ等で指定するようにしてもよい。また、効果の
オン/オフ、種類、各種パラメータ等をイベントデータ
として、自動演奏データ中(たとえば自動リズムパター
ンデータを組み合わせて1つの曲データを作る際のパタ
ーンシーケンスデータ中)にこれらイベントデータを記
憶させるようにしてもよい
リズム演奏データ中(ヘッダ部)にどのような種類の効
果を付与するかを示す情報(TYPE)を記憶させるよ
うにしたが、演奏データ中にはこのような情報を記憶せ
ず、パネルスイッチ等でどのような種類の効果を付与す
るかを指定するようにしてもよい。また、付与する効果
に関する各種パラメータ(TIMING、LEVEL、
QUANTIZE)等の情報についても同様に、パネル
スイッチ等で指定するようにしてもよい。また、効果の
オン/オフ、種類、各種パラメータ等をイベントデータ
として、自動演奏データ中(たとえば自動リズムパター
ンデータを組み合わせて1つの曲データを作る際のパタ
ーンシーケンスデータ中)にこれらイベントデータを記
憶させるようにしてもよい
【0040】
【発明の効果】以上説明したように、本発明によれば、
記憶手段から読み出される自動リズム演奏データ中から
特定のイベントデータを検出する際に所定の拍タイミン
グから指示手段で指示されたずれ量だけ前方にずれた前
方タイミングで特定のイベントデータの検出を行ない、
この検出に応答して新たなリズム音に関する新たなイベ
ントデータ及びタイミングデータを発生し、自動リズム
演奏の際に特定のイベントデータの検出に応答して前方
タイミングで特定のイベントデータに基づいて特定のリ
ズム音を発生した後タイミングデータの指示する発音タ
イミングで新たなイベントデータに基づいて新たなリズ
ム音を発生するようにしたので、例えばスネアドラム音
等の特定のリズム音を所定の拍タイミングから指示に係
るずれ量だけ前に発生すると共にスナップ音等の新たな
リズム音を付加することができる。この結果、単純な自
動リズム演奏に対して音楽的なノリを付加することが可
能となる。
記憶手段から読み出される自動リズム演奏データ中から
特定のイベントデータを検出する際に所定の拍タイミン
グから指示手段で指示されたずれ量だけ前方にずれた前
方タイミングで特定のイベントデータの検出を行ない、
この検出に応答して新たなリズム音に関する新たなイベ
ントデータ及びタイミングデータを発生し、自動リズム
演奏の際に特定のイベントデータの検出に応答して前方
タイミングで特定のイベントデータに基づいて特定のリ
ズム音を発生した後タイミングデータの指示する発音タ
イミングで新たなイベントデータに基づいて新たなリズ
ム音を発生するようにしたので、例えばスネアドラム音
等の特定のリズム音を所定の拍タイミングから指示に係
るずれ量だけ前に発生すると共にスナップ音等の新たな
リズム音を付加することができる。この結果、単純な自
動リズム演奏に対して音楽的なノリを付加することが可
能となる。
【0041】また、新たなリズム音に関して記憶情報又
はパネルスイッチ操作情報に基づいて発音タイミング又
は発音強度を決定する構成にしたので、新たなリズム音
を決定に係る発音タイミングまたは発音強度で発生する
ことができ、一層変化に富んだリズム演奏が可能にな
る。
はパネルスイッチ操作情報に基づいて発音タイミング又
は発音強度を決定する構成にしたので、新たなリズム音
を決定に係る発音タイミングまたは発音強度で発生する
ことができ、一層変化に富んだリズム演奏が可能にな
る。
【0042】さらに、自動リズム演奏データに基づいて
自動リズム演奏を行なう第1のモードと、自動リズム演
奏データに基づいて自動リズム演奏を行なう際に特定の
拍タイミングで特定のリズム音を発生すると共に該特定
のリズム音に新たなリズム音を付加する第2のモード
と、自動リズム演奏データに基づいて自動リズム演奏を
行なう際に特定のリズム音の発音タイミングを所定の拍
タイミングから前方にずらすと共に該特定のリズム音に
新たなリズム音を付加する第3のモードとのうちいずれ
のモードでも自動リズム演奏を行なう構成にしたので、
多様な自動リズム演奏が可能になる。
自動リズム演奏を行なう第1のモードと、自動リズム演
奏データに基づいて自動リズム演奏を行なう際に特定の
拍タイミングで特定のリズム音を発生すると共に該特定
のリズム音に新たなリズム音を付加する第2のモード
と、自動リズム演奏データに基づいて自動リズム演奏を
行なう際に特定のリズム音の発音タイミングを所定の拍
タイミングから前方にずらすと共に該特定のリズム音に
新たなリズム音を付加する第3のモードとのうちいずれ
のモードでも自動リズム演奏を行なう構成にしたので、
多様な自動リズム演奏が可能になる。
【0043】さらに、記憶手段から読み出される自動リ
ズム演奏データ中から特定のイベントデータを検出する
際に特定のイベントデータの検出を特定の拍タイミング
で行ない、特定のイベントデータの検出に応答して新た
なリズム音に関する新たなイベントデータ及びタイミン
グデータを発生し、記憶手段から読み出される自動リズ
ム演奏データに新たなイベントデータ及びタイミングデ
ータを付加して新たな自動リズム演奏データを作成し、
新たな自動リズム演奏データに基づいて自動リズム演奏
を行なう際に特定の拍タイミングで特定のイベントデー
タに基づいて特定のリズム音を発生した後、タイミング
データの指示するタイミングで新たなイベントデータに
基づいて新たなリズム音を発生する構成にしたので、新
たな自動リズム演奏データの作成後ユーザの希望する時
にノリのある自動リズム演奏を楽しめる。
ズム演奏データ中から特定のイベントデータを検出する
際に特定のイベントデータの検出を特定の拍タイミング
で行ない、特定のイベントデータの検出に応答して新た
なリズム音に関する新たなイベントデータ及びタイミン
グデータを発生し、記憶手段から読み出される自動リズ
ム演奏データに新たなイベントデータ及びタイミングデ
ータを付加して新たな自動リズム演奏データを作成し、
新たな自動リズム演奏データに基づいて自動リズム演奏
を行なう際に特定の拍タイミングで特定のイベントデー
タに基づいて特定のリズム音を発生した後、タイミング
データの指示するタイミングで新たなイベントデータに
基づいて新たなリズム音を発生する構成にしたので、新
たな自動リズム演奏データの作成後ユーザの希望する時
にノリのある自動リズム演奏を楽しめる。
【図1】 本発明の一実施形態におけるハード構成を示
すブロック図である。
すブロック図である。
【図2】 本発明の一実施形態における自動リズム演奏
データの記憶フォーマットを示す図である。
データの記憶フォーマットを示す図である。
【図3】 本発明の一実施形態におけるCPU1のタイ
マ割り込み処理1を示すフローチャートである。
マ割り込み処理1を示すフローチャートである。
【図4】 本発明の一実施形態におけるCPU1の先読
み処理を示すフローチャートである。
み処理を示すフローチャートである。
【図5】 本発明の一実施形態におけるCPU1のスナ
ップ音付加処理を示すフローチャートである。
ップ音付加処理を示すフローチャートである。
【図6】 本発明の一実施形態におけるCPU1の待ち
イベント処理を示すフローチャートである。
イベント処理を示すフローチャートである。
【図7】 本発明の一実施形態におけるCPU1のタイ
マ割り込み処理2を示すフローチャートである。
マ割り込み処理2を示すフローチャートである。
【図8】 本発明の一実施形態におけるCPU1のイベ
ント出力処理を示すフローチャートである。
ント出力処理を示すフローチャートである。
1:CPU、3:ROM、4:RAM、5:パッド、
7:スイッチ、9:表示回路、10:音源回路、12:
MIDIインターフェース。
7:スイッチ、9:表示回路、10:音源回路、12:
MIDIインターフェース。
Claims (5)
- 【請求項1】特定のリズム音を指示する特定のイベント
データを含む自動リズム演奏データを記憶する記憶手段
と、 前記特定のリズム音を所定の拍タイミングから前方へず
らして発音するためのずれ量を記憶情報又はパネルスイ
ッチ操作情報に基づいて指示する指示手段と、 前記記憶手段から自動リズム演奏データを読み出す読み
出し手段と、 この読み出し手段により読み出される自動リズム演奏デ
ータ中から前記特定のイベントデータを検出する検出手
段であって、前記所定の拍タイミングから前記指示手段
で指示されたずれ量だけ前方にずれた前方タイミングで
前記特定のイベントデータの検出を行なうものと、 この検出手段により前記特定のイベントデータが検出さ
れるのに応答して、新たなリズム音を指示する新たなイ
ベントデータと、前記前方タイミングから遅れた前記新
たなリズム音の発音タイミングを指示するタイミングデ
ータとを発生するデータ発生手段と、 前記読み出し手段により読み出される自動リズム演奏デ
ータに基づいて自動リズム演奏を行なう演奏手段であっ
て、前記検出手段により前記特定のイベントデータが検
出されるのに応答して前記前方タイミングで前記特定の
イベントデータに基づいて前記特定のリズム音を発生し
た後、前記タイミングデータの指示する発音タイミング
で前記新たなイベントデータに基づいて前記新たなリズ
ム音を発生するものとを備えた自動リズム演奏装置。 - 【請求項2】 前記データ発生手段は、前記タイミング
データの指示する発音タイミングを前記指示手段で指示
されるずれ量に応じて決定することを特徴とする請求項
1記載の自動リズム演奏装置、 - 【請求項3】 前記指示手段は、前記新たなリズム音の
発音強度を決定するためのパラメータを記憶情報又はパ
ネルスイッチ操作情報に基づいて指示し、前記データ発
生手段は、前記検出手段により前記特定のイベントデー
タが検出されるのに応答して前記新たなリズム音の発音
強度を指示するベロシティデータを発 生すると共に、該
ベロシティデータの指示する発音強度を前記指示手段で
指示されるパラメータに基づいて決定し、前記演奏手段
は、前記ベロシティデータの指示する発音強度で前記新
たなリズム音を発生することを特徴とする請求項1記載
の自動リズム演奏装置。 - 【請求項4】特定のリズム音を指示する特定のイベント
データを含む自動リズム演奏データを記憶する記憶手段
と、第1〜第3のモードのうちから任意の1つのモードを記
憶情報又はパネルスイッチ操作情報に基づいて指定する
指定手段 と、 前記特定のリズム音を所定の拍タイミングから前方へず
らして発音するためのずれ量を記憶情報又はパネルスイ
ッチ操作情報に基づいて指示する指示手段と、 前記記憶手段から自動リズム演奏データを読み出す読み
出し手段と、 前記読み出し手段 により読み出される自動リズム演奏デ
ータ中から前記特定のイベントデータを検出する検出手
段であって、前記指定手段により前記第2のモードが指
定されたときは特定の拍タイミングで前記特定のイベン
トデータの検出を行ない、前記指定手段により前記第3
のモードが指定されたときは前記所定の拍タイミングか
ら前記指示手段で指示されたずれ量だけ前方にずれた前
方タイミングで前記特定のイベントデータの検出を行な
うものと、前記指定手段により前記第2のモードが指定 されたとき
は前記検出手段により前記特定のイベントデータが検出
されるのに応答して、第1の新たなリズム音を指示する
第1の新たなイベントデータと、前記特定の拍タイミン
グから遅れた前記第1の新たなリズム音の発音タイミン
グを指示する第1のタイミングデータとを発生し、前記
指定手段により前記第3のモードが指定されたときは前
記検出手段により前記特定のイベントデータが検出され
るのに応答して、第2の新たなリズム音を指示する第2
の新たなイベントデータと、前記前方タイミングから遅
れた前記第2の新たなリズム音の発音タイミングを指示
する第2のタイミングデータとを発生するデータ発生手
段と、前記指定手段により前記第1〜第3のモードのうちの1
つのモードが指定 されたとき前記読み出し手段により読
み出される自動リズム演奏データに基づいて自動リズム
演奏を行なう演奏手段であって、前記指定手段により前
記第2のモードが指定されたときは前記検出手段により
前記特定のイベントデータが検出されるのに応答して前
記特定の拍タイミングで前記特定のイベントデータに基
づいて前記特定のリズム音を発生した後、前記第1のタ
イミングデータの指示する発音タイミングで前記第1の
新たなイベントデータに基づいて前記第1の新たなリズ
ム音を発生し、前記指定手段により前記第3のモードが
指定されたときは前記検出手段により前記特定のイベン
トデータが検出されるのに応答して前記前方タイミング
で前記特定のイベントデータに基づいて前記特定のリズ
ム音を発生した後、前記第2のタイミングデータの指示
する発音タイミングで前記第2の新たなイベントデータ
に基づいて前記第2の新たなリズム音を発生するものと
を備えた自動リズム演奏装置。 - 【請求項5】特定のリズム音を指示する特定のイベント
データを含む自動リズム演奏データを記憶する記憶手段
と、 この記憶手段から自動リズム演奏データを読み出す読み
出し手段と、 この読み出し手段により読み出される自動リズム演奏デ
ータ中から前記特定のイベントデータを検出する検出手
段であって、特定の拍タイミングで前記特定のイベント
データの検出を行なうものと、 この検出手段により前記特定のイベントデータが検出さ
れるのに応答して、新たなリズム音を指示する新たなイ
ベントデータと、前記特定の拍タイミングから遅れた前
記新たなリズム音の発音タイミングを指示するタイミン
グデータとを発生するデータ発生手段と、 前記読み出し手段により読み出される自動リズム演奏デ
ータに前記新たなイベントデータ及び前記タイミングデ
ータを付加して新たな自動リズム演奏データを作成する
データ作成手段と、 このデータ作成手段で作成された新たな自動リズム演奏
データに基づいて自動リズム演奏を行なう演奏手段であ
って、前記特定の拍タイミングで前記特定のイベントデ
ータに基づいて前記特定のリズム音を発生した後、前記
タイミングデータの指示する発音タイミングで前記新た
なイベントデータに基づいて前記新たなリズム音を発生
するものとを備えた自動リズム演奏装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31405898A JP3438617B2 (ja) | 1994-03-15 | 1998-10-17 | 自動リズム演奏装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6071383A JP2959389B2 (ja) | 1994-03-15 | 1994-03-15 | 自動リズム演奏装置 |
JP31405898A JP3438617B2 (ja) | 1994-03-15 | 1998-10-17 | 自動リズム演奏装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6071383A Division JP2959389B2 (ja) | 1994-03-15 | 1994-03-15 | 自動リズム演奏装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11219183A JPH11219183A (ja) | 1999-08-10 |
JP3438617B2 true JP3438617B2 (ja) | 2003-08-18 |
Family
ID=27806776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31405898A Expired - Fee Related JP3438617B2 (ja) | 1994-03-15 | 1998-10-17 | 自動リズム演奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3438617B2 (ja) |
-
1998
- 1998-10-17 JP JP31405898A patent/JP3438617B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11219183A (ja) | 1999-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002116686A (ja) | 演奏指示装置及び方法並びに記憶媒体 | |
JP2616274B2 (ja) | 自動演奏装置 | |
JP2004334051A (ja) | 楽譜表示装置および楽譜表示コンピュータプログラム | |
JPH04274498A (ja) | 自動演奏装置 | |
JP2636640B2 (ja) | 自動伴奏装置 | |
JP3293515B2 (ja) | 楽音発生装置 | |
JP4808868B2 (ja) | 自動演奏装置 | |
JP3438617B2 (ja) | 自動リズム演奏装置 | |
JP2959389B2 (ja) | 自動リズム演奏装置 | |
JP3192579B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JPH07248766A (ja) | 自動演奏装置 | |
JP2669295B2 (ja) | 自動演奏装置および演奏情報の記録媒体 | |
JPH0375874B2 (ja) | ||
JP2768348B2 (ja) | 自動演奏装置 | |
JP2570562B2 (ja) | 自動演奏装置及び自動伴奏装置 | |
JP2006292954A (ja) | 電子楽器 | |
JP2513014B2 (ja) | 電子楽器の自動演奏装置 | |
JP2715804B2 (ja) | 自動演奏装置 | |
JPH0130156B2 (ja) | ||
JP3150580B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JPH0863168A (ja) | テンポ設定装置 | |
JP2780476B2 (ja) | テンポコントローラ | |
JP2537963B2 (ja) | 自動演奏装置 | |
JPH1124659A (ja) | 楽譜表示装置 | |
JPH08221072A (ja) | 自動伴奏装置 |
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 (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080613 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090613 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100613 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |