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

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

Info

Publication number
JP3120468B2
JP3120468B2 JP03100394A JP10039491A JP3120468B2 JP 3120468 B2 JP3120468 B2 JP 3120468B2 JP 03100394 A JP03100394 A JP 03100394A JP 10039491 A JP10039491 A JP 10039491A JP 3120468 B2 JP3120468 B2 JP 3120468B2
Authority
JP
Japan
Prior art keywords
scale
sound
tone
detected
musical
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
JP03100394A
Other languages
English (en)
Other versions
JPH04307597A (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 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

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

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】
【0016】請求項2記載の発明は、音響信号を表現す
るディジタル波形信号に対して、異なる特性のディジタ
ルフィルタリング処理を時分割で順次行うことにより各
音階に対応した周波数に関する周波数のスペクトルのレ
ベルを検出するディジタル信号処理手段と、 前記ディジ
タル信号処理手段によるディジタルフィルタリングの処
理結果に基づいて、前記音響信号に含まれる1乃至複数
の音階音を検出する音階検出手段と、 前記音階検出手段
の検出した音階音のうちそのレベルが所定の基準値を超
えた音階音を記憶する検出音階記憶手段と、 前記検出音
階記憶手段に記憶した音階音の遷移情報として、前記音
階検出手段が新たに検出した音階音であるのかどうかの
状態変化情報と、各音階の状態が継続している時間に関
する状態継続情報と、を記憶する検出音モジュールと、
楽音発生用の音階音とその音階音の楽音発生用音階音と
しての状態を示す情報を記憶する発音モジュールと、
記音階検出手段により検出された前記検出音階記憶手段
に記憶された音階に対して、前記検出音モジュールの遷
移情報及び前記発音モジュールに記憶された情報に基づ
いて、前記発音モジュールに楽音発生用の音階として登
録するかどうかを制御するとともに、前記発音モジュー
ルに登録された音階音を削除するかどうかを制御する制
御手段と、 前記制御手段により前記発音モジュールに楽
音発生用の音階として登録された音階音に対応する楽音
を発生する楽音発生手段と、を備えている。
【0017】
【0018】
【作用】請求項1記載の発明によれば、ピアノ等の楽器
や電子楽器等から発生された音響信号は、ディジタル変
換され、ディジタル信号処理手段に入力される。ディジ
タル信号処理手段は、この音響信号を表現するディジタ
ル波形信号に対して、異なる特性のディジタルフィルタ
リング処理を時分割で順次行うことにより各音階に対応
した周波数に関する周波数スペクトルのレベルを検出
し、音階検出手段に出力する。音階検出手段は、ディジ
タル信号処理手段によるディジタルフィルタリングの処
理結果に基づいて、前記音響信号に含まれる1乃至複数
の音階音を検出する。音階検出手段の検出した音階音の
うちそのレベルが所定の基準値を超えた音階音は、検出
音階記憶手段に記憶され、検出音階記憶手段に記憶され
た音階音の遷移情報として、前記音階検出手段が新たに
検出した音階音であるのかどうかの状態変化情報と、各
音階の状態が継続している時間に関する状態継続情報と
が、検出モジュールに記憶される。この検出モジュール
に記憶された音階音を、制御手段が楽音発生用の音階音
として発音モジュールに登録し、発音モジュールは、さ
らに登録された音階音の楽音発生用としての状態を示す
情報を記憶する。この制御手段は、音階検出手段により
検出された検出音階記憶手段に記憶された音階に対し
て、前記検出音モジュールの遷移情報及び発音モジュー
ルに記憶された情報に基づいて、発音モジュールに楽音
発生用音階として登録するかどうか制御するとともに、
発音モジュールに登録された音階音を削除するかどうか
を制御する。
【0019】したがって、音響信号の立ち上がりから停
止までの状態変化に対応して、正確に発音用の音階とし
て割り当て、また削除することができ、人間にとって聞
きごこちのよいものとすることができ、また、実演奏上
の使用性を向上させることができる。
【0020】さらに、前記検出音モジュールが、遷移情
報として、前記音階検出手段が新たに検出した音階音で
あるかどうかの状態変化情報と、各音階の状態が継続し
ている時間に関する状態継続情報と、を記憶しているの
で、楽音の立ち上がり等音階が不安定な部分で、人間が
聞いてその楽音の主要な音階として感じる音階以外の音
階音を発音用の音階から除外することができ、人間が聞
いて楽音として好ましい音階のみを、発音用の音階音と
して割り当てることができる。また、継続して発音され
ている音階音が存在している場合には、発音用音階音か
ら削除される誤動作を防止することができ、実演奏上の
使用性を向上させることができる。
【0021】請求項記載の発明によれば、ピアノ等の
楽器や電子楽器等から発生された音響信号は、ディジタ
ル変換され、ディジタル信号処理手段に入力される。デ
ィジタル信号処理手段は、この音響信号を表現するディ
ジタル波形信号に対して、異なる特性のディジタルフィ
ルタリング処理を時分割で順次行うことにより各音階に
対応した周波数に関する周波数スペクトルのレベルを検
出し、音階検出手段に出力する。音階検出手段は、ディ
ジタル信号処理手段によるディジタルフィルタリングの
処理結果に基づいて、前記音響信号に含まれる1乃至複
数の音階音を検出する。音階検出手段の検出した音階音
のうちそのレベルが所定の基準値を超えた音階音は、検
出音階記憶手段に記憶され、検出音階記憶手段に記憶さ
れた音階音の遷移情報として、前記音階検出手段が新た
に検出した音階音であるのかどうかの状態変化情報と、
各音階の状態が継続している時間に関する状態継続情報
が、検出モジュールに記憶される。この検出モジュー
ルに記憶された音階音を、制御手段が楽音発生用の音階
音として発音モジュールに登録し、発音モジュールは、
さらに登録された音階音の楽音発生用としての状態を示
す情報を記憶する。この制御手段は、音階検出手段によ
り検出された検出音階記憶手段に記憶された音階に対し
て、前記検出音モジュールの遷移情報及び発音モジュー
ルに記憶された情報に基づいて、発音モジュールに楽音
発生用音階として登録するかどうか制御するとともに、
発音モジュールに登録された音階音を削除するかどうか
を制御する。この発音文字ユー婁に登録された音階音に
対応する楽音を楽音発生手段により発生する。
【0022】したがって、楽音発生装置において、入力
される音響信号の立ち上がりから停止までの状態変化に
対応して、正確に発音用の音階音として割り当て、また
削除し、発音用音階音として登録された音階音のみを、
楽音発生手段により楽音として発生することができると
ともに、発音用音階音から削除された音階音の楽音の発
生を停止することができる。その結果、人間に取って聞
きごこちのよい楽音を発生させることができ、また、実
演奏上の使用性を向上させることができる。
【0023】さらに、前記検出音モジュールが、遷移情
報として、前記音階検出手段が新たに検出した音階音で
あるかどうかの状態変化情報と、各音階の状態が継続し
ている時間に関する状態継続情報と、を記憶しているの
で、楽音の立ち上がり等音階が不安定な部分で、人間が
聞いてその楽音の主要な音階として感じる音階以外の音
階音を発生させないようにすることができ、人間が聞い
て楽音として好ましい音階のみを、楽音発生手段により
発生させることができる。また、継続して発音されてい
る音階音が存在している場合には、楽音として発生させ
ることができ、誤動作を防止しつつ実演奏上の使用性を
向上させることができる。
【0024】
【実施例】以下に、本願各発明の一実施例を説明する。 <基本原理>先ず、実施例で用いるディジタルフィルタ
処理の基本原理について説明する。実施例では、ディジ
タルフィルタ処理をDSP(Digital Signal Processo
r:ディジタル信号処理プロセッサ)を使用することに
より行っている。すなわち、DSPにディジタルフィル
タとして動作させるのに必要なプログラムやデータを書
き込み、図1に示すようなバンドパスフィルタHt(z)を
構成するとともに、更にエンベロープ抽出回路を構成
し、ディジタルフィルタ処理及びエンベロープ抽出処理
を行う。
【0025】図1において、入力信号X(n) は、アナロ
グの音響信号を所定サンプリングタイミングでサンプリ
ングした値をディジタル信号(もともとディジタル信号
で供給される場合はそのままでよい)に変換して入力し
たものであり、この入力信号X(n)に対して、DSPの
時分割処理によってn個のバンドパスフィルタHt(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 =12dB以上 =415Hz =430Hz =450Hz =466Hz の条件で、i=1,2の2段のディジタルフィルタのそ
れぞれの係数は次のようになる。
【0029】H440Hz(0)=0.08192384 i=1に対し、 a1(1)=−1.91442200776 a2(1)= 0.9933673 b1(1)=−1.91105345727 b2(1)= 1. i=2に対し、 a1(2)=−1.9210712 a2(2)= 0.993606 b1(2)=−1.93525314797 b2(2)= 1. このように、バンドパスフィルタHt(z)の演算が各音階
に対して時分割的に実行され、その結果信号Yt(n),t
=1〜Nが求まる。
【0030】この結果信号Yt(n)に対して、次に、DS
Pは、エンベロープ抽出処理を時分割で行う。このエン
ベロープ処理は、それぞれの結果信号Yt(n)の波形につ
いて所定時間間隔毎(例えば各音階の対応する周波数
毎)にピークレベル(絶対値)を求めて行う。あるいは
後述するような特定のディジタルフィルタを|Yt(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) に入力され、ローパスフィルタH2t(z) は、その詳
細については後述するが、音階周波数でピークをもった
レゾナンスタイプのローパスディジタルフィルタの特性
をもっている。
【0036】したがって、上記ハイパスフィルタH1(z)
とローパスフィルタH2t(z) をカスケード接続して得ら
れるディジタルフィルタの周波数特性の大きさは、図4
のごとくなっており、疑似バンドパスフィルタとなって
いる。
【0037】図4において、f1,f2,……fNが、各
音階周波数に対応し、Nを40〜50程度(3オクター
ブから4オクターブ)にすることが可能である。なお、
これ以上の広いオクターブレンジで音階検出するとき
は、高速のDSPか、複数のDSPによる並列処理を採
用することで達成できる。
【0038】このローパスフィルタH2t(z) の出力W
t(n),t=1〜Nが、各音階毎に時分割動作するローパ
スフィルタHE(z)に与えられ、このローパスフィルタH
E(z)の特性も後述するが、このローパスフィルタHE(z)
の各出力Et(n)が、図1と同様に、各音階についてのエ
ンベロープ信号となる。その後の処理は、基本原理の場
合と同様である。
【0039】次に、図3の各ディジタルフィルタの構
成、特性を詳述する。ハイパスフィルタH1(z) 図5は、ハイパスフィルタH1(z)の一構成例を示してい
る。このハイパスフィルタH1(z)は、2次のFIR(Fi
nite Impulse Response)ディジタルフィルタであり、
その伝達関数は、
【数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次のIIR
(Infinite Impulse Response)ディジタルフィルタで
あって、その伝達関数は、
【数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)−r2t(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)、図10に
示すように、音階周波数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
求めることができる。いま、数値計算の結果、例えば、
s=5KHz,f=440Hzで、m=4とすると、−2
rcosθ=−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) をD
>SPで演算により実現するときは、 Et(n)=CE|Wt(n)|+1.8Et(n-1)−0.81Et(n−2)……式(3) を実行することとなる。
【0053】このローパスフィルタH2t(z) は、その周
波数特性が、上述の説明のように、θ=0でピークをも
つ、レゾナンス付きのローパスフィルタで、図12に示す
ような特性(振幅特性)をとる。ここで、係数CEは、
各音階毎のレベルを一様にするファクターで実験などで
適宜求め得る。
【0054】図13は、この図11の構成によって得られる
エンベープ信号Et(n)を模式的に示している。この
ように、ローパスフィルタH2t(z) は、絶対値回路11−
1により、負の波高値(図11の破線)がすべて正の波高
値に変換された上でローパスフィルタがかけられるの
で、結局この波形信号|Wt(n)|の直流成分を求めるよ
うな動作をフィルタ回路がとるようになる。
【0055】<実施例の全体構成>次に、本願各発明の
音階検出装置及びそれを用いた楽音発生装置の一実施例
の具体的な構成を説明する。図14は、本願各発明の音階
検出装置及びそれを用いた楽音発生装置を適用した楽音
発生装置1の全体ブロック図である。
【0056】楽音発生装置1は、CPU(Central Proc
essing Unit)2、ROM(Read Only Memory)3、RA
M(Random Access Memory) 4、音階検出装置5、キー
ボード6、ディスプレイ7、プリンタ8、楽音発生回路
9、オーディオシステム10及びスピーカ11等を備えてお
り、こられ各部はバス12により接続されている。ROM
3には、本願各発明の音階検出装置としてのプログラム
や楽音発生装置としてのプログラム等が格納されてお
り、また、必要に応じて音階検出装置や楽音発生装置と
して動作する際に必要なデータが格納されている。
【0057】CPU2は、ROM3内のプログラムに従
って楽音発生装置1の各部を制御し、本願各発明の音階
検出装置及び楽音発生装置としての処理を行なう。ま
た、CPU2は、各種レジスタを備えており、これらレ
ジスタは、図15に示す今回検出値取込みバッファ(検出
音階記憶手段)、図16に示す検出音モジュール及び図17
に示す発音モジュールとして、割り当てられる。図15に
示す今回検出値取込みバッファは、音階検出装置5で検
出した音階音を取り込むためのバッファであり、具体的
には、例えば、6つのアドレスに対して、エンベロープ
値の大きい順に6個の音階番号(TONE No.)と、そのエ
ンベロープ値(ENV0〜ENV5)を記憶する。図16に示す
検出音モジュールは、今回検出値取込みバッファに登録
された音階音や、発音モジュールに登録された音階音の
状態を判定するためのものであり、音階音モジュールと
しては、本実施例では、6つ用意されている。各音階音
モジュールは、音階番号(TONE 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は、マイクロフォン41
あるいはライン入力 LINE INから入力する音響信号(こ
れは楽器音、人声音、あるいはテープレコーダやラジ
オ、テレビ、CDプレーヤー等からの再生音響であって
もよい)を、ローパスフィルタ42で適宜フィルタリング
した後、適当なサンプリング周波数fsで、A/D変換
器43よりディジタル信号X(n)に変換し、DSP44に入
力する。
【0060】フィルタ係数ROM45は、DSP44をディ
ジタルフィルタリングとして機能させるのに必要な各種
係数を記憶し、必要に応じて読み出されてDSP44に出
力される。
【0061】ワークRAM46は、DSP44がディジタル
フィルタとして動作する際のワークメモリであり、フィ
ルタリング演算のためのデータや、A/D変換器43から
入力されたディジタル入力信号X(n)及びDSP44で演
算処理された波形信号等を記憶する。
【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 Signal Pro
cessor)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 は、オペレーションROM44
2 から読み出されたプログラム内容をデコードし、制御
信号としてDSP44の各部に出力する。DSP44のバス
には、上記音階検出装置5のフィルタ係数ROM45及び
ワークRAM46が接続されており、オペレーションRO
M442 のプログラムに従って適宜係数データや波形信号
等がDSP44に供給され、またDSP44で演算処理した
波形信号がワークRAM46に出力されて書き込まれる。
【0073】乗算器445 は、入力されるデータを乗算処
理し、その演算結果を加減算器446やレジスタ群447 等
に出力する。加減算器446 は、入力データに加算処理あ
るいは減算処理を行ない、演算結果をレジスタ群447 を
介して乗算器445 やワークRAM46等に出力するととも
に、演算結果の符号データをフラグレジスタ448 に出力
する。
【0074】フラグレジスタ448 のフラグデータは、ア
ドレスカウンタ443 に出力され、アドレスカウンタ443
へのフラグレジスタ448 のフラグデータによりオペレー
ションROM442 から出力されるプログラム内容が決定
される。すなわち、フラグレジスタ448 のフラグデータ
によりジャッジ処理を行なっている。
【0075】次に作用を説明する。 <音階検出処理>先ず、音階検出装置5における音階検
出処理を説明する。音階検出処理は、CPU2の制御下
で行なわれ、上記改良原理で説明したディジタルフィル
タ処理により音階検出処理を行なう。
【0076】CPU2は、まず、図19に示すように、音
階音検出処理の開始に際して、イニシャル処理を行う
(ステップS1)。このイニシャル処理は、主にワーク
RAM46をクリアする処理である。
【0077】イニシャル処理が完了すると、A/D変換
器43による音響信号のディジタル信号X(n)へのディジ
タル変換が完了したかどうかチェックし(ステップS
2)、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)を読み出しDS
P44内の乗算器445 、加減算器446 を使用して実行す
る。
【0080】ハイパスフィルタH1(z)としての演算処理
が完了すると、各音階についてフィルタ処理を行なうた
めの設定値tを初期設定値t=1にセットし(ステップ
S5)、ローパスフィルタH2t(z) としてのフィルタリ
ング演算を行う(ステップS6)。このローパスフィル
タH2t(z) としての演算は、上記式(2)によるもの
で、各係数CY,2rcosθ,r2 をフィルタ係数R
OM45から読み出しながら、DSP44内の乗算器445 、
加減算器446 を使用して実行する。この演算結果Wt
(n) も、ワークRAM46の別の特定のエリアをリングバ
ッファとして使用し、順次ストアする。この場合も、ワ
ークRAM46をリングバッファとして使用することによ
り、このバッファから前回及び前々回の演算結果Wt(n-
1),Wt(n-2)を次々と読み出して演算に用いることがで
きる。
【0081】ハイパスフィルタH1(z)及びローパスフィ
ルタH2t(z) としての演算処理が完了すると、次に各音
階についてのエンベロープ抽出処理を行なう。このエン
ベロープ抽出処理は、各音階についてDSP44をIIR
ローパスフィルタHE(z)として演算処理させることによ
り実行する(ステップS7)。
【0082】このローパスフィルタHE(z)としての演算
は、上記式(3)によるもので、各係数CE,1.8、−
0.81をフィルタ係数ROM45から読み出しながら、DS
P44内の乗算器445 、加減算器446 を使用して行う。こ
の演算のうち、絶対値計算|Wt(n)|も加減算器446 を
使用して実行する。
【0083】この演算結果Et(n)も、ワークRAM46の
更に別の特定エリア46をリングバッファとして使用し
て、順次ストアすることにより、このバッファから前回
及び前々回の演算結果Et(n-1),Et(n-2)を次々と読み
出して演算に用いることができる。
【0084】上記フィルタ処理及びエンベロープ抽出処
理が終了すると、全ての音階についてこれらの各処理が
なされたかどうか(t=N)チェックし(ステップS
8)、すべての音階については処理が終了していないと
きには、設定値tをインクリメントして(ステップS
9)、ステップS6に移行する。ステップS6に移行す
ると、再びステップS6及びステップS7のフィルタリ
ング処理を実行する。
【0085】ステップS8で、全ての音階に対してフィ
ルタ処理等が完了していると、各音階についてのエンベ
ロープEt(n)(t=1〜N)をCPU2へ通知した後
(ステップS10)、音階検出処理モードを終了するかど
うかチェックする(ステップS11)。音階検出処理モー
ドの終了でないときには、ステップS2に移行し、次の
音響信号のA/D変換を待って、同様に処理を行なう。
すなわち、DSP44は、1サンプリング毎に、時分割で
3系統のディジタルフィルタリングを順番に、しかも各
音階について繰り返して実行することにより、リアルタ
イムで、各音階のエンベロープに従って、各音階に対応
する周波数に関する周波数スペクトルのレベルを検知す
ることができる。
【0086】ステップS11で、キーボード5の操作等に
よりCPU2が音階検出処理モードの終了をDSP44に
通知してきたときは、一連の処理動作を終了する。
【0087】<CPU2の検出音発生処理>CPU1
は、上述したようにDSP44から毎サンプリング周期で
各音階に次いてのエンベロープ信号Et(n)(t=1〜
N)、すなわち、各音階に対応する周波数に関する周波
数スペクトルのレベルが与えられるので、種々の目的に
これを使用できるが、与えられた各音階をそのまま楽音
として出力したり、検出されなくなった音階をすぐに消
してしまうと、楽音として好ましくない音が発生された
り、実演奏上の使用面において支障をきたすおそれがあ
る。
【0088】そこで、本願各発明では、検出した音階音
の状態変化や出力中の音階音の状態をチェックして、音
階音の状態変化に基づいて音階音の楽音としての出力
や、出力中の楽音の出力停止を行なっている。
【0089】以下、本実施例の場合の音階音の状態変化
のチェック処理と楽音の発生・停止処理について、図20
から図25に基づいて説明する。CPU2は、音階音発生
処理を行なうために、まず、初期設定処理(イニシャル
処理)を行なう(ステップP1)。この初期設定処理に
より、後述する各タイマーやフラグ及びワークRAM46
のクリアを行なう。
【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に対応す
る今回検出値取込みバッファに取り込んだ音階番号(TO
NE No.)のエンベロープ値ENViが、あらかじめ設定
した閾値より大きいかどうかチェックする(ステップT
3)。ステップT3で、今回検出値バッファのカウンタ
iのエンベロープ値ENViが閾値よりも小さいときに
は、今回検出値取込みバッファiのエンベロープ値EN
Viとその音階番号(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.)とを
比較して、音階番号(TONE 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 N
o.)とエンベロープ値ENViとをクリアし(ステップ
T15)、CPU2内の今回ON数レジスタを1だけインク
リメントする(ステップT16)。このインクリメントし
た今回ON数レジスタのカウント値が検出音検出音モジュ
ールの総数である6になったかどうかをチェックし(ス
テップT17)、6に達すると、発音モジュールに割り振
るためのアサイン処理(図24参照)に移行する。今回ON
数レジスタのカウント値が6に達していないときには、
検出音モジュールの全てに割り振られていないため、ス
テップT9及びステップT8を介して図22のON中判定処
理に戻る。
【0097】ステップT12で、検出音モジュールON中と
判定された検出音モジュールiの音階番号(TONE 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、T17)。ステッ
プT20で、検出音モジュールiのチャタリングタイマー
が設定値に達しているときには、検出音モジュールiの
ステイタスをNew OFFにセットし、ON中判定処理へ移行
する(ステップT21)。
【0099】したがって、鍵盤付電子楽器等において
は、その離鍵時にチャタリングが発生しても、チャタリ
ングタイマーを用いたON中処理を行なうことにより、発
生中の音の消音を自然なものとすることができる。
【0100】今回New ON選別処理 次に、今回New ON選別処理について図23に基づいて説明
する。今回New ON選別処理では、今回新たに現れた音階
音に対して、真に楽音として発生されるべき音階音であ
るかどうかを選別する。この選別処理を行なうために、
今回New ON選別用基準値Sを設定し、この今回New ON選
別用基準値Sと今回検出値取込みバッファのエンベロー
プ値とを比較することにより選別処理を行なっている。
【0101】すなわち、図23に示すように、前回の今回
New ON選別処理で作成した今回NewON選別用基準値S
と、今回検出値取込みバッファのエンベロープ値ENV
0〜ENV5とを比較し、それらのうちの最大値を今回
New ON選別用基準値Sとして設定する(ステップT2
2)。今回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)。この比較処理で、
今回検出値取込みバッファのエンベロープ値ENViの
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、T31)。ステップT28で、今回New
ON選別用基準値Sが、最小値よりも小さいときには、あ
らかじめ設定した初期設定値をS’として設定し、この
S’を次回New ON選別用基準値としてセーブする(ステ
ップT30、T31)。
【0103】このように、今回New ON選別処理では、今
回New ONとなった音階音をそのエンベロープ値に基づい
て、今回検出値取込みバッファから削除するかどうかを
選別しており、真に発音させるべきデータをエンベロー
プ値に基づいて選別することができる。したがって、無
音の状態から音響信号が入力された場合には、通常、そ
の音の立上がり部分では、種々の倍音や不規則倍音が現
れ、エネルギーが分散されて突出した成分が見られない
ため、今回New ON選別処理により、発音の候補から除外
される。この無音の状態から音響信号が入力され、さら
に引続き音響信号が入力され続けると、基音となる成分
に対して他の成分は大きく減衰するため、相対的に基音
の成分が強調され、今回New ON選別処理で、発音の候補
とその他の不要な音とを選別することができる。
【0104】アサイン処理 次に、アサイン処理について、図24に基づいて説明す
る。アサイン処理では、まず、検出音モジュールを検索
するためのカウンタiをリセットし、該カウンタi値に
基づいて、検出音モジュールのステイタスをチェックし
て、OFF 中のものが有るかどうか検索する(ステップT
32〜ステップT35)。OFF 中のものが見つかると、今回
検出値取込みバッファ検索用カウンタjをリセットし、
今回検出値取込みバッファjの音階番号(TONE No.)が
0でないものを検索する(ステップT36〜ステップT3
8)。今回検出値取込みバッファに音階番号(TONE N
o.)が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.)を割り当てる。また、検出音モジュールを
走査して、ステイタスがNew OFF のものを見つけると、
該当する発音モジュールにリリースコマンドをセットす
る(ステップT42)。この発音モジュールに新たにアタ
ックコマンドとともに、セットされた音階番号(TONE N
o.)は、図14の楽音発生回路9のチャネルに割り当てら
れ、楽音発生回路9は、割り当てられた音階番号(TONE
No.)の音階の音をオーディオシステム10及びスピーカ
11を介して、発音させる。また、発音モジュールに割り
当てられていた音階にリリースコマンドがセットされる
と、その音階の音の発音が停止される。
【0106】したがって、上記ON中処理及び今回New ON
処理により、チャタリング防止処理及び選別処理が行な
われた音階音について、発音させることができる。上記
一連の処理を楽音発生回路9のチャネル(実施例では、
4つ)の全てに対して実行し、発音処理及び発音の停止
処理を行なう。いま、図25に示すような曲については、
音階検出装置5でフィルタ処理が行なわれた後、音響入
力としてCPU2に入力され(図25では、A4=440H
zの例)、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】さらに、音響信号として新たに検出した音
階音であるかどうかの状態変化情報と、各音階の状態が
継続している時間に関する状態継続情報と、に基づいて
発音用の音階として割り当て、また発音用音階から削除
することができるので、楽音の立ち上がり等音階が不安
定な部分で、人間が聞いてその楽音の主要な音階として
感じる音階以外の音階を抽出した場合でもその音階を発
音用の対象から外すことができ、人間が聞いて楽音とし
て好ましい音階のみを、正確に発音用の音階として割当
てることができる。また、継続して発音されている音階
音が存在している場合には、発音用音階音から誤って削
除されることを防止することができ、実演奏上の使用性
を向上させることができる。
【0115】請求項記載の発明によれば、電子楽器に
おいて、入力される音響信号の立ち上がりから停止まで
の状態変化に対応して、発音用の音階として正しく割り
当て、また削除し、発音用音階として登録された音階の
みを、楽音発生手段により楽音として発生することがで
きるとともに、発音用音階から削除された音階の楽音の
発生を停止することができるので、人間によって聞きご
ごちのよい状態として音階音を割り当てて、楽音として
発生させることができるとともに、実演奏上の使用性も
向上させることができる。
【0116】さらに、電子楽器において、音響信号とし
て新たに検出した音階音であるのかどうかの状態変化情
報と、各音階の状態が継続している時間に関する状態継
続情報と、に基づいて、入力された音響信号を発音用の
音階として正しく割り当て、また発音用音階から削除で
き、発音用音階として登録された音階のみを楽音発生手
段により楽音として発生することができるとともに発音
用音階から削除された音階の楽音の発生を停止すること
ができる。その結果、ピアノ等の楽器や電子楽器等から
発生された音響信号を、その音響信号の立ち上がりから
停止までの状態変化に対応して、楽音を発生させ、また
楽音の発生を停止させることができる。このため、楽音
の立ち上がり等音階の不安定な部分で、人間が聞いてそ
の楽音の主要な音階として感じる音階以外の音階を発生
させないようにすることができ、人間が聞いて楽音とし
て好ましい音階のみを、楽音発生手段により発生させる
ことができるとともに、継続して発音されている音階音
が存在している場合には、楽音として継続して発生させ
ることができ、実演奏上の使用性を向上させることがで
きる。
【図面の簡単な説明】
【図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
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−154298(JP,A) 特開 昭64−21498(JP,A) 特開 昭49−12273(JP,A) 特開 昭54−7811(JP,A) 特開 昭61−12018(JP,A) 特開 昭62−11129(JP,A) 実開 昭60−26091(JP,U) 特許2775651(JP,B2) 特公 平4−51838(JP,B2) 特公 昭61−55679(JP,B2) (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 G10G 3/04

Claims (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4156269B2 (ja) * 2002-05-13 2008-09-24 大日本印刷株式会社 時系列信号の周波数解析方法および音響信号の符号化方法

Also Published As

Publication number Publication date
JPH04307597A (ja) 1992-10-29

Similar Documents

Publication Publication Date Title
JP2775651B2 (ja) 音階検出装置及びそれを用いた電子楽器
US20200111463A1 (en) Electronic musical instrument and method of causing electronic musical instrument to perform processing
JPS616689A (ja) 電子楽器
JP3120468B2 (ja) 音階検出装置及びそれを用いた楽音発生装置
JP2762926B2 (ja) 楽音生成装置
JP3132038B2 (ja) 和音判別装置及びそれを用いた自動伴奏装置
JP3185266B2 (ja) 楽音発生装置
JPH07121181A (ja) 音声情報処理装置
JP3203687B2 (ja) 楽音変調装置および楽音変調装置を用いた電子楽器
JP3149466B2 (ja) ピッチ抽出装置及びそれを用いた電子楽器
JP3118863B2 (ja) 音階検出装置を用いた楽音発生装置
JP3168708B2 (ja) 音階検出装置
JP3127406B2 (ja) テンポ検出装置
JP2705063B2 (ja) 楽音信号発生装置
JPH07325581A (ja) 楽音発生装置
JPH05346787A (ja) 音声制御楽音発生装置
JP3149097B2 (ja) 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置
JP3324167B2 (ja) 効果付加装置
JP2947525B2 (ja) エンベロープ発生器
JP3120490B2 (ja) 音声制御装置及び音声制御電子楽器
JP3149463B2 (ja) 効果付加装置
JP3104318B2 (ja) 効果付加装置
JP2814939B2 (ja) 波形処理装置
JP3116381B2 (ja) 楽音波形圧縮方法
JPH06202680A (ja) 効果付加装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20071020

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

FPAY Renewal fee payment (prs 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