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
Links
- 238000001514 detection method Methods 0.000 claims abstract description 114
- 238000012545 processing Methods 0.000 claims abstract description 110
- 238000001914 filtration Methods 0.000 claims abstract description 32
- 230000007704 transition Effects 0.000 claims abstract description 22
- 238000001228 spectrum Methods 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims description 14
- 238000000034 method Methods 0.000 abstract description 95
- 230000008569 process Effects 0.000 abstract description 92
- 239000000872 buffer Substances 0.000 description 42
- 235000019800 disodium phosphate Nutrition 0.000 description 34
- 238000010586 diagram Methods 0.000 description 20
- 244000145845 chattering Species 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 241000282412 Homo Species 0.000 description 12
- 238000000605 extraction Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 12
- 230000004044 response Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 230000008676 import Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 239000011295 pitch Substances 0.000 description 5
- 230000000630 rising effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- SDJLVPMBBFRBLL-UHFFFAOYSA-N dsp-4 Chemical group ClCCN(CC)CC1=CC=CC=C1Br SDJLVPMBBFRBLL-UHFFFAOYSA-N 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 101000582320 Homo sapiens Neurogenic differentiation factor 6 Proteins 0.000 description 1
- 102100030589 Neurogenic differentiation factor 6 Human genes 0.000 description 1
- RRLHMJHRFMHVNM-BQVXCWBNSA-N [(2s,3r,6r)-6-[5-[5-hydroxy-3-(4-hydroxyphenyl)-4-oxochromen-7-yl]oxypentoxy]-2-methyl-3,6-dihydro-2h-pyran-3-yl] acetate Chemical compound C1=C[C@@H](OC(C)=O)[C@H](C)O[C@H]1OCCCCCOC1=CC(O)=C2C(=O)C(C=3C=CC(O)=CC=3)=COC2=C1 RRLHMJHRFMHVNM-BQVXCWBNSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
め要約のデータは記録されません。
Description
を入力してピッチを抽出し、この抽出されたピッチが所
望の音階のピッチであるか否かの音階判定を行うととも
に、音階判定した音階音の状態を検出する音階検出装置
及びその判定結果に従って電子的に楽音を発生させる楽
音発生装置に関し、特に、複音(和音も含む)の入力に
対しても、十分対応できるようにするとともに、音階音
の発生状態や持続状態等の状態をも検出する音階検出装
置及び該音階検出装置の検出結果を用いた楽音発生装置
に関する。
てピッチを抽出して、音階判定を行い、その結果を楽譜
の形でプリントアウトしたり、一連の判定結果をコード
化して記録した後、別の楽器音として出力し、自動演奏
したりする技術が提案されている(特開昭57−692
号、特開昭58−97179号等)。
、基本的に単音の入力にしか対応できず、複音(和音も
含む)の入力については何等検討されていないのが実情
である。
、和音名信号に応じて和音名表示を行うことが提案され
た(実開昭60−26091号)。
のは、アナログバンドパスフィルタ回路を音階数分設け
、それぞれの出力のピークホールドをとり、レベル検出
回路でピークの大きいものから和音を構成する構成音の
候補とするというものである。
によると、外温の影響によって判定結果が変動したり、
安定でないという問題があり、また回路構成も大規模化
してしまい、大がかりになってしまうという欠点もある
。
響信号が、単音であっても、また複音であっても、その
音響の音階を短時間で検出し、しかも回路的に小規模で
安定した動作をするディジタル化した音階検出装置及び
それを用いた電子楽器を提案している(特願平2−12
3789号)。
れる音響信号を表現するディジタル波形信号を順次記憶
する記憶手段と、この記憶手段に記憶される上記ディジ
タル波形信号に対して、各音階に対応する周波数に関す
る周波数スペクトルのレベルを検知するために時分割で
異なる特性のディジタルフィルタリングを順次行うディ
ジタル信号処理手段と、このディジタル信号処理手段に
て実行されたディジタルフィルタリングの結果に基づい
て、上記与えられる音響信号に含まれる1乃至複数の音
階音を検知する検知手段と、を具備し、音階音検出装置
を用いた電子楽器は、上記各手段の他に、該検知手段で
検知された1乃至複数の音階音に対応する楽音信号を所
定の音色をもって発生する楽音信号発生手段と、を具備
している。
検出装置によれば、信号処理をすべてディジタル処理す
ることができ、入力される音響信号が、単音であっても
、また複音であっても、音響の音階を短時間で検出し、
しかも回路的に小規模で安定した動作をさせることがで
きる。
人が先に出願した音階検出装置及びそれを用いた電子楽
器にあっては、まず、音階検出装置が、周波数スペクト
ルのレベルをディジタル信号処理手段によりディジタル
フィルタリング処理し、このディジタルフィルタリング
の処理結果によりエンベロープ値が所定基準値以上であ
ると、音階音として検出して、検出した音階音が、発音
用の音階音として現在割り当てられている音階音と相違
するときには、音階音を検出した時点で、発音用の音階
音として割り当て、現在発音用音階音として割り当てら
れている音階音が検出されなくなると、発音用の音階音
から削除する。しかしながら、音階検出装置が、音階音
を検出するとすぐ発音用の音階音として割り当て、電子
楽器が、発音用音階音として割り当てられた音階音に対
応する楽音を楽音信号発生手段により発生し、既に発音
用音階音として割り当てられている音階音が削除される
と、その音階音に対応する楽音の発生をすぐに停止した
のでは、楽音として好ましくない音を発生させる場合が
生じるおそれがあり、実演奏上の使用面において、なお
改良の余地があった。
り等音階が不安定な部分では、人間が聞いてその楽音の
主要な音階として感じる音階以外の音階も含まれており
、本出願人が先に出願した音階検出装置では、発音用の
音階音として現在割り当てられている音階音と相違する
いかなる音階でも検出すると、その音階音を検出した時
点で、発音用の音階音として割り当ててしまうため、こ
の音階の楽音を電子楽器で発生すると、楽音として好ま
しくない音を発生させるおそれがあった。
置及びそれを用いた電子楽器にあっては、検出した音階
音をエンベロープ値の大きさに基づいて発音用の音階と
して割り当てるとともに、現在発音用音階音として割り
当てられている音階音が発生の不安定さから検出されな
くなると、発音用の音階音から自動的に削除していたた
め、発音用音階音として割り当てる優先順位の設定いか
んによっては、継続して発音されている音階音が存在し
ている場合であっても、発音用音階音から削除され、電
子楽器からの発音が停止されることがある。その結果、
実演奏上の使用面において改良の余地があった。
号を、時分割でディジタルフィルタリング処理を行って
音階音を検出するとともに、この音階音の遷移状態を監
視し、音階音の状態に応じて発音用音階音としての割り
当てや発音用音階音からの削除を行うことにより、楽音
として好ましくない音の発生を防止し、また、実演奏上
の使用性を向上させることを目的としている。
発生された音響信号をディジタル処理により音階音とし
て検出する音階検出装置に適用され、音響信号を表現す
るディジタル波形信号に対して、異なる特性のディジタ
ルフィルタリング処理を時分割で順次行うことにより各
音階に対応した周波数に関する周波数スペクトルのレベ
ルを検出するディジタル信号処理手段と、ディジタル信
号処理手段によるディジタルフィルタリングの処理結果
に基づいて、前記音響信号に含まれる1乃至複数の音階
音を検出する音階検出手段と、音階検出手段の検出した
音階音のうちそのレベルが所定の基準値を越えた音階音
を記憶する検出音階記憶手段と、検出音階記憶手段に記
憶した音階音の遷移情報を記憶する検出音モジュールと
、楽音発生用の音階音とその音階音の楽音発生用音階音
としての状態を示す情報を記憶する発音モジュールと、
音階検出手段により検出され前記検出音階記憶手段に記
憶された音階に対して、検出音モジュールの遷移情報及
び発音モジュールに記憶された情報に基づいて、発音モ
ジュールに楽音発生用の音階音として登録するかどうか
を制御するとともに、発音モジュールに登録された音階
音を削除するかどうかを制御する制御手段と、 を備
えている。
されているように、例えば、遷移情報として、前記音階
検出手段が新たに検出した音階音であるのかどうかの状
態変化情報と、各音階の状態が継続している時間に関す
る状態継続情報と、を記憶したものであってもよい。
号をディジタル処理により音階音として検出し、検出し
た音階音を楽音として発生する楽音発生装置に適用され
、音響信号を表現するディジタル波形信号に対して、異
なる特性のディジタルフィルタリング処理を時分割で順
次行うことにより各音階に対応した周波数に関する周波
数スペクトルのレベルを検出するディジタル信号処理手
段と、ディジタル信号処理手段によるディジタルフィル
タリングの処理結果に基づいて、前記音響信号に含まれ
る1乃至複数の音階音を検出する音階検出手段と、音階
検出手段の検出した音階音のうちそのレベルが所定の基
準値を越えた音階音を記憶する検出音階記憶手段と、検
出音階記憶手段に記憶した音階音の遷移情報を記憶する
検出音モジュールと、楽音発生用の音階音とその音階音
の楽音発生用音階音としての状態を示す情報を記憶する
発音モジュールと、音階検出手段により検出され前記検
出音階記憶手段に記憶された音階に対して、検出音モジ
ュールの遷移情報及び発音モジュールに記憶された情報
に基づいて、発音モジュールに楽音発生用の音階音とし
て登録するかどうかを制御するとともに、発音モジュー
ルに登録された音階音を削除するかどうかを制御する制
御手段と、制御手段により発音モジュールに楽音発生用
の音階として登録された音階音に対応する楽音を発生す
る楽音発生手段と、を備えている。
4に記載されているように、例えば、遷移情報として、
前記音階検出手段が新たに検出した音階音であるのかど
うかの状態変化情報と、各音階の状態が継続している時
間に関する状態継続情報と、を記憶したものであっても
よい。
や電子楽器等から発生された音響信号は、ディジタル変
換され、ディジタル信号処理手段に入力される。ディジ
タル信号処理手段は、この音響信号を表現するディジタ
ル波形信号に対して、異なる特性のディジタルフィルタ
リング処理を時分割で順次行うことにより各音階に対応
した周波数に関する周波数スペクトルのレベルを検出し
、音階検出手段に出力する。音階検出手段は、ディジタ
ル信号処理手段によるディジタルフィルタリングの処理
結果に基づいて、前記音響信号に含まれる1乃至複数の
音階音を検出する。音階検出手段の検出した音階音のう
ちそのレベルが所定の基準値を越えた音階音は、検出音
階記憶手段に記憶され、検出音階記憶手段に記憶された
音階音の遷移情報が、検出モジュールに記憶される。 この検出モジュールに記憶された音階音を、制御手段が
楽音発生用の音階音として発音モジュールに登録し、発
音モジュールは、さらに登録された音階音の楽音発生用
音階音としての状態を示す情報を記憶する。この制御手
段は、音階検出手段により検出され検出音階記憶手段に
記憶された音階に対して、前記検出音モジュールの遷移
情報及び前記発音モジュールに記憶された情報に基づい
て、発音モジュールに楽音発生用の音階音として登録す
るかどうかを制御するとともに、発音モジュールに登録
された音階音を削除するかどうかを制御する。
止までの状態変化に対応して、正確に発音用の音階とし
て割り当て、また削除することができ、人間にとって聞
きごこちのよいものとすることができ、また、実演奏上
の使用性を向上させることができる。
モジュールが、遷移情報として、前記音階検出手段が新
たに検出した音階音であるのかどうかの状態変化情報と
、各音階の状態が継続している時間に関する状態継続情
報と、を記憶しているので、楽音の立ち上がり等音階が
不安定な部分で、人間が聞いてその楽音の主要な音階と
して感じる音階以外の音階音を発音用の音階音から除外
することができ、人間が聞いて楽音として好ましい音階
のみを、発音用の音階音として割り当てることができる
。また、継続して発音されている音階音が存在している
場合には、発音用音階音から削除される誤動作を防止す
ることができ、実演奏上の使用性を向上させることがで
きる。
楽器や電子楽器等から発生された音響信号は、ディジタ
ル変換され、ディジタル信号処理手段に入力される。デ
ィジタル信号処理手段は、この音響信号を表現するディ
ジタル波形信号に対して、異なる特性のディジタルフィ
ルタリング処理を時分割で順次行うことにより各音階に
対応した周波数に関する周波数スペクトルのレベルを検
出し、音階検出手段に出力する。音階検出手段は、ディ
ジタル信号処理手段によるディジタルフィルタリングの
処理結果に基づいて、前記音響信号に含まれる1乃至複
数の音階音を検出する。音階検出手段の検出した音階音
のうちそのレベルが所定の基準値を越えた音階音は、検
出音階記憶手段に記憶され、検出音階記憶手段に記憶さ
れた音階音の遷移情報が、検出モジュールに記憶される
。この検出モジュールに記憶された音階音を、制御手段
が楽音発生用の音階音として発音モジュールに登録し、
発音モジュールは、さらに登録された音階音の楽音発生
用音階音としての状態を示す情報を記憶する。この制御
手段は、音階検出手段により検出され検出音階記憶手段
に記憶された音階に対して、前記検出音モジュールの遷
移情報及び前記発音モジュールに記憶された情報に基づ
いて、発音モジュールに楽音発生用の音階音として登録
するかどうかを制御するとともに、発音モジュールに登
録された音階音を削除するかどうかを制御する。この発
音モジュールに登録された音階音に対応する楽音を楽音
発生手段により発生する。
される音響信号の立ち上がりから停止までの状態変化に
対応して、正確に発音用の音階音として割り当て、また
削除し、発音用音階音として登録された音階音のみを、
楽音発生手段により楽音として発生することができると
ともに、発音用音階音から削除された音階音の楽音の発
生を停止することができる。その結果、人間に取って聞
きごこちのよい楽音を発生させることができ、また、実
演奏上の使用性を向上させることができる。
モジュールが、遷移情報として、前記音階検出手段が新
たに検出した音階音であるのかどうかの状態変化情報と
、各音階の状態が継続している時間に関する状態継続情
報と、を記憶しているので、楽音の立ち上がり等音階が
不安定な部分で、人間が聞いてその楽音の主要な音階と
して感じる音階以外の音階音を発生させないようにする
ことができ、人間が聞いて楽音として好ましい音階音の
みを、楽音発生手段により発生させることができる。 また、継続して発音されている音階音が存在している場
合には、楽音として継続して発生させることができ、誤
動作を防止しつつ実演奏上の使用性を向上させることが
できる。
処理の基本原理について説明する。実施例では、ディジ
タルフィルタ処理をDSP(Digital Sign
al Processor:ディジタル信号処理プロセ
ッサ)を使用することにより行っている。すなわち、D
SPにディジタルフィルタとして動作させるのに必要な
プログラムやデータを書き込み、図1に示すようなバン
ドパスフィルタHt(z)を構成するとともに、更にエ
ンベロープ抽出回路を構成し、ディジタルフィルタ処理
及びエンベロープ抽出処理を行う。
ナログの音響信号を所定サンプリングタイミングでサン
プリングした値をディジタル信号(もともとディジタル
信号で供給される場合はそのままでよい)に変換して入
力したものであり、この入力信号X(n)に対して、D
SPの時分割処理によってn個のバンドパスフィルタH
t(z)のフィルタリング処理を行う。このフィルタリ
ング処理に際して、n個のバンドパスフィルタHt(z
)の伝達関数を、複数オクターブの各音階に依存させて
変更する。
してチェビシエフ形のものを採用した場合の周波数特性
の大きさを示している。この場合の伝達関数としては、
tを各音階に指定するサフィックス(添字)として、次
のようになる。
)を構成すると、DSPの処理は、
を繰り返し実行することになる。また、各バンドパスフ
ィルタHt(z)の係数については、数値計算で求める
ことができる。具体例としては、A4=440Hzのバ
ンドパスフィルタを次の条件(■〜■は図2参照)で構
成すると、下記の如き係数値をもつ伝達関数のディジタ
ルフィルタリング処理を実行することになる。
dB以上 ■=415Hz ■=430Hz ■=450Hz ■=466Hz の条件で、i=1,2の2段のディジタルフィルタのそ
れぞれの係数は次のようになる。
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が求まる。
DSPは、エンベロープ抽出処理を時分割で行う。この
エンベロープ処理は、それぞれの結果信号Yt(n)の
波形について所定時間間隔毎(例えば各音階の対応する
周波数毎)にピークレベル(絶対値)を求めて行う。あ
るいは後述するような特定のディジタルフィルタを|Y
t(n)|(Yt(n)の絶対値信号)に対して行って
求める。
れぞれの音階についてのエンベロープ信号Et(n),
t=1〜Nが求まり、この出力に対して、このDSPの
適用された楽音発生装置等のCPU(マイクロコンピュ
ータなど)が、レベル判断を実行することにより、もと
もとの入力信号X(n)の波形に含まれる音階信号を1
乃至複数検出することが可能となる。
いてピークをもつバンドパスフィルタHt(z)により
フィルタリング処理を時分割で行うものであるが、バン
ドパスフィルタHt(z)は、上述したチェビシェフ形
のバンドパスフィルタに限るものではなく、種々の形式
のディジタルフィルタで何等の機能を実現できる。また
、バンドパスフィルタは、ローパスフィルタとハイパス
フィルタのカスケード接続することによっても実現でき
る。
、A4=440Hzの例では、8回の乗算が必要となる
。そこで、以下に、フィルタ演算を行う際の乗算回数を
減らし、リアルタイムでフィルタリングを行うことを容
易にしたフィルタリング処理のひとつの改良原理を説明
する。
たディジタルフィルタ演算をDSPに行わせる改良原理
を示しており、このバンドパスフィルタは、ハイパスフ
ィルタH1(z)、ローパスフィルタH2t(z) 及
びローパスフィルタHE(z)で構成されている。この
バンドパスフィルタでは、ディジタル表現による入力音
響信号X(n)は、まず、ハイパスフィルタH1(z)
に入力され、ハイパスフィルタH1(z)は、その詳細
については後述するが、周波数0で0、周波数fs/2
で最大となるハイパスディジタルフィルタである。
(n) が、各音階t毎に時分割動作するローパスフィ
ルタH2t(z) に入力され、ローパスフィルタH2
t(z) は、その詳細については後述するが、音階周
波数でピークをもったレゾナンスタイプのローパスディ
ジタルフィルタの特性をもっている。
z)とローパスフィルタH2t(z) をカスケード接
続して得られるディジタルフィルタの周波数特性の大き
さは、図4のごとくなっており、疑似バンドパスフィル
タとなっている。
各音階周波数に対応し、Nを40〜50程度(3オクタ
ーブから4オクターブ)にすることが可能である。なお
、これ以上の広いオクターブレンジで音階検出するとき
は、高速のDSPか、複数のDSPによる並列処理を採
用することで達成できる。
力Wt(n),t=1〜Nが、各音階毎に時分割動作す
るローパスフィルタHE(z)に与えられ、このローパ
スフィルタHE(z)の特性も後述するが、このローパ
スフィルタHE(z)の各出力Et(n)が、図1と同
様に、各音階についてのエンベロープ信号となる。その
後の処理は、基本原理の場合と同様である。
、特性を詳述する。 ハイパスフィルタH1(z) 図5は、ハイパスフィルタH1(z)の一構成例を示し
ている。このハイパスフィルタH1(z)は、2次のF
IR(Finite Impulse Respons
e)ディジタルフィルタであり、その伝達関数は、
、5−3,5−4,5−5は乗算器、5−6,5−7は
加算器を示している。このハイパスフィルタH1(z)
をDSPで演算により実現するときには、
単なるシフト処理で実現できる。
特性は、
)で最小、Ω=π(fs/2Hz)で最大となる特性を
とる。
ーパスフィルタH2t(z) の一構成例を示している
。このローパスフィルタH2t(z) は、2次のII
R(Infinite Impulse Respon
se)ディジタルフィルタであって、その伝達関数は、
するように、音階を示すサフィックスtに依存してθと
CYとが変化し、rがレゾナンスの強さ(ピークの程度
)を示すパラメータとなる。
、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)を実行するこ
ととなる。
波数特性は
極と零点の配置、および、θを、0<θ<π/2とした
ときの極ベクトルと零点ベクトルと、を図8に示す。図
8から理解されるとおり、Ω=0からΩ=πに向けて単
位円に沿ってΩが動くにつれて、ベクトルv2の長さは
、はじめ減少し、次に増加する。最小のベクトルv2
の長さは、
きさは、零点ベクトルv1 とベクトルv2 の長さの
比であり、周波数応答の位相は、実軸とベクトルv1
のなす角度からベクトルv2 のなす角を引いた値とな
ることが知られており、振幅特性のみを図示すると図9
のようになる。
)は、図9から分るように、極ベクトルv2 の大きさ
の逆数に比例し、θに近いΩで最大となる。そして、r
の大きさに従ってこのピークの鋭さが決まり、rを1に
近づけてゆくと急なピーク(レゾナンス特性)をもった
フィルタが実現できる。
に、θの値を決定すれば(θ=2πft/fs)、図1
0に示すように、音階周波数ftでピークをもつレゾナ
ンス付きのローパスフィルタH2t(z) を実現する
ことができる。
しないような大きさに、CYは、各音階で同等のレベル
の出力W1(n)が得られるような大きさに、実験で、
もしくは数学的に求めることが可能となる。
離れたとなりの音階周波数f+Δf(すなわちft+1
)との周波数応答の大きさの比を、m:1とする場合
、
満足するものを選び、各係数 −2rcosθ,r2
を求めることができる。いま、数値計算の結果、例え
ば、fs=5KHz,f=440Hzで、m=4とする
と、−2rcosθ=−1.9773、r2 = 0.
9851、CY=36.7となる。その他の音階につい
ても同様である。
ーパスフィルタHE(z)の一構成例を示す。これはさ
きに説明したローパスフィルタH2t(z) と同じ形
の2次のIIRディジタルフィルタであって伝達関数は
、
の伝達関数において、r=0.9、θ=0と、したもの
である。
ローパスフィルタ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)を実行す
ることとなる。
その周波数特性が、上述の説明のように、θ=0でピー
クをもつ、レゾナンス付きのローパスフィルタで、図1
2に示すような特性(振幅特性)をとる。ここで、係数
CEは、各音階毎のレベルを一様にするファクターで実
験などで適宜求め得る。
れるエンベープ信号Et(n)を模式的に示している。 このように、ローパスフィルタH2t(z) は、絶対
値回路11−1により、負の波高値(図11の破線)が
すべて正の波高値に変換された上でローパスフィルタが
かけられるので、結局この波形信号|Wt(n)|の直
流成分を求めるような動作をフィルタ回路がとるように
なる。
音階検出装置及びそれを用いた楽音発生装置の一実施例
の具体的な構成を説明する。図14は、本願各発明の音
階検出装置及びそれを用いた楽音発生装置を適用した楽
音発生装置1の全体ブロック図である。
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には、本願各発明の音階検出装置
としてのプログラムや楽音発生装置としてのプログラム
等が格納されており、また、必要に応じて音階検出装置
や楽音発生装置として動作する際に必要なデータが格納
されている。
って楽音発生装置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)により検出され検出音階記憶手段としての今回
検出値取込みバッファに記憶された音階に対して、検出
音モジュールの遷移情報及び発音モジュールに記憶され
た情報に基づいて、発音モジュールに楽音発生用の音階
として登録するかどうかを制御するとともに、発音モジ
ュールに登録された音階音を削除するかどうかを制御す
る制御手段として機能する。
ィジタルフィルタやエンベロープ抽出装置として動作さ
せるためのデータ等を記憶するとともに、CPU2のワ
ーク用メモリとして機能する。音階検出装置5は、マイ
クロフォン41、ローパスフィルタ42、A/D変換器
43、DSP44、フィルタ係数ROM45及びワーク
RAM46等を備えており、音響信号の入力端子として
、ライン入力 LINE INを備えている。
1あるいはライン入力 LINE INから入力する音
響信号(これは楽器音、人声音、あるいはテープレコー
ダやラジオ、テレビ、CDプレーヤー等からの再生音響
であってもよい)を、ローパスフィルタ42で適宜フィ
ルタリングした後、適当なサンプリング周波数fsで、
A/D変換器43よりディジタル信号X(n)に変換し
、DSP44に入力する。
ディジタルフィルタリングとして機能させるのに必要な
各種係数を記憶し、必要に応じて読み出されてDSP4
4に出力される。
タルフィルタとして動作する際のワークメモリであり、
フィルタリング演算のためのデータや、A/D変換器4
3から入力されたディジタル入力信号X(n)及びDS
P44で演算処理された波形信号等を記憶する。
記憶されている係数やワークRAM46を使用して、演
算処理し、ディジタルフィルタリング処理を実行すると
ともに、エンベロープ抽出処理を実行する。
れ、CPU2は、音階検出装置5の検出結果、及び後述
する楽音発生回路9に内蔵されている各種モジュールの
記憶状態に基づいて音階検出装置5の検出した音階や楽
音発生装置9により発生している楽音の状態を判断して
、楽音発生回路9の発生モジュールへの音階音の割り付
け処理や削除処理を行なう。
チや鍵盤等が設けられており、キーボード6でスイッチ
や鍵盤等の操作が行なわれると、CPU2がこの操作を
検出して、楽音発生回路9の発生音モジュールに発生楽
音を割り当てる。
U2の制御下で作動し、音階検出装置5で検出された1
乃至複数の音階を表示し、また用紙に印字する。例えば
、CPUは、リアルタイムで入力中の音響に含まれる音
階をディスプレイ7に表示してもよく、あるいはノンリ
アルタイムで、編集作業などを経た上で楽譜としてディ
スプレイ7に表示したり、プリンタ8で用紙に印刷した
りする。
信号を表現するディジタル波形信号に対して、異なる特
性のディジタルフィルタリング処理を時分割で順次行な
うことにより各音階に対応した周波数に関する周波数ス
ペクトルのレベルを検出するディジタル信号処理手段、
及びディジタル信号処理手段によるディジタルフィルタ
リングの処理結果に基づいて、前記音響信号に含まれる
1ないし複数の音階音を検出する音階検出手段として機
能している。
源発生回路が適用可能であり、例えば、PCM方式、F
M方式、iPD方式、正弦波合成方式等の音原発生回路
が適用される。この楽音発生装置9は、複数の楽音発生
チャンネル、例えば、4チャンネルを有しており、前記
CPU2の発音モジュールに割り当てられた音階番号の
音階音を、オーディオシステム10を駆動することによ
り、スピーカ11を介して音響出力させる。
オーディオシステムが使用されており、オーディオシス
テム10には、楽音発生回路9からの信号だけでなく、
マイクロフォン41やライン入力 LINE INの信
号も与えられ、必要に応じて音響出力として出力する。 また、楽音発生回路9は、キーボード6の音色指定に従
った音色の楽音信号を発生でき、この場合も、CPU2
が出力すべき音階音を発音モジュールに割り当てて楽音
発生動作をする。さらに、CPU2は、音階検出装置5
が検出した音階音の変化を順次RAM4にシーケンサ情
報として記憶し、このシーケンサ情報をキーボード6の
プレイスタート指示等に応答して、順次読み出して楽音
発生回路9から対応する楽音信号を発生することも可能
である。この場合も、後述するチャタリング防止処理等
を行なうことができる。
ィルタ及びエンベロープ抽出回路として機能するDSP
(ディジタル信号処理プロセッサ:Digital S
ignal Processor)44の回路構成図で
あり、DSP44は、インターフェィス441 、オペ
レーションROM442 、アドレスカウンタ443
、デコーダ444 、乗算器445 、加減算器446
、レジスタ群447、及びフラグレジスタ448 等
を備えている。
て図14に示すCPU2やA/D変換器43に接続され
ており、インターフェィス441を介して音響入力信号
やCPU2からの命令が入力され、また処理結果の音階
信号等が出力される。
各発明の音階検出装置及びそれを利用した楽音発生装置
に使用するディジタルフィルタ及びエンベロープ抽出回
路としてのプログラムが格納されており、プログラムメ
モリ2は、アドレスカウンタ443のアドレス指定によ
り順次プログラム内容をデコーダ444 に出力すると
ともに、各部に出力する。
M442 から読み出されたプログラム内容をデコード
し、制御信号としてDSP44の各部に出力する。DS
P44のバスには、上記音階検出装置5のフィルタ係数
ROM45及びワークRAM46が接続されており、オ
ペレーションROM442 のプログラムに従って適宜
係数データや波形信号等がDSP44に供給され、また
DSP44で演算処理した波形信号がワークRAM46
に出力されて書き込まれる。
算処理し、その演算結果を加減算器446やレジスタ群
447 等に出力する。加減算器446 は、入力デー
タに加算処理あるいは減算処理を行ない、演算結果をレ
ジスタ群447 を介して乗算器445 やワークRA
M46等に出力するとともに、演算結果の符号データを
フラグレジスタ448 に出力する。
、アドレスカウンタ443 に出力され、アドレスカウ
ンタ443 へのフラグレジスタ448 のフラグデー
タによりオペレーションROM442 から出力される
プログラム内容が決定される。すなわち、フラグレジス
タ448 のフラグデータによりジャッジ処理を行なっ
ている。
出処理を説明する。音階検出処理は、CPU2の制御下
で行なわれ、上記改良原理で説明したディジタルフィル
タ処理により音階検出処理を行なう。
音階音検出処理の開始に際して、イニシャル処理を行う
(ステップS1)。このイニシャル処理は、主にワーク
RAM46をクリアする処理である。
器43による音響信号のディジタル信号X(n)へのデ
ィジタル変換が完了したかどうかチェックし(ステップ
S2)、A/D変換器43でディジタル変換が完了する
と、A/D変換器43から入力されるディジタル信号X
(n)を順次アドレス設定してワークRAM46に記憶
する(ステップS3)。この場合、ワークRAM46の
うちの特定エリアをリングバッファ(終端と始端とを仮
想的に連結することで構成されるバッファ)として使用
することにより、無制限の入力信号(ディジタル信号X
(n))に対応できる。
)が記憶されると、CPU2は、DSP44をFIRの
ハイパスフィルタH1(z)として動作させる(ステッ
プS4)。 このFIRハイパスフィルタH1(z)としての動作処
理は、上記DSP44のオペレーションROM442
のプログラムのアドレス設定をアドレスカウンタ443
に行なうととともに、フィルタ係数ROM45の係数
設定をハイパスフィルタH1(z)用に設定することに
より行なう。
演算は、上記式(1)によるもので、今回の入力ディジ
タル信号X(n)のほかワークRAM46から前回、前
々回の入力ディジタル信号入力X(n−1)、X(n−
2)を読み出しDSP44内の乗算器445 、加減算
器446 を使用して実行する。
処理が完了すると、各音階についてフィルタ処理を行な
うための設定値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)を次々と読み出して演算に用いることができ
る。
フィルタH2t(z) としての演算処理が完了すると
、次に各音階についてのエンベロープ抽出処理を行なう
。このエンベロープ抽出処理は、各音階についてDSP
44をIIRローパスフィルタHE(z)として演算処
理させることにより実行する(ステップS7)。
演算は、上記式(3)によるもので、各係数CE,1.
8、−0.81をフィルタ係数ROM45から読み出し
ながら、DSP44内の乗算器445 、加減算器44
6 を使用して行う。この演算のうち、絶対値計算|W
t(n)|も加減算器446 を使用して実行する。
46の更に別の特定エリア46をリングバッファとして
使用して、順次ストアすることにより、このバッファか
ら前回及び前々回の演算結果Et(n−1),Et(n
−2)を次々と読み出して演算に用いることができる。
理が終了すると、全ての音階についてこれらの各処理が
なされたかどうか(t=N)チェックし(ステップS8
)、すべての音階については処理が終了していないとき
には、設定値tをインクリメントして(ステップS9)
、ステップS6に移行する。ステップS6に移行すると
、再びステップS6及びステップS7のフィルタリング
処理を実行する。
ルタ処理等が完了していると、各音階についてのエンベ
ロープEt(n)(t=1〜N)をCPU2へ通知した
後(ステップS10)、音階検出処理モードを終了する
かどうかチェックする(ステップS11)。音階検出処
理モードの終了でないときには、ステップS2に移行し
、次の音響信号のA/D変換を待って、同様に処理を行
なう。 すなわち、DSP44は、1サンプリング毎に、時分割
で3系統のディジタルフィルタリングを順番に、しかも
各音階について繰り返して実行することにより、リアル
タイムで、各音階のエンベロープに従って、各音階に対
応する周波数に関する周波数スペクトルのレベルを検知
することができる。
によりCPU2が音階検出処理モードの終了をDSP4
4に通知してきたときは、一連の処理動作を終了する。
、上述したようにDSP44から毎サンプリング周期で
各音階に次いてのエンベロープ信号Et(n)(t=1
〜N)、すなわち、各音階に対応する周波数に関する周
波数スペクトルのレベルが与えられるので、種々の目的
にこれを使用できるが、与えられた各音階をそのまま楽
音として出力したり、検出されなくなった音階をすぐに
消してしまうと、楽音として好ましくない音が発生され
たり、実演奏上の使用面において支障をきたすおそれが
ある。
の状態変化や出力中の音階音の状態をチェックして、音
階音の状態変化に基づいて音階音の楽音としての出力や
、出力中の楽音の出力停止を行なっている。
のチェック処理と楽音の発生・停止処理について、図2
0から図25に基づいて説明する。CPU2は、音階音
発生処理を行なうために、まず、初期設定処理(イニシ
ャル処理)を行なう(ステップP1)。この初期設定処
理により、後述する各タイマーやフラグ及びワークRA
M46のクリアを行なう。
了信号が音階検出装置5から入力されているかどうかチ
ェックし(ステップP2)、音階音検出終了信号が入力
されているときには、後述する検出音階音発生処理を実
行して、タイマー処理に移行する(ステップP3)。ス
テップP2で、音階音検出終了信号が入力されていない
ときには、そのままタイマー処理に移行し、タイマー処
理を行なう(ステップP4)。このタイマー処理では、
エンベロープタイマー、チャタリングタイマー等各タイ
マーに、処理フローが一周する間に経過した時間を加算
する加算処理を行なう。
器等の発音処理(楽音発生処理)を行なう(ステップP
5)。すなわち、CPU2の発音モジュール(図17参
照)に割り当てられたコマンドを処理し、各発音モジュ
ールを制御して、発音させる。発音処理が終了すると、
ステイタス処理を行なって、ステップP2に戻る(ステ
ップP6)。このステイタス処理では、各発音モジュー
ル及び各検出音モジュール(図16参照)のステイタス
を変更する。
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による音階音の選
別処理を終了する。この処理により、継続性のないノイ
ズ等を除去することができる。
処理が終了すると、次に、ON中判定処理に移行する。
ウンタiを初期値0に設定し(ステップT7)、カウン
タiの値に対応する検出音モジュール内のステイタスが
ON中かどうかチェックする(ステップT8)。ステイ
タスがON中のときには、図22に示すON中処理に移
行し、ステイタスがOFF 中を示しているときには、
カウンタiが検出音モジュールの総数5に達したかどう
かチェックする(ステップT9)。カウンタiが5でな
いときには、カウンタiを1だけインクリメントしてス
テップT8に戻り、同様に音階音モジュールに書き込ま
れている全ての音階番号(TONE No.)に対して
ステイタスの判定を行なう。検出音モジュール内の全て
のステイタスを判定すると、図23に示す今回New
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.)があるかどうかチェックする。
ものがあると、カウンタ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中判定処理に戻る。
中と判定された検出音モジュールiの音階番号(TON
E No.)とカウンタjに対応する今回検出値取込み
バッファの音階番号(TONE No.)とが一致する
ものがなければ、検出音モジュールiの今回ONフラグ
が有であるか、無であるか、をチェックし(今回ONフ
ラグが有るかどうか)(ステップT18)、今回音とな
った音階音に対するチャタリングの検出を行なうために
、検出音モジュールiの今回ONフラグを消去するとと
もに、チャタリングタイマーをクリアする(図16参照
)(ステップT19)。検出音モジュールの今回ONフ
ラグの消去及びチャタリングタイマーのクリアが完了す
ると、ステップT16に移行して今回ON数を1だけイ
ンクリメントとし、今回ON数の判定を行なう(ステッ
プT17)。この今回ON数の判定結果により、上述の
ようにON中判定処理へ移行するか、アサイン処理へ移
行するかの判定を行なう。
今回ONフラグが無いときには、検出音モジュールiの
チャタリングタイマーがあらかじめ設定した設定値より
大きいかどうかチェックし(ステップT20)、検出音
モジュールiのチャタリングタイマーが設定値に達して
いないときには、今回ON数を1だけインクリメントし
て、上述のようにON判定処理へ移行するか、アサイン
処理へ移行するかの判定を行なう(ステップT16、T
17)。ステップT20で、検出音モジュールiのチャ
タリングタイマーが設定値に達しているときには、検出
音モジュールiのステイタスをNew OFFにセット
し、ON中判定処理へ移行する(ステップT21)。
、その離鍵時にチャタリングが発生しても、チャタリン
グタイマーを用いたON中処理を行なうことにより、発
生中の音の消音を自然なものとすることができる。
w ON選別処理について図23に基づいて説明する。 今回New ON選別処理では、今回新たに現れた音階
音に対して、真に楽音として発生されるべき音階音であ
るかどうかを選別する。この選別処理を行なうために、
今回New ON選別用基準値Sを設定し、この今回N
ew ON選別用基準値Sと今回検出値取込みバッファ
のエンベロープ値とを比較することにより選別処理を行
なっている。
回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)。
ロープ値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)。
は、今回New ONとなった音階音をそのエンベロー
プ値に基づいて、今回検出値取込みバッファから削除す
るかどうかを選別しており、真に発音させるべきデータ
をエンベロープ値に基づいて選別することができる。し
たがって、無音の状態から音響信号が入力された場合に
は、通常、その音の立上がり部分では、種々の倍音や不
規則倍音が現れ、エネルギーが分散されて突出した成分
が見られないため、今回New ON選別処理により、
発音の候補から除外される。この無音の状態から音響信
号が入力され、さらに引続き音響信号が入力され続ける
と、基音となる成分に対して他の成分は大きく減衰する
ため、相対的に基音の成分が強調され、今回New O
N選別処理で、発音の候補とその他の不要な音とを選別
することができる。
る。アサイン処理では、まず、検出音モジュールを検索
するためのカウンタ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 中のものが有る
かどうかチェックする。
、アサイン準備処理であり、このアサイン準備処理が完
了すると、アサイン処理(ステップT41)に移行する
。アサイン処理では、まず、検出音モジュールを順次走
査し、ステイタスがNewONのものが有るかどうかチ
ェックする。ステイタスがNew ONのものが見つか
ると、図17に示した発音モジュールの空き領域(ステ
イタスがOFF 中のもの、あるいはメンコマンド(コ
マンドなし)のもの)を検索し、空き領域が有ると、そ
の空き領域に、アタックコマンドとともに、該検出音モ
ジュールの音階番号(TONE No.)を割り当てる
。また、検出音モジュールを走査して、ステイタスがN
ew OFF のものを見つけると、該当する発音モジ
ュールにリリースコマンドをセットする(ステップT4
2)。この発音モジュールに新たにアタックコマンドと
ともに、セットされた音階番号(TONE No.)は
、図14の楽音発生回路9のチャネルに割り当てられ、
楽音発生回路9は、割り当てられた音階番号(TONE
No.)の音階の音をオーディオシステム10及びス
ピーカ11を介して、発音させる。また、発音モジュー
ルに割り当てられていた音階にリリースコマンドがセッ
トされると、その音階の音の発音が停止される。
w ON処理により、チャタリング防止処理及び選別処
理が行なわれた音階音について、発音させることができ
る。上記一連の処理を楽音発生回路9のチャネル(実施
例では、4つ)の全てに対して実行し、発音処理及び発
音の停止処理を行なう。いま、図25に示すような曲に
ついては、音階検出装置5でフィルタ処理が行なわれた
後、音響入力としてCPU2に入力され(図25では、
A4=440Hzの例)、CPU2は、上記ON中処理
や今回New ON処理等を施して、選別した音階につ
いてのみ、発音処理を開始し、発音停止時においても、
ON中処理によりチャタリング防止処理を行なって、発
音の停止を行なう.
使用して、入力される音響信号を、時分割でディジタル
フィルタリング処理を行って音階音を検出することがで
き、安価な回路で、かつ高速で処理することができる。
、今回New ON選別処理により、そのエンベロープ
値に基づいて、今回検出値取込みバッファから削除する
かどうかを選別することができ、真に発音させるべきデ
ータをエンベロープ値に基づいて選別することができる
。すなわち、無音の状態から音響信号が入力された場合
には、通常、その音の立上がり部分では、種々の倍音や
不規則倍音が現れ、エネルギーが分散されて突出した成
分が見られないときには、今回New ON選別処理に
より、発音の候補から除外される。
引続き入力され続けると、基音となる成分に対して他の
成分は大きく減衰するため、相対的に基音の成分が強調
され、今回New ON選別処理で、発音の候補とその
他の不要な音とを選別することができる。
タリングが発生した場合には、チャタリングタイマーを
用いたON中処理を行なうことにより、発生中の音の消
音を自然なものとすることができる。
でディジタルフィルタリング処理を行って音階音を検出
することができるとともに、この音階音の状態を監視し
、音階音の状態に応じて発音用音階音としての割り当て
や発音音階音からの削除を行うことにより、楽音として
好ましくない音の発生を防止することができ、また、実
演奏上の使用性を向上させることができる。
路9のチャネル数が4の場合について説明したが、これ
に限るものではなく、任意に設定することができる.
0113】
の楽器や電子楽器等から発生された音響信号を、その音
響信号の立ち上がりから停止までの状態変化に対応して
、発音用の音階として正確に割り当て、また削除するこ
とができるので、人間にとって聞きごこちのよい状態と
して音階音を割り当てることができるとともに、誤動作
も防止されて実演奏上の使用性を向上させることができ
る。
して新たに検出した音階音であるのかどうかの状態変化
情報と、各音階の状態が継続している時間に関する状態
継続情報と、に基づいて発音用の音階として割り当て、
また発音用音階から削除することができるので、楽音の
立ち上がり等音階が不安定な部分で、人間が聞いてその
楽音の主要な音階として感じる音階以外の音階を抽出し
た場合でもその音階を発音用の対象から外すことができ
、人間が聞いて楽音として好ましい音階のみを、正確に
発音用の音階として割り当てることができる。また、継
続して発音されている音階音が存在している場合には、
発音用音階音から誤って削除されることを防止すること
ができ、実演奏上の使用性を向上させることができる。
おいて、入力される音響信号の立ち上がりから停止まで
の状態変化に対応して、発音用の音階として正しく割り
当て、また削除し、発音用音階として登録された音階の
みを、楽音発生手段により楽音として発生することがで
きるとともに発音用音階から削除された音階の楽音の発
生を停止することができるので、人間にとって聞きごこ
ちのよい状態として音階音を割り当てて、楽音として発
生させることができるとともに、実演奏上の使用性を向
上させることができる。
おいて、音響信号として新たに検出した音階音であるの
かどうかの状態変化情報と、各音階の状態が継続してい
る時間に関する状態継続情報と、に基づいて、入力され
た音響信号を発音用の音階として正しく割り当て、また
発音用音階から削除でき、発音用音階として登録された
音階のみを楽音発生手段により楽音として発生すること
ができるとともに発音用音階から削除された音階の楽音
の発生を停止することができる。その結果、ピアノ等の
楽器や電子楽器等から発生された音響信号を、その音響
信号の立ち上がりから停止までの状態変化に対応して、
楽音を発生させ、また楽音の発生を停止させることがで
きる。このため、楽音の立ち上がり等音階が不安定な部
分で、人間が聞いてその楽音の主要な音階として感じる
音階以外の音階音を発生させないようにすることができ
、人間が聞いて楽音として好ましい音階のみを、楽音発
生手段により発生させることができるとともに、継続し
て発音されている音階音が存在している場合には、楽音
として継続して発生させることができ、実演奏上の使用
性を向上させることができる。
た楽音発生装置の一実施例の基本原理を示す構成図。
特性図。
フィルタH2t(z) をカスケード接続したときの周
波数特性図。
性図。
図。
クトルと零点ベクトルを示す図。
波数特性図。
。
数特性図。
れることを説明する説明図。
た楽音発生装置の一実施例の全体回路構成図。
込みバッファの構成図。
ールの構成図。
ルの構成図。
タ処理及びエンベロープ抽出処理のフローチャート。
置9で発生・停止させるまでのCPU2での基本的な処
理を示すフローチャート。
示すフローチャート。
ート。
ート。
Claims (4)
- 【請求項1】音響信号を表現するディジタル波形信号に
対して、異なる特性のディジタルフィルタリング処理を
時分割で順次行うことにより各音階に対応した周波数に
関する周波数スペクトルのレベルを検出するディジタル
信号処理手段と、ディジタル信号処理手段によるディジ
タルフィルタリングの処理結果に基づいて、前記音響信
号に含まれる1乃至複数の音階音を検出する音階検出手
段と、音階検出手段の検出した音階音のうちそのレベル
が所定の基準値を越えた音階音を記憶する検出音階記憶
手段と、検出音階記憶手段に記憶した音階音の遷移情報
を記憶する検出音モジュールと、楽音発生用の音階音と
その音階音の楽音発生用音階音としての状態を示す情報
を記憶する発音モジュールと、音階検出手段により検出
され前記検出音階記憶手段に記憶された音階に対して、
検出音モジュールの遷移情報及び発音モジュールに記憶
された情報に基づいて、発音モジュールに楽音発生用の
音階音として登録するかどうかを制御するとともに、発
音モジュールに登録された音階音を削除するかどうかを
制御する制御手段と、を備えたことを特徴とする音階検
出装置。 - 【請求項2】前記検出音モジュールが、遷移情報として
、前記音階検出手段が新たに検出した音階音であるのか
どうかの状態変化情報と、各音階の状態が継続している
時間に関する状態継続情報と、を記憶したことを特徴と
する請求項1記載の音階検出装置。 - 【請求項3】音響信号を表現するディジタル波形信号に
対して、異なる特性のディジタルフィルタリング処理を
時分割で順次行うことにより各音階に対応した周波数に
関する周波数スペクトルのレベルを検出するディジタル
信号処理手段と、ディジタル信号処理手段によるディジ
タルフィルタリングの処理結果に基づいて、前記音響信
号に含まれる1乃至複数の音階音を検出する音階検出手
段と、音階検出手段の検出した音階音のうちそのレベル
が所定の基準値を越えた音階音を記憶する検出音階記憶
手段と、検出音階記憶手段に記憶した音階音の遷移情報
を記憶する検出音モジュールと、楽音発生用の音階音と
その音階音の楽音発生用音階音としての状態を示す情報
を記憶する発音モジュールと、音階検出手段により検出
され前記検出音階記憶手段に記憶された音階に対して、
検出音モジュールの遷移情報及び発音モジュールに記憶
された情報に基づいて、発音モジュールに楽音発生用の
音階音として登録するかどうかを制御するとともに、発
音モジュールに登録された音階音を削除するかどうかを
制御する制御手段と、制御手段により発音モジュールに
楽音発生用の音階として登録された音階音に対応する楽
音を発生する楽音発生手段と、を備えたことを特徴とす
る楽音発生装置。 - 【請求項4】前記検出音モジュールが、遷移情報として
、前記音階検出手段が新たに検出した音階音であるのか
どうかの状態変化情報と、各音階の状態が継続している
時間に関する状態継続情報と、を記憶したことを特徴と
する請求項3記載の楽音発生装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003330458A (ja) * | 2002-05-13 | 2003-11-19 | Dainippon Printing Co Ltd | 時系列信号の周波数解析方法および音響信号の符号化方法 |
-
1991
- 1991-04-04 JP JP03100394A patent/JP3120468B2/ja not_active Expired - Fee Related
Cited By (1)
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 |