JPH04307597A - 音階検出装置及びそれを用いた楽音発生装置 - Google Patents

音階検出装置及びそれを用いた楽音発生装置

Info

Publication number
JPH04307597A
JPH04307597A JP3100394A JP10039491A JPH04307597A JP H04307597 A JPH04307597 A JP H04307597A JP 3100394 A JP3100394 A JP 3100394A JP 10039491 A JP10039491 A JP 10039491A JP H04307597 A JPH04307597 A JP H04307597A
Authority
JP
Japan
Prior art keywords
scale
musical
sound
detected
module
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
JP3100394A
Other languages
English (en)
Other versions
JP3120468B2 (ja
Inventor
Kunihiro Matsubara
邦裕 松原
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 JP03100394A priority Critical patent/JP3120468B2/ja
Publication of JPH04307597A publication Critical patent/JPH04307597A/ja
Application granted granted Critical
Publication of JP3120468B2 publication Critical patent/JP3120468B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本願各発明は、楽器音や人声音等
を入力してピッチを抽出し、この抽出されたピッチが所
望の音階のピッチであるか否かの音階判定を行うととも
に、音階判定した音階音の状態を検出する音階検出装置
及びその判定結果に従って電子的に楽音を発生させる楽
音発生装置に関し、特に、複音(和音も含む)の入力に
対しても、十分対応できるようにするとともに、音階音
の発生状態や持続状態等の状態をも検出する音階検出装
置及び該音階検出装置の検出結果を用いた楽音発生装置
に関する。
【0002】
【従来の技術】従来より、楽器音や人声音などを入力し
てピッチを抽出して、音階判定を行い、その結果を楽譜
の形でプリントアウトしたり、一連の判定結果をコード
化して記録した後、別の楽器音として出力し、自動演奏
したりする技術が提案されている(特開昭57−692
号、特開昭58−97179号等)。
【0003】ところが、このような従来技術にあっては
、基本的に単音の入力にしか対応できず、複音(和音も
含む)の入力については何等検討されていないのが実情
である。
【0004】そこで、和音入力に対して和音名を検出し
、和音名信号に応じて和音名表示を行うことが提案され
た(実開昭60−26091号)。
【0005】しかし、この公開公報に開示されているも
のは、アナログバンドパスフィルタ回路を音階数分設け
、それぞれの出力のピークホールドをとり、レベル検出
回路でピークの大きいものから和音を構成する構成音の
候補とするというものである。
【0006】このようなアナログフィルタを用いる技術
によると、外温の影響によって判定結果が変動したり、
安定でないという問題があり、また回路構成も大規模化
してしまい、大がかりになってしまうという欠点もある
【0007】そこで、本出願人は、先に、入力される音
響信号が、単音であっても、また複音であっても、その
音響の音階を短時間で検出し、しかも回路的に小規模で
安定した動作をするディジタル化した音階検出装置及び
それを用いた電子楽器を提案している(特願平2−12
3789号)。
【0008】この音階検出装置は、基本的には、与えら
れる音響信号を表現するディジタル波形信号を順次記憶
する記憶手段と、この記憶手段に記憶される上記ディジ
タル波形信号に対して、各音階に対応する周波数に関す
る周波数スペクトルのレベルを検知するために時分割で
異なる特性のディジタルフィルタリングを順次行うディ
ジタル信号処理手段と、このディジタル信号処理手段に
て実行されたディジタルフィルタリングの結果に基づい
て、上記与えられる音響信号に含まれる1乃至複数の音
階音を検知する検知手段と、を具備し、音階音検出装置
を用いた電子楽器は、上記各手段の他に、該検知手段で
検知された1乃至複数の音階音に対応する楽音信号を所
定の音色をもって発生する楽音信号発生手段と、を具備
している。
【0009】したがって、本出願人が先に出願した音階
検出装置によれば、信号処理をすべてディジタル処理す
ることができ、入力される音響信号が、単音であっても
、また複音であっても、音響の音階を短時間で検出し、
しかも回路的に小規模で安定した動作をさせることがで
きる。
【0010】
【発明が解決しようとする課題】しかしながら、本出願
人が先に出願した音階検出装置及びそれを用いた電子楽
器にあっては、まず、音階検出装置が、周波数スペクト
ルのレベルをディジタル信号処理手段によりディジタル
フィルタリング処理し、このディジタルフィルタリング
の処理結果によりエンベロープ値が所定基準値以上であ
ると、音階音として検出して、検出した音階音が、発音
用の音階音として現在割り当てられている音階音と相違
するときには、音階音を検出した時点で、発音用の音階
音として割り当て、現在発音用音階音として割り当てら
れている音階音が検出されなくなると、発音用の音階音
から削除する。しかしながら、音階検出装置が、音階音
を検出するとすぐ発音用の音階音として割り当て、電子
楽器が、発音用音階音として割り当てられた音階音に対
応する楽音を楽音信号発生手段により発生し、既に発音
用音階音として割り当てられている音階音が削除される
と、その音階音に対応する楽音の発生をすぐに停止した
のでは、楽音として好ましくない音を発生させる場合が
生じるおそれがあり、実演奏上の使用面において、なお
改良の余地があった。
【0011】これは、すなわち、通常、楽音の立ち上が
り等音階が不安定な部分では、人間が聞いてその楽音の
主要な音階として感じる音階以外の音階も含まれており
、本出願人が先に出願した音階検出装置では、発音用の
音階音として現在割り当てられている音階音と相違する
いかなる音階でも検出すると、その音階音を検出した時
点で、発音用の音階音として割り当ててしまうため、こ
の音階の楽音を電子楽器で発生すると、楽音として好ま
しくない音を発生させるおそれがあった。
【0012】また、本出願人が先に出願した音階検出装
置及びそれを用いた電子楽器にあっては、検出した音階
音をエンベロープ値の大きさに基づいて発音用の音階と
して割り当てるとともに、現在発音用音階音として割り
当てられている音階音が発生の不安定さから検出されな
くなると、発音用の音階音から自動的に削除していたた
め、発音用音階音として割り当てる優先順位の設定いか
んによっては、継続して発音されている音階音が存在し
ている場合であっても、発音用音階音から削除され、電
子楽器からの発音が停止されることがある。その結果、
実演奏上の使用面において改良の余地があった。
【0013】そこで、本願各発明は、入力される音響信
号を、時分割でディジタルフィルタリング処理を行って
音階音を検出するとともに、この音階音の遷移状態を監
視し、音階音の状態に応じて発音用音階音としての割り
当てや発音用音階音からの削除を行うことにより、楽音
として好ましくない音の発生を防止し、また、実演奏上
の使用性を向上させることを目的としている。
【0014】
【課題を解決するための手段】請求項1記載の発明は、
発生された音響信号をディジタル処理により音階音とし
て検出する音階検出装置に適用され、音響信号を表現す
るディジタル波形信号に対して、異なる特性のディジタ
ルフィルタリング処理を時分割で順次行うことにより各
音階に対応した周波数に関する周波数スペクトルのレベ
ルを検出するディジタル信号処理手段と、ディジタル信
号処理手段によるディジタルフィルタリングの処理結果
に基づいて、前記音響信号に含まれる1乃至複数の音階
音を検出する音階検出手段と、音階検出手段の検出した
音階音のうちそのレベルが所定の基準値を越えた音階音
を記憶する検出音階記憶手段と、検出音階記憶手段に記
憶した音階音の遷移情報を記憶する検出音モジュールと
、楽音発生用の音階音とその音階音の楽音発生用音階音
としての状態を示す情報を記憶する発音モジュールと、
音階検出手段により検出され前記検出音階記憶手段に記
憶された音階に対して、検出音モジュールの遷移情報及
び発音モジュールに記憶された情報に基づいて、発音モ
ジュールに楽音発生用の音階音として登録するかどうか
を制御するとともに、発音モジュールに登録された音階
音を削除するかどうかを制御する制御手段と、  を備
えている。
【0015】前記検出音モジュールは、請求項2に記載
されているように、例えば、遷移情報として、前記音階
検出手段が新たに検出した音階音であるのかどうかの状
態変化情報と、各音階の状態が継続している時間に関す
る状態継続情報と、を記憶したものであってもよい。
【0016】請求項3記載の発明は、発生された音響信
号をディジタル処理により音階音として検出し、検出し
た音階音を楽音として発生する楽音発生装置に適用され
、音響信号を表現するディジタル波形信号に対して、異
なる特性のディジタルフィルタリング処理を時分割で順
次行うことにより各音階に対応した周波数に関する周波
数スペクトルのレベルを検出するディジタル信号処理手
段と、ディジタル信号処理手段によるディジタルフィル
タリングの処理結果に基づいて、前記音響信号に含まれ
る1乃至複数の音階音を検出する音階検出手段と、音階
検出手段の検出した音階音のうちそのレベルが所定の基
準値を越えた音階音を記憶する検出音階記憶手段と、検
出音階記憶手段に記憶した音階音の遷移情報を記憶する
検出音モジュールと、楽音発生用の音階音とその音階音
の楽音発生用音階音としての状態を示す情報を記憶する
発音モジュールと、音階検出手段により検出され前記検
出音階記憶手段に記憶された音階に対して、検出音モジ
ュールの遷移情報及び発音モジュールに記憶された情報
に基づいて、発音モジュールに楽音発生用の音階音とし
て登録するかどうかを制御するとともに、発音モジュー
ルに登録された音階音を削除するかどうかを制御する制
御手段と、制御手段により発音モジュールに楽音発生用
の音階として登録された音階音に対応する楽音を発生す
る楽音発生手段と、を備えている。
【0017】請求3記載の検出音モジュールは、請求項
4に記載されているように、例えば、遷移情報として、
前記音階検出手段が新たに検出した音階音であるのかど
うかの状態変化情報と、各音階の状態が継続している時
間に関する状態継続情報と、を記憶したものであっても
よい。
【0018】
【作用】請求項1記載の発明によれば、ピアノ等の楽器
や電子楽器等から発生された音響信号は、ディジタル変
換され、ディジタル信号処理手段に入力される。ディジ
タル信号処理手段は、この音響信号を表現するディジタ
ル波形信号に対して、異なる特性のディジタルフィルタ
リング処理を時分割で順次行うことにより各音階に対応
した周波数に関する周波数スペクトルのレベルを検出し
、音階検出手段に出力する。音階検出手段は、ディジタ
ル信号処理手段によるディジタルフィルタリングの処理
結果に基づいて、前記音響信号に含まれる1乃至複数の
音階音を検出する。音階検出手段の検出した音階音のう
ちそのレベルが所定の基準値を越えた音階音は、検出音
階記憶手段に記憶され、検出音階記憶手段に記憶された
音階音の遷移情報が、検出モジュールに記憶される。 この検出モジュールに記憶された音階音を、制御手段が
楽音発生用の音階音として発音モジュールに登録し、発
音モジュールは、さらに登録された音階音の楽音発生用
音階音としての状態を示す情報を記憶する。この制御手
段は、音階検出手段により検出され検出音階記憶手段に
記憶された音階に対して、前記検出音モジュールの遷移
情報及び前記発音モジュールに記憶された情報に基づい
て、発音モジュールに楽音発生用の音階音として登録す
るかどうかを制御するとともに、発音モジュールに登録
された音階音を削除するかどうかを制御する。
【0019】したがって、音響信号の立ち上がりから停
止までの状態変化に対応して、正確に発音用の音階とし
て割り当て、また削除することができ、人間にとって聞
きごこちのよいものとすることができ、また、実演奏上
の使用性を向上させることができる。
【0020】請求項2記載の発明によれば、前記検出音
モジュールが、遷移情報として、前記音階検出手段が新
たに検出した音階音であるのかどうかの状態変化情報と
、各音階の状態が継続している時間に関する状態継続情
報と、を記憶しているので、楽音の立ち上がり等音階が
不安定な部分で、人間が聞いてその楽音の主要な音階と
して感じる音階以外の音階音を発音用の音階音から除外
することができ、人間が聞いて楽音として好ましい音階
のみを、発音用の音階音として割り当てることができる
。また、継続して発音されている音階音が存在している
場合には、発音用音階音から削除される誤動作を防止す
ることができ、実演奏上の使用性を向上させることがで
きる。
【0021】請求項3記載の発明によれば、ピアノ等の
楽器や電子楽器等から発生された音響信号は、ディジタ
ル変換され、ディジタル信号処理手段に入力される。デ
ィジタル信号処理手段は、この音響信号を表現するディ
ジタル波形信号に対して、異なる特性のディジタルフィ
ルタリング処理を時分割で順次行うことにより各音階に
対応した周波数に関する周波数スペクトルのレベルを検
出し、音階検出手段に出力する。音階検出手段は、ディ
ジタル信号処理手段によるディジタルフィルタリングの
処理結果に基づいて、前記音響信号に含まれる1乃至複
数の音階音を検出する。音階検出手段の検出した音階音
のうちそのレベルが所定の基準値を越えた音階音は、検
出音階記憶手段に記憶され、検出音階記憶手段に記憶さ
れた音階音の遷移情報が、検出モジュールに記憶される
。この検出モジュールに記憶された音階音を、制御手段
が楽音発生用の音階音として発音モジュールに登録し、
発音モジュールは、さらに登録された音階音の楽音発生
用音階音としての状態を示す情報を記憶する。この制御
手段は、音階検出手段により検出され検出音階記憶手段
に記憶された音階に対して、前記検出音モジュールの遷
移情報及び前記発音モジュールに記憶された情報に基づ
いて、発音モジュールに楽音発生用の音階音として登録
するかどうかを制御するとともに、発音モジュールに登
録された音階音を削除するかどうかを制御する。この発
音モジュールに登録された音階音に対応する楽音を楽音
発生手段により発生する。
【0022】したがって、楽音発生装置において、入力
される音響信号の立ち上がりから停止までの状態変化に
対応して、正確に発音用の音階音として割り当て、また
削除し、発音用音階音として登録された音階音のみを、
楽音発生手段により楽音として発生することができると
ともに、発音用音階音から削除された音階音の楽音の発
生を停止することができる。その結果、人間に取って聞
きごこちのよい楽音を発生させることができ、また、実
演奏上の使用性を向上させることができる。
【0023】請求項4記載の発明によれば、前記検出音
モジュールが、遷移情報として、前記音階検出手段が新
たに検出した音階音であるのかどうかの状態変化情報と
、各音階の状態が継続している時間に関する状態継続情
報と、を記憶しているので、楽音の立ち上がり等音階が
不安定な部分で、人間が聞いてその楽音の主要な音階と
して感じる音階以外の音階音を発生させないようにする
ことができ、人間が聞いて楽音として好ましい音階音の
みを、楽音発生手段により発生させることができる。 また、継続して発音されている音階音が存在している場
合には、楽音として継続して発生させることができ、誤
動作を防止しつつ実演奏上の使用性を向上させることが
できる。
【0024】
【実施例】以下に、本願各発明の一実施例を説明する。 <基本原理>先ず、実施例で用いるディジタルフィルタ
処理の基本原理について説明する。実施例では、ディジ
タルフィルタ処理をDSP(Digital Sign
al Processor:ディジタル信号処理プロセ
ッサ)を使用することにより行っている。すなわち、D
SPにディジタルフィルタとして動作させるのに必要な
プログラムやデータを書き込み、図1に示すようなバン
ドパスフィルタHt(z)を構成するとともに、更にエ
ンベロープ抽出回路を構成し、ディジタルフィルタ処理
及びエンベロープ抽出処理を行う。
【0025】図1において、入力信号X(n) は、ア
ナログの音響信号を所定サンプリングタイミングでサン
プリングした値をディジタル信号(もともとディジタル
信号で供給される場合はそのままでよい)に変換して入
力したものであり、この入力信号X(n)に対して、D
SPの時分割処理によってn個のバンドパスフィルタH
t(z)のフィルタリング処理を行う。このフィルタリ
ング処理に際して、n個のバンドパスフィルタHt(z
)の伝達関数を、複数オクターブの各音階に依存させて
変更する。
【0026】図2は、バンドパスフィルタHt(z)と
してチェビシエフ形のものを採用した場合の周波数特性
の大きさを示している。この場合の伝達関数としては、
tを各音階に指定するサフィックス(添字)として、次
のようになる。
【数1】 ここで、i=1としてこのバンドパスフィルタHt(z
)を構成すると、DSPの処理は、
【数2】 を実行することになる。
【0027】なお、i≧2の場合は、上式と同様の演算
を繰り返し実行することになる。また、各バンドパスフ
ィルタHt(z)の係数については、数値計算で求める
ことができる。具体例としては、A4=440Hzのバ
ンドパスフィルタを次の条件(■〜■は図2参照)で構
成すると、下記の如き係数値をもつ伝達関数のディジタ
ルフィルタリング処理を実行することになる。
【0028】すなわち、 ■=1dB ■=(サンプリング周波数fs)=10KHz■=12
dB以上 ■=415Hz ■=430Hz ■=450Hz ■=466Hz の条件で、i=1,2の2段のディジタルフィルタのそ
れぞれの係数は次のようになる。
【0029】H440Hz(0)=0.0819238
4i=1に対し、 a1(1)=−1.91442200776a2(1)
=  0.9933673 b1(1)=−1.91105345727b2(1)
=  1. i=2に対し、 a1(2)=−1.9210712 a2(2)=  0.993606 b1(2)=−1.93525314797b2(2)
=  1. このように、バンドパスフィルタHt(z)の演算が各
音階に対して時分割的に実行され、その結果信号Yt(
n),t=1〜Nが求まる。
【0030】この結果信号Yt(n)に対して、次に、
DSPは、エンベロープ抽出処理を時分割で行う。この
エンベロープ処理は、それぞれの結果信号Yt(n)の
波形について所定時間間隔毎(例えば各音階の対応する
周波数毎)にピークレベル(絶対値)を求めて行う。あ
るいは後述するような特定のディジタルフィルタを|Y
t(n)|(Yt(n)の絶対値信号)に対して行って
求める。
【0031】このようにDSPの時分割処理により、そ
れぞれの音階についてのエンベロープ信号Et(n),
t=1〜Nが求まり、この出力に対して、このDSPの
適用された楽音発生装置等のCPU(マイクロコンピュ
ータなど)が、レベル判断を実行することにより、もと
もとの入力信号X(n)の波形に含まれる音階信号を1
乃至複数検出することが可能となる。
【0032】このように、この基本原理は、各音階につ
いてピークをもつバンドパスフィルタHt(z)により
フィルタリング処理を時分割で行うものであるが、バン
ドパスフィルタHt(z)は、上述したチェビシェフ形
のバンドパスフィルタに限るものではなく、種々の形式
のディジタルフィルタで何等の機能を実現できる。また
、バンドパスフィルタは、ローパスフィルタとハイパス
フィルタのカスケード接続することによっても実現でき
る。
【0033】上記チェビシェフ形のバンドパスフィルタ
、A4=440Hzの例では、8回の乗算が必要となる
。そこで、以下に、フィルタ演算を行う際の乗算回数を
減らし、リアルタイムでフィルタリングを行うことを容
易にしたフィルタリング処理のひとつの改良原理を説明
する。
【0034】<改良原理>図3は、乗算回数を減少させ
たディジタルフィルタ演算をDSPに行わせる改良原理
を示しており、このバンドパスフィルタは、ハイパスフ
ィルタH1(z)、ローパスフィルタH2t(z) 及
びローパスフィルタHE(z)で構成されている。この
バンドパスフィルタでは、ディジタル表現による入力音
響信号X(n)は、まず、ハイパスフィルタH1(z)
に入力され、ハイパスフィルタH1(z)は、その詳細
については後述するが、周波数0で0、周波数fs/2
で最大となるハイパスディジタルフィルタである。
【0035】このハイパスフィルタH1(z)の出力Y
(n) が、各音階t毎に時分割動作するローパスフィ
ルタH2t(z) に入力され、ローパスフィルタH2
t(z) は、その詳細については後述するが、音階周
波数でピークをもったレゾナンスタイプのローパスディ
ジタルフィルタの特性をもっている。
【0036】したがって、上記ハイパスフィルタH1(
z)とローパスフィルタH2t(z) をカスケード接
続して得られるディジタルフィルタの周波数特性の大き
さは、図4のごとくなっており、疑似バンドパスフィル
タとなっている。
【0037】図4において、f1,f2,……fNが、
各音階周波数に対応し、Nを40〜50程度(3オクタ
ーブから4オクターブ)にすることが可能である。なお
、これ以上の広いオクターブレンジで音階検出するとき
は、高速のDSPか、複数のDSPによる並列処理を採
用することで達成できる。
【0038】このローパスフィルタH2t(z) の出
力Wt(n),t=1〜Nが、各音階毎に時分割動作す
るローパスフィルタHE(z)に与えられ、このローパ
スフィルタHE(z)の特性も後述するが、このローパ
スフィルタHE(z)の各出力Et(n)が、図1と同
様に、各音階についてのエンベロープ信号となる。その
後の処理は、基本原理の場合と同様である。
【0039】次に、図3の各ディジタルフィルタの構成
、特性を詳述する。 ハイパスフィルタH1(z) 図5は、ハイパスフィルタH1(z)の一構成例を示し
ている。このハイパスフィルタH1(z)は、2次のF
IR(Finite Impulse Respons
e)ディジタルフィルタであり、その伝達関数は、
【数3】 である。
【0040】図5において、5−1,5−2は遅延素子
、5−3,5−4,5−5は乗算器、5−6,5−7は
加算器を示している。このハイパスフィルタH1(z)
をDSPで演算により実現するときには、
【数4】 を実行することとなる。この場合、係数と信号の乗算は
単なるシフト処理で実現できる。
【0041】このハイパスフィルタH1(z)の周波数
特性は、
【数5】 となり、図6にその特性を示すように、Ω=0(0Hz
)で最小、Ω=π(fs/2Hz)で最大となる特性を
とる。
【0042】ローパスフィルタH2t(z)図7は、ロ
ーパスフィルタH2t(z) の一構成例を示している
。このローパスフィルタH2t(z) は、2次のII
R(Infinite Impulse Respon
se)ディジタルフィルタであって、その伝達関数は、
【数6】 である。
【0043】ローパスフィルタH2t(z) は、後述
するように、音階を示すサフィックスtに依存してθと
CYとが変化し、rがレゾナンスの強さ(ピークの程度
)を示すパラメータとなる。
【0044】図7において、7−1,7−2は遅延素子
、7−3,7−4,7−5は乗算器、7−6,7−7は
加算器を示している。このローパスフィルタH2t(z
) をDSPで演算により実現するときは、     
 Wt(n)=CY・Y(n)+2rcosθWt(n
−1)−r2Wt(n−2)……式(2)を実行するこ
ととなる。
【0045】このローパスフィルタH2t(z) の周
波数特性は
【数7】 で与えられる。ここで、この伝達関数の極は、
【数8】 に依存し、Z=0に2重の零点がある。この伝達関数の
極と零点の配置、および、θを、0<θ<π/2とした
ときの極ベクトルと零点ベクトルと、を図8に示す。図
8から理解されるとおり、Ω=0からΩ=πに向けて単
位円に沿ってΩが動くにつれて、ベクトルv2の長さは
、はじめ減少し、次に増加する。最小のベクトルv2 
の長さは、
【外1】 の近くである。
【0046】ここで、周波数Ωにおける周波数応答の大
きさは、零点ベクトルv1 とベクトルv2 の長さの
比であり、周波数応答の位相は、実軸とベクトルv1 
のなす角度からベクトルv2 のなす角を引いた値とな
ることが知られており、振幅特性のみを図示すると図9
のようになる。
【0047】すなわち、周波数応答の大きさ(振幅特性
)は、図9から分るように、極ベクトルv2 の大きさ
の逆数に比例し、θに近いΩで最大となる。そして、r
の大きさに従ってこのピークの鋭さが決まり、rを1に
近づけてゆくと急なピーク(レゾナンス特性)をもった
フィルタが実現できる。
【0048】以上の説明から明らかなように、各音階毎
に、θの値を決定すれば(θ=2πft/fs)、図1
0に示すように、音階周波数ftでピークをもつレゾナ
ンス付きのローパスフィルタH2t(z) を実現する
ことができる。
【0049】なお、rは、となりの音階のレベルに影響
しないような大きさに、CYは、各音階で同等のレベル
の出力W1(n)が得られるような大きさに、実験で、
もしくは数学的に求めることが可能となる。
【0050】例えば、fの音階周波数(ft)と、Δf
離れたとなりの音階周波数f+Δf(すなわちft+1
 )との周波数応答の大きさの比を、m:1とする場合
【数9】 というrについての4次方程式を解いて、0<r<1を
満足するものを選び、各係数  −2rcosθ,r2
 を求めることができる。いま、数値計算の結果、例え
ば、fs=5KHz,f=440Hzで、m=4とする
と、−2rcosθ=−1.9773、r2 = 0.
9851、CY=36.7となる。その他の音階につい
ても同様である。
【0051】ローパスフィルタHE(z)図11は、ロ
ーパスフィルタHE(z)の一構成例を示す。これはさ
きに説明したローパスフィルタH2t(z) と同じ形
の2次のIIRディジタルフィルタであって伝達関数は
【数10】 である。これは、先のローパスフィルタH2t(z) 
の伝達関数において、r=0.9、θ=0と、したもの
である。
【0052】図11において、11−1は、入力信号(
ローパスフィルタH2t(z) の出力信号)Wt(n
)を、絶対値化する絶対値回路であり、その出力|Wt
(n)|がディジタルフィルタリングされる。11−2
、11−3は遅延素子、11−4、11−5、11−6
は乗算器、11−7、11−8は加算器を示している。 このローパスフィルタH2t(z) をDSPで演算に
より実現するときは、   Et(n)=CE|Wt(n)|+1.8Et(n
−1)−0.81Et(n−2)……式(3)を実行す
ることとなる。
【0053】このローパスフィルタH2t(z) は、
その周波数特性が、上述の説明のように、θ=0でピー
クをもつ、レゾナンス付きのローパスフィルタで、図1
2に示すような特性(振幅特性)をとる。ここで、係数
CEは、各音階毎のレベルを一様にするファクターで実
験などで適宜求め得る。
【0054】図13は、この図11の構成によって得ら
れるエンベープ信号Et(n)を模式的に示している。 このように、ローパスフィルタH2t(z) は、絶対
値回路11−1により、負の波高値(図11の破線)が
すべて正の波高値に変換された上でローパスフィルタが
かけられるので、結局この波形信号|Wt(n)|の直
流成分を求めるような動作をフィルタ回路がとるように
なる。
【0055】<実施例の全体構成>次に、本願各発明の
音階検出装置及びそれを用いた楽音発生装置の一実施例
の具体的な構成を説明する。図14は、本願各発明の音
階検出装置及びそれを用いた楽音発生装置を適用した楽
音発生装置1の全体ブロック図である。
【0056】楽音発生装置1は、CPU(Centra
l Processing Unit)2、ROM(R
ead Only Memory)3、RAM(Ran
dom Access Memory) 4、音階検出
装置5、キーボード6、ディスプレイ7、プリンタ8、
楽音発生回路9、オーディオシステム10及びスピーカ
11等を備えており、こられ各部はバス12により接続
されている。ROM3には、本願各発明の音階検出装置
としてのプログラムや楽音発生装置としてのプログラム
等が格納されており、また、必要に応じて音階検出装置
や楽音発生装置として動作する際に必要なデータが格納
されている。
【0057】CPU2は、ROM3内のプログラムに従
って楽音発生装置1の各部を制御し、本願各発明の音階
検出装置及び楽音発生装置としての処理を行なう。また
、CPU2は、各種レジスタを備えており、これらレジ
スタは、図15に示す今回検出値取込みバッファ(検出
音階記憶手段)、図16に示す検出音モジュール及び図
17に示す発音モジュールとして、割り当てられる。図
15に示す今回検出値取込みバッファは、音階検出装置
5で検出した音階音を取り込むためのバッファであり、
具体的には、例えば、6つのアドレスに対して、エンベ
ロープ値の大きい順に6個の音階番号(TONE No
.)と、そのエンベロープ値(ENV0〜ENV5)を
記憶する。図16に示す検出音モジュールは、今回検出
値取込みバッファに登録された音階音や、発音モジュー
ルに登録された音階音の状態を判定するためのものであ
り、音階音モジュールとしては、本実施例では、6つ用
意されている。各音階音モジュールは、音階番号(TO
NE No.)、ステイタス(今回ONフラグの有無や
New ONフラグ、New OFFフラグ、ON中フ
ラグ、OFF 中フラグ)及びチャタリングタイマー等
を記憶する。図17に示す発音モジュールは、後述する
楽音発生回路により楽音を発生させる音階音やその音階
音の状態等を記憶するものであり、発音モジュールは、
本実施例では、6つ用意されている。各発音モジュール
は、音階番号(TONENo.)、その音階番号の音階
音のステイタス(スタック中、リリース中)等を記憶す
る。したがって、CPU2は、音階検出手段(音階検出
装置5)により検出され検出音階記憶手段としての今回
検出値取込みバッファに記憶された音階に対して、検出
音モジュールの遷移情報及び発音モジュールに記憶され
た情報に基づいて、発音モジュールに楽音発生用の音階
として登録するかどうかを制御するとともに、発音モジ
ュールに登録された音階音を削除するかどうかを制御す
る制御手段として機能する。
【0058】RAM4は、後述する音階検出装置5をデ
ィジタルフィルタやエンベロープ抽出装置として動作さ
せるためのデータ等を記憶するとともに、CPU2のワ
ーク用メモリとして機能する。音階検出装置5は、マイ
クロフォン41、ローパスフィルタ42、A/D変換器
43、DSP44、フィルタ係数ROM45及びワーク
RAM46等を備えており、音響信号の入力端子として
、ライン入力 LINE INを備えている。
【0059】この音階検出装置5は、マイクロフォン4
1あるいはライン入力 LINE INから入力する音
響信号(これは楽器音、人声音、あるいはテープレコー
ダやラジオ、テレビ、CDプレーヤー等からの再生音響
であってもよい)を、ローパスフィルタ42で適宜フィ
ルタリングした後、適当なサンプリング周波数fsで、
A/D変換器43よりディジタル信号X(n)に変換し
、DSP44に入力する。
【0060】フィルタ係数ROM45は、DSP44を
ディジタルフィルタリングとして機能させるのに必要な
各種係数を記憶し、必要に応じて読み出されてDSP4
4に出力される。
【0061】ワークRAM46は、DSP44がディジ
タルフィルタとして動作する際のワークメモリであり、
フィルタリング演算のためのデータや、A/D変換器4
3から入力されたディジタル入力信号X(n)及びDS
P44で演算処理された波形信号等を記憶する。
【0062】DSP44は、フィルタ係数ROM45に
記憶されている係数やワークRAM46を使用して、演
算処理し、ディジタルフィルタリング処理を実行すると
ともに、エンベロープ抽出処理を実行する。
【0063】DSP44の処理結果は、CPU2に送ら
れ、CPU2は、音階検出装置5の検出結果、及び後述
する楽音発生回路9に内蔵されている各種モジュールの
記憶状態に基づいて音階検出装置5の検出した音階や楽
音発生装置9により発生している楽音の状態を判断して
、楽音発生回路9の発生モジュールへの音階音の割り付
け処理や削除処理を行なう。
【0064】キーボード6には、ファンクションスイッ
チや鍵盤等が設けられており、キーボード6でスイッチ
や鍵盤等の操作が行なわれると、CPU2がこの操作を
検出して、楽音発生回路9の発生音モジュールに発生楽
音を割り当てる。
【0065】ディスプレイ7およびプリンタ8は、CP
U2の制御下で作動し、音階検出装置5で検出された1
乃至複数の音階を表示し、また用紙に印字する。例えば
、CPUは、リアルタイムで入力中の音響に含まれる音
階をディスプレイ7に表示してもよく、あるいはノンリ
アルタイムで、編集作業などを経た上で楽譜としてディ
スプレイ7に表示したり、プリンタ8で用紙に印刷した
りする。
【0066】この音階検出装置5は、全体として、音響
信号を表現するディジタル波形信号に対して、異なる特
性のディジタルフィルタリング処理を時分割で順次行な
うことにより各音階に対応した周波数に関する周波数ス
ペクトルのレベルを検出するディジタル信号処理手段、
及びディジタル信号処理手段によるディジタルフィルタ
リングの処理結果に基づいて、前記音響信号に含まれる
1ないし複数の音階音を検出する音階検出手段として機
能している。
【0067】楽音発生装置9としては、各種タイプの音
源発生回路が適用可能であり、例えば、PCM方式、F
M方式、iPD方式、正弦波合成方式等の音原発生回路
が適用される。この楽音発生装置9は、複数の楽音発生
チャンネル、例えば、4チャンネルを有しており、前記
CPU2の発音モジュールに割り当てられた音階番号の
音階音を、オーディオシステム10を駆動することによ
り、スピーカ11を介して音響出力させる。
【0068】オーディオシステム10としては、通常の
オーディオシステムが使用されており、オーディオシス
テム10には、楽音発生回路9からの信号だけでなく、
マイクロフォン41やライン入力 LINE INの信
号も与えられ、必要に応じて音響出力として出力する。 また、楽音発生回路9は、キーボード6の音色指定に従
った音色の楽音信号を発生でき、この場合も、CPU2
が出力すべき音階音を発音モジュールに割り当てて楽音
発生動作をする。さらに、CPU2は、音階検出装置5
が検出した音階音の変化を順次RAM4にシーケンサ情
報として記憶し、このシーケンサ情報をキーボード6の
プレイスタート指示等に応答して、順次読み出して楽音
発生回路9から対応する楽音信号を発生することも可能
である。この場合も、後述するチャタリング防止処理等
を行なうことができる。
【0069】<DSPの構成>図18は、ディジタルフ
ィルタ及びエンベロープ抽出回路として機能するDSP
(ディジタル信号処理プロセッサ:Digital S
ignal Processor)44の回路構成図で
あり、DSP44は、インターフェィス441 、オペ
レーションROM442 、アドレスカウンタ443 
、デコーダ444 、乗算器445 、加減算器446
 、レジスタ群447、及びフラグレジスタ448 等
を備えている。
【0070】インターフェィス441 は、バスを介し
て図14に示すCPU2やA/D変換器43に接続され
ており、インターフェィス441を介して音響入力信号
やCPU2からの命令が入力され、また処理結果の音階
信号等が出力される。
【0071】オペレーションROM442 には、本願
各発明の音階検出装置及びそれを利用した楽音発生装置
に使用するディジタルフィルタ及びエンベロープ抽出回
路としてのプログラムが格納されており、プログラムメ
モリ2は、アドレスカウンタ443のアドレス指定によ
り順次プログラム内容をデコーダ444 に出力すると
ともに、各部に出力する。
【0072】デコーダ444 は、オペレーションRO
M442 から読み出されたプログラム内容をデコード
し、制御信号としてDSP44の各部に出力する。DS
P44のバスには、上記音階検出装置5のフィルタ係数
ROM45及びワークRAM46が接続されており、オ
ペレーションROM442 のプログラムに従って適宜
係数データや波形信号等がDSP44に供給され、また
DSP44で演算処理した波形信号がワークRAM46
に出力されて書き込まれる。
【0073】乗算器445 は、入力されるデータを乗
算処理し、その演算結果を加減算器446やレジスタ群
447 等に出力する。加減算器446 は、入力デー
タに加算処理あるいは減算処理を行ない、演算結果をレ
ジスタ群447 を介して乗算器445 やワークRA
M46等に出力するとともに、演算結果の符号データを
フラグレジスタ448 に出力する。
【0074】フラグレジスタ448 のフラグデータは
、アドレスカウンタ443 に出力され、アドレスカウ
ンタ443 へのフラグレジスタ448 のフラグデー
タによりオペレーションROM442 から出力される
プログラム内容が決定される。すなわち、フラグレジス
タ448 のフラグデータによりジャッジ処理を行なっ
ている。
【0075】次に作用を説明する。 <音階検出処理>先ず、音階検出装置5における音階検
出処理を説明する。音階検出処理は、CPU2の制御下
で行なわれ、上記改良原理で説明したディジタルフィル
タ処理により音階検出処理を行なう。
【0076】CPU2は、まず、図19に示すように、
音階音検出処理の開始に際して、イニシャル処理を行う
(ステップS1)。このイニシャル処理は、主にワーク
RAM46をクリアする処理である。
【0077】イニシャル処理が完了すると、A/D変換
器43による音響信号のディジタル信号X(n)へのデ
ィジタル変換が完了したかどうかチェックし(ステップ
S2)、A/D変換器43でディジタル変換が完了する
と、A/D変換器43から入力されるディジタル信号X
(n)を順次アドレス設定してワークRAM46に記憶
する(ステップS3)。この場合、ワークRAM46の
うちの特定エリアをリングバッファ(終端と始端とを仮
想的に連結することで構成されるバッファ)として使用
することにより、無制限の入力信号(ディジタル信号X
(n))に対応できる。
【0078】ワークRAM46にディジタル信号X(n
)が記憶されると、CPU2は、DSP44をFIRの
ハイパスフィルタH1(z)として動作させる(ステッ
プS4)。 このFIRハイパスフィルタH1(z)としての動作処
理は、上記DSP44のオペレーションROM442 
のプログラムのアドレス設定をアドレスカウンタ443
 に行なうととともに、フィルタ係数ROM45の係数
設定をハイパスフィルタH1(z)用に設定することに
より行なう。
【0079】このハイパスフィルタH1(z)としての
演算は、上記式(1)によるもので、今回の入力ディジ
タル信号X(n)のほかワークRAM46から前回、前
々回の入力ディジタル信号入力X(n−1)、X(n−
2)を読み出しDSP44内の乗算器445 、加減算
器446 を使用して実行する。
【0080】ハイパスフィルタH1(z)としての演算
処理が完了すると、各音階についてフィルタ処理を行な
うための設定値tを初期設定値t=1にセットし(ステ
ップS5)、ローパスフィルタH2t(z) としての
フィルタリング演算を行う(ステップS6)。このロー
パスフィルタH2t(z) としての演算は、上記式(
2)によるもので、各係数CY,2rcosθ,r2 
をフィルタ係数ROM45から読み出しながら、DSP
44内の乗算器445 、加減算器446 を使用して
実行する。この演算結果Wt (n) も、ワークRA
M46の別の特定のエリアをリングバッファとして使用
し、順次ストアする。この場合も、ワークRAM46を
リングバッファとして使用することにより、このバッフ
ァから前回及び前々回の演算結果Wt(n−1),Wt
(n−2)を次々と読み出して演算に用いることができ
る。
【0081】ハイパスフィルタH1(z)及びローパス
フィルタH2t(z) としての演算処理が完了すると
、次に各音階についてのエンベロープ抽出処理を行なう
。このエンベロープ抽出処理は、各音階についてDSP
44をIIRローパスフィルタHE(z)として演算処
理させることにより実行する(ステップS7)。
【0082】このローパスフィルタHE(z)としての
演算は、上記式(3)によるもので、各係数CE,1.
8、−0.81をフィルタ係数ROM45から読み出し
ながら、DSP44内の乗算器445 、加減算器44
6 を使用して行う。この演算のうち、絶対値計算|W
t(n)|も加減算器446 を使用して実行する。
【0083】この演算結果Et(n)も、ワークRAM
46の更に別の特定エリア46をリングバッファとして
使用して、順次ストアすることにより、このバッファか
ら前回及び前々回の演算結果Et(n−1),Et(n
−2)を次々と読み出して演算に用いることができる。
【0084】上記フィルタ処理及びエンベロープ抽出処
理が終了すると、全ての音階についてこれらの各処理が
なされたかどうか(t=N)チェックし(ステップS8
)、すべての音階については処理が終了していないとき
には、設定値tをインクリメントして(ステップS9)
、ステップS6に移行する。ステップS6に移行すると
、再びステップS6及びステップS7のフィルタリング
処理を実行する。
【0085】ステップS8で、全ての音階に対してフィ
ルタ処理等が完了していると、各音階についてのエンベ
ロープEt(n)(t=1〜N)をCPU2へ通知した
後(ステップS10)、音階検出処理モードを終了する
かどうかチェックする(ステップS11)。音階検出処
理モードの終了でないときには、ステップS2に移行し
、次の音響信号のA/D変換を待って、同様に処理を行
なう。 すなわち、DSP44は、1サンプリング毎に、時分割
で3系統のディジタルフィルタリングを順番に、しかも
各音階について繰り返して実行することにより、リアル
タイムで、各音階のエンベロープに従って、各音階に対
応する周波数に関する周波数スペクトルのレベルを検知
することができる。
【0086】ステップS11で、キーボード5の操作等
によりCPU2が音階検出処理モードの終了をDSP4
4に通知してきたときは、一連の処理動作を終了する。
【0087】<CPU2の検出音発生処理>CPU1は
、上述したようにDSP44から毎サンプリング周期で
各音階に次いてのエンベロープ信号Et(n)(t=1
〜N)、すなわち、各音階に対応する周波数に関する周
波数スペクトルのレベルが与えられるので、種々の目的
にこれを使用できるが、与えられた各音階をそのまま楽
音として出力したり、検出されなくなった音階をすぐに
消してしまうと、楽音として好ましくない音が発生され
たり、実演奏上の使用面において支障をきたすおそれが
ある。
【0088】そこで、本願各発明では、検出した音階音
の状態変化や出力中の音階音の状態をチェックして、音
階音の状態変化に基づいて音階音の楽音としての出力や
、出力中の楽音の出力停止を行なっている。
【0089】以下、本実施例の場合の音階音の状態変化
のチェック処理と楽音の発生・停止処理について、図2
0から図25に基づいて説明する。CPU2は、音階音
発生処理を行なうために、まず、初期設定処理(イニシ
ャル処理)を行なう(ステップP1)。この初期設定処
理により、後述する各タイマーやフラグ及びワークRA
M46のクリアを行なう。
【0090】初期設定処理が完了すると、音階音検出終
了信号が音階検出装置5から入力されているかどうかチ
ェックし(ステップP2)、音階音検出終了信号が入力
されているときには、後述する検出音階音発生処理を実
行して、タイマー処理に移行する(ステップP3)。ス
テップP2で、音階音検出終了信号が入力されていない
ときには、そのままタイマー処理に移行し、タイマー処
理を行なう(ステップP4)。このタイマー処理では、
エンベロープタイマー、チャタリングタイマー等各タイ
マーに、処理フローが一周する間に経過した時間を加算
する加算処理を行なう。
【0091】タイマー処理が完了すると、通常の電子楽
器等の発音処理(楽音発生処理)を行なう(ステップP
5)。すなわち、CPU2の発音モジュール(図17参
照)に割り当てられたコマンドを処理し、各発音モジュ
ールを制御して、発音させる。発音処理が終了すると、
ステイタス処理を行なって、ステップP2に戻る(ステ
ップP6)。このステイタス処理では、各発音モジュー
ル及び各検出音モジュール(図16参照)のステイタス
を変更する。
【0092】<CPU2の検出音階音発音処理>CPU
2は、図20のステップP2で音階音検出終了信号が入
力されると、図21に示すように、音階音検出装置5か
らエンベロープ値の大きい順に6個の音階音番号とその
エンベロープ値を今回検出値取込みバッファに取り込み
(ステップT1)、該今回検出値取込みバッファの検索
用カウンタiを初期値0に設定する(ステップT2)。 カウンタiを初期値0にセットすると、カウンタiに対
応する今回検出値取込みバッファに取り込んだ音階番号
(TONE No.)のエンベロープ値ENViが、あ
らかじめ設定した閾値より大きいかどうかチェックする
(ステップT3)。ステップT3で、今回検出値バッフ
ァのカウンタiのエンベロープ値ENViが閾値よりも
小さいときには、今回検出値取込みバッファiのエンベ
ロープ値ENViとその音階番号(TONE No.)
をクリアし(ステップT4)、カウンタiが今回検出値
取込みバッファの総数であるi=5に一致するかどうか
チェックする(ステップT5)。カウンタiが5でない
ときには、カウンタiを1だけインクリメントして(ス
テップT6)、ステップT3に戻り、インクリメントし
たカウンタiに対応する今回検出値取込みバッファのエ
ンベロープ値ENViを、同様に閾値と比較する(ステ
ップT3)。そのエンベロープ値ENViが閾値よりも
大きいときには、ステップT5に移行して、カウンタi
が5に達したかどうかチェックし、達していないときに
は、同様に、カウンタiを1だけインクリメントしてス
テップT3にもどる。 上記処理を繰り返して、エンベロープ値ENViが閾値
を超えていない音階番号(TONE No.)とそのエ
ンベロープ値ENViを今回検出値取込みバッファから
削除し、前エンベロープ値ENViに対して上記処理を
終了すると、エンベロープ値ENViによる音階音の選
別処理を終了する。この処理により、継続性のないノイ
ズ等を除去することができる。
【0093】今回検出値取込みバッファの音階音の選別
処理が終了すると、次に、ON中判定処理に移行する。
【0094】ON中判定処理 ON中判定処理では、まず、検出モジュールの検索用カ
ウンタiを初期値0に設定し(ステップT7)、カウン
タiの値に対応する検出音モジュール内のステイタスが
ON中かどうかチェックする(ステップT8)。ステイ
タスがON中のときには、図22に示すON中処理に移
行し、ステイタスがOFF 中を示しているときには、
カウンタiが検出音モジュールの総数5に達したかどう
かチェックする(ステップT9)。カウンタiが5でな
いときには、カウンタiを1だけインクリメントしてス
テップT8に戻り、同様に音階音モジュールに書き込ま
れている全ての音階番号(TONE No.)に対して
ステイタスの判定を行なう。検出音モジュール内の全て
のステイタスを判定すると、図23に示す今回New 
ON選別処理に移行する。
【0095】ON中処理 次に、ON中処理について図22に基づいて説明する。 ON中判定処理でステイタスがON中と判定されると、
今回検出値取込みバッファの検索用カウンタjを初期値
0にセットし(ステップT11)、ON中と判定された
検出音モジュールiの音階番号(TONE No.)と
カウンタjに対応する今回検出値取込みバッファの音階
番号(TONE No.)とを比較して、音階番号(T
ONE No.)が一致するかどうかチェックする(ス
テップT12)。一致しないときには、カウンタjが検
出音モジュールの総数5になったかどうかチェックし(
ステップT13)、カウンタjが総数5になっていない
ときには、カウンタjを1だけインクリメントして(ス
テップT14)、ステップT12に戻り同様の処理を繰
り返す。上記処理を繰り返して、ON中と判定された音
階音の音階番号(TONE No.)と一致する音階番
号(TONE No.)があるかどうかチェックする。
【0096】音階番号(TONE No.)の一致する
ものがあると、カウンタj値に該当する検出音モジュー
ルの今回ONフラグをONにして、ON中と判定された
カウンタi値に該当する今回検出値取込みバッファの音
階番号(TONE No.)とエンベロープ値ENVi
とをクリアし(ステップT15)、CPU2内の今回O
N数レジスタを1だけインクリメントする(ステップT
16)。このインクリメントした今回ON数レジスタの
カウント値が検出音検出音モジュールの総数である6に
なったかどうかをチェックし(ステップT17)、6に
達すると、発音モジュールに割り振るためのアサイン処
理(図24参照)に移行する。今回ON数レジスタのカ
ウント値が6に達していないときには、検出音モジュー
ルの全てに割り振られていないため、ステップT9及び
ステップT8を介して図22のON中判定処理に戻る。
【0097】ステップT12で、検出音モジュールON
中と判定された検出音モジュールiの音階番号(TON
E No.)とカウンタjに対応する今回検出値取込み
バッファの音階番号(TONE No.)とが一致する
ものがなければ、検出音モジュールiの今回ONフラグ
が有であるか、無であるか、をチェックし(今回ONフ
ラグが有るかどうか)(ステップT18)、今回音とな
った音階音に対するチャタリングの検出を行なうために
、検出音モジュールiの今回ONフラグを消去するとと
もに、チャタリングタイマーをクリアする(図16参照
)(ステップT19)。検出音モジュールの今回ONフ
ラグの消去及びチャタリングタイマーのクリアが完了す
ると、ステップT16に移行して今回ON数を1だけイ
ンクリメントとし、今回ON数の判定を行なう(ステッ
プT17)。この今回ON数の判定結果により、上述の
ようにON中判定処理へ移行するか、アサイン処理へ移
行するかの判定を行なう。
【0098】ステップT18で、検出音モジュールiの
今回ONフラグが無いときには、検出音モジュールiの
チャタリングタイマーがあらかじめ設定した設定値より
大きいかどうかチェックし(ステップT20)、検出音
モジュールiのチャタリングタイマーが設定値に達して
いないときには、今回ON数を1だけインクリメントし
て、上述のようにON判定処理へ移行するか、アサイン
処理へ移行するかの判定を行なう(ステップT16、T
17)。ステップT20で、検出音モジュールiのチャ
タリングタイマーが設定値に達しているときには、検出
音モジュールiのステイタスをNew OFFにセット
し、ON中判定処理へ移行する(ステップT21)。
【0099】したがって、鍵盤付電子楽器等においては
、その離鍵時にチャタリングが発生しても、チャタリン
グタイマーを用いたON中処理を行なうことにより、発
生中の音の消音を自然なものとすることができる。
【0100】今回New ON選別処理次に、今回Ne
w ON選別処理について図23に基づいて説明する。 今回New ON選別処理では、今回新たに現れた音階
音に対して、真に楽音として発生されるべき音階音であ
るかどうかを選別する。この選別処理を行なうために、
今回New ON選別用基準値Sを設定し、この今回N
ew ON選別用基準値Sと今回検出値取込みバッファ
のエンベロープ値とを比較することにより選別処理を行
なっている。
【0101】すなわち、図23に示すように、前回の今
回New ON選別処理で作成した今回NewON選別
用基準値Sと、今回検出値取込みバッファのエンベロー
プ値ENV0〜ENV5とを比較し、それらのうちの最
大値を今回New ON選別用基準値Sとして設定する
(ステップT22)。今回New ON選別用基準値S
を設定すると、今回検出値取込みバッファを検索するた
めのカウンタiを0にリセットし(ステップT23)、
今回検出値取込みバッファiのエンベロープ値ENVi
を2倍(ENVi×2)した値と、今回New ON選
別用基準値Sと、を比較する(ステップT24)。今回
検出値取込みバッファのエンベロープ値ENViの2倍
の値が、今回New ON基準値Sよりも大きいときに
は、今回New ON候補としてそのまま残し、今回検
出値取込みバッファ検索用カウンタiが5になったか、
すなわち全ての今回検出値取込みバッファについてその
エンベロープ値ENViと今回New ON選別用基準
値Sとを比較処理したかどうかチェックする(ステップ
T26)。全ての今回検出値取込みバッファに対して上
記比較処理を終了していないときには、カウンタiを1
だけインクリメントし(ステップT27)、インクリメ
ントしたカウンタi値の今回検出値取込みバッファのエ
ンベロープ値ENViと今回New ON選別用基準値
Sとの比較処理を行なう(ステップT24)。この比較
処理で、今回検出値取込みバッファのエンベロープ値E
NViの2倍の値が今回New ON選別用基準値Sよ
りも小さいものが現れると、当該今回検出値取込みバッ
ファの音階番号(TONE No.)とエンベロープ値
ENViをクリアし、次の比較処理へと進む(ステップ
T25)。
【0102】全ての今回検出値取込みバッファのエンベ
ロープ値ENViに対して、上記比較処理が完了すると
、今回New ON選別用基準値Sをあらかじめ設定し
た今回NewON選別用基準値Sの最小値と比較する(
ステップT28)。今回New ON選別用基準値Sが
最小値以上の大きさのときには、今回New ON選別
用基準値Sを所定値だけ小さく、例えば、1だけ小さく
した値をS’として設定し、このS’を次回NewON
選別用基準値としてセーブする(ステップT29、T3
1)。ステップT28で、今回New ON選別用基準
値Sが、最小値よりも小さいときには、あらかじめ設定
した初期設定値をS’として設定し、このS’を次回N
ew ON選別用基準値としてセーブする(ステップT
30、T31)。
【0103】このように、今回New ON選別処理で
は、今回New ONとなった音階音をそのエンベロー
プ値に基づいて、今回検出値取込みバッファから削除す
るかどうかを選別しており、真に発音させるべきデータ
をエンベロープ値に基づいて選別することができる。し
たがって、無音の状態から音響信号が入力された場合に
は、通常、その音の立上がり部分では、種々の倍音や不
規則倍音が現れ、エネルギーが分散されて突出した成分
が見られないため、今回New ON選別処理により、
発音の候補から除外される。この無音の状態から音響信
号が入力され、さらに引続き音響信号が入力され続ける
と、基音となる成分に対して他の成分は大きく減衰する
ため、相対的に基音の成分が強調され、今回New O
N選別処理で、発音の候補とその他の不要な音とを選別
することができる。
【0104】アサイン処理 次に、アサイン処理について、図24に基づいて説明す
る。アサイン処理では、まず、検出音モジュールを検索
するためのカウンタiをリセットし、該カウンタi値に
基づいて、検出音モジュールのステイタスをチェックし
て、OFF 中のものが有るかどうか検索する(ステッ
プT32〜ステップT35)。OFF 中のものが見つ
かると、今回検出値取込みバッファ検索用カウンタjを
リセットし、今回検出値取込みバッファjの音階番号(
TONE No.)が0でないものを検索する(ステッ
プT36〜ステップT38)。今回検出値取込みバッフ
ァに音階番号(TONE No.)が0でないものが見
つかると、検出音モジュールiの音階番号(TONE 
No.)に、検出した今回検出値取込みバッファjの音
階番号(TONE No.)を入れ、その検出音モジュ
ールiのステイタスをNew ONに、また今回ONフ
ラグをONにする(ステップT39)。検出音モジュー
ルiへのステイタスの設定が完了すると、今回ON数を
1だけインクリメントし(ステップT40)、今回ON
数が6(検出音モジュールの数)になったかどうかチェ
ックする(ステップT41)。今回ON数が6に達して
いないときには、ステップT34に戻って、同様に、検
出音モジュールのステイタスがOFF 中のものが有る
かどうかチェックする。
【0105】上記、ステップT32〜ステップT40は
、アサイン準備処理であり、このアサイン準備処理が完
了すると、アサイン処理(ステップT41)に移行する
。アサイン処理では、まず、検出音モジュールを順次走
査し、ステイタスがNewONのものが有るかどうかチ
ェックする。ステイタスがNew ONのものが見つか
ると、図17に示した発音モジュールの空き領域(ステ
イタスがOFF 中のもの、あるいはメンコマンド(コ
マンドなし)のもの)を検索し、空き領域が有ると、そ
の空き領域に、アタックコマンドとともに、該検出音モ
ジュールの音階番号(TONE No.)を割り当てる
。また、検出音モジュールを走査して、ステイタスがN
ew OFF のものを見つけると、該当する発音モジ
ュールにリリースコマンドをセットする(ステップT4
2)。この発音モジュールに新たにアタックコマンドと
ともに、セットされた音階番号(TONE No.)は
、図14の楽音発生回路9のチャネルに割り当てられ、
楽音発生回路9は、割り当てられた音階番号(TONE
 No.)の音階の音をオーディオシステム10及びス
ピーカ11を介して、発音させる。また、発音モジュー
ルに割り当てられていた音階にリリースコマンドがセッ
トされると、その音階の音の発音が停止される。
【0106】したがって、上記ON中処理及び今回Ne
w ON処理により、チャタリング防止処理及び選別処
理が行なわれた音階音について、発音させることができ
る。上記一連の処理を楽音発生回路9のチャネル(実施
例では、4つ)の全てに対して実行し、発音処理及び発
音の停止処理を行なう。いま、図25に示すような曲に
ついては、音階検出装置5でフィルタ処理が行なわれた
後、音響入力としてCPU2に入力され(図25では、
A4=440Hzの例)、CPU2は、上記ON中処理
や今回New ON処理等を施して、選別した音階につ
いてのみ、発音処理を開始し、発音停止時においても、
ON中処理によりチャタリング防止処理を行なって、発
音の停止を行なう.
【0107】このように、DSPを
使用して、入力される音響信号を、時分割でディジタル
フィルタリング処理を行って音階音を検出することがで
き、安価な回路で、かつ高速で処理することができる。
【0108】また、今回New ONとなった音階音を
、今回New ON選別処理により、そのエンベロープ
値に基づいて、今回検出値取込みバッファから削除する
かどうかを選別することができ、真に発音させるべきデ
ータをエンベロープ値に基づいて選別することができる
。すなわち、無音の状態から音響信号が入力された場合
には、通常、その音の立上がり部分では、種々の倍音や
不規則倍音が現れ、エネルギーが分散されて突出した成
分が見られないときには、今回New ON選別処理に
より、発音の候補から除外される。
【0109】この無音の状態から入力された音響信号が
引続き入力され続けると、基音となる成分に対して他の
成分は大きく減衰するため、相対的に基音の成分が強調
され、今回New ON選別処理で、発音の候補とその
他の不要な音とを選別することができる。
【0110】さらに、鍵盤付電子楽器等の離鍵時にチャ
タリングが発生した場合には、チャタリングタイマーを
用いたON中処理を行なうことにより、発生中の音の消
音を自然なものとすることができる。
【0111】その結果、入力される音響信号を、時分割
でディジタルフィルタリング処理を行って音階音を検出
することができるとともに、この音階音の状態を監視し
、音階音の状態に応じて発音用音階音としての割り当て
や発音音階音からの削除を行うことにより、楽音として
好ましくない音の発生を防止することができ、また、実
演奏上の使用性を向上させることができる。
【0112】なお、上記実施例においては、楽音発生回
路9のチャネル数が4の場合について説明したが、これ
に限るものではなく、任意に設定することができる.

0113】
【発明の効果】請求項1記載の発明によれば、ピアノ等
の楽器や電子楽器等から発生された音響信号を、その音
響信号の立ち上がりから停止までの状態変化に対応して
、発音用の音階として正確に割り当て、また削除するこ
とができるので、人間にとって聞きごこちのよい状態と
して音階音を割り当てることができるとともに、誤動作
も防止されて実演奏上の使用性を向上させることができ
る。
【0114】請求項2記載の発明によれば、音響信号と
して新たに検出した音階音であるのかどうかの状態変化
情報と、各音階の状態が継続している時間に関する状態
継続情報と、に基づいて発音用の音階として割り当て、
また発音用音階から削除することができるので、楽音の
立ち上がり等音階が不安定な部分で、人間が聞いてその
楽音の主要な音階として感じる音階以外の音階を抽出し
た場合でもその音階を発音用の対象から外すことができ
、人間が聞いて楽音として好ましい音階のみを、正確に
発音用の音階として割り当てることができる。また、継
続して発音されている音階音が存在している場合には、
発音用音階音から誤って削除されることを防止すること
ができ、実演奏上の使用性を向上させることができる。
【0115】請求項3記載の発明によれば、電子楽器に
おいて、入力される音響信号の立ち上がりから停止まで
の状態変化に対応して、発音用の音階として正しく割り
当て、また削除し、発音用音階として登録された音階の
みを、楽音発生手段により楽音として発生することがで
きるとともに発音用音階から削除された音階の楽音の発
生を停止することができるので、人間にとって聞きごこ
ちのよい状態として音階音を割り当てて、楽音として発
生させることができるとともに、実演奏上の使用性を向
上させることができる。
【0116】請求項4記載の発明によれば、電子楽器に
おいて、音響信号として新たに検出した音階音であるの
かどうかの状態変化情報と、各音階の状態が継続してい
る時間に関する状態継続情報と、に基づいて、入力され
た音響信号を発音用の音階として正しく割り当て、また
発音用音階から削除でき、発音用音階として登録された
音階のみを楽音発生手段により楽音として発生すること
ができるとともに発音用音階から削除された音階の楽音
の発生を停止することができる。その結果、ピアノ等の
楽器や電子楽器等から発生された音響信号を、その音響
信号の立ち上がりから停止までの状態変化に対応して、
楽音を発生させ、また楽音の発生を停止させることがで
きる。このため、楽音の立ち上がり等音階が不安定な部
分で、人間が聞いてその楽音の主要な音階として感じる
音階以外の音階音を発生させないようにすることができ
、人間が聞いて楽音として好ましい音階のみを、楽音発
生手段により発生させることができるとともに、継続し
て発音されている音階音が存在している場合には、楽音
として継続して発生させることができ、実演奏上の使用
性を向上させることができる。
【図面の簡単な説明】
【図1】本願各発明による楽音検出装置及びそれを用い
た楽音発生装置の一実施例の基本原理を示す構成図。
【図2】図1のハイパスフィルタHt(z) の周波数
特性図。
【図3】図1を改良した原理による構成図。
【図4】図3のハイパスフィルタH1(z)とローパス
フィルタH2t(z) をカスケード接続したときの周
波数特性図。
【図5】図3のハイパスフィルタH1(z)の構成図。
【図6】図5のハイパスフィルタH1(z)の周波数特
性図。
【図7】図3のローパスフィルタH2t(z) の構成
図。
【図8】図7のディジタルフィルタの極と零点及び極ベ
クトルと零点ベクトルを示す図。
【図9】図8に対応てして周波数特性を表した図。
【図10】図7のローパスフィルタH2t(z) の周
波数特性図。
【図11】図3のローパスフィルタHE(z)の構成図
【図12】図11のローパスフィルタHE(z)の周波
数特性図。
【図13】図11の構成によりエンベロープ抽出がなさ
れることを説明する説明図。
【図14】本願各発明の楽音検出装置及びそれを利用し
た楽音発生装置の一実施例の全体回路構成図。
【図15】図14のCPU2に形成される今回検出値取
込みバッファの構成図。
【図16】図14のCPU2に形成される検出音モジュ
ールの構成図。
【図17】図14のCPU2に形成される発音モジュー
ルの構成図。
【図18】図14のDSP44の内部回路構成図。
【図19】図18のDSP44によるディジタルフィル
タ処理及びエンベロープ抽出処理のフローチャート。
【図20】音階検出装置5で検出した音階を楽音発生装
置9で発生・停止させるまでのCPU2での基本的な処
理を示すフローチャート。
【図21】図20の検出音階音発生処理の詳細な処理を
示すフローチャート。
【図22】図21の続きの処理を示すフローチャート。
【図23】図21のさらに続きの処理を示すフローチャ
ート。
【図24】図21のさらに続きの処理を示すフローチャ
ート。
【図25】実施例の動作説明図。
【符号の説明】
1    楽音発生装置 2    CPU 3    ROM 4    RAM 5    音階検出装置 6    キーボード 7    ディスプレイ 8    プリンタ 9    楽音発生回路 10    オーディオシステム 11    スピーカ 12    バス 44    DSP 45    フィルタ係数ROM 46    ワークRAM

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】音響信号を表現するディジタル波形信号に
    対して、異なる特性のディジタルフィルタリング処理を
    時分割で順次行うことにより各音階に対応した周波数に
    関する周波数スペクトルのレベルを検出するディジタル
    信号処理手段と、ディジタル信号処理手段によるディジ
    タルフィルタリングの処理結果に基づいて、前記音響信
    号に含まれる1乃至複数の音階音を検出する音階検出手
    段と、音階検出手段の検出した音階音のうちそのレベル
    が所定の基準値を越えた音階音を記憶する検出音階記憶
    手段と、検出音階記憶手段に記憶した音階音の遷移情報
    を記憶する検出音モジュールと、楽音発生用の音階音と
    その音階音の楽音発生用音階音としての状態を示す情報
    を記憶する発音モジュールと、音階検出手段により検出
    され前記検出音階記憶手段に記憶された音階に対して、
    検出音モジュールの遷移情報及び発音モジュールに記憶
    された情報に基づいて、発音モジュールに楽音発生用の
    音階音として登録するかどうかを制御するとともに、発
    音モジュールに登録された音階音を削除するかどうかを
    制御する制御手段と、を備えたことを特徴とする音階検
    出装置。
  2. 【請求項2】前記検出音モジュールが、遷移情報として
    、前記音階検出手段が新たに検出した音階音であるのか
    どうかの状態変化情報と、各音階の状態が継続している
    時間に関する状態継続情報と、を記憶したことを特徴と
    する請求項1記載の音階検出装置。
  3. 【請求項3】音響信号を表現するディジタル波形信号に
    対して、異なる特性のディジタルフィルタリング処理を
    時分割で順次行うことにより各音階に対応した周波数に
    関する周波数スペクトルのレベルを検出するディジタル
    信号処理手段と、ディジタル信号処理手段によるディジ
    タルフィルタリングの処理結果に基づいて、前記音響信
    号に含まれる1乃至複数の音階音を検出する音階検出手
    段と、音階検出手段の検出した音階音のうちそのレベル
    が所定の基準値を越えた音階音を記憶する検出音階記憶
    手段と、検出音階記憶手段に記憶した音階音の遷移情報
    を記憶する検出音モジュールと、楽音発生用の音階音と
    その音階音の楽音発生用音階音としての状態を示す情報
    を記憶する発音モジュールと、音階検出手段により検出
    され前記検出音階記憶手段に記憶された音階に対して、
    検出音モジュールの遷移情報及び発音モジュールに記憶
    された情報に基づいて、発音モジュールに楽音発生用の
    音階音として登録するかどうかを制御するとともに、発
    音モジュールに登録された音階音を削除するかどうかを
    制御する制御手段と、制御手段により発音モジュールに
    楽音発生用の音階として登録された音階音に対応する楽
    音を発生する楽音発生手段と、を備えたことを特徴とす
    る楽音発生装置。
  4. 【請求項4】前記検出音モジュールが、遷移情報として
    、前記音階検出手段が新たに検出した音階音であるのか
    どうかの状態変化情報と、各音階の状態が継続している
    時間に関する状態継続情報と、を記憶したことを特徴と
    する請求項3記載の楽音発生装置。
JP03100394A 1991-04-04 1991-04-04 音階検出装置及びそれを用いた楽音発生装置 Expired - Fee Related JP3120468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03100394A JP3120468B2 (ja) 1991-04-04 1991-04-04 音階検出装置及びそれを用いた楽音発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03100394A JP3120468B2 (ja) 1991-04-04 1991-04-04 音階検出装置及びそれを用いた楽音発生装置

Publications (2)

Publication Number Publication Date
JPH04307597A true JPH04307597A (ja) 1992-10-29
JP3120468B2 JP3120468B2 (ja) 2000-12-25

Family

ID=14272775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03100394A Expired - Fee Related JP3120468B2 (ja) 1991-04-04 1991-04-04 音階検出装置及びそれを用いた楽音発生装置

Country Status (1)

Country Link
JP (1) JP3120468B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330458A (ja) * 2002-05-13 2003-11-19 Dainippon Printing Co Ltd 時系列信号の周波数解析方法および音響信号の符号化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330458A (ja) * 2002-05-13 2003-11-19 Dainippon Printing Co Ltd 時系列信号の周波数解析方法および音響信号の符号化方法

Also Published As

Publication number Publication date
JP3120468B2 (ja) 2000-12-25

Similar Documents

Publication Publication Date Title
JP2775651B2 (ja) 音階検出装置及びそれを用いた電子楽器
JPH0631986B2 (ja) 楽音発生装置
JP3482685B2 (ja) 電子楽器の音源装置
JPS616689A (ja) 電子楽器
JPH04307597A (ja) 音階検出装置及びそれを用いた楽音発生装置
JP3203687B2 (ja) 楽音変調装置および楽音変調装置を用いた電子楽器
JP3156299B2 (ja) 和音データ生成装置、伴奏音データ生成装置、および楽音発生装置
JPH04318597A (ja) 和音判別装置及びそれを用いた自動伴奏装置
JP3185266B2 (ja) 楽音発生装置
JP3149466B2 (ja) ピッチ抽出装置及びそれを用いた電子楽器
JP3118863B2 (ja) 音階検出装置を用いた楽音発生装置
JP3419175B2 (ja) エンベロープ検出方法
JPH08234759A (ja) 楽音信号発生装置
JP3168708B2 (ja) 音階検出装置
JPH04336599A (ja) テンポ検出装置
JP3324167B2 (ja) 効果付加装置
JP3149097B2 (ja) 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置
JP2722482B2 (ja) 楽音発生装置
JPH09152865A (ja) 音声自動採譜装置
JPH1031496A (ja) 楽音発生装置
JP3166197B2 (ja) 音声変調装置および音声変調装置を内蔵した電子楽器
JP3120490B2 (ja) 音声制御装置及び音声制御電子楽器
JP3136710B2 (ja) 効果付加装置
JPH05346787A (ja) 音声制御楽音発生装置
JP2814939B2 (ja) 波形処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071020

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees