JP3298157B2 - 効果付加装置 - Google Patents

効果付加装置

Info

Publication number
JP3298157B2
JP3298157B2 JP17350492A JP17350492A JP3298157B2 JP 3298157 B2 JP3298157 B2 JP 3298157B2 JP 17350492 A JP17350492 A JP 17350492A JP 17350492 A JP17350492 A JP 17350492A JP 3298157 B2 JP3298157 B2 JP 3298157B2
Authority
JP
Japan
Prior art keywords
address
data
value
read
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP17350492A
Other languages
English (en)
Other versions
JPH0619490A (ja
Inventor
達也 飯島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP17350492A priority Critical patent/JP3298157B2/ja
Publication of JPH0619490A publication Critical patent/JPH0619490A/ja
Application granted granted Critical
Publication of JP3298157B2 publication Critical patent/JP3298157B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力されるディジタル
信号を所定のタイミングで遅延させて出力したり、任意
のタイミングで振幅の大きな波形が入力されたときその
波形を一定時間遅延させて出力する効果付加装置に関す
る。
【0002】
【従来の技術】従来より、効果付加装置において、その
入力音に対してディレイ等のエフェクトをかけることは
一般に行われてれいる。さらに自動伴奏等ののテンポの
変化に従ってエフェクトのパラメータを変更してエフェ
クトの掛かり具合を制御することも考えられている。
【0003】また、電子楽器等から、一定振幅以上の楽
音波形データが入力されたとき、その楽音波形データを
RAM(Random Access Memory)等に書き込んでおき、書
き込み終了後RAMから読み出し、入力タイミングとは
異なるタイミング、例えば一定時間間隔で出力するもの
も知られている。
【0004】
【発明が解決しようとする課題】しかし、上記自動伴奏
等のテンポの変化に従って単にディレイ等のエフェクト
を変化させるものは、変化したテンポがその後一定であ
れば、テンポの変化に従って一旦変化したディレイタイ
ムもその後一定である。したがって、例えば鍵盤楽器に
ついていえば、自動伴奏のタイミングと一致した押鍵に
よる楽音に対しては、そのディレイ音も自動伴奏に同期
したディレイタイムをもって発音されるが、自動伴奏の
タイミングと一致しないタイミングの押鍵による楽音に
対しては、そのタイミングにディレイタイム分遅延させ
たままで自動伴奏に同期せずに発音されてしまう。この
ため、演奏効果を高める目的で付加したはずのディレイ
音が、かえって演奏の雰囲気を損ねて全体として演奏に
悪影響を与えてしまうという問題があった。
【0005】また、書き込み終了後に楽音波形データを
読み出して入力時と異なるタイミングで出力するもの
は、リアルタイムでないため、まるで面白味に欠けると
いう点で不満が残るという問題があった。
【0006】本発明の課題は、任意のタイミングで入力
された楽音、音声等のディジタル入力データを所定の間
隔又は伴奏メロディの拍等に合わせた一定タイミングで
リアルタイムでディレイ出力できる効果付加装置を提供
することである。
【0007】
【課題を解決するための手段】本発明の手段は次の通り
である。請求項1記載の発明の効果付加装置では、信号
記憶手段は、入力される信号を記憶する。同手段は、例
えばRAM等からなる。
【0008】第1の検出手段は、入力される信号のエン
ベロープ値が所定値に増加していることを検出し、第2
の検出手段は、入力される信号のエンベロープ値が所定
値から減少していることを検出する。上記第1の検出手
段及び第2の検出手段は、共に例えばCPU、レジスタ
等からなる。
【0009】第1のアドレス記憶手段は、第1の検出手
段により前記入力されるエンベロープ値が所定値に増加
していることが検出されたとき信号記憶手段に記憶され
た信号の先頭アドレスを記憶し、第2のアドレス記憶手
段は、第2の検出手段により入力されるエンベロープ値
所定値から減少していることが検出されたとき前記信
号記憶手段に記憶された信号の終了アドレスを記憶す
る。上記第1のアドレス記憶手段及び第2のアドレス
憶手段は、共に例えばDSP内に設けられたレジスタ等
からなる。
【0010】計数手段は、予め設定された一定間隔時間
毎に読出しタイミングを計数する。同手段は、例えばク
ロックカウンタ等からなる。読出手段は、第1の検出手
段により入力される信号のエンベロープ値が所定値に増
加していることを検出した後に計数手段の計数により読
出しタイミングとなったとき、信号記憶手段の第1のア
ドレス記憶手段に記憶された先頭アドレスから第2のア
ドレス記憶手段に記憶された終了アドレスまで、信号を
順次読み出す。同手段は、例えばCPU等からなる。
【0011】請求項3記載の発明では、上記請求項1の
構成である信号記憶手段、第1及び第2の検出手段、第
1及び第2のアドレス記憶手段、及び読出手段の各手段
に加えて、自動伴奏発生手段及び拍タイミング検出手段
を有する。
【0012】自動伴奏発生手段は、基本クロックのタイ
ミングに基づいて自動伴奏音を発生し、拍タイミング検
出手段は、前記基本クロックのタイミングに基づいて前
記自動伴奏音の拍のタイミングを検出する。同手段は、
例えばクロックカウンタ等からなる。
【0013】また、読出手段は、第1の検出手段により
入力される信号のエンベロープ値が所定値に増加してい
ることを検出した後に拍タイミング検出手段で拍タイミ
ングを検出したときに、信号記憶手段の前記第1のアド
レス記憶手段に記憶された先頭アドレスから前記第2の
アドレス記憶手段に記憶された終了アドレスまで、前記
信号を順次読み出すように構成されている。同手段は、
例えばCPU等からなる。
【0014】
【0015】
【作用】請求項1記載の効果付加装置は、入力される信
号が信号記憶手段により記憶される。その入力されるデ
ィジタル信号のエンベロープ値が所定値に増加している
ことを第1の検出手段により検出され、その検出に基づ
いて、入力信号の記憶される信号記憶手段の先頭アドレ
スが第1のアドレス記憶手段により記憶される。一方、
入力される信号のエンベロープ値が所定値に減少してい
ることを第2の検出手段により検出され、その検出に基
づいて、入力信号の記憶される信号記憶手段の終了アド
レスが第2のアドレス記憶手段により記憶される。
【0016】そして、計数手段により、予め設定された
一定間隔時間毎に読出しタイミングを計数し、第1の検
出手段により入力される信号のエンベロープ値が所定値
に増加していることを検出した後に、計数手段の計数に
より読出しタイミングとなったとき、信号記憶手段の第
1のアドレス記憶手段に記憶された先頭アドレスから第
2のアドレス記憶手段に記憶された終了アドレスまで、
読出手段により信号が順次読み出される。
【0017】請求項2記載の効果付加装置は、請求項1記
載の効果付加装置の作用に加えて、基本クロックのタイ
ミングに基づいて自動伴奏音を発生し、また、基本クロ
ックのタイミングに基づいて自動伴奏音の拍のタイミン
グを拍タイミング検出手段により検出すると共に、第1
の検出手段により前記入力される信号のエンベロープ値
が所定値に増加していることを検出した後拍タイミング
を検出したときに、先頭アドレスから終了アドレスま
で、信号が順次読み出される。
【0018】
【0019】
【0020】
【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。図1は、本発明の一実施例に係わ
効果付加装置を内蔵した電子鍵盤楽器の全体構成図で
ある。
【0021】同図において、鍵盤101は、演奏用操作
部であり、ユーザが押鍵を行うことによってメロディを
演奏することができる。CPU102は、鍵盤101の
押鍵状態を取り込み、各押鍵動作に基づいて音源103
に対してメロディ音の発音を指示するためのディジタル
音源データを生成し、別に生成したエンベロープデータ
と共に音源103に出力する。
【0022】この音源データは、発音チャネル、発音フ
ラグ、波形スタートアドレスと波形エンドアドレスと波
形ループアドレスとからなる波形データ、及び周波数デ
ータで構成される。上記発音チャネルは、音源103に
おいて複数の楽音を並列して処理可能とするための時分
割処理のタイミングを指示する。発音フラグは、楽音の
発音か消音かを指示する。波形スタートアドレス及び波
形エンドアドレスは、図1の音源103が波形メモリ1
04から波形データを読み出すための先頭アドレスと最
終アドレスを指示する。波形ループアドレスは、音源1
03が波形メモリ104から一定のアドレス範囲の波形
データを繰り返し読み出すための繰り返しアドレスを指
示する。これにより、楽音を長時間発音させることが可
能となる。そして、周波数データは、音源103が波形
メモリ104から波形データを読み出すときの歩進幅を
指示する。これにより発音される楽音の音高が確定す
る。
【0023】音源103は、音源データに基づいて波形
メモリ104から楽音波形データを読み出し、そのデー
タにエンベロープデータに基づくエンベロープ特性を付
加して楽音データを生成し、エフェクト付加処理を行う
DSP105に出力する。
【0024】DSP105は、音源103から入力され
る各楽音データの1サイクル毎の処理を実行する。この
とき、DSP105は、入力された楽音データ(以下、
入力された楽音データを入力データと言う)を入力デー
タメモリ115に一時的に書き込み、その書き込んだ楽
音データ(以下、メモリに書き込まれた入力データを楽
音データと言う)を、後述する一定の読み出し間隔時間
に基づいて読み出してD/Aコンバータに出力する。
【0025】なお、DSP105におけるディジタル入
力データの処理は、上述した押鍵に基づいて音源103
において生成された入力データのみではなく、マイクロ
ホンを具えたアナログ入力回路113から入力され、A
/Dコンバータ114でディジタル変換されて入力され
るディジタル楽音信号(又はディジタル音声信号)に対
しても同様に処理される。
【0026】これにより、鍵盤101及びアナログ入力
回路113から入力される2系統の入力データがDSP
105でエフェクト処理、例えばディレイ処理されて、
D/A変換器107でアナログ楽音信号に変換された
後、アンプ108を介してスピーカ109から放音され
る。
【0027】続いて、図2に、上記DSP105が有す
る内部レジスタを示す。同図に示す現在書込アドレスレ
ジスタ301は、入力データメモリ115の入力データ
書き込みアドレスを記憶し、そのアドレスは1サイクル
毎にインクリメントされる。
【0028】前回エンベロープ値レジスタ310は、前
回の入力データの振幅が所定値以上のとき「1」を記憶
し、所定値未満のとき「0」を記憶する。現在エンベロ
ープ値レジスタ302は、今回の入力データの振幅が所
定値以上のとき「1」を記憶し、所定値未満のとき
「0」を記憶する。
【0029】次回読出し先頭アドレスレジスタ303
は、前回エンベロープ値レジスタ310の値が「0」で
且つ現在エンベロープ値レジスタ302の値が「1」の
とき、すなわち楽音波形が立ち上がったとき、現在書込
アドレスレジスタ301の入力データ書き込みアドレス
を記憶する。
【0030】次回読出し終了アドレスレジスタ304
は、前回エンベロープ値レジスタ310の値が「1」で
且つ現在エンベロープ値レジスタ302の値が「0」の
とき、すなわち入力データの波形が立ち下がったとき、
現在書込アドレスレジスタ301の入力データ書き込み
アドレスの1つ前のアドレスを記憶する。
【0031】読出し間隔レジスタ311は、予め設定さ
れた読出し間隔時間データを記憶する。読出し間隔カウ
ンタ305は、減算カウンタであり、読出し間隔レジス
タ311に設定された読出し間隔時間の経過を計測す
る。
【0032】現在読出アドレスレジスタ306は、次回
読出し先頭アドレスレジスタ303から転送されるアド
レスを記憶し、そのアドレスはデータ読み出し毎にイン
クリメントされる。
【0033】読出終了アドレスレジスタ307は、次回
読出し終了アドレスレジスタ304から転送されるアド
レスを記憶する。入力有FLAGレジスタ308は、フ
ラグを記憶するレジスタであり、データ読み出しタイミ
ングで、読み出すべきデータが有るときは「1」を記憶
し、無いとき、又はデータ読み出しが開始されたときは
「0」を記憶する。
【0034】読出中FLAGレジスタ309は、これも
フラグレジスタであり、現在読出アドレスレジスタ30
6に記憶されているアドレスから読出終了アドレスレジ
スタ307に記憶されているアドレスまでデータ読み出
し行われる間「1」を記憶し、他のときは「0」を記憶
する。
【0035】次に、図3に、DSP105が上述した各
内部レジスタを用いて行う動作の概略を模式的に示し、
合わせて図4に、その動作時における各レジスタの値の
変化を示す。尚この例では、8処理サイクルを一定間隔
時間として設定している。
【0036】そして、図3では、その一定間隔時間の計
測のスタートを時刻T0で示し、その一定間隔時間の経
過毎の時刻をT1、T2、・・・で示す。同図の(a) は
入力データメモリ115に書き込まれた入力データ(楽
音データ)を表し、(b) はその書き込みアドレスを表
し、(c) は現在エンベロープ値レジスタ302の値
(「1」又は「0」)の状態を表し、(d) は読出中FL
AGレジスタ309のオン/オフを表し、(e) は読み出
された出力データ(楽音データ)を表し、(f) はその読
み出しアドレスを表し、そして(g) は入力有FLAG3
09のオン/オフを表している。
【0037】また、図4では、図の上下に分けて、それ
ぞれ上から現在書込アドレスレジスタ301、現在エン
ベロープ値レジスタ302、次回読出し先頭アドレスレ
ジスタ303、次回読出し終了アドレスレジスタ30
4、読出し間隔カウンタ305、現在読出アドレスレジ
スタ306、読出終了アドレスレジスタ307、入力有
FLAGレジスタ308及び読出中FLAGレジスタ3
09の値の変化を、5処理サイクル目(S5)から42
処理サイクル目(S42)まで示している。
【0038】先ず、一定時間すなわち8処理サイクル時
間の計測が図3の時刻T0で開始されると共に、DSP
105に入力されるディジタル入力データが、入力デー
タメモリ115のアドレス「0」から、処理サイクル毎
に順次書き込まれる(図3(a) 参照)。
【0039】そして、5処理サイクル目には、現在書込
アドレスレジスタ301の値である書き込みアドレスが
「4」となり、一定時間である8処理サイクルを減算計
測する読出し間隔カウンタ305の値が「4」となる。
このとき、入力データのエンベロープ値は一定値未満す
なわち「0」である(図3(a) 及び図4のS5参照)。
【0040】そして、次の処理サイクルで、図3(b) の
アドレス「5」(又は「A」、「12」、「16」、
「21」)に、図3(a) の入力データ31(又は32〜
35)のように一定以上の振幅値で波形データが入力さ
れると、その波形立ち上がりが検出され、その検出され
た波形立ち上がりに同期して現在エンベロープ値レジス
タ302の値が「1」にセットされると共に、入力有F
LAG308が「1」にセットされる(図3(c)、(g) 及
び図4のS6(又はS11、S19、S23、S34)
参照)。
【0041】そしてさらに、次回読出し先頭アドレスレ
ジスタ303に、波形立ち上がりのアドレス「5」(又
は「A」、「12」、「16」、「21」)が読出先頭
アドレスとしてセットされると共に、次回読出し終了ア
ドレスレジスタ304にはアドレス未定を示す「−1」
がセットされる(同じく図4のS6(又はS11、S1
9、S23、S34)参照)。
【0042】引き続き、エンベロープ値の一定以上の入
力データが順次書き込まれ、現在エンベロープ値レジス
タ302の値は「1」となる(図3(a),(b),(c) 及び図
4のS7(又はS12,S13,又はS20,又はS2
4〜S27,又はS35)参照)。
【0043】次の処理サイクルで、入力データのエンベ
ロープ値が一定値未満となって波形の立ち下がりが検出
されると(図3(b) のアドレス「7」(又は「D」、
「14」、「1B」、「23」)、その検出された波形
立ち下がりに同期して現在エンベロープ値レジスタ30
2の値が「0」にセットされると共に、波形立ち下がり
直前のアドレスが読出終了アドレスとして、次回読出し
終了アドレスレジスタ304にセットされる(図3(c)
及び図4のS8(又はS14、S21、S28、S3
6)参照)。
【0044】やがて、一定間隔時間の経過時刻T1(又
はT2、T3、T5、・・・)になると、上記入力有F
LAG308が「1」であることにより読出中FLAG
レジスタ309が「1」にセットされ、入力有FLAG
308が「0」にリセットされると共に(図3(d),(g)
参照)、次回読出し先頭アドレスレジスタ303及び次
回読出し終了アドレスレジスタ304のアドレスが、そ
れぞれ現在読出アドレスレジスタ306及び読出終了ア
ドレスレジスタ307に転送され(図4のS9(又はS
17、S25、S41)参照)、その読出先頭アドレス
から読出終了アドレスまで、入力データメモリ115に
書き込まれていた楽音波形データ31(又は32、3
4、35)が出力データとして読み出される(図3(a),
(e) 参照)。
【0045】このとき、一定時間の経過内、例えば時刻
T2とT3の間において、入力データの立ち上がりが2
度以上検出された場合は、最後の入力データ(楽音デー
タ)のみが読み出されて出力される(図3(e) 及び図4
のS19、S23参照)。
【0046】また、一定時間が経過して読み出し時刻、
例えば時刻T3となったとき、読み出される楽音データ
34がまだ入力中であり(図3(a) 参照)、読出終了ア
ドレスレジスタ307に転送された読出終了アドレスが
未定、すなわち「−1」であったときは(図4のS25
参照)、その読出し中の入力データが立ち下がって、そ
の読出終了アドレスが前述したように次回読出し終了ア
ドレスレジスタ304にセットされる時点において、い
ま読出し中の楽音データの読出終了アドレスが未定であ
ったことが判別され、上記次回読出し終了アドレスレジ
スタ304にセットされた同じ読出終了アドレスが、読
出終了アドレスレジスタ307に直ちにセットされる
(図4のS28参照)。
【0047】また、一定時間の経過内、例えば時刻T3
とT4の間において、入力データの立ち上がりが無い場
合は、次の読み出しタイミング時刻T4における楽音デ
ータの読み出しはなされない(図3(e) 及び図4のS3
3参照)。
【0048】次に、上述したように処理を行うDSP1
05の処理動作を図5のフローチャートを用いてさらに
説明する。なお、この処理では、電源がオンされると、
読出間隔レジスタ311には所定の読出し間隔時間デー
タ(この例では「7」)が設定され、その読出し間隔時
間データ「7」が読出間隔カウンタ305に転送されて
セットされた後、その他のレジスタには「0」が設定さ
れて各レジスタが初期化される。そして、CPU102
からの制御信号に基づいて、一定周期で以下に説明する
処理が行われる。
【0049】まず、DSP105は、音源103から出
力された楽音データを入力データとして取り込む(ステ
ップS501)。続いて、現在書込アドレスレジスタ3
01をインクリメントする(ステップS502)。これ
により、上記取り込んだ入力データ(以下、音源103
又はアナログ入力回路113から直接取り込んだものを
入力データと言い、それを入力データメモリ115に書
き込んだ以後のものを楽音データと言う)の書き込みア
ドレスが設定される。
【0050】次に、入力データメモリ115の現在書込
アドレスレジスタ301に設定されたアドレスに、上記
取り込んだ入力データを楽音データとして書き込む(ス
テップS503)。これにより、例えば図3(a),(b) に
示すように、入力データメモリ115に入力楽音波形デ
ータがアドレス順に書き込まれる。
【0051】上記に続いて、読出し間隔カウンタ305
の値をデクリメントし(ステップS504)、次にその
読出し間隔カウンタ305を参照し、その値が「0」に
なったか否か判別する(ステップS505)。これによ
り、所定の一定時間が経過したか否かが判別される。
【0052】この判別で、読出し間隔カウンタ305が
「0」になっていれば、ステップS506の処理に進む
が、まだ「0」になっていない場合は、現在読出アドレ
スレジスタ306のアドレスをインクリメントする(ス
テップS511)。これにより、後述する楽音データの
読み出しが開始されていた場合には、後段のステップS
513で楽音データを順次読み出すことができる。
【0053】続いて、読出中FLAGレジスタ309の
値が「1」となっているか否か判別し(ステップS51
2)、例えば、スタート直後のように値が「0」であれ
ば、楽音データの読み出し中ではないと判別して、その
場合は楽音データを「0」(無音)に設定する(ステッ
プS514)。これにより、楽音データ読み出し中でな
ければ、楽音は発音されない。
【0054】そして、読み出した楽音データをD/A変
換器107に出力する(ステップS515)。これによ
り、前段のステップS512で、楽音データ読み出し中
であった場合には楽音が発音される。
【0055】次に、前述のステップS501で取り込ん
だ入力データのエンベロープ値を抽出し、その抽出した
エンベロープ値が予め設定されている一定値以上なら現
在エンベロープ値レジスタ302を「1」に設定し、一
方、一定値未満の場合は「0」に設定する(ステップS
516)。
【0056】続いて、前回エンベロープ値レジスタ31
0の値が「0」で且つ現在エンベロープ値レジスタ30
2の値が「1」であるか否か判別する(ステップS51
7)。
【0057】そして、前回エンベロープ値が「0」で且
つ現在エンベロープ値が「1」であれば入力データが立
ち上がったと判別し(図3(a),(b) 及び図4の現在書込
アドレス「4」と「5」、「9」と「A」、「11」と
「12」、「15」と「16」、「20」と「21」等
参照)、この場合は、まず現在書込アドレスレジスタ3
01のアドレスを次回読出し先頭アドレスレジスタ30
3にセットする(ステップS518)。これにより、例
えば図3(a) に示す入力データ31の立ち上がりのアド
レスである同図(b) に示す書き込みアドレス「5」が、
次の読み出しタイミングで読み出すための読出し先頭ア
ドレスとして設定される(図4のS6参照)。
【0058】次に、次回読出し終了アドレスレジスタ3
04を「−1」にセットする(同じくステップS51
8)。これにより、次の読み出しタイミングで読み出す
楽音データの読み出し終了アドレスが未定であることが
示される。
【0059】続いて、入力有FLAGレジスタ308を
「1」にセットする(ステップS519)。これによ
り、次の読み出しタイミングにおいて読出し処理すべき
楽音データのあることが示される。
【0060】そして次に、現在エンベロープ値レジスタ
302の値を前回エンベロープ値レジスタ310にセッ
トする(ステップS524)。これにより、今回の入力
データのエンベロープ値を前回エンベロープ値とし、一
方次回入力される入力データのエンベロープ値を現在エ
ンベロープ値として、次回の処理において、再び入力デ
ータのエンベロープの変化を判別することができる。
【0061】続いて、現在読出アドレスレジスタ306
のアドレスと読出終了アドレスレジスタ307のアドレ
スとが一致するか否か判別する(ステップS525)。
これにより、後述する楽音データ読み出中である場合に
は、前述のS511で順次インクリメントされる現在読
出アドレスレジスタ306のアドレスが読出終了アドレ
スレジスタ307のアドレスに達したか否かが判別され
る。
【0062】この判別で、両アドレスが一致しない場合
は直ちに処理を終了するが、一致した場合は、読出中F
LAGレジスタ309を「0」にした後(ステップS5
26)、処理を終了する。これにより、後述する楽音デ
ータ読み出し中である場合には、読出中FLAGレジス
タ149の値は「1」のままとなって読み出し中である
ことが示され、これがステップS512で判別されて楽
音データの読み出しが続行される。
【0063】上記ステップS517の判別で、入力デー
タの立ち上がりでない場合は、次に、前回エンベロープ
値レジスタ310の値が「1」で且つ現在エンベロープ
値レジスタ302の値が「0」である否か判別し(ステ
ップS520)、否であれば、まだ入力データが立ち下
がっていないと判別して、この場合は、直ちにステップ
S524の処理に移行するということを繰り返す。
【0064】これにより、例えば図3(a) の入力データ
31の場合であれば、同図(b) の現在書込アドレス
「5」、「6」と順次書き込まれて前のデータのエンベ
ロープ値と後のデータのエンベロープ値とが比較され、
また、入力データ34の場合であれば、現在書込アドレ
ス「16」から「1A」まで順次書き込まれると共に、
前のデータのエンベロープ値と後のデータのエンベロー
プ値とが比較される。
【0065】そして、ステップS520で、前回エンベ
ロープ値レジスタ310の値が「1」で且つ現在エンベ
ロープ値レジスタ302の値が「0」である場合は入力
データが立ち下がったと判別し、この場合は、現在書込
アドレスレジスタ301のアドレスを「1」減算して前
回書込みアドレスを算出し、その算出した前回書込みア
ドレスを次回読出し終了アドレスレジスタ304にセッ
トする(ステップS521)。これにより、入力データ
の立ち下がりのアドレスが、次の読み出しタイミングで
読み出す楽音データの読出し終了アドレスとして設定さ
れる(図3のS6とS7、S13とS14、S20とS
21、S27とS28、S35とS36参照)。
【0066】続く、ステップS522及びS523の処
理については後述するが、このようにして、入力データ
を入力データメモリ115に順次書き込み、その入力デ
ータの立ち上がりと立ち下がりのアドレスを次回読出し
先頭アドレスレジスタ303と次回読出し終了アドレス
レジスタ304にそれぞれセットした後、前述のステッ
プS505における判別で、読出し間隔カウンタ305
が「0」になったことを判別した場合は(図3のS9、
S17、S25、S33、S41参照)、その読出し間
隔カウンタ305に、読出し間隔レジスタ311の値を
セットする(ステップS506)。これにより、次回の
処理タイミング毎に再びカウント値「7」〜「0」で示
される一定間隔時間が計時される。
【0067】次に、入力有FLAGレジスタ308の値
が「1」となっているか否か判別し(ステップS50
7)、その値が「1」すなわち一定間隔時間の計時中に
立ち上がった入力データがあった場合は(図3(a),(e)
の波形データ31,32,34、35参照)、次回読出
し先頭アドレスレジスタ303のアドレスを現在読出ア
ドレスレジスタ306にセットすると共に、次回読出し
終了アドレスレジスタ304のアドレスを読出終了アド
レスレジスタ307にセットする(ステップS50
8)。これにより、例えば図3(b) に示す書き込アドレ
スの「5」と「6」(又は「A」と「C」、「16」と
「1A」、「21」と「22」)が、それぞれ読み出し
開始アドレス及び読み出し終了アドレスとして設定され
る(図4のS9、S17、S41)。
【0068】続いて、読出中FLAGレジスタ309を
「1」にし(ステップS509)、これにより、楽音デ
ータの読み出し中であることを設定し、次に、入力有F
LAGレジスタ308を「0」にし(ステップS51
0)、これにより、次回入力データの検出準備をなし、
そして、上記読出中FLAGレジスタ309が「1」で
あることを確認したうえで(ステップS512)、入力
データメモリ115の現在読出アドレスレジスタ306
のアドレスから楽音データを読み出す(ステップS51
3)。
【0069】これにより、現在読出アドレスレジスタ3
06のアドレスから読出終了アドレスレジスタ307の
アドレスまで、例えば図3(b) に示すアドレス「5」か
ら「6」(又は「A」から「C」、「16」から「1
A」、「21」から「22」)まで、同図(a) の楽音デ
ータ31(又は32、34、35)が順次読み出され、
その読み出された楽音データが、ステップS515でD
/A変換器107に出力されて、楽音データが発音処理
される。
【0070】ところで、上述ステップS521に続くS
522において、読出終了アドレスレジスタ307の値
を参照し、その値が「−1」であれば、それは、上述し
たステップS505において、読出タイミング例えば図
3(a) の読出しタイミング時刻T3となり、ステップS
507において発音すべき楽音データ例えば同図(a)の
入力データ34が有ることを判別して、読出し先頭アド
レスと読出し終了アドレスを設定した(すなわち、読み
出しを開始した)その楽音データ34の読み出し終了ア
ドレスが未定のままである、すなわち、読出しタイミン
グ時刻T3では立ち下がりがまだ検出されていなかった
ものであると判別する(図4のS25参照)。つまり、
検出された入力データの立ち下がりは、目下読み出し中
の楽音データの立ち下がりであると判別して、この場合
は、再び現在書込アドレスレジスタ301のアドレスを
「1」減算して、入力データの立ち下がりアドレスであ
る前回書込みアドレスを算出し、その算出した立ち下が
りアドレスを読出終了アドレスレジスタ307にセット
する(ステップS523)。これにより、入力中に読み
出された楽音データの読み出し終了アドレスが設定され
る(図4のS27及びS28参照)。
【0071】上記ステップS522の判別で「−1」で
なければ、今回の読み出しタイミングまでに設定された
読出し終了アドレスであり、新たな読み出し終了アドレ
スの指定は、次回の読み出しタイミングまで必要ないと
判別して、直ちにS524に移行する。
【0072】このようにして、上述の第1の実施例にお
いては、入力データの入力タイミングの如何にかかわら
ず、予め設定された一定間隔時間毎のタイミングで、入
力データがディレイ出力されるが、入力データを、例え
ば自動伴奏のメロディの拍のタイミングでディレイ出力
するようにすることもできる。これを、第2の実施例と
して以下に説明する。図7は、第2実施例に係わる電子
鍵盤楽器の全体構成図である。図1に示した第1実施例
と同一機能を有する構成部分には同一の番号を付与して
示す。
【0073】キーボード110は、自動伴奏のスタート
/ストップを指示入力するためのSTART/STOP
スイッチ110a、その自動伴奏のテンポを遅くするた
めのDOWNスイッチ110b及び逆にテンポを速くす
るためのUPスイッチ110cからなるTEMPOスイ
ッチ、その他特には図示しない各種のスイッチ、例えば
メロディやコード等を選択するためのスイッチ等を備え
ている。
【0074】鍵盤101は、演奏用操作部であり、ユー
ザが押鍵を行うことによってメロディを演奏することが
できる。自動伴奏データメモリ111はROM(Read On
ly Memory)等からなり、自動伴奏用の各種メロディデー
タを、1/96音符単位で記憶しており、ユーザがキー
ボード110の自動伴奏用メロディ選択用のスイッチで
任意に選択できる。
【0075】テンポ値変換テーブル112は、図9に示
すように、現在テンポ値と現在基本クロック値とが対応
するテーブルであり、初期状態では現在テンポ値が
「0」、現在基本クロック値が340(H)(Hは16
進値を表す)に設定される。そしてキーボード110の
DOWNスイッチ110bが操作される毎に現在テンポ
値が「−1」、「−2」、・・・と選択されるようにな
っており、それに対応する現在基本クロック値が「3E
6(H)」、「4E0(H)」、・・・と時間が長くな
るように設定されている。一方、キーボード110のU
Pスイッチ110cが操作される毎に現在テンポ値が
「+1」、「+2」、・・・と選択されるようになって
おり、それに対応する現在基本クロック値が「2C8
(H)」、「270(H)」、・・・と時間が短くなる
ように設定されている。この現在基本クロック値の示す
時間を1/96音符の時間としてテンポが設定され、そ
の1/96音符が24個(1/4音符)で1拍のテンポ
となる。
【0076】CPU102は、その内部に、図8に示す
リズムONフラグレジスタ201、現在テンポ値レジス
タ202、現在基本クロックレジスタ203、基本クロ
ックカウンタ204、1/96音符数レジスタ205、
及び拍数レジスタ206等の各レジスタを有している。
CPU102は、キーボード110からの指示により選
択した現在テンポ値とその現在テンポ値に対応する現在
基本クロック値を、テンポ値変換テーブル112から読
み出して、現在テンポ値レジスタ202及び現在基本ク
ロック値レジスタ203にそれぞれ格納する。
【0077】そして、CPU102は、クロック毎に#1
及び#2のDSP105にDSP制御信号を出力し、リズ
ムがスタートすると#1のDSP105にリズムスタート
信号を出力し、詳しくは後述するが1/96音符数レジ
スタ205の時間経過毎に自動伴奏データメモリ111
から自動伴奏用メロディデータを順次読み出して、図1
0に示すフォーマットの音源データを作成して音源10
3に出力する。
【0078】さらに、CPU102は、上記と並行し
て、鍵盤の押鍵状態を取り込み、各押鍵動作に基づいて
音源103に対してメロディ音の発音を指示するための
音源データを生成し、同様に音源103に出力する。
【0079】ここで、上記CPU102から音源103
へ出力される図10に示すフォーマットの音源データに
ついて説明する。音源データは、発音チャネル、発音フ
ラグ、出力フラグ、波形スタートアドレスと波形エンド
アドレスと波形ループアドレスとからなる波形データ、
及び周波数データで構成される。上記発音チャネルは、
音源103において複数の楽音を並列して処理可能とす
るための時分割処理のタイミングを指示する。発音フラ
グは、楽音の発音か消音かを指示する。出力フラグは、
楽音データを図7の#1又は#2のいずれのDSP105に
出力するかを指示する。波形スタートアドレス及び波形
エンドアドレスは、図7の音源103が波形メモリ10
4から波形データを読み出すための先頭アドレスと最終
アドレスを指示する。波形ループアドレスは、音源10
3が波形メモリ104から一定のアドレス範囲の波形デ
ータを繰り返し読み出すための繰り返しアドレスを指示
する。これにより、楽音を長時間発音させることが可能
となる。そして、周波数データは、音源103が波形メ
モリ104から波形データを読み出すときの歩進幅を指
示する。これにより発音される楽音の音高が確定する。
【0080】図7の音源103は、上述の音源データに
基づいて波形メモリ104から楽音波形データを読み出
し、そのデータに上述のエンベロープデータに基づくエ
ンベロープ特性を付加して楽音データを生成し、エンベ
ロープ付加処理を行うDSP105に出力する。ここ
で、音源103は、各楽音データを、それに対応する音
源データである出力フラグが“0”に設定されている場
合には#1のDSP105に出力し、“1”が設定されて
いる即ち伴奏音の楽音データの場合には#2のDSP10
5にそれぞれ出力する。#1及び#2のDSP105は、C
PU102から入力されるDSP制御信号により、音源
103から入力される各楽音データの1サイクルの処理
を開始する。
【0081】このとき、#1のDSP105は、上記入力
された楽音データを入力データメモリ115に一時的に
書き込み、その書き込んだ楽音データを、CPU102
から入力される読出信号に基づいて読み出して出力す
る。例えば読出信号が拍のタイミングで出力される場合
には、ディレイ音は拍の頭で付加される。
【0082】なお、#1のDSP105におけるディジタ
ル楽音信号の処理は、上述した押鍵に基づいて音源10
3で生成される楽音信号のみではなく、マイクロホンを
具えたアナログ入力回路113及びA/Dコンバータ1
14を介して入力されるディジタル楽音信号(又はディ
ジタル音声信号)に対しても同様になし得る。
【0083】これにより、#1及び#2のDSP105でエ
フェクトが付加された2系統の楽音データは、ミキサ回
路106で混合され、D/A変換器107でアナログ楽
音信号に変換された後、アンプ108を介してスピーカ
109から放音される。
【0084】続いて、図11に、上述の音源103の構
成を示す。同図において、ラッチ501〜507は、図
7のCPU102から送られてきた図10のフォーマッ
トの音源データを、同じくCPU102から出力される
音源データラッチクロックによってラッチする。また、
ラッチ508は、図7のCPU102から送られてきた
エンベロープデータを、これもCPU102から出力さ
れるエンベロープデータラッチクロックによってラッチ
する。そして、ラッチ502は、ラッチした発音フラグ
を、波形メモリ制御回路509に出力する。
【0085】波形メモリ制御回路509は、発音フラグ
が“1”のとき、即ち、発音指示が行われた場合は、ラ
ッチ501にラッチされた発音チャネルと、ラッチ50
4〜506にラッチされた波形データ(波形のアドレス
情報)を取り込み、何れの発音チャネルを波形メモリの
どのアドレス範囲で鳴らすかを決定し、読み出し制御用
の制御信号OE、CE、及び波形メモリアドレスを生成
して、図1の波形メモリ104に出力する。
【0086】エンベロープ制御回路510は、上記によ
り波形メモリ104から読み出される波形データを取り
込み、ラッチ508にラッチされたエンベロープデータ
と乗算し、その乗算結果を楽音データとして、#1及び#2
両方の楽音データ加算器511に出力する。 なお、上
記の音源103は、内部のデータを全て時分割で処理す
る。このため、エンベロープ制御回路510は、楽音デ
ータを、例えば1チャネル〜32チャネルの各発音チャ
ネル毎に、時分割処理によって#1及び#2両方の楽音デー
タ加算器511に出力する。
【0087】一方、出力制御回路512は、#1及び#2の
各加算器ラッチクロックALCK1及びALCK2を、
#1及び#2の各楽音データ加算器511に供給する。この
とき出力制御回路512は、後述するように、ラッチ5
01にラッチされた発音チャネルとラッチ503にラッ
チされた出力フラグとから、各チャネルの楽音データが
#1又は#2のいずれの出力ラッチ513から出力されるも
のであるかを判別し、各チャネル毎に出力フラグの情報
を生成し、各発音チャネルのタイミングで、ALCK1
又はALCK2の何れか一つのみを#1又は#2の対応する
楽音データ加算器511に出力する。
【0088】従って、#1の楽音データ加算器511は、
出力フラグが“0”である発音チャネルの楽音データの
みを加算し、#2の楽音データ加算器511は出力フラグ
が“1”(伴奏音)である発音チャネルの楽音データの
みを加算してそれぞれ出力する。
【0089】#1及び#2の各出力ラッチ513は、上記#1
及び#2の各楽音データ加算器511の出力を出力制御回
路512からの出力ラッチクロックOLCKによってそ
れぞれラッチし、図7の#1及び#2の各DSP105にそ
れぞれ出力する。
【0090】図12に、上記出力制御回路512の構成
を示す。同図において、発音チャネルデコーダ602
は、上述の図11のラッチ501にラッチされた発音チ
ャネルをデコードし、そのデコードの結果ハイレベルと
なった出力を#1〜#32 の内いずれか1つのアンド回路6
03へ加える。
【0091】#1〜#32 のアンド回路603は、上記発音
チャネルデコーダ602から加えられる入力がハイレベ
ルとなっているいずれか1つのアンド回路603の出力
が、特には図示しないクロック発生回路からの音源クロ
ックCK2の入力タイミングでハイレベルとなり、その
ハイレベルとなった出力をラッチクロックとして#1〜#3
2 の内いずれか1つのラッチ601へ加える。
【0092】このラッチクロックに基づいて、#1〜#32
のラッチ601のうち、図11のラッチ501にラッチ
された発音チャネルに相当するラッチ601が、図11
のラッチ503にラッチされた出力フラグをラッチす
る。このときアンド回路603からラッチクロックの入
力しないラッチ601は、以前にラッチしたデータをそ
のまま保持する。
【0093】このようにして、#1〜#32 のラッチ601
には、各発音チャネル毎の出力フラグの情報がラッチさ
れる。一方、カウンタ604及びデコーダ605は、ク
ロック発生回路からの音源クロックCK2に基づいて、
チャネル信号を生成する。
【0094】デコーダ605は、32種類のチャネル信
号のうち順次1つが“1”になるように、詳しくは後述
する音源クロックCK2に同期する各タイミング毎に、
1チャネル信号、2チャネル信号、3チャネル信号、・
・・、32チャネル信号、1チャネル信号、・・・とい
う順番で、#1〜#32 のナンド回路606に“1”を出力
する。
【0095】#1〜#32 のナンド回路606は、上述のデ
コーダ605から入力されるチャネル信号及び前述の#1
〜#32 のラッチ601から入力される出力フラグが共に
“1”であるときは“0”を、チャネル信号及び出力フ
ラグのいずれか一方又は両方が“0”であるときは
“1”を、それぞれナンド回路607に出力する。
【0096】この結果、ナンド回路607は、各ナンド
回路606の各出力を入力として、図14で後述するよ
うに、#1〜#32 の各ラッチ601にラッチされた各発音
チャネル毎の出力フラグの“0”又は“1”の何れかの
状態を、インバータ608及び#2のアンド回路609に
時分割で出力する。
【0097】上記ナンド回路607の出力“0”が加わ
ると、インバータ608は、#1のアンド回路609に
“1”を出力し、その出力を入力として#1のアンド回路
609は、特には図示しないクロック発生回路からの音
源クロックCK1が“1”となるタイミングで、“1”
を出力して、この信号を#1加算器ラッチクロックALC
K1として図11の#1の楽音データ加算器511に供給
する。
【0098】一方、ナンド回路607の出力“1”が加
わると、#2のアンド回路609は、音源クロックCK1
が“1”となるタイミングで、“1”を出力し、この信
号を#2加算器ラッチクロックALCK2として図11の
#2の楽音データ加算器511に供給する。
【0099】また、デコーダ605は、“1”となった
32チャネル信号を図11の#1及び#2の楽音データ加算
器511及びラッチ610にも供給する。ラッチ610
は、デコーダ605から加わる“1”となった32チャ
ネル信号を音源クロックCK1によってラッチしてアン
ド回路611に出力し、アンド回路611は、ラッチ6
10の出力“1”を入力として、音源クロックCK2に
同期して、出力ラッチクロックOLCKを出力し、これ
を図11の#1及び#2の出力ラッチ513に供給する。
【0100】次に、図13は、図11の示す音源103
の#1及び#2の楽音データ加算器511の共通の構成図で
ある。この回路において、アダー701は、図11のエ
ンベロープ制御回路510から入力される時分割の楽音
データを次々に加算して、最終的な出力データを生成す
るように構成される。
【0101】即ち、同図において、ラッチ702及びラ
ッチ703は、アダー701による計算結果を、図12
の出力制御回路512で生成された#1加算器ラッチクロ
ックALCK1又は#2加算器ラッチクロックALCK2
によって順次ラッチし、ラッチ702はラッチデータを
#1又は#2のDSP105へ出力し、ラッチ703はラッ
チデータを再びアダー701に戻す。
【0102】このことにより、時分割の楽音データがア
ダー701で次々に加算され、図13の構成が図11の
#1の楽音データ加算器511である場合は、図11の出
力制御回路512から#1加算器ラッチクロックALCK
1が出力される発音チャネル、即ち、出力フラグが
“0”である発音チャネルの楽音データのみが加算さ
れ、同様に、図12の構成が図11の#2の楽音データ加
算器511である場合は、図11の出力制御回路512
から#2加算器ラッチクロックALCK2が出力される発
音チャネル、即ち、出力フラグが“1”である発音チャ
ネルの楽音データのみが加算されることになる。
【0103】なお、アダー701による加算結果は、ラ
ッチ703において、図11の出力制御回路512内の
図12のデコーダ605から32チャネル信号が出力さ
れるタイミングでクリアされる。即ち、1チャネル信号
から32チャネル信号までが出力される各サンプリング
区間毎に、各発音チャネルの楽音データの加算結果がク
リアされることになる。
【0104】以上の構成の本実施例において、まず図7
の音源103の動作例を、図14の動作タイミングチャ
ートによって説明する。同図の例では、発音チャネルの
1チャネル、2チャネル、4チャネル、・・・、31チ
ャネルでは、発音チャネル毎の出力フラグが“0”、3
チャネル、5チャネル、6チャネル、・・・、32チャ
ネルでは“1”になっている。
【0105】従って、#1のアンド回路609(図12参
照)は、1チャネル、2チャネル、4チャネル、・・
・、31チャネルの各発音チャネルの時分割タイミング
で、#1加算器ラッチクロックALCK1を出力し、#2の
アンド回路609は、3チャネル、5チャネル、6チャ
ネル、・・・、32チャネルの各発音チャネルの時分割
タイミングで、#2加算器ラッチクロックALCK2を出
力する。
【0106】従って、#1の楽音データ加算器511(図
11及び図13参照)は、1チャネルの楽音データD
1、2チャネルの楽音データD2、4チャネルの楽音デ
ータD4、・・・、31チャネルの楽音データD31を
累算した楽音データD1+D2+D4+・・・+D31
を出力し、#2の楽音データ加算器511は、3チャネル
の楽音データD3、5チャネルの楽音データD5、・・
・、32チャネルの楽音データD32を累算した楽音デ
ータD3+D5+・・・+D32を出力する。次に、C
PU102及び#1のDSP105の動作パターンの概略
を、図15の動作例の模式図を用いて説明する。
【0107】同図の(a) はリズムのスタート、1拍目、
2拍目、・・・を表し、(b) は1/96音符のカウント
を表し、(c) は入力波形データ91a、・・・、91
b、・・・、を、(d) はその波形データの書き込みアド
レスをそれぞれ表し、(e) は波形データ91a、91b
等が読み出されるタイミングを、(f) はそれらの波形デ
ータの読み出されるアドレスをそれぞれ表し、(g) は後
述する#1のDSP105の入力有フラグFLAG148
のON/OFFを表し、(h) はCPU102の基本クロ
ックカウンタ204の値が初期値「340」から減算さ
れていく状態すなわち「000」になる毎に、同時に再
び「340」にセットされ、次に減算されて「33
F」、「33E」、・・・となる状態を表し、(i) はC
PU102の1/96音符数レジスタ205の値がイン
クリメントされていく状態を表し、そして(j) はCPU
102から出力される読出信号を表している。
【0108】本実施例において自動伴奏データは1/9
6音符単位のデータであり、また、1/96音符が24
個で1拍となること(同図(b) 参照)及びテンポが異な
ると1/96音符の時間が異なることは既述の通りであ
る。
【0109】#1のDSP105に入力されるディジタル
波形信号は逐次入力データメモリ114に書き込まれ
(同図(c) 参照)、例えば同図のアドレス0005〜0
00Aに書き込まれた波形データ91aのように一定以
上の振幅値を有する波形データは、次の拍(この場合は
1拍目92a)の頭で読み出されて出力される(同図
(e) 参照)。また、1拍目92aと2拍目92bの間
に、一定以上の振幅値を有して書き込まれた例えば同図
のアドレス9BF2〜9BF8の波形データ91bは、
2拍目92bの頭で読み出されて出力される(同じく同
図(e) 参照)。
【0110】上記波形データ91a、91b等の一定以
上の振幅値を有する波形データは、その波形データの初
めと終りのアドレスが記憶され(同図(f) 参照)、さら
に#1のDSP105の入力有フラグFLAG148がO
Nとなることにより(同図(g) 参照)、CPU102か
ら出力される読出信号(同図(f) 参照)に基づいて読み
出される。
【0111】続いて、CPU102によって実行される
音源データ生成の処理動作を図16及び図17に示す動
作フローチャートを用いて説明する。なお、これらの処
理は、CPU102が特には図示しないROMなどに記
憶された制御プログラムを実行することにより実現す
る。また、CPU102によるエンベロープデータの生
成処理については、一般的な電子楽器における処理と変
わるところはなく、したがって、その説明は省略する。
【0112】図16に示す処理においては、電源がオン
されるとスタートし、CPU102は、図8のリズムO
Nフラグレジスタ201、現在テンポ値レジスタ20
2、現在基本クロックレジスタ203、基本クロックカ
ウンタ204、1/96音符数レジスタ205、及び拍
数レジスタ206の各レジスタの内容などを初期設定し
た後、以下に説明するステップS01〜S18の各処理
を一定周期で繰り返し実行する。
【0113】まず、図7のキーボード110の全スイッ
チの操作状態を走査し、それらのキーステータスを取り
込む(ステップS01)。続いて、上記取り込んだキー
ステータスに基づいて、START/STOPスイッチ
110aが押された(入力操作された)か否か判別する
(ステップS02)。
【0114】この判別で、START/STOPスイッ
チ110aが入力操作されていれば、次に、リズムON
フラグレジスタ201を参照し、その値が「1」否かを
判別する(ステップS03)。これにより、上記STA
RT/STOPスイッチ110aの入力操作が自動伴奏
のリズムスタート中においてなされたものであるか否か
が判別される。
【0115】リズムONフラグレジスタ201の値が
「1」でない、即ち「0」であれば、その場合は、リズ
ムONフラグレジスタ201を「1」にセットする(ス
テップS04)。これにより、自動伴奏のリズムがスタ
ートしていないときにおけるSTART/STOPスイ
ッチ110aの入力操作は、自動伴奏のリズムスタート
を指示したものであると判定され、自動伴奏のリズムが
スタートしたことを示すフラグが設定される。
【0116】続いて、基本クロックカウンタ204に、
現在基本クロックレジスタ203の現在基本クロック値
を設定すると共に、1/96音符数レジスタ205及び
拍数レジスタ206をクリアする(ステップS05)。
これにより、自動伴奏のテンポが設定されると共にその
テンポにおける1拍の時間計測が開始される。
【0117】次に、#1のDSP105に、リズムスター
ト信号を送信する(ステップS06)。これにより、後
述する自動伴奏のリズムの拍に応じたディレイ処理が#1
のDSP105によってなされる。
【0118】なお、上記ステップS03で、リズムON
フラグレジスタ201の値が「1」であればリズムON
フラグレジスタ201を「0」にセットする(ステップ
S07)。これにより、自動伴奏のリズムがスタートし
ているときにおけるSTART/STOPスイッチ11
0aの入力操作は、自動伴奏のリズムの停止を指示した
ものであると判定され、自動伴奏のリズム停止を示すフ
ラグが設定される。
【0119】そして、この場合は、次に自動伴奏停止に
対応する消音指示のための音源データを生成する処理を
実行する(ステップS08)。この処理では、図10の
フォーマットの音源データに、消音すべき発音チャネル
がセットされると共に、発音フラグには消音を示す値
“0”がセットされる。
【0120】上記ステップS04〜S06の処理、又は
ステップS07及びS08の処理に続いて、再びステッ
プS01で取り込んだキーステータスに基づいてキーボ
ード110のTEMPOスイッチ(DOWNスイッチ1
10b又はUPスイッチ110c)が押されたか(入力
操作されたか)否か判別する(ステップS09)。この
判別で、DOWNスイッチ110bが押されていた場合
は、図8(a) の現在テンポ値レジスタ202の現在テン
ポ値を「1」デクリメントし(ステップS11)、続い
て、図9のテンポ変換テーブル112から上記デクリメ
ントした現在テンポ値に対応する現在基本クロック値を
読み出して、現在基本クロックレジスタ203にセット
する(ステップS12)。これにより、ユーザによるD
OWNスイッチ110bの入力操作に対応してテンポが
遅い方へと変更され、その変更されたテンポに対応する
時間を計時するための、より長い現在基本クロック値が
設定される。
【0121】また、上記ステップS09の判別で、UP
スイッチ110cが押されていた場合は、現在テンポ値
レジスタ202の現在テンポ値を「1」インクリメント
した後(ステップS10)、ステップS12に進む。こ
れにより、ユーザによるUPスイッチ110cの入力操
作に対応してテンポが速い方へと変更され、その変更さ
れたテンポに対応する時間を計時するための、より短い
現在基本クロック値が設定される。
【0122】次に、ステップS13〜S18の処理を行
う。これら一連の処理は、各押鍵動作又は離鍵動作に基
づき波形メモリ104から波形データを読み出して楽音
(メロディ音)の発音又は消音を指示するための図10
に示すフォーマットの音源データを生成する処理であ
る。
【0123】まず、鍵盤101の鍵域を走査し、全鍵の
キーステータスを取り込み(ステップS13)、続い
て、そのキーステータスに基づいて、鍵操作があったか
否か判別する(ステップS14)。この処理では、ユー
ザが鍵操作を行ったか否か、及び鍵操作を行った場合に
は押鍵を行ったか又は離鍵を行ったかを判別する。
【0124】そして、押鍵の操作が行われたと判別した
場合には、押鍵された鍵に対応する発音されるべき楽音
の波形データと周波数データを生成して音源データを作
成し、その発音チャネルには音源103で処理中の発音
チャネルのうち空いている発音チャネルを付与して、発
音フラグを“1”に設定し、その出力フラグを“0”に
セットする(ステップS15)。
【0125】上記S14で、離鍵の操作が行われたと判
別した場合には、離鍵操作に対応する処理を行う(ステ
ップS16)。この処理では、図10の音源データに、
消音すべき発音チャネルをセットすると共に、発音フラ
グには消音を示す値“0”をセットして、消音指示のた
めの音源データを生成する。
【0126】上記ステップS15又はS16に続いて、
上述したステップS14〜S16の各処理を全鍵につい
て行ったか否か判別し(ステップS17)、まだ全鍵に
ついて行っていなければステップS14に戻る。これに
より、上述したステップS14〜S16の各処理が、ユ
ーザによって鍵操作された全ての鍵に対して実行され
る。
【0127】そして、ステップS17において、鍵操作
された全鍵について発音又は消音指示のための音源デー
タの生成処理を終了したことを判別した場合は、上述し
た処理により生成した音源データを、エンベロープデー
タと共に図7の音源103に供給する(ステップS1
8)。
【0128】このようにして、音源103で生成される
当該楽音は、上記ステップS15で出力フラグを“0”
にセットしてあることにより、図7の#1のDSP105
でエフェクト処理されることになる。
【0129】また、上記ステップS14で、鍵操作がな
にもなければ直ちに処理を終了する。続いて、図17に
示すタイマインタラプト処理について説明する。
【0130】この処理は、上述した図16の処理フロー
チャートに示すように実行している鍵操作時における一
連の繰り返し処理のプログラムに、ある一定時間毎に割
り込みを掛けて以下に説明する処理を実行する。また、
図8の基本クロックカウンタ204にセットされる現在
基本クロック値(現在基本クロックレジスタ203に設
定された値)を、図15に例示した「340」として説
明する。
【0131】CPU102は、まず、基本クロックカウ
ンタ204をデクリメントする(ステップS21)。次
に、そのデクリメントした基本クロックカウンタ204
が「0」となったか否かを判別し(ステップS22)、
「0」でなければ#1及び#2のDSP105にDSP制御
信号を送信する(ステップS32)ということを繰り返
す。
【0132】これにより、基本クロックカウンタ204
に設定された現在基本クロック値が、「0」となるまで
タイマインタラプト処理毎にデクリメントされて、設定
された現在基本クロック値が示す時間が計数される(図
15(h) の33F、33E、・・・、001、000参
照)。
【0133】そして、現在基本クロック値が示す時間が
経過し、上記ステップS22で基本クロックカウンタ2
04が「0」となったことを判別したときは、以下のス
テップS23〜S28の処理に進む。
【0134】まず、1/96音符数カウンタ205の値
を「1」インクリメントする(ステップS23)。これ
により、選択されたテンポに対応する現在基本クロック
値が示す時間が経過する毎に、1/96音符数ウンタ2
05の値が「1」インクリメントされる(図15の(h),
(i) 参照)。
【0135】続いて、基本クロックカウンタ204に、
現在基本クロックレジスタ203の値をセットする(ス
テップS24)。これにより、次回のタイマインタラプ
ト処理から再び現在基本クロック値、例えば「340」
が示す時間経過が計測される(図15の(h) 参照)。
【0136】そして、自動伴奏データメモリ111から
自動伴奏データを読み出して(ステップS25)、図1
0に示すフォーマットの音源データを作成し、その出力
フラグを「1」に設定し(ステップS26)、その音源
データを音源103に供給する(ステップS27)。こ
れにより、現在基本クロック値が示す時間が経過する毎
に自動伴奏データが読み出されて楽音データが作成さ
れ、音源データの出力フラグが「1」であることにより
#2のDSP105で信号処理されて、ミキサ回路106
に出力される。
【0137】上記ステップS23〜S27の処理に続い
て、1/96音符数カウンタ205の値が「24」とな
っているか否か判別し(ステップS28)、まだ「2
4」でなければステップS32の処理を行って処理を終
了するということを時間割り込み毎に繰り返す。
【0138】この結果、現在基本クロック値が示す時間
が経過する毎に1/96音符数カウンタ205の値がイ
ンクリメントされる(図15の(h),(i) 参照)。そし
て、1/96音符数カウンタ205の値が「24」とな
ったことを判別したならば、次に拍数レジスタ206を
「1」インクリメントする(ステップS29)。これに
より、1/96音符24個分の時間経過毎に、1拍の経
過がカウントされる(図15の(i) 参照)。
【0139】次に、1/96音符数カウンタ205をク
リアする(ステップS30)。これにより、次回から再
び現在基本クロック値が示す時間が経過する毎に、1/
96音符数カウンタ205により「0」〜「24」まで
計数することができるようになる。
【0140】続いて、#1のDSP105に読出信号を送
信する(ステップS31)。これにより、#1のDSP1
05によって拍の頭でディレイ音が付加されるようにな
る(図15の(e),(f),(j) 参照)。
【0141】そしてステップS32の処理を行って時間
割り込み処理を終了する。続いて、上記#1のDSP10
5が行う処理動作を、図18及び図19のフローチャー
トを用いて説明する。なお、この処理では、#1のDSP
105は、内部に有する図8に示す各レジスタを使用す
る。
【0142】同図に示す現在書込アドレスレジスタ14
1は、入力データメモリ115の入力データ書き込みア
ドレスを記憶し、そのアドレスは1サイクル毎にインク
リメントされる。
【0143】前回エンベロープ値レジスタ142は、前
回の入力データの振幅が所定値以上のとき「1」を記憶
し、所定値未満のとき「0」を記憶する。現在エンベロ
ープ値レジスタ143は、今回の入力データの振幅が所
定値以上のとき「1」を記憶し、所定値未満のとき
「0」を記憶する。
【0144】次回読出し先頭アドレスレジスタ144
は、前回エンベロープ値レジスタ142の値が「0」
で、現在エンベロープ値レジスタ143の値が「1」の
とき現在書込アドレスレジスタ141の入力データ書き
込みアドレスを記憶する。
【0145】次回読出し終了アドレスレジスタ145
は、前回エンベロープ値レジスタ142の値が「1」
で、現在エンベロープ値レジスタ143の値が「0」の
とき現在書込アドレスレジスタ141の入力データ書き
込みアドレスの1つ前のアドレスを記憶する。
【0146】現在読出アドレスレジスタ146は、次回
読出し先頭アドレスレジスタ144から転送されるアド
レスを記憶し、そのアドレスはデータ読み出し毎にイン
クリメントされる。
【0147】読出終了アドレスレジスタ147は、次回
読出し終了アドレスレジスタ145から転送されるアド
レスを記憶する。入力有FLAGレジスタ148は、デ
ータ読み出しタイミングで、読み出すべきデータが有る
ときは「1」を記憶し、ないときは「0」を記憶する。
【0148】読出中FLAGレジスタ149は、現在読
出アドレスレジスタ146に記憶されているアドレスか
ら読出終了アドレスレジスタ147に記憶されているア
ドレスまでデータ読み出し行われる間「1」を記憶し、
他のときは「0」を記憶する。
【0149】そして、#1のDSP105は、図18のフ
ローチャートのスタート時において、上記の現在書込ア
ドレスレジスタ141にオール「F」を設定し、その他
のレジスタには「0」を設定して各レジスタを初期化す
る。
【0150】次に、CPU102からDSP制御信号が
入力されたか否か判別を繰り返す(ステップS120
1)。これにより、CPU102によって図17のタイ
マインタラプト処理で出力されるDSP制御信号の出力
タイミング毎に、以下に説明する処理が行われる。
【0151】すなわち、DSP制御信号が入力されたこ
とを判別した場合は、音源103から出力された楽音デ
ータを入力データとして取り込む(ステップS120
2)。続いて、現在書込アドレスレジスタ141をイン
クリメントする(ステップS1203)。これにより、
上記取り込んだ入力データ(以下、音源103又はアナ
ログ入力回路113から直接取り込んだものを入力デー
タと言い、それを入力データメモリ115に書き込んだ
以後のものを楽音データと言う)の書き込みアドレスが
設定される。
【0152】続いて、入力データメモリ115の現在書
込アドレスレジスタ141に設定されたアドレスに上記
取り込んだ入力データを楽音データとして書き込む(ス
テップS1204)。これにより、例えば図15(c),
(d) に示したような入力された楽音波形データがアドレ
ス順に書き込まれる。
【0153】次、CPU102からリズムスタート信号
を受信したが否か判別する(ステップS1205)。こ
の判別で、リズムスタート信号を受信しなかったとき
は、直ちにステップS1207に進むが、受信していれ
ば、入力有FLAGレジスタ148を「0」に設定した
後(ステップS1206)、ステップS1207に進
む。これにより、リズムスタート前に入力されたリズム
と無関係な楽音データが自動伴奏リズムのタイミングに
乗ってディレイ付加されることが防止される。
【0154】ステップS1207では、CPU102か
ら読出信号を受信したか否か判別する。例えばスタート
直後であれば受信はないので、その場合は直ちにステッ
プS1208に進み、現在読出アドレスレジスタ146
の値を「1」インクリメントする。これは、後述する楽
音データの読み出しが開始されていた場合に、後段のス
テップS1215で楽音データを順次読み出すための処
理である。
【0155】続いて、読出中FLAGレジスタ149の
値が「1」となっているか否か判別し(ステップS12
13)、この場合もスタート直後であれば値は「0」で
あり、すなわち読み出し中ではないと判別して、その場
合は楽音データを「0」(無音)に設定する(ステップ
S1214)。これにより、楽音データ読み出し中でな
ければ、楽音は発音されないことになる。
【0156】そして、読み出した楽音データをD/A変
換器107に出力する(ステップS1216)。この処
理は、前段のステップS1213で、楽音データ読み出
し中であった場合に対応する処理である。
【0157】次に、前述のステップS1202で取り込
んだ入力データのエンベロープ値を抽出し、その抽出し
たエンベロープ値が予め設定されている一定値以上なら
現在エンベロープ値レジスタ143を「1」に設定し、
一方、一定値未満の場合は「0」に設定する(ステップ
S1217)。
【0158】続いて、前回エンベロープ値レジスタ14
2の値が「0」で且つ上記ステップS1217で設定し
た現在エンベロープ値レジスタ143の値が「1」か否
か、すなわち入力データが立ち上がっているか否か判別
する(ステップS1218)(図15(c),(d) のアドレ
ス「0004」と「0005」、またはアドレス「9B
F1」と「9BF2」参照)。
【0159】そして、入力データが立ち上がっていると
判別した場合は、まず現在書込アドレスレジスタ141
のアドレスを次回読出し先頭アドレスレジスタ144に
セットする(ステップS1219)。これにより、例え
ば図15(c) に示す入力データ91aの立ち上がりのア
ドレスである同図(d) に示す書き込アドレスの「000
5」が、次のタイミングで読み出すための読出し先頭ア
ドレスとして設定される。
【0160】次に、次回読出終了アドレスレジスタ14
5を「−1」にセットする(同じくステップS121
9)。これにより、次のタイミングで読み出す楽音デー
タの読み出し終了アドレスが未定であることが示され
る。
【0161】続いて、入力有FLAGレジスタ148を
「1」にセットする(ステップS1220)。これによ
り、CPU102の読出信号に基づいて読出し処理すべ
き楽音データのあることが、以後の処理のために示され
る。
【0162】そして次に、現在エンベロープ値レジスタ
143の値を前回エンベロープ値レジスタ142にセッ
トする(ステップS1225)。これにより、今回の入
力データのエンベロープ値を前回エンベロープ値とし、
一方次回入力される入力データのエンベロープ値を現在
エンベロープ値として、次回の処理において、再び入力
データのエンベロープの変化を判別することができる。
【0163】続いて、現在読出アドレスレジスタ146
のアドレスと読出終了アドレスレジスタ147のアドレ
スとが一致するか否か判別する(ステップS122
6)。これにより、楽音データ読み出し中である場合に
は、前述のステップS1208で順次インクリメントさ
れる現在読出アドレスレジスタ146のアドレスが読出
終了アドレスに達したか否かが判別される。
【0164】この判別で、両アドレスが一致しない場合
は直ちに前述のステップS1201の処理に戻る。一
方、一致していれば、読出中FLAGレジスタ149を
「0」にした後(ステップS1227)、ステップS1
201の処理に戻る。これにより、楽音データ読み出し
中である場合には、読出中FLAGレジスタ149の値
は「1」のままとなって読み出し中であることを示し、
これがステップS1213で判別されて楽音データの読
み出しが続行される。
【0165】上記ステップS1218の判別で、入力デ
ータの立ち上がりでないときは、今度は、前回エンベロ
ープ値レジスタ142の値が「1」で且つ現在エンベロ
ープ値レジスタ143の値が「0」か否か、すなわち入
力データが立ち下がっているか否か判別し(ステップS
1221)、まだ入力データが立ち下がっていないと判
別した場合は、直ちにステップS1225の処理に移行
するということを繰り返す。これにより、例えば図15
(c) の入力データ91aが、同図(d) のアドレス「00
05」から「000A」まで順次、前のデータのエンベ
ロープ値と後のデータのエンベロープ値とが比較され
る。
【0166】そして、ステップS1221で入力データ
の立ち下がりを判別したならば(図15(c),(d) のアド
レス「000A」と「000B」の波形データ、または
アドレス「9BF8」と「9BF9」の波形データ参
照)、現在書込アドレスレジスタ141のアドレスを
「1」減算して前回書込みアドレスを算出し、その算出
した前回書込みアドレスを次回読出し終了アドレスレジ
スタ145にセットする(ステップS1222)。これ
により、例えば図15(c) に示す入力データ91aの立
ち下がりのアドレスである同図(d) に示す書込みアドレ
スの「000A」が、次のタイミングで読み出す楽音デ
ータの読出し終了アドレスとして設定される。
【0167】続く、ステップS1223及びS1224
の処理については後述するが、このようにして、楽音デ
ータを入力データメモリ115に順次書き込み、その波
形データの立ち上がりと立ち下がりのアドレスを次回読
出し先頭アドレスレジスタ144と次回読出し終了アド
レスレジスタ145にそれぞれセットした後、前述のス
テップS1207の判別で、読出信号を受信した場合は
(図15(j) の矢印A又はB参照)、さらに、入力有F
LAGレジスタ148の値が「1」となっているか否か
判別し(ステップS1209)、その値が「1」すなわ
ち前回の拍から今回の拍までの間に入力データがあった
ことを確認して(図15(c) の波形データ91a又は9
1b、及び(g) の入力有FLAGを参照)、次回読出し
先頭アドレスレジスタ144のアドレスを現在読出アド
レスレジスタ146にセットすると共に、次回読出し終
了アドレスレジスタ145のアドレスを読出終了アドレ
スレジスタ147にセットする(ステップS121
0)。これにより、例えば図15(d) に示す書き込アド
レスの「0005」と「000A」が、それぞれ読み出
し開始アドレス及び読み出し終了アドレスとして設定さ
れる。
【0168】続いて、読出中FLAGレジスタ149を
「1」にし(ステップS1211)、これにより、楽音
データの読み出し中であることを設定し、次に、入力有
FLAGレジスタ148を「0」にし(ステップS12
12)、これにより、次回入力データの検出準備をな
し、そして、上記読出中FLAGレジスタ149が
「1」であることを確認したうえで(ステップS121
3)、入力データメモリ115の現在読出アドレスレジ
スタ146のアドレスから楽音データを読み出す(ステ
ップS1215)。
【0169】これにより、現在読出アドレスレジスタ1
46のアドレスから読出終了アドレスレジスタ147の
アドレスまで、例えば図15(d) に示すアドレス「00
05」から「000A」まで、同図(c) の楽音データ9
1aが順次読み出され、その読み出された楽音データ
が、ステップS1216でD/A変換器107に出力さ
れて、楽音データが発音処理される。
【0170】ところで、上述ステップS1222に続く
S1223において、読出終了アドレスレジスタ147
の値を参照し、「−1」であれば、上述したステップS
1208におけるCPU102からの読出信号とステッ
プS1209における入力有FLAGレジスタ148の
値「1」とにより読み出しを指示された楽音データの立
ち下がりがまだ検出されておらず、ステップS1210
で設定された読み出し終了アドレスが未定のままであ
る、すなわち、いま立ち下がった入力データは、今読み
出し中の楽音データであると判別し、この場合は、再び
現在書込アドレスレジスタ141のアドレスを「1」減
算して、今読み出し中の楽音データである入力データ
の、立ち下がりアドレスである前回書込みアドレスを算
出し、その算出した立ち下がりアドレスを読出終了アド
レスレジスタ147にセットする(ステップS122
4)。これにより、入力中に読み出された楽音データの
読み出し終了アドレスが設定される。
【0171】上記ステップS1223の判別で「−1」
でなければ、今回の読み出しタイミングで設定された読
出し終了アドレスであり、新たな読み出し終了アドレス
の指定は、次回の読み出しタイミングまで必要ないと判
別して、直ちにステップS1225に移行する。
【0172】上述したように、第1又は第2の実施例に
おいては、楽音データや音声データ等の入力ディジタル
信号にエフェクトをかけるばかりでなく、そのエフェク
トをかけた入力ディジタル信号を、入力のタイミングに
係わらず、所定の一定間隔時間毎のタイミングでディレ
イ出力させることができ、あるいは、自動伴奏メロディ
等の自動発生されたディジタルデータをそのまま又はエ
フェクトを掛けて、その自動発生の拍等のタイミング毎
に、エフェクトをかけた入力ディジタル信号をディレイ
出力させることができる。
【0173】
【発明の効果】以上説明したように、本発明によれば、
任意のタイミングで入力された楽音、音声等の入力信号
を所定の間隔又は伴奏メロディの拍等に合わせた一定タ
イミングでリアルタイムでディレイ出力できるので、例
えば自動伴奏等に同期しない誤ったタイミングの入力で
も自動伴奏等に同期したディレイがかけられて出力さ
れ、したがって、演奏の雰囲気を損ねることもなく、充
分に演奏効果を高めることができる。また、そのディレ
イ付加がリアルタイムであるため極めて面白味のある演
奏を楽しむことが可能となる。
【図面の簡単な説明】
【図1】第1実施例の効果付加装置を内蔵した電子鍵盤
楽器の全体構成図である。
【図2】DSP内部レジスタの構成図である。
【図3】DSPの概略動作を説明する図である。
【図4】DSP内部レジスタの値の変化を示す図であ
る。
【図5】DSPの動作を説明するフローチャート(その
1)である。
【図6】DSPの動作を説明するフローチャート(その
2)である。
【図7】第2実施例の効果付加装置を内蔵した電子鍵盤
楽器の全体構成図である。
【図8】第2実施例のCPU内部レジスタの構成図であ
る。
【図9】テンポ変換テーブルを説明する図である。
【図10】音源データフォーマットを示す図である。
【図11】音源の構成図である。
【図12】出力制御回路の構成図である。
【図13】楽音データ加算器の構成図である。
【図14】第2実施例の動作例を示す動作タイミングチ
ャートである。
【図15】第2実施例の動作例を説明する模式図であ
る。
【図16】第2実施例のCPUの動作フローチャートで
ある。
【図17】第2実施例のCPUのタイマインタラプト処
理のフローチャートである。
【図18】DSP(#1)動作フローチャート(その1)
である。
【図19】DSP(#1)動作フローチャート(その2)
である。
【図20】DSP(#1)の内部レジスタの構成を示す図
である。
【符号の説明】
101 鍵盤 102 CPU 103 音源 104 波形メモリ 105 DSP 106 ミキサ回路 107 D/A変換器 108 アンプ 109 スピーカ 110 自動伴奏データメモリ 111 メロディガイド 121、201 1/96音符カウンタ 202 押鍵指定音バッファ 122 音長カウンタ 123 押鍵タイミングカウンタ 124 押鍵指定タイミングレジスタ 125 次回音階No.レジスタ 126 現在音階No.レジスタ 127 押鍵指定音階No.レジスタ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力される信号を記憶する記憶手段と、 前記入力される信号のエンベロープ値が所定値に増加し
    ていることを検出する第1の検出手段と、 前記入力される信号のエンベロープ値が前記所定値から
    減少していることを検出する第2の検出手段と、 前記第1の検出手段により前記入力されるエンベロープ
    値が前記所定値に増加していることが検出されたとき前
    記信号の記憶されている前記信号記憶手段の先頭アドレ
    スを記憶する第1のアドレス記憶手段と、 前記第2の検出手段により前記入力されるエンベロープ
    値が前記所定値から減少していることが検出されたとき
    前記信号の記憶されている前記信号記憶手段の終了アド
    レスを記憶する第2のアドレス記憶手段と、予め設定された一定間隔時間毎に読出しタイミングを計
    数する計数手段と、 前記第1の検出手段により前記入力される信号のエンベ
    ロープ値が所定値に増加していることを検出した後に
    記計数手段の計数により読出しタイミングとなったと
    き、前記信号記憶手段の前記第1のアドレス記憶手段に
    記憶された先頭アドレスから前記第2のアドレス記憶手
    段に記憶された終了アドレスまで、前記信号を順次読み
    出す読出手段と、 を有することを特徴とする効果付加装置。
  2. 【請求項2】 入力される信号を記憶する記憶手段と、 前記入力される信号のエンベロープ値が所定値に増加し
    ていることを検出する第1の検出手段と、 前記入力される信号のエンベロープ値が前記所定値から
    減少していることを検出する第2の検出手段と、 前記第1の検出手段により前記入力されるエンベロープ
    値が前記所定値に増加していることが検出されたとき前
    記信号の記憶されている前記信号記憶手段の先頭アドレ
    スを記憶する第1のアドレス記憶手段と、 前記第2の検出手段により前記入力されるエンベロープ
    値が前記所定値から減少していることが検出されたとき
    前記信号の記憶されている前記信号記憶手段の 終了アド
    レスを記憶する第2のアドレス記憶手段と、 基本クロックのタイミングに基づいて自動伴奏音を発生
    する自動伴奏発生手段と、 前記基本クロックのタイミングに基づいて前記自動伴奏
    音の拍のタイミングを検出する拍タイミング検出手段
    と、 前記第1の検出手段により前記入力される信号のエンベ
    ロープ値が所定値に増加していることを検出した後に前
    記拍タイミング検出手段で拍タイミングを検出したとき
    に、前記信号記憶手段の前記第1のアドレス記憶手段に
    記憶された先頭アドレスから前記第2のアドレス記憶手
    段に記憶された終了アドレスまで、前記信号を順次読み
    出す読出手段と、 を有することを特徴とする効果付加装置。
JP17350492A 1992-06-30 1992-06-30 効果付加装置 Expired - Fee Related JP3298157B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17350492A JP3298157B2 (ja) 1992-06-30 1992-06-30 効果付加装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17350492A JP3298157B2 (ja) 1992-06-30 1992-06-30 効果付加装置

Publications (2)

Publication Number Publication Date
JPH0619490A JPH0619490A (ja) 1994-01-28
JP3298157B2 true JP3298157B2 (ja) 2002-07-02

Family

ID=15961752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17350492A Expired - Fee Related JP3298157B2 (ja) 1992-06-30 1992-06-30 効果付加装置

Country Status (1)

Country Link
JP (1) JP3298157B2 (ja)

Also Published As

Publication number Publication date
JPH0619490A (ja) 1994-01-28

Similar Documents

Publication Publication Date Title
JPH1074093A (ja) カラオケ装置
JP2800465B2 (ja) 電子楽器
JP3214013B2 (ja) 電子楽器
JP3239411B2 (ja) 自動演奏機能付電子楽器
JP2001022350A (ja) 波形再生装置
JP3298157B2 (ja) 効果付加装置
JPH11282483A (ja) カラオケ装置
JPH03242697A (ja) 電子楽器
JP2904045B2 (ja) カラオケ装置
JP3235160B2 (ja) 楽音制御装置
JP2001209382A (ja) 電子楽器の連打処理装置
JP3173310B2 (ja) ハーモニー生成装置
JP2000187490A (ja) 音声処理装置
JP4619495B2 (ja) 自動伴奏装置及び自動伴奏方法
JP2601039B2 (ja) 電子楽器
JPH0822282A (ja) ギター自動伴奏装置
JP3298193B2 (ja) 効果付加装置
JP4124433B2 (ja) デジタル音源付き電子楽器
JP3407563B2 (ja) 自動演奏装置及び自動演奏方法
JP2990780B2 (ja) 楽音信号形成装置
JP2694788B2 (ja) 電子楽器
JP3169535B2 (ja) 自動演奏装置及び自動演奏方法
JPH05108068A (ja) フレーズ情報入出力装置
JPH04181995A (ja) 自動伴奏装置
JP3150580B2 (ja) 自動演奏装置及び自動演奏方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020319

LAPS Cancellation because of no payment of annual fees