JPH04336599A - テンポ検出装置 - Google Patents

テンポ検出装置

Info

Publication number
JPH04336599A
JPH04336599A JP3137288A JP13728891A JPH04336599A JP H04336599 A JPH04336599 A JP H04336599A JP 3137288 A JP3137288 A JP 3137288A JP 13728891 A JP13728891 A JP 13728891A JP H04336599 A JPH04336599 A JP H04336599A
Authority
JP
Japan
Prior art keywords
scale
detected
value
tempo
envelope
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3137288A
Other languages
English (en)
Other versions
JP3127406B2 (ja
Inventor
Kunihiro Matsubara
邦裕 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP03137288A priority Critical patent/JP3127406B2/ja
Publication of JPH04336599A publication Critical patent/JPH04336599A/ja
Application granted granted Critical
Publication of JP3127406B2 publication Critical patent/JP3127406B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本願各発明は、テンポ検出装置に
関し、詳細には、楽器音や人声音等からピッチを抽出し
、この抽出されたピッチから音階を検出して、該音階デ
ータに基づいて入力する楽器音や人声音のテンポを検出
するテンポ検出装置に関する。
【0002】
【従来の技術】従来より、楽器音や人声音などを入力し
てピッチを抽出して、音階判定を行い、その結果を楽譜
の形でプリントアウトしたり、一連の判定結果をコード
化して記録した後、別の楽器音として出力し、自動演奏
したりする技術が提案されている(特開昭57−692
号、特開昭58−97179号等)。
【0003】ところが、このような従来技術にあっては
、基本的に単音の入力にしか対応できず、複音(和音も
含む)の入力については何等検討されていないのが実情
である。
【0004】そこで、和音入力に対して和音名を検出し
、和音名信号に応じて和音名表示を行うことが提案され
た(実開昭60−26091号)。しかし、この公開公
報に開示されているものは、アナログバンドパスフィル
タ回路を音階数分設け、それぞれの出力のピークホール
ドをとり、レベル検出回路でピークの大きいものから和
音を構成する構成音の候補とするというものである。
【0005】このようなアナログフィルタを用いる技術
によると、外温の影響によって判定結果が変動したり、
安定でないという問題があり、また回路構成も大規模化
してしまい、大がかりになってしまうという欠点もある
【0006】そこで、本出願人は、先に、入力される音
響信号が、単音であっても、また複音であっても、その
音響の音階を短時間で検出し、しかも回路的に小規模で
安定した動作をするディジタル化した音階検出装置及び
それを用いた電子楽器を提案している(特願平2−12
3789号)。
【0007】この音階検出装置は、基本的には、与えら
れる音響信号を表現するディジタル波形信号を順次記憶
する記憶手段と、この記憶手段に記憶される上記ディジ
タル波形信号に対して、各音階に対応する周波数に関す
る周波数スペクトルのレベルを検知するために時分割で
異なる特性のディジタルフィルタリングを順次行うディ
ジタル信号処理手段と、このディジタル信号処理手段に
て実行されたディジタルフィルタリングの結果に基づい
て、上記与えられる音響信号に含まれる1乃至複数の音
階音を検知する検知手段と、を具備し、音階音検出装置
を用いた電子楽器は、上記各手段の他に、該検知手段で
検知された1乃至複数の音階音に対応する楽音信号を所
定の音色をもって発生する楽音信号発生手段と、を具備
している。
【0008】したがって、本出願人が先に出願した音階
検出装置によれば、信号処理をすべてディジタル処理す
ることができ、入力される音響信号が、単音であっても
、また複音であっても、音響の音階を短時間で検出し、
しかも回路的に小規模で安定した動作をさせることがで
きる。
【0009】
【発明が解決しようとする課題】しかしながら、本出願
人が先に出願した音階検出装置及びそれを用いた電子楽
器にあっては、入力される音響信号から音階音を正確に
検出し、検出した音階音を正確に発音させることはでき
るが、その楽曲のテンポを知ることができず、特に、和
音検出や自動同期演奏(アンサンブル)といった分野に
おいてテンポの検出を自動的に行なうことが要望されて
いた。
【0010】すなわち、音階検出や自動同期演奏等を行
なうには、その楽曲のテンポを知ることが必要不可欠の
条件となるが、従来、あらかじめ設定されたテンポを表
わすガイド、例えば、音もしくはランプ表示等に合わせ
て楽曲を入力し、そのテンポに従ってコード検出を行な
う。
【0011】したがって、入力したい楽曲のテンポとコ
ード検出装置のテンポとをあらかじめ完全に同期させて
おく必要がある。その結果、音階検出や自動同期演奏等
を行なうのに、多分に音楽的な素養・知識等が必要とな
り、熟練を要するため、音階検出や自動同期演奏等を行
なうのが、困難で、面倒なものとなっていた。
【0012】そこで、本願各発明は、入力される音響信
号を、時分割でディジタルフィルタリング処理を行って
音階を抽出し、検出した音階音のエンベロープ値に基づ
いてその音階音の発生周期を検出する。この音階音の発
生周期とあらかじめ指定された入力音響信号の拍子に基
づいてテンポを検出することにより、入力音響信号のテ
ンポを自動的に、かつ速やかに検出することを目的とし
ている。
【0013】
【課題を解決するための手段】請求項1記載の発明は、
音響信号を表現するディジタル波形信号に対して、異な
る特性のディジタルフィルタリング処理を時分割で順次
行うことにより各音階に対応した周波数に関する周波数
スペクトルのエンベロープ値を検出するディジタル信号
処理手段と、ディジタル信号処理手段によるディジタル
フィルタリングの処理結果に基づいて、前記音響信号に
含まれる1乃至複数の所定周波数帯域の音階音を検出す
る音階検出手段と、入力される音響信号の拍子を指定す
る拍子指定手段と、前記音階検出手段の検出した音階音
をそのエンベロープ値とともに記憶する音階音記憶手段
と、前記音階音記憶手段に記憶された音階音のエンベロ
ープ値に基づいて当該音階音の発生周期を検出する周期
検出手段と、前記周期検出手段の検出した音階音の発生
周期と前記拍子指定手段により指定された拍子に基づい
てテンポを検出するテンポ検出手段と、前記テンポ検出
手段の検出したテンポを所定の出力方法により出力する
テンポ出力手段と、を備えたことを特徴としている。
【0014】前記周期検出手段及び前記テンポ検出手段
としては、例えば、請求項2に記載されているように、
周期検出手段が、前記音階音記憶手段に記憶された複数
の音階音のそれぞれについて、そのエンベロープ値の最
大値を検出するとともに、該最大値に対して最大値以下
で、かつ所定割合以上のエンベロープ値が連続している
ものを最適最大値として検出して、該最適最大値間の時
間を前記音階音の発生周期として検出し、テンポ検出手
段が、前記周期検出手段が検出した各音階音毎の発生周
期の平均値を求め、該平均値と前記拍子指定手段により
指定された拍子に基づいてテンポを検出するものであっ
てもよい。
【0015】また、前記周期検出手段及び前記テンポ検
出手段としては、請求項3に記載されているように、周
期検出手段が、前記音階音記憶手段に記憶された複数の
音階音のそれぞれについて、そのエンベロープ値の最大
値を検出するとともに、該最大値に対して最大値以下で
、かつ所定割合以上のエンベロープ値が連続しているも
のを最適最大値として検出し、該最適最大値間の時間を
単位小節として、複数の単位小節の平均値を求めて、該
平均値を前記音階音の発生周期として検出し、テンポ検
出手段が、前記周期検出手段が検出した各音階音毎の発
生周期の平均値を求め、該平均値と前記拍子指定手段に
より指定された拍子に基づいてテンポを検出するもので
あってもよい。
【0016】さらに、前記テンポ検出手段としては、請
求項4に記載されているように、前記周期検出手段が検
出した各音階音毎の発生周期を比較し、所定以上の相違
のある音階音の発生周期を除外して各音階音の発生周期
の平均値を求め、該平均値と前記拍子指定手段により指
定された拍子に基づいてテンポを検出するものであって
もよく、また、前記周期検出手段としては、請求項5に
記載されているように、前記周期検出手段が、前記音階
音記憶手段に記憶された複数の音階音のそれぞれについ
て、そのエンベロープ値の最大値を検出するとともに、
該最大値に対して最大値以下で、かつ所定割合以上のエ
ンベロープ値が連続しているものを最適最大値として検
出し、該最適最大値間の時間のバラツキを検出して、該
バラツキが所定値以上のときには、該最適最大値の前後
の時間を適宜積算した時間を前記音階音の発生周期とし
て検出するものであってもよい。
【0017】前記ディジタル信号処理手段は、例えば、
請求項6に記載されているように、前記各音階に対応す
る周波数を中心周波数とするバンドパスフィルタリング
処理を順次時分割で実行するものや、請求項7に記載さ
れているように、前記各音階に対応する周波数を中心周
波数とするバンドパスフィルタリング処理を順次時分割
で実行するとともに、このバンドパスフィルタリング処
理の結果得られる波形信号からエンベロープを抽出する
信号処理演算を順次行なうことにより、前記各音階に対
応する周波数に関する周波数スペクトルのエンベロープ
値を検知するものであってもよく、また、請求項8に記
載されているように、所定特性のハイパスフィルタリン
グ処理を行なうとともに、前記各音階に対応する周波数
でピークをもつレゾナンスが付加されたローパスフィル
タリング処理を順次時分割で実行するものや、請求項9
に記載されているように、所定特性のハイパスフィルタ
リング処理を行なうとともに、前記各音階に対応する周
波数で、ピークをもつレゾナンスが付加されたローパス
フィルタリング処理を順次時分割で実行し、さらにこれ
らのディジタルフィルタリング処理の結果得られる波形
信号からエンベロープを抽出する信号処理演算を順次行
なうことによって、前記各音階に対応する周波数に関す
る周波数スペクトルのエンベロープ値を検知するもので
あってもよい。
【0018】
【作用】請求項1記載の発明によれば、ピアノ等の楽器
や電子楽器等から発生された音響信号は、ディジタル変
換され、ディジタル信号処理手段に入力される。ディジ
タル信号処理手段は、この音響信号を表現するディジタ
ル波形信号に対して、異なる特性のディジタルフィルタ
リング処理を時分割で順次行うことにより各音階に対応
した周波数に関する周波数スペクトルのエンベロープ値
を検出し、音階検出手段に出力する。音階検出手段は、
ディジタル信号処理手段によるディジタルフィルタリン
グの処理結果に基づいて、前記音響信号に含まれる1乃
至複数の音階音を検出し、音階音記憶手段に当該音階音
のエンベロープ値とともに出力して、音階音記憶手段に
その音階音とエンベロープ値とを記憶する。一方、入力
される音響信号の拍子があらかじめ拍子指定手段により
指定される。音階音記憶手段に記憶された音階音は、周
期検出手段に出力され、周期検出手段は、その音階音の
エンベロープ値に基づいて当該音階音の発生周期を検出
する。周期検出手段は、検出した当該音階音の発生周期
をテンポ検出手段に出力し、テンポ検出手段は、前記拍
子指定手段により指定された拍子と音階音の発生周期に
基づいてテンポを検出する。テンポ検出手段は、検出し
たテンポをテンポ出力手段に出力し、テンポ出力手段は
、入力されたテンポを所定の出力方法により出力する。
【0019】したがって、入力される音響信号のテンポ
を容易、かつ正確に検出することができ、音楽的な素養
・知識等がなく、また熟練していなくても、音階検出や
自動同期演奏等を簡単、かつ容易に行なうことができる
【0020】請求項2記載の発明によれば、前記周期検
出手段が、前記音階音記憶手段に記憶された複数の音階
音のそれぞれについてそのエンベロープ値の最大値を検
出するとともに、その最大値に対して最大値以下で、か
つ所定割合以上のエンベロープ値が連続しているものを
最適最大値として検出して、該最適最大値間の時間を前
記音階音の発生周期として検出し、前記テンポ検出手段
が、前記周期検出手段が検出した各音階音毎の発生周期
の平均値を求め、該平均値と前記拍子指定手段により指
定された拍子に基づいてテンポを検出しているので、音
階音の発生周期を正確に検出することができ、入力音響
信号のテンポを正確に検出することができる。したがっ
て、音階検出や自動同期演奏等を正確に行なうことがで
きる。
【0021】請求項3記載の発明によれば、前記周期検
出手段が、前記音階音記憶手段に記憶された複数の音階
音のそれぞれについて、そのエンベロープ値の最大値を
検出するとともに、該最大値に対して最大値以下で、か
つ所定割合以上のエンベロープ値が連続しているものを
最適最大値として検出し、該最大値間の時間を単位小節
として、複数の単位小節の平均値を求めて、該平均値を
前記音階音の発生周期として検出し、前記テンポ検出手
段が、前記周期検出手段が検出した各音階音毎の発生周
期の平均値を求め、該平均値と前記拍子指定手段により
指定された拍子に基づいてテンポを検出しているので、
音階音の発生周期を複数の単位小節に基づいて検出する
ことができ、またテンポを当該複数の単位小節により求
めた発生周期に基づいて検出することができる。
【0022】したがって、音階音の発生周期をより一層
正確に検出することができ、入力音響信号のテンポをよ
り一層正確に検出することができる。その結果、音階検
出や自動同期演奏等をより一層正確に行なうことができ
る。
【0023】請求項4及び請求項5記載の発明によれば
、前記テンポ検出手段が、前記周期検出手段が検出した
各音階音毎の発生周期を比較し、所定以上の相違のある
音階音の発生周期を除外して各音階音の発生周期の平均
値を求め、該平均値と前記拍子指定手段により指定され
た拍子に基づいてテンポを検出し、また前記周期検出手
段が、前記音階音記憶手段に記憶された複数の音階音の
それぞれについて、そのエンベロープ値の最大値を検出
するとともに、該最大値に対して最大値以下で、かつ所
定割合以上のエンベロープ値が連続しているものを最適
最大値として検出し、該最適最大値間の時間のバラツキ
を検出して、該バラツキが所定値以上のときには、該最
適最大値の前後の時間を適宜積算した時間を前記音階音
の発生周期として検出しているので、ノイズや他の周波
数帯域の音階音の影響を受けることなく、入力音響信号
のテンポを正確に検出することができる。したがって、
音階検出や自動同期演奏等をより一層正確に行なうこと
ができる。
【0024】請求項6記載の発明によれば、前記ディジ
タル信号処理手段が、前記各音階に対応する周波数を中
心周波数とするバンドパスフィルタリング処理を順次時
分割で実行し、請求項7記載の発明によれば、前記各音
階に対応する周波数を中心周波数とするバンドパスフィ
ルタリング処理を順次時分割で実行するとともに、この
バンドパスフィルタリング処理の結果得られる波形信号
からエンベロープを抽出する信号処理演算を順次行なう
ことにより、前記各音階に対応する周波数に関する周波
数スペクトルのエンベロープ値を検知している。また、
請求項8記載の発明は、ディジタル信号処理手段が、所
定特性のハイパスフィルタリング処理を行なうとともに
、前記各音階に対応する周波数でピークをもつレゾナン
スが付加されたローパスフィルタリング処理を順次時分
割で実行しており、請求項9記載の発明は、所定特性の
ハイパスフィルタリング処理を行なうとともに、前記各
音階に対応する周波数で、ピークをもつレゾナンスが付
加されたローパスフィルタリング処理を順次時分割で実
行し、さらにこれらのディジタルフィルタリング処理の
結果得られる波形信号からエンベロープを抽出する信号
処理演算を順次行なうことによって、上記各音階に対応
する周波数に関する周波数スペクトルのエンベロープ値
を検知している。
【0025】したがって、請求項6〜請求項9記載の発
明によれば、信号処理を全てディジタル領域で行なうこ
とができ、高速で、かつ効率的に音階音の抽出処理、ひ
いては和音の判別処理を行なうことができる。
【0026】
【実施例】以下に、本願各発明の自動テンポ検出装置の
一実施例を説明する。 <基本原理>先ず、実施例で用いるディジタルフィルタ
処理の基本原理について説明する。実施例では、ディジ
タルフィルタ処理をDSP(Digital Sign
al Processor:ディジタル信号処理プロセ
ッサ)を使用することにより行っている。すなわち、D
SPにディジタルフィルタとして動作させるのに必要な
プログラムやデータを書き込み、図1に示すようなバン
ドパスフィルタHt(z)を構成するとともに、更にエ
ンベロープ抽出回路を構成し、ディジタルフィルタ処理
及びエンベロープ抽出処理を行う。
【0027】図1において、入力信号X(n)は、アナ
ログの音響信号を所定サンプリングタイミングでサンプ
リングした値をディジタル信号(もともとディジタル信
号で供給される場合はそのままでよい)に変換して入力
したものであり、この入力信号X(n)に対して、DS
Pの時分割処理によってn個のバンドパスフィルタHt
(z)のフィルタリング処理を行う。このフィルタリン
グ処理に際して、n個のバンドパスフィルタHt(z)
の伝達関数を、複数オクターブの各音階に依存させて変
更する。
【0028】図2は、バンドパスフィルタHt(z)と
してチェビシエフ形のものを採用した場合の周波数特性
の大きさを示している。この場合の伝達関数としては、
tを各音階に指定するサフィックス(添字)として、次
のようになる。
【数1】 ここで、i=1としてこのバンドパスフィルタHt(z
)を構成すると、DSPの処理は、
【数2】 を実行することになる。
【0029】なお、i≧2の場合は、上式と同様の演算
を繰り返し実行することになる。また、各バンドパスフ
ィルタHt(z)の係数については、数値計算で求める
ことができる。具体例としては、A4=440Hzのバ
ンドパスフィルタを次の条件(■〜■は図2参照)で構
成すると、下記の如き係数値をもつ伝達関数のディジタ
ルフィルタリング処理を実行することになる。
【0030】すなわち、 ■=1dB ■=(サンプリング周波数fs)=10KHz■=12
dB以上 ■=415Hz ■=430Hz ■=450Hz ■=466Hz の条件で、i=1,2の2段のディジタルフィルタのそ
れぞれの係数は次のようになる。
【0031】H440Hz(0)=0.0819238
4i=1に対し、 a1(1)=−1.91442200776a2(1)
=  0.9933673 b1(1)=−1.91105345727b2(1)
=  1. i=2に対し、 a1(2)=−1.9210712 a2(2)=  0.993606 b1(2)=−1.93525314797b2(2)
=  1. このように、バンドパスフィルタHt(z)の演算が各
音階に対して時分割的に実行され、その結果信号Yt(
n),t=1〜Nが求まる。
【0032】この結果信号Yt(n)に対して、次に、
DSPは、エンベロープ抽出処理を時分割で行う。この
エンベロープ処理は、それぞれの結果信号Yt(n)の
波形について所定時間間隔毎(例えば各音階の対応する
周波数毎)にピークレベル(絶対値)を求めて行う。あ
るいは後述するような特定のディジタルフィルタを|Y
t(n)|(Yt(n)の絶対値信号)に対して行って
求める。
【0033】このようにDSPの時分割処理により、そ
れぞれの音階についてのエンベロープ信号Et(n),
t=1〜Nが求まり、この出力に対して、このDSPの
適用された自動伴奏装置等のCPU(マイクロコンピュ
ータなど)が、レベル判断を実行することにより、もと
もとの入力信号X(n)の波形に含まれる音階信号を1
乃至複数検出することが可能となる。
【0034】このように、この基本原理は、各音階につ
いてピークをもつバンドパスフィルタHt(z)により
フィルタリング処理を時分割で行うものであるが、バン
ドパスフィルタHt(z)は、上述したチェビシェフ形
のバンドパスフィルタに限るものではなく、種々の形式
のディジタルフィルタで何等の機能を実現できる。また
、バンドパスフィルタは、ローパスフィルタとハイパス
フィルタをカスケード接続することによっても実現でき
る。
【0035】上記チェビシェフ形のバンドパスフィルタ
、A4=440Hzの例では、8回の乗算が必要となる
。そこで、以下に、フィルタ演算を行う際の乗算回数を
減らし、リアルタイムでフィルタリングを行うことを容
易にしたフィルタリング処理のひとつの改良原理を説明
する。
【0036】<改良原理>図3は、乗算回数を減少させ
たディジタルフィルタ演算をDSPに行わせる改良原理
を示しており、このバンドパスフィルタは、ハイパスフ
ィルタH1(z)、ローパスフィルタH2t(z)及び
ローパスフィルタHE(z)で構成されている。このバ
ンドパスフィルタでは、ディジタル表現による入力音響
信号X(n)は、まず、ハイパスフィルタH1(z)に
入力され、ハイパスフィルタH1(z)は、その詳細に
ついては後述するが、周波数0で0、周波数fs/2で
最大となるハイパスディジタルフィルタである。
【0037】このハイパスフィルタH1(z)の出力Y
(n)が、各音階t毎に時分割動作するローパスフィル
タH2t(z)に入力され、ローパスフィルタH2t(
z)は、その詳細については後述するが、音階周波数で
ピークをもったレゾナンスタイプのローパスディジタル
フィルタの特性をもっている。
【0038】したがって、上記ハイパスフィルタH1(
z)とローパスフィルタH2t(z)をカスケード接続
して得られるディジタルフィルタの周波数特性の大きさ
は、図4のごとくなっており、疑似バンドパスフィルタ
となっている。
【0039】図4において、f1,f2,……fNが、
各音階周波数に対応し、Nを40〜50程度(3オクタ
ーブから4オクターブ)にすることが可能である。なお
、これ以上の広いオクターブレンジで音階検出するとき
は、高速のDSPか、複数のDSPによる並列処理を採
用することで達成できる。
【0040】このローパスフィルタH2t(z)の出力
Wt(n),t=1〜Nが、各音階毎に時分割動作する
ローパスフィルタHE(z)に与えられ、このローパス
フィルタHE(z)の特性も後述するが、このローパス
フィルタHE(z)の各出力Et(n)が、図1と同様
に、各音階についてのエンベロープ信号となる。その後
の処理は、基本原理の場合と同様である。
【0041】次に、図3の各ディジタルフィルタの構成
、特性を詳述する。 ハイパスフィルタH1(z) 図5は、ハイパスフィルタH1(z)の一構成例を示し
ている。このハイパスフィルタH1(z)は、2次のF
IR(Finite Impulse Respons
e)ディジタルフィルタであり、その伝達関数は、
【数3】 である。
【0042】図5において、5−1,5−2は遅延素子
、5−3,5−4,5−5は乗算器、5−6,5−7は
加算器を示している。このハイパスフィルタH1(z)
をDSPで演算により実現するときには、
【数4】 を実行することとなる。この場合、係数と信号の乗算は
単なるシフト処理で実現できる。
【0043】このハイパスフィルタH1(z)の周波数
特性は、
【数5】 となり、図6にその特性を示すように、Ω=0(0Hz
)で最小、Ω=π(fs/2Hz)で最大となる特性を
とる。
【0044】ローパスフィルタH2t(z)図7は、ロ
ーパスフィルタH2t(z)の一構成例を示している。 このローパスフィルタH2t(z)は、2次のIIR(
InfiniteImpulse Response)
ディジタルフィルタであって、その伝達関数は、
【数6】 である。
【0045】ローパスフィルタH2t(z)は、後述す
るように、音階を示すサフィックスtに依存してθとC
Yとが変化し、rがレゾナンスの強さ(ピークの程度)
を示すパラメータとなる。
【0046】図7において、7−1,7−2は遅延素子
、7−3,7−4,7−5は乗算器、7−6,7−7は
加算器を示している。このローパスフィルタH2t(z
)をDSPで演算により実現するときは、      
Wt(n)=CY・Y(n)+2rcosθWt(n−
1)−r2Wt(n−2)……式(2)を実行すること
となる。
【0047】このローパスフィルタH2t(z)の周波
数特性は
【数7】 で与えられる。ここで、この伝達関数の極は、
【数8】 に依存し、Z=0に2重の零点がある。この伝達関数の
極と零点の配置、および、θを、0<θ<π/2とした
ときの極ベクトルと零点ベクトルと、を図8に示す。図
8から理解されるとおり、Ω=0からΩ=πに向けて単
位円に沿ってΩが動くにつれて、ベクトルv2の長さは
、はじめ減少し、次に増加する。最小のベクトルv2の
長さは、
【外1】 の近くである。
【0048】ここで、周波数Ωにおける周波数応答の大
きさは、零点ベクトルv1とベクトルv2の長さの比で
あり、周波数応答の位相は、実軸とベクトルv1のなす
角度からベクトルv2のなす角を引いた値となることが
知られており、振幅特性のみを図示すると図9のように
なる。
【0049】すなわち、周波数応答の大きさ(振幅特性
)は、図9から分るように、極ベクトルv2の大きさの
逆数に比例し、θに近いΩで最大となる。そして、rの
大きさに従ってこのピークの鋭さが決まり、rを1に近
づけてゆくと急なピーク(レゾナンス特性)をもったフ
ィルタが実現できる。
【0050】以上の説明から明らかなように、各音階毎
に、θの値を決定すれば(θ=2πft/fs)、図1
0に示すように、音階周波数ftでピークをもつレゾナ
ンス付きのローパスフィルタH2t(z)を実現するこ
とができる。
【0051】なお、rは、となりの音階のレベルに影響
しないような大きさに、CYは、各音階で同等のレベル
の出力W1(n)が得られるような大きさに、実験で、
もしくは数学的に求めることが可能となる。
【0052】例えば、fの音階周波数(ft)と、Δf
離れたとなりの音階周波数f+Δf(すなわちft+1
)との周波数応答の大きさの比を、m:1とする場合、
【数10】 というrについての4次方程式を解いて、0<r<1を
満足するものを選び、各係数  −2rcosθ,r2
を求めることができる。いま、数値計算の結果、例えば
、fs=5KHz,f=440Hzで、m=4とすると
、−2rcosθ=−1.9773、r2=0.985
1、CY=36.7となる。その他の音階についても同
様である。
【0053】ローパスフィルタHE(z)図11は、ロ
ーパスフィルタHE(z)の一構成例を示す。これはさ
きに説明したローパスフィルタH2t(z)と同じ形の
2次のIIRディジタルフィルタであって伝達関数は、
【数10】である。これは、先のローパスフィルタH2
t(z)の伝達関数において、r=0.9、θ=0と、
したものである。
【0054】図11において、11−1は、入力信号(
ローパスフィルタH2t(z)の出力信号)Wt(n)
を、絶対値化する絶対値回路であり、その出力|Wt(
n)|がディジタルフィルタリングされる。11−2、
11−3は遅延素子、11−4、11−5、11−6は
乗算器、11−7、11−8は加算器を示している。こ
のローパスフィルタH2t(z)をDSPで演算により
実現するときは、   Et(n)=CE|Wt(n)|+1.8Et(n
−1)−0.81Et(n−2)……式(3)を実行す
ることとなる。
【0055】このローパスフィルタH2t(z)は、そ
の周波数特性が、上述の説明のように、θ=0でピーク
をもつ、レゾナンス付きのローパスフィルタで、図12
に示すような特性(振幅特性)をとる。ここで、係数C
Eは、各音階毎のレベルを一様にするファクターで実験
などで適宜求め得る。
【0056】図13は、この図11の構成によって得ら
れるエンベープ信号Et(n)を模式的に示している。 このように、ローパスフィルタH2t(z)は、絶対値
回路11−1により、負の波高値(図13の破線)がす
べて正の波高値に変換された上でローパスフィルタがか
けられるので、結局この波形信号|Wt(n)|の直流
成分を求めるような動作をフィルタ回路がとるようにな
る。
【0057】<実施例の全体構成>次に、本願各発明の
テンポ検出装置の一実施例の具体的な構成を説明する。 図14は、本願各発明のテンポ検出装置を適用した楽音
発生装置1の全体ブロック図である。
【0058】楽音発生装置1は、CPU(Centra
l Processing Unit)2、ROM(R
ead Only Memory)3、RAM(Ran
dom Access Memory)4、音階音検出
装置5、キーボード6、ディスプレイ7、プリンタ8、
楽音発生回路9、オーディオシステム10及びスピーカ
11等を備えており、こられ各部はバス12により接続
されている。
【0059】ROM3には、本願各発明のテンポ検出装
置としてのプログラム等が格納されており、また、必要
に応じてテンポ検出装置として動作する際に必要なデー
タが格納されている。
【0060】CPU2は、ROM3内のプログラムに従
って楽音発生装置1の各部を制御し、本願各発明のテン
ポ検出装置及び楽音発生装置1としての処理を行なう。 また、CPU2は、各種レジスタを備えており、これら
レジスタには、テンポ検出装置としての処理に必要な各
種データを記憶する。
【0061】RAM4は、後述する音階音検出装置5を
ディジタルフィルタやエンベロープ抽出装置として動作
させるためのデータ等を記憶するとともに、CPU2の
ワーク用メモリとして機能する。RAM4は、特に、後
述する拍子指定手段としてのキーボード6から入力され
た拍子や、音階検出装置5が検出した音階音とそのエン
ベロープ値等を記憶する。
【0062】音階音検出装置5は、マイクロフォン41
、ローパスフィルタ42、A/D変換器43、DSP4
4、フィルタ係数ROM45及びワークRAM46等を
備えており、音響信号の入力端子として、ライン入力L
INE INを備えている。
【0063】この音階音検出装置5は、マイクロフォン
41あるいはライン入力LINE INから入力する音
響信号(これは楽器音、人声音、あるいはテープレコー
ダやラジオ、テレビ、CDプレーヤー等からの再生音響
であってもよい)を、ローパスフィルタ42で適宜フィ
ルタリング処理した後、適当なサンプリング周波数fs
で、A/D変換器43よりディジタル信号X(n)に変
換し、DSP44に入力する。
【0064】フィルタ係数ROM45は、DSP44を
ディジタルフィルタとして機能させるのに必要な各種係
数を記憶し、必要に応じて読み出されてDSP44に出
力される。ワークRAM46は、DSP44がディジタ
ルフィルタとして動作する際のワークメモリであり、フ
ィルタリング演算のためのデータや、A/D変換器43
から入力されたディジタル入力信号X(n)及びDSP
44で演算処理された波形信号等を記憶する。
【0065】DSP44は、フィルタ係数ROM45に
記憶されている係数やワークRAM46を使用して、演
算処理し、ディジタルフィルタリング処理を実行すると
ともに、エンベロープ抽出処理を実行する。
【0066】DSP44の処理結果は、CPU2に送ら
れ、CPU2は、音階音検出装置5の検出した音階音の
うち、そのエンベロープ値に基づいて当該音階音の発生
周期を検出し、検出した音階音の発生周期と、周期指定
手段としてのキーボード6から指定された拍子に基づい
てテンポを検出する。検出したテンポをテンポ出力手段
としてのディスプレイ7や楽音発生回路9等に出力する
。したがって、CPU2は、音階音のエンベロープ値に
基づいて音階音の発生周期を検出する周期検出手段及び
周期検出手段の検出した音階音の発生周期と拍子指定手
段により指定された拍子に基づいてテンポを検出するテ
ンポ検出手段として機能する。
【0067】キーボード6には、ファンクションスイッ
チや鍵盤等が設けられており、キーボード6でスイッチ
や鍵盤等の操作が行なわれると、CPU2がこの操作を
検出して、楽音発生回路9の発生音モジュールに発生楽
音を割り当てる。また、キーボード6により入力される
音響信号の拍子が指定され、指定された拍子は、CPU
2に出力されて、RAM4に記憶される。したがって、
キーボード6は、入力音響信号の拍子を指定する拍子指
定手段として機能する。
【0068】ディスプレイ7およびプリンタ8は、CP
U2の制御下で作動し、音階音検出装置5で検出された
1乃至複数の音階やCPU2で検出した入力音響信号の
テンポを表示し、また用紙に印字する。例えば、CPU
は、リアルタイムで入力中の音響に含まれる音階をディ
スプレイ7に表示してもよく、あるいはノンリアルタイ
ムで、編集作業などを経た上で楽譜としてディスプレイ
7に表示したり、プリンタ8で用紙に印刷したりする。 このとき、入力音響信号のテンポを同時に表示する。し
たがって、ディスプレイ7及びプリンタ8は、テンポを
所定の出力方法で出力するテンポ出力手段として機能す
る。
【0069】この音階音検出装置5は、全体として、音
響信号を表現するディジタル波形信号に対して、異なる
特性のディジタルフィルタリング処理を時分割で順次行
なうことにより各音階に対応した周波数に関する周波数
スペクトルのエンベロープ値を検出するディジタル信号
処理手段、およびこのディジタルフィルタリングの処理
結果に基づいて、音響信号に含まれる1ないし複数の音
階音を検出する音階検出手段として機能している。
【0070】楽音発生装置9としては、各種タイプの音
源発生回路が適用可能であり、例えば、PCM方式、F
M方式、iPD方式、正弦波合成方式等の音源発生回路
が適用される。この楽音発生装置9は、複数の楽音発生
チャンネル、例えば、4チャンネルを有しており、前記
CPU2の発音モジュールに割り当てられた音階番号の
音階音を、オーディオシステム10を駆動することによ
り、スピーカ11を介して音響出力させる。
【0071】オーディオシステム10としては、通常の
オーディオシステムが使用されており、オーディオシス
テム10には、楽音発生回路9からの信号だけでなく、
マイクロフォン41やライン入力LINE INの信号
も与えられ、必要に応じて音響出力として出力する。ま
た、楽音発生回路9は、キーボード6の音色指定に従っ
た音色の楽音信号を発生でき、この場合も、CPU2が
出力すべき音階音を発音モジュールに割り当てて楽音発
生動作をする。さらに、CPU2は、音階検出装置5が
検出した音階音の変化を順次RAM4にシーケンサ情報
として記憶し、このシーケンサ情報をキーボード6のプ
レイスタート指示等に応答して、順次読み出して楽音発
生回路9から対応する楽音信号を発生することも可能で
ある。
【0072】<DSPの構成>図15は、DSP44の
回路構成図であり、DSP44は、ディジタルフィルタ
リング処理及びエンベロープ抽出処理を行なうことによ
りディジタル信号処理手段及び音階検出手段として機能
する。 DSP44は、インターフェィス441、オペレーショ
ンROM442、アドレスカウンタ443、デコーダ4
44、乗算器445、加減算器446、レジスタ群44
7、及びフラグレジスタ448等を備えている。
【0073】インターフェィス441は、バスを介して
図14に示すCPU2やA/D変換器43に接続されて
おり、インターフェィス441を介して音響入力信号や
CPU2からの命令が入力され、また処理結果の音程音
のデータ等が出力される。
【0074】オペレーションROM442には、本願各
発明のテンポ検出装置に使用するディジタル信号処理手
段及び音階検出手段としてのプログラム、具体的には、
ディジタルフィルタリング処理プログラム及びエンベロ
ープ抽出処理プログラム等が格納されており、プログラ
ムメモリ2は、アドレスカウンタ443のアドレス指定
により順次プログラム内容をデコーダ444に出力する
とともに、各部に出力する。
【0075】デコーダ444は、オペレーションROM
442から読み出されたプログラム内容をデコードし、
制御信号としてDSP44の各部に出力する。DSP4
4のバスには、上記音階検出装置5のフィルタ係数RO
M45及びワークRAM46が接続されており、オペレ
ーションROM442のプログラムに従って適宜係数デ
ータや波形信号等がDSP44に供給され、またDSP
44で演算処理した波形信号がワークRAM46に出力
されて書き込まれる。
【0076】乗算器445は、入力されるデータを乗算
処理し、その演算結果を加減算器446やレジスタ群4
47等に出力する。加減算器446は、入力データに加
算処理あるいは減算処理を行ない、演算結果をレジスタ
群447を介して乗算器445やワークRAM46等に
出力するとともに、演算結果の符号データをフラグレジ
スタ448に出力する。
【0077】フラグレジスタ448のフラグデータは、
アドレスカウンタ443に出力され、アドレスカウンタ
443へのフラグレジスタ448のフラグデータにより
オペレーションROM442から出力されるプログラム
内容が決定される。すなわち、フラグレジスタ448の
フラグデータによりジャッジ処理を行なっている。
【0078】次に作用を説明する。 <音階検出処理>先ず、音階検出装置5における音階検
出処理を図16のフローチャートを用いて説明する。音
階検出処理は、CPU2の制御下で行なわれ、上記改良
原理で説明したディジタルフィルタ処理により音階検出
処理を行なう。本実施例では、このディジタルフィルタ
処理を、複数の周波数帯、例えば、4つの周波数帯につ
いて行ない、その周波数帯としては、例えば、100H
z、130Hz、160Hz及び200Hzを採用する
【0079】CPU2は、まず、図16に示すように、
音階音検出処理の開始に際して、イニシャル処理を行う
(ステップS1)。このイニシャル処理は、主にワーク
RAM46をクリアする処理である。
【0080】イニシャル処理が完了すると、A/D変換
器43による音響信号のディジタル信号X(n)へのデ
ィジタル変換が完了したかどうかチェックし(ステップ
S2)、A/D変換器43でディジタル変換が完了する
と、A/D変換器43から入力されるディジタル信号X
(n)を順次アドレス設定してワークRAM46に記憶
する(ステップS3)。この場合、ワークRAM46の
うちの特定エリアをリングバッファ(終端と始端とを仮
想的に連結することで構成されるバッファ)として使用
することにより、無制限の入力信号(ディジタル信号X
(n))に対応できる。
【0081】ワークRAM46にディジタル信号X(n
)が記憶されると、CPU2は、DSP44をFIRの
ハイパスフィルタH1(z)として動作させる(ステッ
プS4)。 このFIRハイパスフィルタH1(z)としての動作処
理は、上記DSP44のオペレーションROM442の
プログラムのアドレス設定をアドレスカウンタ443に
行なうととともに、フィルタ係数ROM45の係数設定
をハイパスフィルタH1(z)用に設定することにより
行なう。
【0082】このハイパスフィルタH1(z)としての
演算は、上記式(1)によるもので、今回の入力ディジ
タル信号X(n)のほかワークRAM46から前回、前
々回の入力ディジタル信号入力X(n−1)、X(n−
2)を読み出しDSP44内の乗算器445、加減算器
446を使用して実行する。
【0083】ハイパスフィルタH1(z)としての演算
処理が完了すると、各音階についてフィルタ処理を行な
うための設定値tを初期設定値t=1にセットし(ステ
ップS5)、ローパスフィルタH2t(z)としてのフ
ィルタリング演算を行う(ステップS6)。このローパ
スフィルタH2t(z)としての演算は、上記式(2)
によるもので、各係数CY,2rcosθ,r2をフィ
ルタ係数ROM45から読み出しながら、DSP44内
の乗算器445、加減算器446を使用して実行する。 この演算結果Wt(n)も、ワークRAM46の別の特
定のエリアをリングバッファとして使用し、順次ストア
する。この場合も、ワークRAM46をリングバッファ
として使用することにより、このバッファから前回及び
前々回の演算結果Wt(n−1),Wt(n−2)を次
々と読み出して演算に用いることができる。
【0084】ハイパスフィルタH1(z)及びローパス
フィルタH2t(z)としての演算処理が完了すると、
次に各音階についてのエンベロープ抽出処理を行なう。 このエンベロープ抽出処理は、各音階についてDSP4
4をIIRローパスフィルタHE(z)として演算処理
させることにより実行する(ステップS7)。
【0085】このローパスフィルタHE(z)としての
演算は、上記式(3)によるもので、各係数CE,1.
8、−0.81をフィルタ係数ROM45から読み出し
ながら、DSP44内の乗算器445、加減算器446
を使用して行う。この演算のうち、絶対値計算|Wt(
n)|も加減算器446を使用して実行する。
【0086】この演算結果Et(n)も、ワークRAM
46の更に別の特定エリア46をリングバッファとして
使用して、順次ストアすることにより、このバッファか
ら前回及び前々回の演算結果Et(n−1),Et(n
−2)を次々と読み出して演算に用いることができる。
【0087】上記フィルタ処理及びエンベロープ抽出処
理が終了すると、全ての音階についてこれらの各処理が
なされたかどうか(t=N)チェックし(ステップS8
)、すべての音階については処理が終了していないとき
には、設定値tをインクリメントして(ステップS9)
、ステップS6に移行する。ステップS6に移行すると
、再びステップS6及びステップS7のフィルタリング
処理を実行する。
【0088】ステップS8で、全ての音階に対してフィ
ルタ処理等が完了していると、各音階についてのエンベ
ロープ値Et(n)(t=1〜N)をCPU2へ通知し
た後(ステップS10)、音階検出処理モードを終了す
るかどうかチェックする(ステップS11)。音階検出
処理モードの終了でないときには、ステップS2に移行
し、次の音響信号のA/D変換を待って、同様に処理を
行なう。 すなわち、DSP44は、1サンプリング毎に、時分割
で3系統のディジタルフィルタリングを順番に、しかも
各音階について繰り返して実行することにより、リアル
タイムで、各音階のエンベロープに従って、各音階に対
応する周波数に関する周波数スペクトルのレベルを検知
することができる。なお、本願各発明のテンポ検出装置
においては、上記音階音検出装置5で検出するものは、
上記音階音に限るものではなく、広く音高一般について
の検出処理を行なうものであってよい。
【0089】ステップS11で、キーボード5の操作等
によりCPU2が音階検出処理モードの終了をDSP4
4に通知してきたときは、一連の処理動作を終了する。
【0090】<CPU2のテンポ検出処理>CPU1は
、上述したようにDSP44から毎サンプリング周期で
各音階についてのエンベロープ値Et(n)(t=1〜
N)、すなわち、各バンドに関する周波数スペクトルの
エンベロープ値Et(n)が与えられるので、種々の目
的にこれを使用できる。本願各発明では、与えられた各
音階についてその発生周期を検出し、その発生周期から
入力音響信号のテンポを検出する。
【0091】以下、この発生周期検出処理及びテンポ検
出処理について説明する。図17に示すように、CPU
2は、音階音検出装置5により上述のように音階検出処
理が行なわれると(ステップP1)、音階音の検出(各
バンドのピッチ抽出)が終了したかどうかをチェックし
(ステップP2)、音階音の検出が終了しているときに
は、DSP44から検出された音階番号Tnとそのエン
ベロープ値Et(n)とを読み取ってRAM4に記憶す
る(ステップP3)。この音階音の検出の終了のチェッ
クは、DSP44からの音階音検出終了信号が入力され
ているかどうかにより行なう。
【0092】CPU2は、DSP44から読み取った音
階番号Tnとそのエンベロープ値Et(n)を、DSP
44から読み込んだ各音階番号Tnのエンベロープ値E
t(n)をあらかじめ設定した最大エンベロープ値Et
maxと比較する(ステップP3)。そのエンベロープ
値Et(n)が当該最大エンベロープ値Etmaxに達
していないときには、その音階番号Tnのエンベロープ
値Et(n)を最大エンベロープ値Etmaxとして設
定する(ステップP4)。すなわち、CPU2は、最大
エンベロープ値Etmaxを格納するエンベロープ最大
値レジスタを有しており、まず、エンベロープ値Et(
n)をこのエンベロープ最大値レジスタにあらかじめ格
納されている最大エンベロープ値Etmaxと比較し、
エンベロープ値Et(n)がこの最大エンベロープ値E
tmaxに達していないときには、エンベロープ値Et
(n)を最大エンベロープ値Etmaxとしてエンベロ
ープ最大値レジスタに格納する。この最大エンベロープ
値Etmaxとしては、最初に、例えば、0を設定して
おく。
【0093】一方、ステップP4で、エンベロープ値E
t(n)が最大エンベロープ値Etmaxよりも大きい
ときには、最大エンベロープ値Etmaxの所定割合の
値、例えば、90%の値(最大エンベロープ値Etma
x×0.9)と比較する(ステップP6)。エンベロー
プ値Et(n)が最大エンベロープ値Etmaxの90
%の値よりも小さいときには、カウントフラグTcfを
リセット(0に設定)してタイマー処理を行なう(ステ
ップP7、ステップP8)。すなわち、CPU2は、当
該バンドのエンベロープ値Et(n)の最大値から次の
エンベロープ値Et(n)の最大値までの時間をカウン
トするためのタイムカウンタを内蔵しており、カウント
フラグTcfは、このタイムカウンタが作動中であるこ
とを示すフラグである。また、ステップP5で、エンベ
ロープ値Et(n)が最大エンベロープ値Etmaxの
90%の値を越えているときには、カウントフラグTc
fがセットされているかどうかチェックし(ステップP
9)、カウントフラグTcfがセット(Tcf=1)さ
れているときには、カウントスタートフラグTcsfの
セット(Tcsf=1)及びカウントフラグTcfのセ
ットを行なって、タイマー処理を行なう(ステップP1
0、P8)。このカウントスタートフラグTcsfは、
タイムカウンタを作動して上記発生周期をカウントする
タイマー処理を開始させるためのフラグである。
【0094】このタイマー処理は、内蔵タイマーにより
所定タイミング毎に上記タイムカウンタのカウントアッ
プを行なう処理である。タイマー処理を行なうと、次に
、カウントスタートフラグTcsfがセットされている
かどうかチェックし(ステップP11)、カウントスタ
ートフラグTcsfがセットされているときには、カウ
ントスタートフラグTcsfのリセット、タイムカウン
タのカウント値を現在実行中のバンド用に割り当てられ
たタイムレジスタへのセット及びタイムカウンタのリセ
ットを行なって、全てのバンドについて処理が終了(発
生周期の検出処理)したかどうかチェックする(ステッ
プP12、P13)。全てのバンドについて上記発生周
期検出処理を終了していないときには、バンドの切り換
えを行ない(ステップP14)、ステップP3に移行し
て、同様に次のバンドについて発生周期検出処理を行な
う。
【0095】ステップP13で、全てのバンドについて
発生周期検出処理を終了しているときには、発生周期の
検出を開始してからあらかじめ設定された所定時間経過
したかどうかをチェックし(ステップP15)、所定時
間経過しないときには、ステップP1に戻って次の音階
音の検出処理を行なう。すなわち、音階音の検出は、所
定のサンプリングタイミング毎に行なわれ、そのサンプ
リングタイミングでのエンベロープ値Et(n)が上記
ステップP3でRAMに記憶される。したがって、この
音階音の検出を所定時間繰り返し行ない、その所定時間
に検出した各音階音のエンベロープ値Et(n)につい
て発生周期検出処理を順次実行することにより、エンベ
ロープカーブの所定部分から所定部分までの発生周期を
各音階音について複数検出することができる。すなわち
、この所定時間としては、通常の音階音の発生周期の複
数回分の時間が割り当てられている。
【0096】上記処理を全てのバンドに対して所定時間
継続して実行すると、音階音毎に複数の発生周期を検出
することができ、この各音階音毎に検出した複数の音階
音の発生周期を記憶するタイムレジスタのうち、最初に
検出した発生周期を記憶するタイムレジスタの値をクリ
アして捨てる(ステップP16)。この最初に検出した
発生周期を捨てることについては、後述する。
【0097】このようにして各バンドについて発生周期
を検出し、最初に検出した発生周期のタイムレジスタを
クリアすると、残りの各バンドのタイムレジスタから各
バンド毎に検出した複数の発生周期の平均値を求め、こ
の各バンド毎の発生周期の平均値をさらに平均すること
により、全バンドの平均発生周期を求める。全バンドの
平均発生周期を求めると、その平均発生周期を1小節(
単位小節)として、テンポの計算を行なう(ステップP
17)。CPU2は、このテンポの計算を上記キーボー
ド6からあらかじめ指定された拍子の種類及び平均発生
周期により行なう。具体的には、下記の計算式に、拍子
の種類をあてはめてCPU2が演算処理を行なうことよ
り、テンポを算出する。       テンポ値=(拍子の種類)×60/(発生
周期の平均値)ここで、拍子に60が乗算されているの
は、発生周期の単位が秒であり、テンポが、1分間当り
の拍数であることによる。
【0098】このようにして演算処理により検出したテ
ンポをディスプレイ7等に出力し、ディスプレイ7は、
入力されるテンポを表示する(ステップP14)。この
検出したテンポの出力方法としては、ディスプレイ7に
表示するものに限らず、例えば、ランプの点滅やプリン
タ8への出力等であってもよく、さらには、楽音発生回
路9、オーディオシステム10及びスピーカ11を使用
して、音としてテンポを出力してもよい。
【0099】このようにしてテンポの出力を終了すると
、図16の音階音検出処理を行なう(ステップP15)
【0100】次に、上記発生周期検出処理及びテンポ検
出処理のうち発生周期検出処理について、図18を参考
にして詳細に説明する。図18は、上記音階検出装置5
で検出した音階音のエンベロープカーブを示しており、
図18中波線は、最大エンベロープ値Etmaxの90
%値を示している。CPU2は、図18に■から■に示
した4つのブロックに分けてエンベロープ値を検出し、
発生周期の検出を行なうこととなる。
【0101】以下、各ブロック毎に、図17に示した検
出処理の流れを説明する。 ブロック■での検出処理 図18のブロック■においては、ステップP4において
、エンベロープ値Et(n)は、最大エンベロープ値E
tmaxよりも小さいため、ステップP5に移行して、
最大エンベロープ値Etmaxとしてそのときのエンベ
ロープ値Et(n)をエンベロープ最大値レジスタに格
納し、ステップP8に移行して、タイマー処理を行なっ
た後、ステップP11で、カウントスタートフラグTc
sfをチェックする。ここでは、まだカウントスタート
フラグTcsfがセットされていないため、ステップP
13に移行して、全バンドの発生周期の検出が終了した
かチェックする。いま、全バンドの発生周期の検出を終
了していないので、ステップP14でバンド切り換えを
行なった後、ステップP4に移行して、同様に、次のバ
ンドについてエンベロープ値Et(n)が最大エンベロ
ープ値Etmaxに達したかどうかチェックする。全て
のバンドについてそのときのエンベロープ値Et(n)
に対して上記処理を終了すると、ステップP15に移行
して所定時間経過したかどうかチェックし、所定時間経
過していないときには、ステップP1に戻って、次のサ
ンプリングタイミングにおける音階検出処理から同様の
処理を繰り返して行なう。
【0102】すなわち、ブロック■では、検出した音階
音のエンベロープ値Et(n)は、常に最大エンベロー
プ値Etmaxよりも大きいため、まず、検出対象とす
る各音階音について、以下のステップの処理を繰り返し
行なう。
【0103】ステップP1→ステップP2→ステップP
3→ステップP4→ステップP5→ステップP8→ステ
ップP11→ステップP13→ステップP14→ステッ
プP4→ステップP5→ステップP8→ステップP11
→ステップP13→ステップP14→ステップP4
【0
104】この処理を検出対象とする各音階音について行
なうと、ブロック■の処理が終了するまで、ステップP
1に戻ってそのときのサンプリングタイミングにおける
音階音について上記ステップの処理を繰り返して行なう
【0105】その後、ステップP4で、エンベロープ値
Et(n)が最大エンベロープ値Etmaxと等しくな
ると、検出した複数の音階音についてそれぞれ最大エン
ベロープ値Etmaxを検出することができ、ブロック
■の処理に移行する。
【0106】ブロック■での検出処理 ブロック■では、ブロック■で最大エンベロープ値Et
maxとして検出した音階音のエンベロープ値Et(n
)の最大値が登録されており、その後検出するエンベロ
ープ値Et(n)は、図18では、最大エンベロープ値
Etmaxよりも小さい値となる。
【0107】したがって、ブロック■では、ステップP
4において、最大エンベロープ値Etmax≧エンベロ
ープ値Et(n)の条件が満たされるため、ステップP
6に移行し、ステップP6で、最大エンベロープ値Et
max×0.9とエンベロープ値Et(n)とが比較さ
れる。このとき、図18のブロック■では、常に、最大
エンベロープ値Etmax×0.9≧エンベロープ値E
t(n)の条件は満足されず、処理は、ステップP9に
移行する。ステップP9で、カウントスタートフラグT
csfが0かどうかチェックし、最初は、カウントスタ
ートフラグTcsfがセットされておらず、0であるの
で、ステップP10に移行する。ステップP10で、カ
ウントスタートフラグTcsf及びカウントフラグTc
fをセットし、ステップP8で、タイマー処理を行なっ
た後、ステップP11に移行して、カウントスタートフ
ラグTcsfがセットされているかどうかチェックする
。いま、ステップP10でカウントスタートフラグTc
sfをセットしたので、ステップP12に移行し、カウ
ントスタートフラグTcsfのリセットおよびタイムカ
ウンタのカウント値のタイムレジスタへのセットを行な
った後、タイムカウンタをリセットして、ステップP1
3に移行する。ステップP13で、全バンドの発生周期
の検出を終了したかどうかチェックする。いま、一つ目
のバンドのブロック■を処理中であるので、ステップP
14でバンドの切り換えを行なった後、ステップP4に
移行して、次のバンドの最大エンベロープ値Etmax
とエンベロープ値Et(n)とを比較する。
【0108】この処理を全てのバンドについて行ない、
全てのバンドについて上記処理を完了すると、ステップ
P13からステップP15に移行して所定時間検出処理
を行なったかチェックする。所定時間検出処理を行なっ
ていないときには、ステップP1に戻って次のサンプリ
ングタイミングの音階音の検出処理を行ない、検出した
音階音の各バンドについて同様に発生周期の検出処理を
行なう。
【0109】次のサンプリングタイミングでサンプリン
グした音階音については、ブロック■では、ステップP
4で、最大エンベロープ値Etmax≧エンベロープ値
Et(n)の条件を満たしているので、ステップP6に
移行し、また、ステップP6で、最大エンベロープ値E
tmax×0.9≧エンベロープ値Et(n)を満たし
ていないので、ステップP9に移行する。ステップP9
では、前のサンプリングタイミングでサンプリングした
音階音についての処理時にステップP10でカウントフ
ラグTcfをリセットしているので、そのままステップ
P8に移行し、タイマー処理を行なった後、ステップP
11で、カウントスタートフラグTcsfがセットされ
ているかどうかチェックする。ステップP11では、同
様に前の処理のステップP11においてカウントスター
トフラグTcsfをリセットしているので、そのままス
テップP13に移行し、全バンドの発生周期の検出が終
了したかどうかチェックする。全バンドについて、以下
、エンベロープ値Et(n)が最大エンベロープ値Et
maxの90%になるまで同様の処理を繰り返す。
【0110】すなわち、ブロック■では、図18のよう
なエンベロープ値Et(n)をとるものにおいては、常
に、エンベロープ値Et(n)が最大エンベロープ値E
tmaxよりも小さく、かつエンベロープ値Et(n)
が最大エンベロープ値Etmaxの90%値よりも小さ
いので、検出した各音階音について以下の処理を行なう
【0111】ステップP4→ステップP6→ステップP
9→ステップP10→ステップP8→ステップP11→
ステップP12→ステップP13→ステップP14→ス
テップP4→ステップP6→ステップP9→ステップP
8→ステップP11→ステップP13→ステップP14
→ステップP4
【0112】全てのバンドについて上記
処理を行なうと、ステップP1に戻って次のサンプリン
グタイミングで検出された音階音に対して同様に発生周
期の検出処理を行ない、ステップP6で、エンベロープ
値Et(n)が最大エンベロープ値Etmaxの90%
の値に達すると、ステップP7に移行して、カウントフ
ラグTcfをリセットして、次のブロック■の処理に進
む。
【0113】なお、上記ブロック■の処理において、エ
ンベロープ値Et(n)が、一旦最大値を取り、その後
エンベロープ値Et(n)が下降した後、再び上昇して
一旦取った最大エンベロープ値Etmaxを越えたとき
には、ステップP4で、最大エンベロープ値Etmax
≧エンベロープ値Et(n)が満足されず、ステップP
5に移行して、再びブロック■の処理を行なうことにな
る。その後、エンベロープ値Et(n)が最大エンベロ
ープ値Etmaxを取ってブロック■の領域に移行する
と、上記ブロック■の処理を最初からやり直すことにな
る。すなわち、一旦エンベロープ値Et(n)のピーク
値があってもその後に再度エンベロープ値Et(n)が
上昇してピーク値が発生すると、再度発生したエンベロ
ープ値Et(n)のピーク値、すなわち真の最大エンベ
ロープ値Etmaxからタイマー処理をやり直す。
【0114】したがって、エンベロープ値Et(n)の
最大値を検出し、その最大値からクロックをカウントす
るというタイマー処理を的確に行なうことができる。
【0115】ブロック■での検出処理 ブロック■では、エンベロープ値Et(n)は、最大エ
ンベロープ値Etmaxの90%値よりも常に小さいた
め、ステップP4からステップP6に移行し、さらにス
テップP7に移行する。ステップP7でカウントフラグ
Tcfをリセットして、ステップP8で、タイマー処理
を行なった後、ステップP11で、カウントスタートフ
ラグTcsfがセットされているかどうかチェックする
。カウントスタートフラグTcsfは、ブロック■での
ステップP10によりセットされた後、ステップP12
でリセットされているので、ステップP11からそのま
まステップP13に移行し、全バンドの発生周期の検出
処理が終了したかどうかチェックする。ステップP13
で、全てのバンドについて発生周期の検出を終了してい
ないときには、ステップP14でバンドの切り換えを行
なった後、ステップP4に移行して、同様に発生周期の
検出を行なう。全てのバンドについて処理が終了すると
、ステップP15に移行して所定時間経過したかどうか
チェックし、まだ処理が完了していないときには、ステ
ップP1に戻って次のサンプリングタイミングの音階音
の検出から同様に処理を行なう。
【0116】すなわち、ブロック■では、各バンド毎に
以下の処理を行ない、1回目では、最大エンベロープ値
Etmaxの時点から発生周期のカウントを開始する。
【0117】ステップP4→ステップP6→ステップP
7→ステップP8→ステップP11→ステップP13→
ステップP14→ステップP4
【0118】ステップP6で、エンベロープ値Et(n
)が最大エンベロープ値Etmaxの90%値に達する
と、ステップP9移行し、次のブロック■の検出処理を
行なう。
【0119】ブロック■での検出処理 ブロック■では、エンベロープ値Et(n)が最大エン
ベロープ値Etmaxの90%値に達したので、ステッ
プP6からステップP9に移行し、ステップP9でカウ
ントフラグTcfがリセットされているかどうかチェッ
クする。いまカウントフラグTcfは、ブロック■のス
テップP7でリセットされているので、ステップP10
に移行し、カウントスタートフラグTcsf及びカウン
トフラグTcfをセットして、ステップP8のタイマー
処理を行なう。タイマー処理を行なうと、ステップP1
1に移行してカウントスタートフラグTcsfがセット
されているかどうかチェックする。いまステップP10
でカウントスタートフラグTcsfをセットしたので、
ステップP12に移行し、カウントスタートフラグTc
sfのリセット及びタイムカウンタのカウント値のタイ
ムレジスタへの格納を行なった後、タイムカウンタをリ
セットする。これにより現在処理中のバンドのタイムカ
ウンタのカウント値がタイムレジスタに格納され、検出
を開始してから最初に検出した発生周期がタイムレジス
タに格納される。
【0120】発生周期のタイムレジスタへの格納が完了
すると、ステップP13に移行して、全てのバンドにつ
いて処理が終了したかどうかチェックし、全てのバンド
について処理が終了していないときには、ステップP1
4でバンドの切り換えを行なって同様に、次のバンドの
発生周期のタイムレジスタへの格納を行なう。ステップ
P13で、全てのバンドについて処理が終了したときに
は、ステップP15に移行して所定時間発生周期の検出
処理を行なったかどうかチェックする。いま、一回目の
発生周期の検出を完了したところであるので、ステップ
P1に戻って、次のサンプリング周期の音階音の検出処
理から同様に処理を繰り返して行なう。
【0121】すなわち、上記ブロック■からブロック■
までの処理を行なうことにより、各音階音の発生周期を
検出することができるが、一回目の検出処理においては
、図18にt1で示す期間の発生周期が検出されること
になる。ところが、このt1の期間は、発生周期として
は、正確ではないので、上記発生周期の検出を所定時間
、すなわち、複数の発生周期の時間だけ発生周期の検出
を行なう。
【0122】2回目の発生周期の検出では、上記ブロッ
ク■の説明でも分るように、タイムカウンタのリセット
がブロック■の開始時点で行なわれ、この時点から次の
発生周期のタイマー処理を開始している。したがって、
2回目からの発生周期の検出処理では、ブロック■の開
始時点から次のエンベロープ値カーブのブロック■の開
始時点までを発生周期としてカウントすることになり、
発生周期として正しい発生周期を検出することができる
。そこで、本実施例では、上述のように、この発生周期
の検出を所定時間、すなわち、複数の発生周期の時間だ
け行なって、検出した複数の発生周期を順次別々のタイ
ムレジスタに格納する。したがって、正確な発生周期を
検出することができる。
【0123】したがって、図19に示すように、図19
(a)に示すような入力音響信号に対して、例えば、2
00Hz、160Hz、130Hz及び100Hzで音
階音を検出すると、各バンドについてそのエンベロープ
カーブは、図19(b)から(e)に示すようになる。 これらの各バンドのエンベロープカーブに対して発生周
期の検出を行なうことができ、しかも、各バンドについ
て複数の発生周期を検出することができる。
【0124】上記発生周期の検出処理を所定時間行なう
と、ステップP15からステップP16に移行し、最初
のタイムレジスタの値をクリアして、上述のように1回
目に検出した不正確な発生周期を捨てる。これにより、
発生周期として正確な発生周期のみを発生周期として採
用することができる。このようにして正確な発生周期の
みを残すと、次に、ステップP17に移行して、上述の
ように、各バンド毎に検出した発生周期の平均値を計算
する。したがって、検出した複数の発生周期に基づいて
各バンドの発生周期を検出しているので、検出した各バ
ンドのエンベロープ値が図18や図19に示したような
きれいな形状のエンベロープカーブを描くものでない場
合にも、正確に発生周期を検出することができる。各バ
ンド毎の発生周期の平均値を検出すると、次に、この各
バンド毎の発生周期の平均値を演算し、この平均発生周
期を入力音響信号の発生周期として採用する。したがっ
て、複数のバンドの平均値を入力音響信号の発生周期と
して採用しているので、入力音響信号の音階構成に影響
されることなく、正確に入力音響信号の発生周期を検出
することができる。
【0125】平均発生周期が求まると、次に、この平均
発生周期と、あらかじめキーボード6から指定された拍
子の種類に基づいて、上述のようにテンポを計算する。 したがって、入力音響信号のテンポを簡単、かつ正確に
検出することができる。
【0126】なお、上記実施例においては、4つの音階
音に基づいて発生周期を検出し、テンポを検出している
が、これに限るものではなく、対象とする音階音(バン
ド)の数は、限定されるものではない。また、上記実施
例では、各音階音に対して、複数回発生周期を検出して
、その平均値を発生周期としているが、これに限るもの
ではない。ただ、上記実施例のように、複数回発生周期
を検出し、その平均値を発生周期として採用することに
より、より一層正確な発生周期を検出することができる
。その結果、より一層正確なテンポを検出することがで
きる。
【0127】また、上記実施例において、各バンドの1
回目に検出した発生周期を機械的に捨てる処理を行なっ
ているが、これに限るものではなく、例えば、検出した
各発生周期を比較し、所定値以上に相違のある発生周期
を捨てるようにして、残りの発生周期の平均値から入力
信号の発生周期を求めるようにしてもよい。
【0128】
【発明の効果】請求項1記載の発明によれば、ピアノ等
の楽器や電子楽器等から発生された音響信号からその発
生周期を検出し、発生周期から入力音響信号のテンポを
検出することができる。したがって、入力される音響信
号のテンポを容易、かつ正確に検出することができ、音
楽的な素養・知識等がなく、また熟練していなくても、
音階検出や自動同期演奏等を簡単、かつ容易に行なうこ
とができる。
【0129】請求項2記載の発明によれば、入力音響信
号の複数の音階音のそれぞれについてそのエンベロープ
値の最大値を検出するとともに、その最大値に対して最
大値以下で、かつ所定割合以上のエンベロープ値が連続
しているものを最適最大値として検出して、該最適最大
値間の時間を音階音の発生周期として検出し、検出した
各音階音毎の発生周期の平均値を求め、該平均値と前記
拍子指定手段により指定された拍子に基づいてテンポを
検出しているので、音階音の発生周期を正確に検出する
ことができ、入力音響信号のテンポを正確に検出するこ
とができる。したがって、音階検出や自動同期演奏等を
正確に行なうことができる。
【0130】請求項3記載の発明によれば、入力音響信
号の複数の音階音のそれぞれについて、そのエンベロー
プ値の最大値を検出するとともに、該最大値に対して最
大値以下で、かつ所定割合以上のエンベロープ値が連続
しているものを最適最大値として検出し、該最大値間の
時間を単位小節として、複数の単位小節の平均値を求め
て、該平均値を前記音階音の発生周期として検出し、検
出した各音階音毎の発生周期の平均値を求め、該平均値
と前記拍子指定手段により指定された拍子に基づいてテ
ンポを検出しているので、音階音の発生周期を複数の単
位小節に基づいて検出することができ、またテンポを当
該複数の単位小節により求めた発生周期に基づいて検出
することができる。したがって、音階音の発生周期をよ
り一層正確に検出することができ、入力音響信号のテン
ポをより一層正確に検出することができる。その結果、
音階検出や自動同期演奏等をより一層正確に行なうこと
ができる。
【0131】請求項4及び請求項5記載の発明によれば
、検出した各音階音毎の発生周期を比較し、所定以上の
相違のある音階音の発生周期を除外して各音階音の発生
周期の平均値を求め、該平均値とあらかじめ指定された
拍子に基づいてテンポを検出し、また入力音響信号の複
数の音階音のそれぞれについて、そのエンベロープ値の
最大値を検出するとともに、該最大値に対して最大値以
下で、かつ所定割合以上のエンベロープ値が連続してい
るものを最適最大値として検出し、該最適最大値間の時
間のバラツキを検出して、該バラツキが所定値以上のと
きには、該最適最大値の前後の時間を適宜積算した時間
を前記音階音の発生周期として検出しているので、ノイ
ズや他の周波数帯域の音階音の影響を受けることなく、
入力音響信号のテンポを正確に検出することができる。 したがって、音階検出や自動同期演奏等をより一層正確
に行なうことができる。
【0132】請求項6から請求項9記載の発明によれば
、信号処理を全てディジタル領域で行なうことができ、
より一層高速で、かつ効率的に音階抽出処理を行なうこ
とができる。
【図面の簡単な説明】
【図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のDSP44の内部回路構成図。
【図16】図15のDSP44によるディジタルフィル
タ処理及びエンベロープ抽出処理のフローチャート。
【図17】DSPにより検出された音階音に対する発生
周期検出処理及びテンポ検出処理を示すフローチャート
【図18】図17に示す発生周期検出処理がエンベロー
プカーブに対してどのように行なわれるかを説明するた
めのエンベロープカーブを示す図。
【図19】図17に示す発生周期検出処理が複数の音階
音に対して行なわれることを説明するための図。
【符号の説明】
1    楽音発生装置 2    CPU 3    ROM 4    RAM 5    音階検出装置 6    キーボード 7    ディスプレイ 8    プリンタ 9    楽音発生回路 10    オーディオシステム 11    スピーカ 12    バス 44    DSP 45    フィルタ係数ROM 46    ワークRAM
【数9】

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】  音響信号を表現するディジタル波形信
    号に対して、異なる特性のディジタルフィルタリング処
    理を時分割で順次行うことにより各音階に対応した周波
    数に関する周波数スペクトルのエンベロープ値を検出す
    るディジタル信号処理手段と、ディジタル信号処理手段
    によるディジタルフィルタリングの処理結果に基づいて
    、前記音響信号に含まれる1乃至複数の所定周波数帯域
    の音階音を検出する音階検出手段と、入力される音響信
    号の拍子を指定する拍子指定手段と、前記音階検出手段
    の検出した音階音をそのエンベロープ値とともに記憶す
    る音階音記憶手段と、前記音階音記憶手段に記憶された
    音階音のエンベロープ値に基づいて当該音階音の発生周
    期を検出する周期検出手段と、前記周期検出手段の検出
    した音階音の発生周期と前記拍子指定手段により指定さ
    れた拍子に基づいてテンポを検出するテンポ検出手段と
    、前記テンポ検出手段の検出したテンポを所定の出力方
    法により出力するテンポ出力手段と、を備えたことを特
    徴とするテンポ検出装置。
  2. 【請求項2】  前記周期検出手段が、前記音階音記憶
    手段に記憶された複数の音階音のそれぞれについて、そ
    のエンベロープ値の最大値を検出するとともに、該最大
    値に対して最大値以下で、かつ所定割合以上のエンベロ
    ープ値が連続しているものを最適最大値として検出して
    、該最適最大値間の時間を前記音階音の発生周期として
    検出し、前記テンポ検出手段が、前記周期検出手段が検
    出した各音階音毎の発生周期の平均値を求め、該平均値
    と前記拍子指定手段により指定された拍子に基づいてテ
    ンポを検出することを特徴とする請求項1記載のテンポ
    検出装置。
  3. 【請求項3】  前記周期検出手段が、前記音階音記憶
    手段に記憶された複数の音階音のそれぞれについて、そ
    のエンベロープ値の最大値を検出するとともに、該最大
    値に対して最大値以下で、かつ所定割合以上のエンベロ
    ープ値が連続しているものを最適最大値として検出し、
    該最適最大値間の時間を単位小節として、複数の単位小
    節の平均値を求めて、該平均値を前記音階音の発生周期
    として検出し、前記テンポ検出手段が、前記周期検出手
    段が検出した各音階音毎の発生周期の平均値を求め、該
    平均値と前記拍子指定手段により指定された拍子に基づ
    いてテンポを検出することを特徴とする請求項1記載の
    テンポ検出装置。
  4. 【請求項4】  前記テンポ検出手段が、前記周期検出
    手段が検出した各音階音毎の発生周期を比較し、所定値
    以上の相違のある音階音の発生周期を除外して各音階音
    の発生周期の平均値を求め、該平均値と前記拍子指定手
    段により指定された拍子に基づいてテンポを検出するこ
    とを特徴とする請求項1、請求項2または請求項3記載
    のテンポ検出装置。
  5. 【請求項5】  前記周期検出手段が、前記音階音記憶
    手段に記憶された複数の音階音のそれぞれについて、そ
    のエンベロープ値の最大値を検出するとともに、該最大
    値に対して最大値以下で、かつ所定割合以上のエンベロ
    ープ値が連続しているものを最適最大値として検出し、
    該最適最大値間の時間のバラツキを検出して、該バラツ
    キが所定値以上のときには、該最適最大値の前後の時間
    を適宜積算した時間を前記音階音の発生周期として検出
    することを特徴とする請求項1、請求項2、請求項3ま
    たは請求項4記載のテンポ検出装置。
  6. 【請求項6】  前記ディジタル信号処理手段が、前記
    各音階に対応する周波数を中心周波数とするバンドパス
    フィルタリング処理を順次時分割で実行することを特徴
    とする請求項1、請求項2、請求項3請求項4または請
    求項5記載のテンポ検出装置。
  7. 【請求項7】  前記ディジタル信号処理手段が、前記
    各音階に対応する周波数を中心周波数とするバンドパス
    フィルタリング処理を順次時分割で実行するとともに、
    このバンドパスフィルタリング処理の結果得られる波形
    信号からエンベロープを抽出する信号処理演算を順次行
    なうことにより、前記各音階に対応する周波数に関する
    周波数スペクトルのエンベロープ値を検知することを特
    徴とする請求項1、請求項2、請求項3、請求項4また
    は請求項5記載のテンポ検出装置。
  8. 【請求項8】  前記ディジタル信号処理手段が、所定
    特性のハイパスフィルタリング処理を行なうとともに、
    前記各音階に対応する周波数でピークをもつレゾナンス
    が付加されたローパスフィルタリング処理を順次時分割
    で実行することを特徴とする請求項1、請求項2、請求
    項3、請求項4または請求項5記載のテンポ検出装置。
  9. 【請求項9】  前記ディジタル信号処理手段が、所定
    特性のハイパスフィルタリング処理を行なうとともに、
    前記各音階に対応する周波数で、ピークをもつレゾナン
    スが付加されたローパスフィルタリング処理を順次時分
    割で実行し、さらにこれらのディジタルフィルタリング
    処理の結果得られる波形信号からエンベロープを抽出す
    る信号処理演算を順次行なうことによって、前記各音階
    に対応する周波数に関する周波数スペクトルのエンベロ
    ープ値を検知することを特徴とする請求項1、請求項2
    、請求項3、請求項4または請求項5記載のテンポ検出
    装置。
JP03137288A 1991-05-13 1991-05-13 テンポ検出装置 Expired - Fee Related JP3127406B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03137288A JP3127406B2 (ja) 1991-05-13 1991-05-13 テンポ検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03137288A JP3127406B2 (ja) 1991-05-13 1991-05-13 テンポ検出装置

Publications (2)

Publication Number Publication Date
JPH04336599A true JPH04336599A (ja) 1992-11-24
JP3127406B2 JP3127406B2 (ja) 2001-01-22

Family

ID=15195184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03137288A Expired - Fee Related JP3127406B2 (ja) 1991-05-13 1991-05-13 テンポ検出装置

Country Status (1)

Country Link
JP (1) JP3127406B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10223735A1 (de) * 2002-05-28 2004-01-08 Red Chip Company Ltd. Verfahren und Vorrichtung zum Ermitteln von Rhythmuseinheiten in einem Musikstück
JP2005274708A (ja) * 2004-03-23 2005-10-06 Sony Corp 信号処理装置および信号処理方法、プログラム、並びに記録媒体
WO2007010637A1 (ja) * 2005-07-19 2007-01-25 Kabushiki Kaisha Kawai Gakki Seisakusho テンポ検出装置、コード名検出装置及びプログラム
US7373209B2 (en) 2001-03-22 2008-05-13 Matsushita Electric Industrial Co., Ltd. Sound features extracting apparatus, sound data registering apparatus, sound data retrieving apparatus, and methods and programs for implementing the same

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373209B2 (en) 2001-03-22 2008-05-13 Matsushita Electric Industrial Co., Ltd. Sound features extracting apparatus, sound data registering apparatus, sound data retrieving apparatus, and methods and programs for implementing the same
DE10223735A1 (de) * 2002-05-28 2004-01-08 Red Chip Company Ltd. Verfahren und Vorrichtung zum Ermitteln von Rhythmuseinheiten in einem Musikstück
DE10223735B4 (de) * 2002-05-28 2005-05-25 Red Chip Company Ltd. Verfahren und Vorrichtung zum Ermitteln von Rhythmuseinheiten in einem Musikstück
JP2005274708A (ja) * 2004-03-23 2005-10-06 Sony Corp 信号処理装置および信号処理方法、プログラム、並びに記録媒体
US7868240B2 (en) 2004-03-23 2011-01-11 Sony Corporation Signal processing apparatus and signal processing method, program, and recording medium
JP4650662B2 (ja) * 2004-03-23 2011-03-16 ソニー株式会社 信号処理装置および信号処理方法、プログラム、並びに記録媒体
WO2007010637A1 (ja) * 2005-07-19 2007-01-25 Kabushiki Kaisha Kawai Gakki Seisakusho テンポ検出装置、コード名検出装置及びプログラム
US7582824B2 (en) 2005-07-19 2009-09-01 Kabushiki Kaisha Kawai Gakki Seisakusho Tempo detection apparatus, chord-name detection apparatus, and programs therefor

Also Published As

Publication number Publication date
JP3127406B2 (ja) 2001-01-22

Similar Documents

Publication Publication Date Title
US5157215A (en) Electronic musical instrument for modulating musical tone signal with voice
US5202528A (en) Electronic musical instrument with a note detector capable of detecting a plurality of notes sounded simultaneously
JP4293712B2 (ja) オーディオ波形再生装置
JP2006146095A (ja) データ合成装置およびデータ合成処理のプログラム
JPS6097397A (ja) 音響解析装置
JPH04336599A (ja) テンポ検出装置
JPS5925235B2 (ja) 電子楽器
JPS6332196B2 (ja)
JP3156299B2 (ja) 和音データ生成装置、伴奏音データ生成装置、および楽音発生装置
JP3132038B2 (ja) 和音判別装置及びそれを用いた自動伴奏装置
JP3149466B2 (ja) ピッチ抽出装置及びそれを用いた電子楽器
JP3185266B2 (ja) 楽音発生装置
JP3118863B2 (ja) 音階検出装置を用いた楽音発生装置
JPH0535277A (ja) 電子楽器
JP3258318B2 (ja) 音声制御電子楽器
JPH052390A (ja) 楽音変調装置および楽音変調装置を用いた電子楽器
JP3166197B2 (ja) 音声変調装置および音声変調装置を内蔵した電子楽器
JP3168708B2 (ja) 音階検出装置
JPH05346787A (ja) 音声制御楽音発生装置
JPH07306681A (ja) 楽音生成装置
JP3149097B2 (ja) 音響成分抽出装置、それを用いた電子楽器、及び周波数成分抽出装置
JPS6091227A (ja) 音響解析装置の合成装置
JP3226255B2 (ja) 楽音合成システム
JP3216185B2 (ja) 効果付加装置
JPH04307597A (ja) 音階検出装置及びそれを用いた楽音発生装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20071110

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081110

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081110

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091110

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101110

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees