JP3149097B2 - 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置 - Google Patents

音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置

Info

Publication number
JP3149097B2
JP3149097B2 JP22990792A JP22990792A JP3149097B2 JP 3149097 B2 JP3149097 B2 JP 3149097B2 JP 22990792 A JP22990792 A JP 22990792A JP 22990792 A JP22990792 A JP 22990792A JP 3149097 B2 JP3149097 B2 JP 3149097B2
Authority
JP
Japan
Prior art keywords
input
scale
types
signal
level
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
JP22990792A
Other languages
English (en)
Other versions
JPH0675563A (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 JP22990792A priority Critical patent/JP3149097B2/ja
Publication of JPH0675563A publication Critical patent/JPH0675563A/ja
Application granted granted Critical
Publication of JP3149097B2 publication Critical patent/JP3149097B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力された音響信号に
含まれ得る1種類又は複数種類の音響成分のレベルを抽
出する音響成分抽出装置、その抽出された音響成分のレ
ベルから音階を決定して対応する楽音を発生する電子楽
器、及び入力された信号に含まれ得る1種類又は複数種
類の周波数成分のレベル抽出する周波数成分抽出装置に
関する。
【0002】
【従来の技術】従来から、例えば人が歌う歌声やマイク
ロフォンから採取した楽音などの繰り返し波形からなる
音声信号から、そのピッチ周波数又はピッチ周期(以
下、単に「ピッチ」と呼ぶ)を抽出したいという要請が
強い。ピッチを抽出できれば、例えば、そのピッチに対
応する楽音を電子楽器等から発音させることができるよ
うになるなど、抽出されたピッチ情報を様々な処理に用
いることが可能となる。
【0003】従来から、音声信号からピッチを抽出する
技術として種々の手法が提案されている。ピッチ抽出方
式の従来例として、例えば本出願人が特開平4−196
96で開示したように、各音階に対応するバンドパスフ
ィルタを各々設け、各フィルタを介して各音階に対応す
る周波数に関する周波数スペクトルのレベルを検知し、
レベルが大きい複数の周波数を複数のピッチ周波数とし
て求める方式がある。
【0004】
【発明が解決しようとする課題】しかし、上述の従来例
では、例えばこの従来例が楽器の音階検出装置として使
用される場合、高い音階域の音階周波数の差は、例えば
A6 =1760[Hz]とA#6=1867[Hz]の差
の107[Hz]のように、比較的大きい周波数差とな
るが、低い音階域の音階周波数の差は、例えばA2 =1
10[Hz]とA#2=116[Hz]の差の7[Hz]
のように、僅かな周波数差にしかならない。従って、低
い音階域ほどカットオフ周波数の急俊なバンドパスフィ
ルタを構成しなければ、ある音階の音しか入力されてい
なくとも、その他の音階のレベルもピッチ周波数に対応
するものとして検出してしまう結果となる。
【0005】例えば、図22のバンドパスフィルタの周
波数特性図として示されるような、A4 =442[H
z]の音階音を検出するバンドパスフィルタBPF1
と、それより半音高いD4 =468[Hz]の音階音を
検出するバンドパスフィルタBPF2とから構成される
バンドパスフィルタ群に、A4 =442[Hz]の音階
音を含む音響信号が入力された場合、バンドパスフィル
タBPF1からの出力のほかに、バンドパスフィルタB
PF2から実験的にBPF1の出力の約30%の出力が
出力されることが認められている。他の音階音を検出す
るバンドパスフィルタからも、程度の差はあるが、なん
らかの出力が出力される。
【0006】上述の事実は、A4 =442[Hz]の音
階音を含む音響信号が入力された場合に、隣接する音階
音を含む音響信号まで入力されたように誤判別をしてし
まう恐れがあることを示している。
【0007】最も厳しい場合は、所定の音階音の両隣り
の音階音を含む音響信号が入力された場合であり、この
場合には、上述の所定の音階音を検出するバンドパスフ
ィルタには、かなり大きなレベルの出力が現れてしまう
ため、この出力が真の出力なのか偽の出力なのか判断す
ることが困難である。
【0008】上述のような問題に対して、従来は、所定
の閾値以下のバンドパスフィルタの出力は偽の出力とし
て無視するような構成が採られている。しかし、このよ
うな構成においては、閾値によって、真の音階音の出力
が無視されたり、逆に偽の音階音の出力が真の音階音の
出力と判別されてしまったりする場合が生じる。
【0009】また、上述のような問題に対して、バンド
パスフィルタの次数を高くすることによってカットオフ
周波数の急俊なバンドパスフィルタを構成することも考
えられるが、その場合、フィルタリング処理のための演
算量が膨大になり、DSP等によるリアルタイム処理が
不可能になってしまうという問題点を有している。
【0010】本発明の課題は、入力する音響信号が如何
なるピッチ周波数を有していてもそれを正確に検出可能
とすることにある。
【0011】
【課題を解決するための手段】本発明による音響成分抽
出装置は、まず、入力音響信号に対してそれぞれ周波数
特性の異なるフィルタリングを行うN種類のフィルタリ
ング手段を有する。これらN種類のフィルタリング手段
は、例えば、入力音響信号を入力とし、前記入力音響信
号に含まれ得るN種類の音響成分に対応する各周波数を
各中心周波数とするN種類のバンドパスフィルタリング
処理を実行し、そのN種類の処理の結果をそれぞれ出力
する。或いは、上述のN種類のフィルタリング手段は、
入力音響信号を入力とする所定特性のハイパスフィルタ
リング処理と、その結果得られる1つの出力を各入力と
し、それぞれ前記入力音響信号に含まれ得るN種類の音
響成分に対応する各周波数でピークを有するレゾナンス
が付加されたN種類のローパスフィルタリング処理と、
その結果得られるN種類の出力を各入力とし、それぞれ
エンベロープ成分を抽出するN種類の信号処理とを、時
分割で実行し、N種類の信号処理の結果をそれぞれ出力
する。そして、上述のN種類のフィルタリング手段は、
例えばディジタル信号プロセッサ(DSP)により実現
される。
【0012】次に、以下のような音響成分レベル演算手
段を有する。まず、入力音響信号に含まれ得るN種類の
音響成分のレベルをfi (1≦i≦N)とし、入力音響
信号が入力されたときのN種類のフィルタリング手段の
各出力のレベルをFt (1≦t≦N)とし、i(1≦i
≦N)番目の音響成分のみがレベル1で入力されたとき
のt(1≦t≦N)番目のフィルタリング手段の出力の
レベルをPti(1≦i≦N、1≦t≦N)とする。そし
て、音響成分レベル演算手段は、入力音響信号が入力さ
れたときのN種類のフィルタリング手段の各出力のレベ
ルFt (1≦t≦N)を入力として、請求項1の数1式
で示されるN元連立1次方程式を解いて得られる請求項
1の数2式及び数3式で表される演算を実行することに
より、入力音響信号に含まれ得るN種類の音響成分のレ
ベルfi (1≦i≦N)を演算する。
【0013】本発明では、上述の音響成分抽出装置の構
成に加えて、音響成分レベル演算手段によって演算され
るN種類の音響成分のレベルfi (1≦i≦N)に基づ
いて音階信号を発生する音階信号発生手段と、その音階
信号発生手段から発生される音階信号に対応する音階を
有する楽音を発生する楽音発生手段とを更に有する電子
楽器としても実現される。
【0014】また、本発明は、入力音響信号に含まれ得
るN種類の音響成分のレベルではなく、単なる入力信号
に含まれ得るN種類の周波数成分のレベルを抽出する周
波数成分抽出装置としても実現できる。
【0015】
【作用】本発明では、入力音響信号に含まれ得るN種類
の音響成分のうち、i(1≦i≦N)番目の音響成分の
みがレベル1で入力されたときのt(1≦t≦N)番目
のフィルタリング手段の出力のレベルPti(1≦i≦
N、1≦t≦N)は、予め観測でき、数1式で示される
右辺第1項の行列で示される。これを用いると、入力音
響信号に含まれ得るN種類の音響成分のレベルfi (1
≦i≦N)と、入力音響信号が入力されたときのN種類
のフィルタリング手段の各出力のレベルFt(1≦t≦
N)との関係は、数1式で表すことができる。
【0016】現実に観測される物理量は、入力音響信号
に対してN種類のバンドパスフィルタリング処理が実行
されることにより得られるN種類の出力Ft (1≦t≦
N)である。従って、数1式は、N個の未知数fi (1
≦i≦N)を含むN元連立1次方程式となる。これを解
くと、fi (1≦i≦N)は、数2式及び数3式で表す
ことができる。
【0017】以上のようにして、入力音響信号における
N種類の音響成分のレベルfi (1≦i≦N)を正確に
求めることができる。そして、このように抽出される音
響成分のレベルfi (1≦i≦N)のうち、例えば所定
の閾値を越えたものに対応する音階信号を音階信号発生
手段で発生することにより、その音階信号に対応する音
階を有する楽音を楽音発生手段から発生させることがで
きる。
【0018】ここで、数3式に示される行列の要素値に
おいて、値が所定の閾値より小さいものはその要素値は
0に近似され、音響成分レベル演算手段は、数2式及び
数3式で表される演算を実行する場合に、0に近似され
た要素値に関する乗算を省略して演算を実行することに
より、演算量を軽減することができる。
【0019】
【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。全体構成 図1は、本発明の実施例の全体構成を示すブロック図で
ある。この実施例は、マイク112又は音響信号のライ
ン入力端子LINE IN から入力される音響信号からその信
号に含まれる音階音成分が抽出され、それらの音階音成
分に対応する音階を有する楽音が発音される音階音検出
処理モードを有する電子楽器として実現される。
【0020】本実施例は、CPU(中央演算制御装置)
101、ROM102、RAM103、音階音検出部1
11、キーボード106、ディスプレイ105、プリン
タ104、楽音発生回路108、D/A変換器109、
アンプ110及びスピーカ111等を備えており、こら
ら各部分は、バス107により接続されている。
【0021】ROM102には、後述する動作フローチ
ャートで示される各種制御プログラムや、音色データ等
の各種データが格納されている。CPU101は、RO
M102内の制御プログラムに従って、他の各部分を制
御する。
【0022】RAM103は、後述する音階音検出部1
11をゼロクロス検出装置やディジタルフィルタ又はエ
ンベロープ抽出装置として動作させるためのデータ等を
記憶すると共に、CPU101のワークメモリとして機
能する。
【0023】音階音検出部111は、マイク112、マ
イクアンプ113、ローパスフィルタ114、A/D変
換器115、DSP116、ROM117及びワークR
AM118から構成され、また、音響信号のライン入力
端子として、LINE IN を備えている。
【0024】この音階音検出部111では、マイク11
2又はライン入力端子LINE IN から入力されるアナログ
音響信号(楽器音、人声音、或いはテープレコーダやラ
ジオ、テレビ、CDプレーヤ等からの再生音響等)が、
ローパスフィルタ114を介してA/D変換器115に
入力され、ディジタル音響信号(以後、単に音響信号と
呼ぶ)x(n) に変換されてDSP116に入力される。
【0025】DSP116は、上記音響信号x(n) に基
づいて、後述するディジタルフィルタ演算のための各種
係数を記憶したROM117、或いは各種データを記憶
するワークRAM118を用いて、後述する音階音の検
出処理を行う。
【0026】DSP116での処理結果は、CPU10
1に送られる。CPU101は、DSP116での処理
結果及び後述する楽音発生回路108に内蔵されている
各種モジュールの記憶状態に基づいて、楽音発生回路1
08に対する音階音の割り付け処理や削除処理を行う。
ここで、音階音(スケールノート)とは音階(スケー
ル)を構成する各音を指し、例えばハ長調音階には7
個、半音階には12個の音階音がある。
【0027】つぎに、キーボード106には、ファンク
ションスイッチや鍵盤等が設けられており、これらが操
作されると、CPU101が、その操作状態を検出し、
楽音発生回路108に発生されるべき楽音を割り当て
る。
【0028】ディスプレイ105又はプリンタ104
は、CPU101の制御下で動作し、検出された音階音
を表示し又は用紙に印字する。例えばCPU101は、
リアルタイムで入力中の音響信号の音階音をディスプレ
イ105に表示し、或いは、この音響信号の音階音を、
ノンリアルタイムで、編集作業等を経た上で、楽譜など
としてディスプレイ105にしたりプリンタ104で用
紙に印字したりしてもよい。
【0029】楽音発生回路108としては、例えば、P
CM方式、FM方式、iPD方式、正弦波合成方式等の
各種タイプの音源回路が適用可能である。この楽音発生
回路108は、複数(例えば4チャネル)の楽音発音チ
ャネルを有しており、CPU101によって割り付けら
れた音階音番号tの音階音を発生する。この音階音は、
オーディオシステム109を介してスピーカ110から
放音される。
【0030】ここで、音階音番号tは、その音域内のす
べての音名に付けられた番号であって、例えば入力され
る楽音の音域がC3〜C6の3オクターブの場合、最低
音から順次、C3にはt=1、C3#にはt=2、D3
にはt=3、・・・、B5にはt=36、C6にはt=
37というように、各音階音番号が付与される。DSPの構成 次に、図2は、図1のDSP116の全体構成図であ
る。
【0031】同図において、まず、インタフェース20
1は、CPU101に接続されるバス107及びA/D
変換115に接続されるバスを収容し、各バスとDSP
内部の回路とを接続する。
【0032】オペレーションROM203は、DSP1
16の全体の動作を規定するマイクロプログラムを格納
したROMであり、アドレスカウンタ202からの指定
アドレスに基づいて対応するプログラム命令が読み出さ
れる。図1のCPU101は、アドレスカウンタ202
にデータをセットすることによって、オペレーションR
OM203から如何なるプログラムを読み出して後述す
る各処理を実行するかを、アドレスカウンタ202に指
示する。
【0033】オペレーションROM203の出力は、デ
コーダ204にも与えられ、DSP116内の各回路に
各種の制御信号を出力し、所望の動作を行わせる。一
方、DSP116の内部バスには、図1のROM117
及びワークRAM118が接続される。そして、オペレ
ーションROM203からのプログラム命令に従って、
フィルタ係数や音響信号x(n) 等が、DSP116に対
して供給され、或いはワークRAM118に対して入出
力される。
【0034】レジスタ群208は、演算中のデータを一
時記憶する複数のレジスタからなり、乗算器205又は
加減算器207の各入出力端子に、内部バスを介して接
続されている。そして、加減算器207からの演算結果
(比較結果等)に基づいたジャッジ処理を実現するた
め、フラグレジスタ206を介してアドレスカウンタ2
02へ、ジャッジ結果を示すフラグ信号が送出される。
【0035】このフラグレジスタ206の出力に応じて
アドレスカウンタ202のアドレスが変更され、そのア
ドレスに応じてオペレーションROM203からプログ
ラム命令が読み出される。このようにして、ジャッジ処
理が実現される。
【0036】以上、図1及び図2の構成を有する本発明
の実施例の動作について、以下に順次説明する。音階音検出処理 まず、DSP116で実行される音階音検出処理の動作
原理について説明する。 <音階音検出処理の基本動作原理>まず、DSP116
で実行される音階音検出処理の基本動作原理を、図3と
図4を用いて説明する。
【0037】図3は、音階音検出処理の基本機能ブロッ
ク図である。図3において、入力音響信号x(n) は、各
サンプルタイミング毎に図1のA/D変換器115から
DSP116に入力されてくる1サンプル分の音響信号
である。なお、nは、離散的なサンプリング時刻を示
す。
【0038】上述の入力音響信号x(n) に対して、DS
P116における時分割処理によって、N種類のバンド
パスフィルタリング処理が実行される。今、任意の音階
音番号t(1≦t≦N)の音階音の周波数を中心周波数
とするバンドパスフィルタの伝達関数をHt(z)とする。
本実施例では、各伝達関数Ht(z)(1≦t≦N)の特性
が、複数オクターブの各音階音に依存して変更される。
【0039】図4は、伝達関数Ht(z)を有するバンドパ
スフィルタとしてチェビシェフ形フィルタが採用される
場合の周波数特性図である。この場合の伝達関数Ht(z)
は、下式で示される。
【0040】
【数7】
【0041】ここで、i=1とすると、DSP116
は、
【0042】
【数8】
【0043】で示されるディジタルフィルタリング処理
の演算を実行することになる。更に、i≧2の場合に
は、数8式と同様の演算が繰り返し実行されることにな
る。
【0044】また、伝達関数Ht(z)を有するバンドパス
フィルタのフィルタ係数は、数値計算で求めることがで
きる。具体例としては、A4音に対応する中心周波数が
440[Hz]のバンドパスフィルタを以下に示される
条件(〜は図4を参照)で構成すると、下記の如き
係数値で実現される伝達関数Ht(z)を有するディジタル
フィルタリング処理が実行されることになる。
【0045】即ち、 =1[dB] =サンプリング周波数fs =10[kHz] =12[dB]以上 =415[Hz] =430[Hz] =450[Hz] =466[Hz] の条件で、i=1、2の2段のディジタルフィルタの各
フィルタ係数は、 Ht(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. となる。
【0046】このように、各音階音t(1≦t≦N)の
伝達関数Ht(z)を有するバンドパスフィルタのディジタ
ルフィルタリング処理がDSP116において時分割的
に実行され、その結果、図3の各出力信号Yt(n)(1≦
t≦N)が求まる。
【0047】続いて、DSP116は、図3に示される
ように、上記各出力信号Yt(n)に対して、それぞれエン
ベロープ抽出処理を時分割処理によって実行する。この
エンベロープ抽出処理は、各出力信号Yt(n)に対して、
所定時間間隔(例えば各音階音に対応する時間間隔)毎
にピークレベル(絶対値)を求める処理として実現され
る。或いは、後述するような特定のディジタルフィルタ
リング処理を各出力信号Yt(n)の絶対値に対して実行す
る処理として実現される。
【0048】以上のようにして、DSP116による時
分割処理によって、各音階音t(1≦t≦N)に対応す
るエンベロープ信号Et(n)が求まる。そして、前述した
CPU101による発音処理において、後に詳述するよ
うなレベル判断処理を実行することにより、入力音響信
号x(n) から音階音情報を検出することができる。 <音階音検出処理の改良動作原理>上述の伝達関数Ht
(z)を有するバンドパスフィルタは、それがチェビシェ
フ形フィルタとして実現される場合についての原理説明
であったが、例えば前述したようなA4音に対応する中
心周波数が440[Hz]のバンドパスフィルタが構成
された場合、そのディジタルフィルタリング処理におい
て各サンプルタイミング毎に8回の乗算が必要となる。
【0049】そこで、ディジタルフィルタリング処理に
おける乗算回数を減らし、リアルタイムの音階音検出処
理を可能とする、音階音検出処理の改良された動作原理
につき、図5〜図15を用いて以下に説明する。
【0050】図5は、音階音検出処理の改良機能ブロッ
ク図である。図5においては、図3の伝達関数Ht(z)
(1≦t≦N)を有するバンドパスフィルタと等価なフ
ィルタが、伝達関数H1(z)(全音階音tで共通)を有す
る1つのハイパスフィルタと、伝達関数H2t(z) (1≦
t≦N)を有するN種類のローパスフィルタとのカスケ
ード接続によって実現される。この場合に、図3のバン
ドパスフィルタの伝達関数Ht(z)は、図5のように、ハ
イパスフィルタの伝達関数H1(z)とローパスフィルタの
伝達関数H2t(z) の積で表される。
【0051】ここで、ハイパスフィルタの伝達関数H1
(z)は、後に詳述するが、周波数0で0、周波数fs /
2[Hz]で出力が最大となる特性を有する。また、ロ
ーパスフィルタの伝達関数H2t(z) は、これも後に詳述
するが、N種類の各音階音に対応する周波数(以下、
「音階音周波数と呼ぶ」)で出力が極大となるレゾナン
スタイプの特性を有する。従って、上述の伝達関数H1
(z)を有する1つのハイパスフィルタとN種類の伝達関
数H2t(z) を有するローパスフィルタとがカスケード接
続されることにより得られるN種類のフィルタの伝達関
数Ht(z)は、図6の如く疑似的なバンドパスフィルタの
特性となっている。図6で、各中心周波数f1〜fN
各音階音周波数に対応し、また、隣接帯域間の周波数差
はΔfである。更に、Nの値は40〜50程度(本実施
例の場合、高域側の3〜4オクターブ分)にすることが
可能である。
【0052】上述のカスケード接続されたハイパスフィ
ルタとローパスフィルタに対応するフィルタリング処理
が実行される結果、N種類の伝達関数H2t(z) を有する
各ローパスフィルタリング処理の出力として得られる各
出力信号Wt(n)(1≦t≦N)が、図5のように、伝達
関数HEt(z) (1≦t≦N)で示される各エンベロープ
抽出部に入力することにより、それぞれの出力としてエ
ンベロープ信号Et(n)(1≦t≦N)が得られる。この
エンベロープ抽出部は、後に詳述するように、カットオ
フ周波数の低いローパスフィルタリング処理として実現
される。
【0053】次に伝達関数H1(z)を有するハイパスフィ
ルタリング処理、伝達関数H2t(z)を有するローパスフ
ィルタリング処理、及び伝達関数HEt(z) を有するロー
パスフィルタリング処理(エンベロープ抽出部に対応)
の各フィルタリング特性について、以下に詳細に説明す
る。
【0054】図7は、図5の伝達特性H1(z)を有するハ
イパスフィルタをハードウエアのイメージで示した構成
図である。これは、2次のFIRディジタルフィルタで
あって、その伝達関数は、
【0055】
【数9】
【0056】で示される。図7において、701、70
2のz-1はサンプリング・クロック1周期分の遅延を与
える遅延素子を表し、706、707は加算器である。
また703、704、705は乗算器であり、×2、×
1、×1/4 の各係数は、上記各乗算器における乗算係数
である。
【0057】DSP116においては、図7のハイパス
フィルタと等価なフィルタリング処理が、
【0058】
【数10】
【0059】なる離散演算処理により実現される。な
お、この場合、フィルタ係数は2の倍数であるので、係
数と信号の乗算は、単なるビットシフト処理で実現され
る。
【0060】このハイパスフィルタリング処理の周波数
特性は、
【0061】
【数11】
【0062】となり、Ω=0(0[Hz])でゲインが
最小、Ω=π(fs /2[Hz])でゲインが最大にな
る特性を有する。ここでfs は図1のA/D変換器11
5における音響信号x(n) のサンプリング周波数であ
る。図8にこのハイパスフィルタリング処理の特性を示
す。サンプリング定理により、fs /2〜fs [Hz]
までの周波数特性は、0〜fs /2[Hz]までの周波
数特性がfs /2[Hz]を境に折返った特性となって
いる。
【0063】続いて、図9は、図5の伝達関数H2t(z)
を有するローパスフィルタをハードウエアのイメージで
示した構成図である。これは、2次のIIRディジタル
フィルタであり、その伝達関数は、
【0064】
【数12】
【0065】で示される。そして、この式のθとCY
は、後述するように、各音階音tに応じて変化し、また
rがレゾナンスの強さ、つまり出力ピークの大きさを示
すパラメータである。
【0066】図9において、901、902は、サンプ
リング・クロック1周期分の遅延を与える遅延素子を表
し、903、904、905は乗算器で、それぞれに同
図に示される係数−2rcosθ、rU 、CYが乗算さ
れる。また、906及び907は加算器である。
【0067】DSP116においては、図9に示す構成
のローパスフィルタと等価なフィルタリング処理が、
【0068】
【数13】
【0069】及び、
【0070】
【数14】
【0071】なる離散演算処理により実現される。ここ
で、伝達関数の極は、“**”をべき乗演算として、zi
=re**(jθ)、z2 =re**(-jθ)に存在し、z=
0に二重の零点がある。この極と零点の配置と、0<θ
<π/2としたときの極ベクトルと零点ベクトルとの関
係を図10に示す。
【0072】同図から理解されるとおり、単位円に沿っ
て移動する点Pと零点0を結ぶ線分が実軸となす角度を
Ωとすると、Ω=0〜πにおいて、極ベクトルZ1 と零
点ベクトルV1 との差であるベクトルV2 の長さは、初
めは減少し、その後に増加する。ベクトルV2 の最小の
長さは、P点が極Z1 に最接近したとき、すなわち、θ
=Ωのときである。
【0073】ここで、このローパスフィルタリング処理
の周波数Ωにおける周波数応答の大きさ(振幅特性)
は、零点ベクトルV1 とベクトルV2 のそれぞれの長さ
の比で定まる。そして、この零点ベクトルV1 の値は常
に1であるから、周波数応答の大きさは、ベクトルV2
の大きさの逆数に比例し、上述のようにθ=Ωで最大と
なる。また周波数応答の大きさのピークは、rの値によ
り定まり、rの値が1に近づくほど大きくなる。図11
は、Ω=−π〜πにおけるこの周波数応答の大きさを表
している。
【0074】一方、周波数応答の位相は、実軸と零点ベ
クトルV1 とのなす角Ωから、実軸とベクトルV2 との
なす角を引いた値になる。以上の説明から明らかなよう
に、各音階音t(1≦t≦N)の中心周波数ftとサン
プリング周波数fs を用いて、θ=2πfs /ft で求
まるθの値を決めれば、図12に示されるように、各帯
域の中心周波数ft でピークを有するローパスフィルタ
リング処理が実現される。
【0075】この場合、ピークの大きさは、前述のよう
にrの値により変化するが、このrの値を選択してピー
クが隣の帯域に影響するのを防ぎ、また前述のCYの値
を選択して各帯域の出力Wt(n)のレベルがほぼ等しくな
るように設定することができる。
【0076】上述のrとCYの値は、例えば次のように
して求めることができる。今、各音階音tの中心周波数
ft と、それからΔf離れた隣の音階音t+1の中心周
波数ft+1 (=ft +Δf)との周波数応答の大きさの
比をmとすると、
【0077】
【数15】
【0078】というrについての4次方程式を解き、そ
の結果、得られたrのうち、0<r<1であるrを選
び、各係数−2rcosθ、rを求めることができる。
数値計算の結果、例えばA4音に対応する中心周波数が
440[Hz]であり、サンプリング周波数fs =5
[kHz]、m=4とすると、 −2rcosθ=-1.9773 r2 = 0.9851 CY= 36.7 となる。その他の帯域についても同じようにして求める
ことができる。
【0079】以上のような伝達関数H1(z)を有するハイ
パスフィルタリング処理と伝達関数H2t(z) を有するロ
ーパスフィルタリング処理が、図5に示されるようにカ
スケードに処理されることによって、各伝達関数の積と
して表される全体の伝達関数Ht(z)として、図6で前述
した疑似的なバンドパスフィルタリング処理の特性が実
現される。
【0080】つぎに、図13は、図5の伝達特性HEt
(z) を有するローパスフィルタ(エンベロープ抽出部)
をハードウエアのイメージで示した構成図である。これ
は、前述した伝達関数H2t(z) を有するローパスフィル
タと同じ形の2次のIIRディジタルフィルタで、その
伝達関数は、
【0081】
【数16】
【0082】である。この式は数12式で前述したロー
パスフィルタの伝達関数H2t(z) において、r=0.
9、θ=0としたものに等しい。図13において、絶対
値回路1301は、図5の伝達関数H2t(z) を有するロ
ーパスフィルタの出力Wt(n)の絶対値|Wt(n)|を出力
して、次のディジタルフィルタ部に送る。1302、1
303はサンプリング・クロック1周期分の遅延を与え
る遅延素子、1304、1305及び1306は乗算器
で、各乗算器には同図に示される各係数が乗算される。
また、1307及び1308は加算器である。
【0083】DSP116では、図13に示される構成
のローパスフィルタと等価なフィルタリング処理が、
【0084】
【数17】
【0085】なる離散演算処理により実現される。この
ローパスフィルタリング処理の周波数特性は、図14に
示されるように、最大値を示すレゾナンスをΩ=0に有
する。このローパスフィルタリング処理のカットオフ周
波数は、エンベロープ抽出という目的から、先に説明し
た伝達関数H2t(z) を有するローパスフィルタリング処
理の最低帯域(t=1)のカットオフ周波数より、はる
かに低い周波数に設定される。
【0086】ここで、係数CEは、各音階音t毎のそれ
ぞれの出力レベルを合わせるためのものである。図15
は、図13のローパスフィルタで得られたエンベロープ
信号Et(n)を、伝達関数H2t(z) を有するローパスフィ
ルタの出力の絶対値|Wt(n)|と対比させて模式的に示
した図である。図13の絶対値回路1301に相当する
演算によって、入力信号の負の波高値(図15の破線)
が正の波高値に変換された上で、ローパスフィルタリン
グ処理が行われる。これにより、各音階音tに対応する
エンベロープを求める動作が実現される。 <音階音検出処理における音階音成分の振幅エンベロー
プ値の演算原理>上述したように、入力音響信号x(n)
に対して伝達関数H1(z)を有する1種類のハイパスフィ
ルタリング処理が実行され、そのフィルタ出力に対して
伝達関数H2t(z) (1≦t≦N)を有するN種類のロー
パスフィルタリング処理が実行されることによって、N
種類の音階音成分のうちから入力音響信号x(n) に含ま
れる1つ又は複数の音階音成分を抽出するための、N種
類のバンドパスフィルタリング処理(図6参照)が実現
される。
【0087】今、入力音響信号x(n) におけるN種類の
音階音成分のレベルをXi(n)(1≦i≦N)とすれば、
t番目の音階音を抽出するためのt番目(1≦t≦N)
のバンドパスフィルタリング処理の出力Wt(n)は、上述
のN種類の音階音成分のレベルXi(n)(1≦i≦N)の
影響を受けており、次式で表すことができる。
【0088】
【数18】
【0089】ここで、Atiは、i番目の音階音成分が振
幅1で入力されたときの、t番目の音階音を抽出するた
めのt番目のバンドパスフィルタリング処理の出力レベ
ルであり、例えば実験的に図16のマトリックス表で表
される各値を有する。
【0090】この表は、N=12(1オクターブ分の音
階音の数に相当する)である場合の例である。そして、
この表では、近似的に、1つの音階音に対応するバンド
パスフィルタリング処理の出力には、その音階音の隣り
の音階音の入力レベルの30%が混入され、その音階音
から2音階離れている音階音の入力レベルの20%が混
入され、その音階音から3音階以上離れている音階音の
入力レベルの10%が混入されることが示されている。
【0091】現実に観測される物理量は、入力音響信号
x(n) に対してN種類のバンドパスフィルタリング処理
が実行されることにより得られるN種類の出力Wt(n)
(1≦t≦N)である。従って、数12式は、N個の未
知数Xi(n)(1≦i≦N)を含むN元連立1次方程式と
なる。これを解くと、Xi(n)(1≦i≦N)は、次式で
表すことができる。
【0092】
【数19】
【0093】但し、Citは、次式で表される。
【0094】
【数20】
【0095】上式で、行列記号“[ ]-1”は、それを
含む行列が逆行列であることを示す。前述した図16の
Atiから数20式によって求まるCitの各値を図17の
マトリックス表に示す。
【0096】以上のようにして、入力音響信号x(n) に
おけるN種類の音階音成分のレベルXi(n)(1≦i≦
N)を求めることができる。ここで、音階を特定するた
めには、音階音成分Xi(n)の平均振幅のレベルを抽出す
るのが都合が良いが、この平均振幅のレベルには音階音
成分Xi(n)の振幅エンベロープ値が良く対応する。今、
入力音響信号x(n) におけるN種類の音階音成分Xi(n)
(1≦i≦N)の振幅エンベロープ値をEXi(n)(1≦
i≦N)とすれば、この振幅エンベロープ値EXi(n)に
対応するものは、前述したように、N種類の出力Wt(n)
(1≦t≦N)に対して実行される伝達関数HEt(z)
(1≦t≦N)で示されるN種類のローパスフィルタリ
ング処理(図3又は図5のエンベロープ抽出部に対応)
の結果得られるN種類のエンベロープ信号Et(n)(1≦
t≦N)である。
【0097】そして、前述したXi(n)とWt(n)とに関す
る数19式の関係は、そのままそれらのエンベロープで
あるEXi(n)とEt(n)に対してもあてはまり、次式が成
り立つ。
【0098】
【数21】
【0099】但し、Citは、前述した数20式で表され
る。以上の数21式によって、現実に観測される物理量
であるN種類のエンベロープ信号Et(n)(1≦t≦N)
に基づき、入力音響信号x(n) におけるN種類の音階音
成分の振幅エンベロープ値EXi(n)(1≦i≦N)を求
めることができる。そして、これらのN種類の音階音成
分の振幅エンベロープ値EXi(n)(1≦i≦N)におい
て、レベル値が大きい上位M個の振幅エンベロープ値に
対応する音階を選択することにより、入力された音響信
号に含まれるM個の音階音の音階を抽出することができ
る。 <音階音検出処理の具体的動作の第1の実施例>上述の
音階音検出処理の改良原理及び音階音検出処理における
音階音成分の振幅エンベロープ値の演算原理に従い、入
力される音響信号の音高(ピッチ)に対応する音階音成
分の振幅エンベロープ値を求める具体的動作の第1の実
施例を、図18の動作フローチャートを用いて説明す
る。この動作フローチャートは、DSP116が、オペ
レーションROM203内に記憶されているマイクロプ
ログラムを実行する動作として実現される。
【0100】図18の動作フローチャートに関連して、
ワークRAM118には、図1のA/D変換器115か
ら入力される現在、1サンプル前及び2サンプル前の各
音響信号を保持する各変数x(n) 、x(n-1) 及びx(n-
2) 、図5の伝達関数H1(z)を有するハイパスフィルタ
部の現在、1サンプル前及び2サンプル前の各出力を保
持する各変数s(n) 、s(n-1) 及びs(n-2) 、図5の伝
達関数H2t(z) を有する各音階音tに対応するローパス
フィルタ部の現在、1サンプル前及び2サンプル前の各
出力を保持する各変数Wt(n)、Wt(n-1)及びWt(n-2)
(1≦t≦N)、図5の伝達関数HEt(z) を有する各音
階音tに対応するエンベロープ抽出部の現在、1サンプ
ル前及び2サンプル前の各出力を保持する各変数Et
(n)、Et(n-1)及びEt(n-2)(1≦t≦N)、並びに各
音階音成分の振幅エンベロープ値を保持する変数EXi
(n)(1≦i≦N)がそれぞれ格納される。
【0101】まず、ユーザがキーボード106上のファ
ンクションスイッチにより音階音検出処理モードを指定
すると、図18の動作フローチャートがスタートし、図
2のワークRAM118、レジスタ群208などの全て
の内容が初期化される(ステップS1801)。
【0102】次に、図1のA/D変換器115において
1サンプル分のA/D変換処理が終了するのが待たれ
(ステップS1802)、A/D変換処理が終了する
と、ディジタルデータに変換された1サンプル分の音響
信号が、ワークRAM118に取り込まれる。
【0103】このように、音響信号の各サンプルx(n)
が得られる毎に、ステップS1803以降の処理とし
て、図5の各音階音共通のハイパスフィルタ部及び各音
階音毎のローパスフィルタ部とエンベロープ抽出部に相
当する処理が時分割処理で実行され、サンプリング周期
毎に各音階音に対応するエンベロープ信号Et(n)が得ら
れ、更に、それらの各音階音に対応するエンベロープ信
号Et(n)に基づいて各音階音成分の振幅エンベロープ値
EXi(n)が演算され、それらがCPU101に転送され
る。
【0104】即ち、まず、A/D変換器115から入力
されてくる1サンプル分の音響信号が、図2のワークR
AM118内の変数x(n) に格納される(ステップS1
803)。
【0105】次に、ワークRAM118内の各変数x
(n) 、x(n-1) 及びx(n-2) から図2のレジスタ群20
8内の各レジスタに、現在のサンプルと過去2サンプル
分の音響信号が読み出され、図5の伝達関数H1(z)で示
されるハイパスフィルタリング処理が実行される(ステ
ップS1804)。この処理は、前述の数10式で表さ
れる演算処理であり、図2の乗算器205及び加減算器
207を使って実行される。このとき数10式の演算に
用いられる各フィルタ係数は、ROM117から読み出
される。この結果得られた出力は、ワークRAM118
内の変数s(n) に格納される。
【0106】以上のハイパスフィルタリング処理は、各
帯域で共通な処理であるため、1回のみ実行される。次
に、図5の伝達関数H2t(z) を有する各音階音tに対応
するローパスフィルタリング処理と、伝達関数HEt(z)
を有する各音階音tに対応するエンベロープ抽出処理が
続けて実行される。
【0107】これらの処理は、各音階音tに対応して、
N音階音分の時分割処理として繰り返される。そのため
に、図2のレジスタ群208内に、N音階音分の時分割
処理を行うための繰り返し制御用のレジスタtが設けら
れ、ステップS1805でレジスタtの値が1に初期設
定される。
【0108】そして、ステップS1806とS1807
で1音階音分のローパスフィルタリング処理とエンベロ
ープ抽出処理が終了する毎に、ステップS1808でレ
ジスタtの内容がNに達したか否かが判別され、達して
いなければ、ステップS1809においてレジスタtの
内容がインクリメントされ、ステップS1806とS1
807の処理が繰り返される。
【0109】このジャッジ処理は、図2の加減算器20
7とフラグレジスタ206によって実行され、アドレス
カウンタ202によって、ステップS1806およびS
1807に対応するプログラム命令群がオペレーション
ROM203から繰り返し読み出される。
【0110】まず、ROM117から、レジスタtで示
される番号に対応する音階音のフィルタ係数CY、2r
cosθ及びr2 が読み出される。そして、ワークRA
M118の各変数s(n) 、s(n-1) 及びs(n-2) から図
2のレジスタ群208内の各レジスタに、現在のサンプ
ルと過去2サンプル分のステップS1805におけるハ
イパスフィルタリング処理の出力信号が読み出され、こ
れらの信号に対して上述のフィルタ係数を用いて図5の
伝達関数H2t(z) で示されるローパスフィルタ処理が実
行される(ステップS1806)。この処理は、前述の
数13式で表される演算処理であって、図2の乗算器2
05および加減算器207を使って実行される。この結
果得られた出力は、ワークRAM118内の変数Wt(n)
に格納される。なお、この変数の添え字tは、現在のレ
ジスタtの値に対応している。
【0111】続いて、ROM117から、レジスタtで
示される番号に対応する音階音のフィルタ係数CE、
「1.8 」及び「0.81」が読み出される。そして、上述の
ローパスフィルタリング処理の出力である変数Wt(n)の
内容と、ワークRAM118からレジスタ群208内の
レジスタに読み出された過去2サンプルのローパスフィ
ルタリング処理の出力Wt(n-1)及びWt(n-2)に対し、上
述のフィルタ係数を用いて図5の伝達関数HEt(z) で示
されるエンベロープ抽出処理(ローパスフィルタ処理)
が実行される(ステップS1807)。この処理は、前
述の数17式で表される演算処理であり、図2の乗算器
205および加減算器207を使って実行される。この
結果得られた出力は、ワークRAM118内の変数Et
(n)に格納される。なお、この変数の添え字tは、現在
のレジスタtの値に対応している。
【0112】以上、ステップS1806〜S1809の
処理の繰り返しによって、図5のN音階音分のローパス
フィルタ部とエンベロープ抽出部に相当する処理が行わ
れ、この結果、サンプリング周期毎に各音階音に対応す
るエンベロープ信号Et(n)が得られる。
【0113】次に、ステップS1810〜S1813の
処理として、上述のN種類のエンベロープ信号Et(n)
(1≦t≦N)に基づき、入力音響信号x(n) における
N種類の音階音成分の振幅エンベロープ値EXi(n)(1
≦i≦N)を求めるための演算が実行される。
【0114】まず、図2のレジスタ群208内に、N音
階音分の時分割処理を行うための繰り返し制御用のレジ
スタiが設けられ、ステップS1810でレジスタiの
値が1に初期設定される。
【0115】そして、ステップS1811で1音階音分
の演算処理が終了する毎に、ステップS1812におい
てレジスタiの内容がインクリメントされ、次のステッ
プS1813でレジスタiの値がNを越えたか否かが判
別され、越えていなければ、ステップS1811の処理
が繰り返される。
【0116】このジャッジ処理は、図2の加減算器20
7とフラグレジスタ206によって実行され、アドレス
カウンタ202によって、ステップS1811に対応す
るプログラム命令群がオペレーションROM203から
繰り返し読み出される。
【0117】ステップS1811では、まず、ROM1
17から図2のレジスタ群208内のレジスタに、レジ
スタiで示される番号に対応するN個の係数Cit(1≦
t≦N)が読み出される。これらの係数の各値は、例え
ば図17のマトリクス表の例(N=12の場合)では、
i行目の12個それぞれの値となる。また、ワークRA
M118からレジスタ群208内の他のレジスタに、エ
ンベロープ信号Et(n)(1≦t≦N)が読みだされる。
そして、これらのレジスタの内容を使用して、前述の数
21が演算される。この演算処理は、図2の乗算器20
5および加減算器207を使って実行される。この結果
得られた出力は、ワークRAM118内の変数EXi(n)
に格納される。なお、この変数の添え字iは、現在のレ
ジスタiの値に対応している。
【0118】以上、ステップS1811〜S1813の
処理の繰り返しによって、入力音響信号x(n) における
N種類の音階音成分の振幅エンベロープ値EXi(n)(1
≦i≦N)を求めることができる。
【0119】上述の音階音検出処理によりワークRAM
118に得られた各音階音成分の振幅エンベロープ値E
Xi(n)(1≦i≦N)は、音階音検出信号とともにCP
U101に転送される(ステップS1814)。
【0120】そして、ユーザが図1のキーボード106
上のファンクションスイッチを操作して音階音検出処理
モードを終了していなければ、ステップS1815の判
別がNOとなって、上述したステップS1803〜S1
814の処理が、A/D変換器115において1サンプ
ル分のA/D変換処理が終了し、ステップS1802の
判別がYESとなる毎に実行される。 <音階音検出処理の具体的動作の第2の実施例>上述し
た音階音検出処理の具体的動作の第1の実施例におい
て、図18のステップS1811における数21式の演
算では、1種類の音階音成分の振幅エンベロープ値EX
i(n)を求めるためには、係数Citとエンベロープ信号E
t(n)との間で、N回の乗算とN−1回の加算が必要とな
り、従って、N種類のEXi(n)(1≦i≦N)を求める
ためには、N2 回の乗算と(N−1)・N回の加算が必
要となる。例えば、N=12である場合、144回の乗
算と132回の加算が必要となる。
【0121】以下に説明する音階音検出処理の具体的動
作の第2の実施例においては、上述の振幅エンベロープ
値EXi(n)(1≦i≦N)を求めるための演算回数を減
らすことができる。
【0122】今、図16に例示されるように、前述した
数18式における係数Atiの値は、t=iの場合に1、
t=i±1の場合に約0.3、t=i±2の場合に約
0.2となり、|t−i|の値が大きくなるほど係数A
tiの値は小さくなる。
【0123】そして、図17に例示されるように、この
係数Atiに対応して前述した数20式により求まる係数
Citの値は、t>i+2又はt<i−2を満たす範囲で
は、i−2≦t≦i+2を満たす範囲における係数Cit
の値に比較して小さい値である。そこで、t>i+2又
はt<i−2を満たす範囲における係数Citの値を0と
近似すれば、図17に対応する係数Citの値のマトリク
ス表は図19に示される如くとなる。
【0124】よって、前述した数21式は、次式で置き
換えることができる。
【0125】
【数22】
【0126】この数22式によれば、1種類の音階音成
分の振幅エンベロープ値EXi(n)を求めるためには、係
数Citとエンベロープ信号Et(n)との間で5回の乗算と
4回の加算を行えばよく、従って、N=12種類のEX
i(n)(1≦i≦12)を求めるためには、5×12=6
0回の乗算と4×12=48回の加算を行えばよいこと
になる。従って、N=12の場合には、数22式の演算
量は、数21式の演算量に比較して、乗算の場合に42
%、加算の場合に約37%となる。
【0127】音階音成分の振幅エンベロープ値を求める
具体的動作の第2の実施例における動作フローチャート
を図20に示す。図20の動作フローチャートが前述し
た第1の実施例における図18の動作フローチャートと
異なる点は、数21式に基づいて演算を行うステップS
1811が数22式に基づいて演算を行うステップS2
001に置き換った点である。
【0128】この第2の実施例により、図1のDSP1
16において、入力音響信号x(n)の各サンプル時刻n
毎における演算に必要な負荷を減少させることができ
る。CPU1の検出音階音発生指示処理 上述したように、DSP116からは、サンプリング時
刻n毎に、入力音響信号x(n) に含まれ得るN種類の音
階音成分の振幅エンベロープ値EXi(n)(1≦i≦
N)、即ち、各音階音成分に対応する周波数スペクトル
のレベルが転送されてくるため、CPU101は、それ
らを種々の目的に使用できる。
【0129】以下に、ひとつの実施例として、検出され
た音階音成分の振幅エンベロープ値EXi(n)に基づい
て、それらのうち有効な音階音成分に対応する音階を有
する楽音の発音指示を楽音発生回路108に対してリア
ルタイムで行う機能について説明する。この機能は、ユ
ーザがキーボード106上のファンクションスイッチに
より音階音検出処理モードを指定した場合に有効とな
る。
【0130】図21は、音階音検出処理モードにおける
CPU101の全体的な動作を示すフローチャートであ
る。この動作フローチャートは、ユーザがキーボード1
06上のファンクションスイッチにより音階音検出処理
モードを指定した場合に、CPU101が実行中の特に
は図示しないメインプログラムから呼び出されるサブル
ーチンプログラムの動作として実現される。なお、CP
U101が実行する各プログラムはROM102に記憶
されている。
【0131】まず、DSP116から図18又は図20
のステップS1814での転送処理に基づくN種類の音
階音成分の振幅エンベロープ値EXi(n)(1≦i≦N)
が転送されてくるのが待たれる(ステップS2101→
S2102→S2101のループ)。なお、このタイミ
ングループの実行中に、ユーザがキーボード106上の
ファンクションスイッチにより音階音検出処理モードを
他のモードに切り替えると、ステップS2102の判別
がYESとなって、図21の動作フローチャートに対応
するサブルーチンプログラムを終了し、特には図示しな
いメインプログラムにリターンする。
【0132】DSP116からデータを転送した旨の通
知を受信すると、ステップS2101の判別がYESと
なって、次のステップS2103が実行される。ここで
は、DSP116から上述の通知に続いて転送されてく
るN種類の音階音成分の振幅エンベロープ値EXi(n)
(1≦i≦N)が、RAM103に格納される。
【0133】次に、ステップS2104〜S2111の
処理として、RAM103に格納されたN種類の音階音
成分の振幅エンベロープ値EXi(n)(1≦i≦N)に基
づいて、楽音発生回路108に対して楽音の発音指示を
すべきか否かの判別処理とその判別結果に基づく発音指
示の処理がなされる。
【0134】そのために、CPU101内に、N音階音
分の処理を行うための繰り返し制御用のレジスタiが設
けられ、ステップS2104でレジスタiの値が1に初
期設定される。そして、ステップS2105〜S210
9の処理が終了する毎に、ステップS2110において
レジスタiの内容がインクリメントされ、続くステップ
S2111でレジスタiの内容がNを越えたか否かが判
別され、越えていなければ、ステップS2105〜S2
109の処理が繰り返される。
【0135】レジスタiの値により指示される各音階音
成分の振幅エンベロープ値EXi(n)に対するステップS
2105〜S2109の処理の詳細は、以下に説明する
とおりである。
【0136】まず、振幅エンベロープ値EXi(n)が所定
の閾値を越えているか否かが判別される(ステップS2
105)。この所定の閾値は、振幅エンベロープ値EX
i(n)のレベルが雑音レベルであるか否かを判別できる程
度の小さいな値でよい。従って、この閾値の設定如何で
音階音の発音指示を誤ることはほとんどない。
【0137】次に、振幅エンベロープ値EXi(n)に対応
する音階の楽音が、楽音発生回路108において現在発
音中か否かが判別される(ステップS2106)。な
お、N種類の音階音成分の振幅エンベロープ値EXi(n)
(1≦i≦N)に対応する各音階は予めROM102等
にプリセットされており、CPU101は、現在処理中
の振幅エンベロープ値EXi(n)に対応するレジスタiの
値でROM102をアクセスすることにより、その音階
を検出する。
【0138】ステップS2106の判別がYESなら
ば、その音階音は既に発音中であり再発音する必要がな
いため、その振幅エンベロープ値EXi(n)に対する処理
は行わずステップS2110へジャンプする。
【0139】ステップS2106の判別がNOならば、
空いている発音チャネルがあるか否かが判別される(ス
テップS2107)。空いている発音チャネルがあれ
ば、その発音チャネルを使用して、現在処理中の振幅エ
ンベロープ値EXi(n)に対応する音階の発音指示が楽音
発生回路108に対してなされる(ステップS210
9)。
【0140】空いている発音チャネルがなければ、楽音
発生回路108に対して現在発音中の音階音のうち1つ
についての消音指示がなされ(ステップS2108)、
その結果空いた発音チャネルを使用して、現在処理中の
振幅エンベロープ値EXi(n)に対応する音階の発音指示
が楽音発生回路108に対してなされる(ステップS2
109)。ステップS2108において、消音指示がな
されるべき音階音は、例えば現在発音中の音階音のうち
振幅エンベロープが最も小さいもの、或いは、最も古く
発音が開始された音階音である。
【0141】以上のステップS2105〜S2109の
処理が、ステップS2110においてレジスタiの内容
がインクリメントされながらN種類の音階音成分の振幅
エンベロープ値EXi(n)(1≦i≦N)の全てに対して
実行されると、ステップS2111の判定がYESとな
って、ステップS2101に戻る。
【0142】このようにしてCPU101は、サンプリ
ング時刻n毎に図1の音階音検出部111に入力される
入力音響信号x(n) に対応してDSP116から転送さ
れてくるN種類の音階音成分の振幅エンベロープ値EX
i(n)(1≦i≦N)に基づいて、楽音発生回路108に
対する発音指示をリアルタイムに行える。
【0143】
【発明の効果】本発明によれば、N種類のフィルタリン
グ手段の各出力のレベルFt (1≦t≦N)に基づいて
入力音響信号に含まれ得るN種類の音響成分のレベルf
i (1≦i≦N)を抽出する場合に、各フィルタリング
手段の出力が複数の音響成分の影響を受けても、各音響
成分のレベルfi (1≦i≦N)を正確に抽出すること
が可能となる。
【0144】また、このレベル値を用いることにより、
例えば人が歌う歌声やマイクロフォンから採取した楽音
などの繰り返し波形からなる音声信号から複数のピッチ
成分のレベルを抽出し、それらのピッチに正確に対応す
る楽音を発生させることのできる電子楽器を実現するこ
とが可能となる。
【0145】ここで、数3式に示される行列の要素値に
おいて、値が所定の閾値より小さいものはその要素値は
0に近似され、音響成分レベル演算手段は、数2式及び
数3式で表される演算を実行する場合に、0に近似され
た要素値に関する乗算を省略して演算を実行することに
より、演算量を軽減することができる。
【0146】なお、本発明は、入力音響信号に含まれ得
るN種類の音響成分のレベルではなく、単なる入力信号
に含まれ得るN種類の周波数成分のレベルを抽出する周
波数成分抽出装置としても実現することが可能である。
【図面の簡単な説明】
【図1】本発明の実施例の全体構成図である。
【図2】DSPの全体構成図である。
【図3】音階音検出処理の基本機能ブロック図である。
【図4】バンドパスフィルタHt(Z)の特性図である。
【図5】音階音検出処理の改良機能ブロックである。
【図6】バンドパスフィルタH1(z)・H2t(Z) の特性図
である。
【図7】ハイパスフィルタH1(Z)の構成図である。
【図8】ハイパスフィルタH1(Z)の特性図である。
【図9】ローパスフィルタH2t(Z) の構成図である。
【図10】ローパスフィルタH2t(Z) の極と零点および
極ベクトルと零ベクトルの関係図である。
【図11】ローパスフィルタH2t(Z) の振幅特性図であ
る。
【図12】ローパスフィルタH2t(Z) の特性図である。
【図13】ローパスフィルタHEt(Z) の構成図である。
【図14 】バンドパスフィルタHEt(Z) の特性図であ
る。
【図15】|Wt(n)|とEt(n)の関係図である。
【図16】係数Atiの値の例を表すマトリクス表を示し
た図である。
【図17】係数Citの値の例を表すマトリクス表を示し
た図である。
【図18】音階音検出処理の第1の実施例の動作フロー
チャートである。
【図19】近似された係数Citの値の例を表すマトリク
ス表を示した図である。
【図20】音階音検出処理の第2の実施例の動作フロー
チャートである。
【図21】CPUによる検出音階音発生指示処理の動作
フローチャートである。
【図22】音階音検出用バンドパスフィルタの周波数特
性の例を示した図である。
【符号の説明】
101 CPU 102 ROM 103 RAM 104 プリンタ 105 ディスプレイ 106 キーボード 107 バス 108 楽音発生回路 109 オーディオシステム 110 スピーカ 111 音階音検出部 112 マイク 113 マイクアンプ 114 ローパスフィルタ 115 A/D変換器 116 DSP 117 ROM 201 インタフェース 202 アドレスカウンタ 203 オペレーションROM 204 デコーダ 205 乗算器 206 フラグレジスタ 207 加減算器 208 レジスタ群
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI H03H 17/02 613 G10L 7/04 B // G10L 101:023 (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 G01R 23/16 - 23/167 H03H 17/00 - 17/08

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力音響信号に対してそれぞれ周波数特
    性の異なるフィルタリングを行うN種類のフィルタリン
    グ手段と、 前記入力音響信号に含まれ得るN種類の音響成分のレベ
    ルをfi (1≦i≦N)とし、前記入力音響信号が入力
    されたときの前記N種類のフィルタリング手段の各出力
    のレベルをFt (1≦t≦N)とし、i(1≦i≦N)
    番目の前記音響成分のみがレベル1で入力されたときの
    t(1≦t≦N)番目の前記フィルタリング手段の出力
    のレベルをPti(1≦i≦N、1≦t≦N)として、 【数1】 で示されるN元連立1次方程式を解いて得られる、 【数2】 及び 【数3】 で表される演算を実行する手段であって、前記入力音響
    信号が入力されたときの前記N種類のフィルタリング手
    段の各出力のレベルFt (1≦t≦N)を入力として前
    記数2式及び前記数3式で表される演算を実行すること
    により、前記入力音響信号に含まれ得る前記N種類の音
    響成分のレベルfi (1≦i≦N)を演算する音響成分
    レベル演算手段と、 を有することを特徴とする音響成分抽出装置。
  2. 【請求項2】 前記数3式に示される行列の要素値にお
    いて、値が所定の閾値より小さいものはその要素値は0
    に近似され、 前記音響成分レベル演算手段は、前記数2式及び前記数
    3式で表される演算を実行する場合に、前記0に近似さ
    れた要素値に関する乗算を省略して前記演算を実行す
    る、 ことを特徴とする請求項1に記載の音響成分抽出装置。
  3. 【請求項3】 前記音響成分レベル演算手段によって演
    算される前記N種類の音響成分のレベルfi (1≦i≦
    N)に基づいて音階信号を発生する音階信号発生手段
    と、 該音階信号発生手段から発生される音階信号に対応する
    音階を有する楽音を発生する楽音発生手段と、 を更に有することを特徴とする請求項1又は2の何れか
    1項に記載の音響成分抽出装置を用いた電子楽器。
  4. 【請求項4】 前記N種類のフィルタリング手段は、 前記入力音響信号を入力とし、前記入力音響信号に含ま
    れ得るN種類の音響成分に対応する各周波数を各中心周
    波数とするN種類のバンドパスフィルタリング処理を実
    行し、 該N種類の処理の結果をそれぞれ出力する、 ことを特徴とする請求項1乃至3の何れか1項に記載の
    音響成分抽出装置又はそれを用いた電子楽器。
  5. 【請求項5】 前記N種類のフィルタリング手段は、 前記入力音響信号を入力とする所定特性のハイパスフィ
    ルタリング処理と、 その結果得られる1つの出力を各入力とし、それぞれ前
    記入力音響信号に含まれ得るN種類の音響成分に対応す
    る各周波数でピークを有するレゾナンスが付加されたN
    種類のローパスフィルタリング処理と、 その結果得られるN種類の出力を各入力とし、それぞれ
    エンベロープ成分を抽出するN種類の信号処理と、 を時分割で実行し、 前記N種類の信号処理の結果をそれぞれ出力する、 ことを特徴とする請求項1乃至3の何れか1項に記載の
    音響成分抽出装置又はそれを用いた電子楽器。
  6. 【請求項6】 入力信号に対してそれぞれ周波数特性の
    異なるフィルタリングを行うN種類のフィルタリング手
    段と、 前記入力信号に含まれ得るN種類の周波数成分のレベル
    をfi (1≦i≦N)とし、前記入力信号が入力された
    ときの前記N種類のフィルタリング手段の各出力のレベ
    ルをFt (1≦t≦N)とし、i(1≦i≦N)番目の
    前記周波数成分のみがレベル1で入力されたときのt
    (1≦t≦N)番目の前記フィルタリング手段の出力の
    レベルをPti(1≦i≦N、1≦t≦N)として、 【数4】 で示されるN元連立1次方程式を解いて得られる、 【数5】 及び 【数6】 で表される演算を実行する手段であって、前記入力信号
    が入力されたときの前記N種類のフィルタリング手段の
    各出力のレベルFt (1≦t≦N)を入力として前記数
    5式及び前記数6式で表される演算を実行することによ
    り、前記入力信号に含まれ得る前記N種類の周波数成分
    のレベルfi (1≦i≦N)を演算する周波数成分レベ
    ル演算手段と、 を有することを特徴とする周波数成分抽出装置。
JP22990792A 1992-08-28 1992-08-28 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置 Expired - Fee Related JP3149097B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22990792A JP3149097B2 (ja) 1992-08-28 1992-08-28 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22990792A JP3149097B2 (ja) 1992-08-28 1992-08-28 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置

Publications (2)

Publication Number Publication Date
JPH0675563A JPH0675563A (ja) 1994-03-18
JP3149097B2 true JP3149097B2 (ja) 2001-03-26

Family

ID=16899605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22990792A Expired - Fee Related JP3149097B2 (ja) 1992-08-28 1992-08-28 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置

Country Status (1)

Country Link
JP (1) JP3149097B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1605439B1 (en) * 2004-06-04 2007-06-27 Honda Research Institute Europe GmbH Unified treatment of resolved and unresolved harmonics
JP4464373B2 (ja) 2006-07-12 2010-05-19 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー Mri装置

Also Published As

Publication number Publication date
JPH0675563A (ja) 1994-03-18

Similar Documents

Publication Publication Date Title
JP2775651B2 (ja) 音階検出装置及びそれを用いた電子楽器
US5157215A (en) Electronic musical instrument for modulating musical tone signal with voice
US5270954A (en) Filter device and electronic musical instrument using the filter device
JP3149097B2 (ja) 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置
JPH0561464A (ja) 楽音信号発生装置
JP3156299B2 (ja) 和音データ生成装置、伴奏音データ生成装置、および楽音発生装置
JP3321921B2 (ja) 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置
JPH0535277A (ja) 電子楽器
JPH06214571A (ja) ディストーション回路
JPH0535296A (ja) ピツチ抽出装置及びそれを用いた電子楽器
JP3127406B2 (ja) テンポ検出装置
JP3168708B2 (ja) 音階検出装置
JP3185266B2 (ja) 楽音発生装置
JP3216185B2 (ja) 効果付加装置
JPH052390A (ja) 楽音変調装置および楽音変調装置を用いた電子楽器
JP3166197B2 (ja) 音声変調装置および音声変調装置を内蔵した電子楽器
JPH04318597A (ja) 和音判別装置及びそれを用いた自動伴奏装置
JP5092902B2 (ja) Firフィルタ係数算出装置、firフィルタ装置、および、firフィルタ係数算出プログラム
JP3258318B2 (ja) 音声制御電子楽器
JPH08184488A (ja) 音響特性測定装置
JPH05346787A (ja) 音声制御楽音発生装置
JP4432951B2 (ja) 楽音発生装置および電子楽器
JP3217739B2 (ja) デジタルフィルタ装置及びデジタルフィルタ方法
JP3120468B2 (ja) 音階検出装置及びそれを用いた楽音発生装置
JP3118863B2 (ja) 音階検出装置を用いた楽音発生装置

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001212

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

Free format text: PAYMENT UNTIL: 20090119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees