(57)【要約】【課題】  周波数分析処理にかかる処理負荷を格段と低減し得るようにする。【解決手段】  この周波数分析部１１は、順次供給されるＮ個の離散音楽信号ｘ（０）、ｘ（１）、ｘ（２）……、ｘ（Ｎ−１）から、偶数番目スペクトル値Ｘ（０）、Ｘ（２）、Ｘ（４）、……又は奇数番目スペクトル値Ｘ（１）、Ｘ（３）、Ｘ（５）、……を交互に算出するようにしたことにより、高速フーリエ変換処理における偶数番目スペクトル値算出処理部分Ｐ１又は奇数番目スペクトル値算出処理部分Ｐ２の何れかを毎回省くことができ、かくしてその複素演算処理回数を減らすことができる。【選択図】          図４
2006337282.tif 000002
【特許請求の範囲】
【請求項１】
時間方向に並ぶ複数のサンプルから、一部のサンプルをオーバーラップさせながら特定数のサンプルを順次抽出し、当該抽出されたサンプルに対して窓関数処理を施した後に周波数分析を行う周波数分析方法において、
第１の特定数のサンプルに対して窓関数処理されたサンプルを周波数分析して少なくとも一部の偶数スペクトル成分を算出し、
既に記憶手段に記憶されている偶数スペクトル成分と上記算出された偶数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいてより大きい偶数スペクトル成分を記憶するようにそれぞれ更新し、
上記第１の特定数のサンプルと一部オーバーラップする第２の特定数のサンプルに対して窓関数処理されたサンプルを周波数分析して少なくとも一部の奇数スペクトル成分を算出し、
既に記憶手段に記憶されている奇数スペクトル成分と上記算出された奇数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいてより大きい奇数スペクトル成分を記憶するようにそれぞれ更新し、
上記更新された偶数スペクトル成分及び奇数スペクトル成分の読み出し要求に応じて、上記更新された偶数スペクトル成分及び奇数スペクトル成分を記憶手段から読み出し、
上記更新された偶数スペクトル成分及び奇数スペクトル成分を記憶手段から読み出した後、上記更新された偶数スペクトル成分及び奇数スペクトル成分を初期化する
ことを特徴とする周波数分析方法。
【請求項２】
上記読み出し要求に応じて読み出された偶数スペクトル成分及び奇数スペクトル成分を結合し、当該結合結果を周波数分析結果として出力する
ことを特徴とする請求項１に記載の周波数分析方法。
【請求項３】
上記読み出し要求に応じて読み出された偶数スペクトル成分の各々に隣接する奇数スペクトル成分を、隣接する偶数スペクトル成分と同じ値としてそれぞれ補完することにより第１の補完後スペクトルデータを生成し、
上記読み出し要求に応じて読み出された奇数スペクトル成分の各々に隣接する偶数スペクトル成分を、隣接する奇数スペクトル成分と同じ値としてそれぞれ補完することにより第２の補完後スペクトルデータを生成し、
上記第１及び第２の補完後スペクトルデータにおけるスペクトル成分を周波数ごとに比較し、当該比較結果に基づいてより大きいスペクトル成分をそれぞれ選択し、当該選択結果を周波数分析結果として出力する
ことを特徴とする請求項１に記載の周波数分析方法。
【請求項４】
上記読み出し要求に応じて読み出された偶数スペクトル成分の各々に隣接する奇数スペクトル成分を、隣接する偶数スペクトル成分で線形補完することにより第１の補完後スペクトルデータを生成し、
上記読み出し要求に応じて読み出された奇数スペクトル成分の各々に隣接する偶数スペクトル成分を、隣接する奇数スペクトル成分で線形補完することにより第２の補完後スペクトルデータを生成し、
上記第１及び第２の補完後スペクトルデータにおけるスペクトル成分を周波数ごとに比較し、当該比較結果に基づいてより大きいスペクトル成分をそれぞれ選択し、当該選択結果を周波数分析結果として出力する
ことを特徴とする請求項１に記載の周波数分析方法。
【請求項５】
上記読み出された偶数スペクトル成分及び奇数スペクトル成分に基づき画像を表示する
ことを特徴とする請求項１に記載の周波数分析方法。
【請求項６】
時間方向に並ぶ複数のサンプルから、一部のサンプルをオーバーラップさせながら特定数のサンプルを順次抽出し、当該抽出されたサンプルに対して窓関数処理を施した後に周波数分析を行う周波数分析装置において、
第１の特定数のサンプルに対して窓関数処理されたサンプルを周波数分析して少なくとも一部の偶数スペクトル成分を算出し、当該第１の特定数のサンプルと一部オーバーラップする第２の特定数のサンプルに対して窓関数処理されたサンプルを周波数分析して少なくとも一部の奇数スペクトル成分を算出する周波数分析手段と、
上記周波数分析手段により算出された上記偶数スペクトル成分及び奇数スペクトル成分を記憶する記憶手段と、
上記記憶手段に既に記憶されている偶数スペクトル成分と上記算出された偶数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいて上記記憶手段に記憶される偶数スペクトル成分をより大きい偶数スペクトル成分にそれぞれ更新すると共に、上記記憶手段に既に記憶されている奇数スペクトル成分と上記算出された奇数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいて上記記憶手段に記憶される奇数スペクトル成分をより大きい奇数スペクトル成分にそれぞれ更新する更新手段と、
上記更新された偶数スペクトル成分及び奇数スペクトル成分の読み出し要求に応じて、上記記憶手段から上記更新された偶数スペクトル成分及び奇数スペクトル成分を読み出す読出手段と
を具えることを特徴とする周波数分析装置。
【請求項７】
上記読出手段による上記更新された偶数スペクトル成分及び奇数スペクトル成分の読み出し後、上記記憶手段に記憶される上記更新された偶数スペクトル成分及び奇数スペクトル成分を初期化する
ことを特徴とする請求項６に記載の周波数分析装置。
【請求項８】
時間方向に並ぶ複数のサンプルから、一部のサンプルをオーバーラップさせながら特定数のサンプルを順次抽出し、当該抽出されたサンプルに対して窓関数処理を施した後に周波数分析を行う周波数分析プログラムにおいて、
第１の特定数のサンプルに対して窓関数処理されたサンプルを周波数分析して少なくとも一部の偶数スペクトル成分を算出し、当該第１の特定数のサンプルと一部オーバーラップする第２の特定数のサンプルに対して窓関数処理されたサンプルを周波数分析して少なくとも一部の奇数スペクトル成分を算出する周波数分析ステップと、
記憶手段に既に記憶されている偶数スペクトル成分と上記算出された偶数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいて上記記憶手段に記憶される偶数スペクトル成分をより大きい偶数スペクトル成分にそれぞれ更新すると共に、記憶手段に既に記憶されている奇数スペクトル成分と上記算出された奇数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいて上記記憶手段に記憶される奇数スペクトル成分をより大きい奇数スペクトル成分にそれぞれ更新する更新ステップと、
上記更新された偶数スペクトル成分及び奇数スペクトル成分の読み出し要求に応じて、上記記憶手段から上記更新された偶数スペクトル成分及び奇数スペクトル成分を読み出す読出ステップと
をコンピュータに実行させることを特徴とする周波数分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は周波数分析方法、周波数分析装置及び周波数分析プログラムに関し、例えば、音楽データに基づいて音楽を再生しながらこの音楽データの周波数分析結果に基づいて視覚的データを出力する音楽再生装置に適用して好適なものである。
【背景技術】
【０００２】
従来この種の音楽再生装置としては、音楽データに基づいて音楽を再生する音楽再生処理を実行しながら再生される音楽データに対して周波数分析処理を実行し、当該周波数分析結果に基づいて視覚的データを表示するものがある（例えば特許文献１参照）。因みにこの周波数分析処理には、例えば、高速フーリエ変換（Fast Fourier Transform : FFT）等のアルゴリズムが適用される。またこの表示される視覚的データは、例えば、音楽データの周波数分布を表したバーグラフ等に相当する。
【特許文献１】特開平１−２９６１６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところでかかる構成の音楽再生装置では、例えば、音楽再生処理や周波数分析処理を実行する処理実行部の処理能力が十分でないと、周波数分析処理にかかる処理負荷が大きいことから音楽再生処理を十分に実行できなくなる場合があり、この場合には再生される再生音楽に音切れが発生する等の不具合が生じてしまう問題があった。
【０００４】
本発明は以上の点を考慮してなされたもので、周波数分析処理にかかる処理負荷を格段と低減し得る周波数分析方法、周波数分析装置及び周波数分析プログラムを提案しようとするものである。
【課題を解決するための手段】
【０００５】
かかる課題を解決するため本発明においては、時間方向に並ぶ複数のサンプルから、一部のサンプルをオーバーラップさせながら特定数のサンプルを順次抽出し、当該抽出されたサンプルに対して窓関数処理を施した後に周波数分析を行う周波数分析方法において、第１の特定数のサンプルに対して窓関数処理されたサンプルを周波数分析して少なくとも一部の偶数スペクトル成分を算出し、既に記憶手段に記憶されている偶数スペクトル成分と算出された偶数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいてより大きい偶数スペクトル成分を記憶するようにそれぞれ更新し、第１の特定数のサンプルと一部オーバーラップする第２の特定数のサンプルに対して窓関数処理されたサンプルを周波数分析して少なくとも一部の奇数スペクトル成分を算出し、既に記憶手段に記憶されている奇数スペクトル成分と算出された奇数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいてより大きい奇数スペクトル成分を記憶するようにそれぞれ更新し、更新された偶数スペクトル成分及び奇数スペクトル成分の読み出し要求に応じて、更新された偶数スペクトル成分及び奇数スペクトル成分を記憶手段から読み出し、更新された偶数スペクトル成分及び奇数スペクトル成分を記憶手段から読み出した後、更新された偶数スペクトル成分及び奇数スペクトル成分を初期化するようにした。
【０００６】
これにより、周波数分析する際に奇数スペクトル成分又は偶数スペクトル成分のいずれかだけを算出するようにすることができ、かくして周波数分析にかかる演算量をその分減らすことができる。
【発明の効果】
【０００７】
本発明によれば、周波数分析する際に奇数スペクトル成分又は偶数スペクトル成分のいずれかだけを算出するようにすることができ、かくして周波数分析にかかる演算量をその分減らすことができる。この結果、周波数分析処理にかかる処理負荷を格段と低減することができる。
【発明を実施するための最良の形態】
【０００８】
以下図面について、本発明の一実施の形態を詳述する。
【０００９】
（１）概要
図１及び図２を用いて本実施の形態の概要を説明する。因みにこの概要を説明した後、本実施の形態を具体的に説明する。
【００１０】
図１に示す周波数分析装置１００は、図２に示すような時間方向に並ぶ複数のサンプルから、一部のサンプルをオーバーラップさせながら特定数のサンプルを順次抽出し、当該抽出されたサンプルに対して窓関数処理を施した後に周波数分析を行うようになされている。
【００１１】
具体的に説明するとこの周波数分析装置１００の窓関数処理部１０１は、第１の特定数のサンプルに対して窓関数処理を施す。そしてこの周波数分析装置１００の周波数分析部１０２は、窓関数処理された後のサンプルを周波数分析して少なくとも一部の偶数スペクトル成分を算出する。
【００１２】
同じようにこの周波数分析装置１００の窓関数処理部１０１は、第２の特定数のサンプルに対して窓関数処理を施す。そしてこの周波数分析装置１００の周波数分析部１０２は、窓関数処理された後のサンプルを周波数分析して少なくとも一部の奇数スペクトル成分を算出する。
【００１３】
さらにこの周波数分析装置１００は、周波数分析部１０２により算出された偶数スペクトル成分及び奇数スペクトル成分を記憶するための記憶部１０３を有する。
【００１４】
周波数分析装置１００の更新部１０４は、記憶部１０３に既に記憶されている偶数スペクトル成分と周波数分析部１０２により算出された偶数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいて記憶部１０３に記憶される偶数スペクトル成分をより大きい偶数スペクトル成分にそれぞれ更新すると共に、記憶部１０３に既に記憶されている奇数スペクトル成分と周波数分析部１０２により算出された奇数スペクトル成分とを周波数ごとに比較し、当該比較結果に基づいて記憶部１０３に記憶される奇数スペクトル成分をより大きい奇数スペクトル成分にそれぞれ更新するようになされている。
【００１５】
またこの周波数分析装置１００は、外部から入力される読み出し要求に応じて、記憶部１０３に記憶されている偶数スペクトル成分及び奇数スペクトル成分を読み出す読出部１０５を有する。
【００１６】
（２）本実施の形態における音楽再生装置の構成
次に、本実施の形態を具体的に説明する。図３において、１は全体として音楽再生装置を示し、この音楽再生装置１全体を統括的に制御するＣＰＵ（Central Processing Unit）２は、ユーザにより操作入力部３及び入力処理部４を介して再生命令信号が入力されると、これに応じて例えばハードディスクドライブ５に記憶されている音楽データを再生処理部６で再生することにより音楽をスピーカ７から放音する。
【００１７】
このようにしてこの音楽再生装置１は、ハードディスクドライブ５に記憶されている音楽データに基づいて音楽を再生する音楽再生処理を実行することができる。
【００１８】
因みに本実施の形態の場合このハードディスクドライブ５に記憶されている音楽データは、例えば、ネットワーク８、ネットワークインターフェース９及び通信処理部１０を順次介してダウンロードされたもの等に相当する。
【００１９】
またこの音楽再生装置１のＣＰＵ２は、音楽再生処理している音楽データに対して抽出処理し、この抽出処理の結果得られた離散的な離散音楽信号を周波数分析部１１に対して入力する。この周波数分析部１１は、当該入力された離散音楽信号に対して周波数分析処理を実行し、当該周波数分析結果を示した周波数分析結果データを生成する。
【００２０】
そして音楽再生装置１のＣＰＵ２は、周波数分析部１１から周波数分析結果データを取得し、当該取得した周波数分析結果データを画像生成部１２に対して入力する。この画像生成部１２は、当該入力された周波数分析結果データに示されている音楽信号の周波数分析結果に基づいて、例えば再生音楽の曲調を示す再生曲調画像データを生成し、当該生成した再生曲調画像データを画像表示処理部１３に対して供給する。かくしてこの画像表示処理部１３は、当該供給された再生曲調画像データに基づく画像を表示部１４に表示する。
【００２１】
このようにしてこの音楽再生装置１は、音楽データに基づいて音楽を再生する音楽再生処理を実行しながら、当該音楽再生処理されている音楽データに対して周波数分析処理を実行しこの結果に応じた画像を表示部１４に表示することができ、かくして再生音楽と連動した視覚的効果をユーザに対して提供することができる。
【００２２】
次に、周波数分析部１１により実行される周波数分析処理について説明する。ここでは、最初に第１の手法による周波数分析処理を説明した後、この第１の手法と比べて処理負荷を低減させた第２の手法による周波数分析処理を説明する。因みに本実施の形態の周波数分析部１１は、第２の手法による周波数分析処理を実行するようになされている。
【００２３】
まず、図４及び図５を参照して第１の手法による周波数分析処理を説明する。音楽再生装置１のＣＰＵ２は、音楽再生処理している音楽データを抽出処理することにより離散音楽信号を順次得ると共に、これを時間的に連続するようにＮ／２個ずつ周波数分析部１１内の窓関数処理部２１及びバッファ２２に供給する。
【００２４】
このバッファ２２は、当該供給されたＮ／２個の離散音楽信号を記憶保持する。そしてこのバッファ２２は、ＣＰＵ２側から新たなＮ／２個の離散音楽信号が供給される度に、当該記憶保持していたＮ／２個の離散音楽信号を窓関数処理部２１に供給する。
【００２５】
これにより窓関数処理部２１は、ＣＰＵ２側からＮ／２個の離散音楽信号が供給される度に、バッファ２２から前回分のＮ／２個の離散音楽信号が供給され、その結果時間的に連続したＮ個の離散音楽信号を毎回取得することができる。その上、当該毎回取得するＮ個の離散音楽信号における前半部分が、前回取得したＮ個の離散音楽信号における後半部分と同じものになる（オーバーラップ処理）。かくして窓関数処理部２１は、過渡的に変化する離散音楽信号をとりこぼしなく取得することができる。
【００２６】
この窓関数処理部２１は、このＮ個の離散音楽信号が供給される度に、当該供給されたＮ個の離散音楽信号を１つの窓として窓関数処理を施し、当該窓関数処理を施したＮ個の離散音楽信号を周波数分析器２３に対して供給する。この窓関数処理では、このＮ個の離散音楽信号に対してHanning窓やHamming窓やBlackman窓等の窓関数を用いた演算処理を実行し、これにより窓の左端付近における離散音楽信号の信号値と窓の右端付近における離散音楽信号の信号値との差を小さくする。かくして、このＮ個の離散音楽信号に対してこの後実行する周波数分析処理の正確性を向上させることができる。
【００２７】
因みにここでは、１つの窓内におけるサンプリングポイントの個数Ｎ（離散音楽信号の個数Ｎ）をこの窓の長さを示す窓長とも呼ぶ。また以下の説明や図面上においては、説明の便宜上、この窓長Ｎの値を８として適宜説明するが、これに限らず窓長Ｎの値としては１０２４、２０４８、４０９６等に設定し得ることは言うまでもない。
【００２８】
周波数分析器２３は、窓関数処理が施されたＮ個の離散音楽信号が供給される度に、当該供給されたＮ個の離散音楽信号に対して周波数分析処理を実行する。この周波数分析処理では、図６に示すような高速フーリエ変換処理フローを用いて、時間的に連続するＮ個の離散音楽信号の信号値ｘ（０）、ｘ（１）、ｘ（２）……、ｘ（Ｎ−１）から、この離散音楽信号の周波数成分分布を表すスペクトル値Ｘ（０）、Ｘ（１）、Ｘ（２）、……、Ｘ（Ｎ−１）を算出し、当該算出したスペクトル値Ｘ（０）、Ｘ（１）、Ｘ（２）、……、Ｘ（Ｎ−１）の絶対値をそれぞれ計算することにより、各周波数の成分量を示すＮ個の周波数成分値を算出する。因みに図中では、複素演算処理を実行する複素演算部や加算処理を実行する加算部等を組み合わせることにより高速フーリエ変換処理フローを表している。
【００２９】
ここで、この高速フーリエ変換アルゴリズムについて説明する。この高速フーリエ変換処理のアルゴリズムは、１９６５年にJ.W.CooleyやJ.W.Tukeyが考案した離散フーリエ変換の計算高速化を図ったものである。ここでこの離散フーリエ変換は、次式（１）、
【００３０】
【数１】
2006337282.tif 000003
【００３１】
により表すことができる。本実施の形態の場合、ｘ（ｎ）（ｎ＝０、１、２、……、Ｎ−１）は、１つの窓内において時間的に連続するＮ個の離散音楽信号すなわち１周期分の離散音楽信号の信号値に相当する。またＸ（ｋ）（ｋ＝０、１、２、……、Ｎ−１）は、１周期の間に０、１、２、……、Ｎ−１回転する信号成分の大きさと位相すなわちスペクトルを示している。また、Ｗｋｎは回転因子に相当する。この式（１）で表される離散フーリエ変換では、複素演算処理（Ｗｋｎに相当する部分の演算処理）をＮ２回実行する必要があるのに対し、高速フーリエ変換では、この複素演算処理回数を（Ｎｌｏｇ２Ｎ）／２回まで減らすことができる。
【００３２】
このようにしてＮ個の周波数成分値を算出した周波数分析器２３は、当該算出したＮ個の周波数成分値から負の周波数スペクトルを示すＮ／２個の周波数成分値を除いた後、当該除いた後のＮ／２個の周波数成分値を比較器２４に対して供給する。
【００３３】
この比較器２４は、今回供給されたＮ／２個の周波数成分値とメモリ２５に記憶されている前回分のＮ／２個の周波数成分値とを周波数ごとにそれぞれ比較し、当該比較結果に基づいて周波数ごとに値の大きい周波数成分値を選択し、当該選択した周波数成分値をメモリ２５に記憶する（ピークホールド処理）。このようにメモリ２５に対して、時間的に連続する複数窓分の周波数成分値をピークホールドさせることにより、所定期間分の周波数分析結果を蓄積するようになされている
【００３４】
そして、ＣＰＵ２側から周波数分析結果を要求する分析結果要求信号が、周波数分析部１１内の分析結果出力部２６に入力されると、これに応じてこの分析結果出力部２６は、所定期間分の周波数分析結果に相当する周波数成分値をメモリ２５から読み出し、これを周波数分析結果データとしてＣＰＵ２側に出力するようになされている。またこれに応じてこのメモリ２５は、記憶していた周波数成分値を一旦消去し、これにより新たに周波数成分値を記憶し直せるようにする。
【００３５】
これによりこの後ＣＰＵ２は、周波数分析部１１から出力された周波数分析結果データに基づいて、再生音楽の曲調を表す再生曲調画像データを画像生成部１２に生成させることができる。
【００３６】
因みにこの場合、このように所定期間分の周波数分析結果を蓄積し当該蓄積した周波数分析結果を周波数分析結果データとして出力している理由は、当該出力した周波数分析結果データに基づいて例えばビートのような音楽固有の周期特性を把握するためである。
【００３７】
このような音楽固有の周期特性は、一般的に１［Ｈｚ］以下の周期となってしまう。従って１つの窓に対する周波数分析結果の厳密性よりも、時間的に連続した複数窓分の周波数分析結果が重要になることがわかる。
【００３８】
これを受けて第２の手法による周波数分析処理を、図４及び図７を用いて説明する。音楽再生装置１のＣＰＵ２は、音楽再生処理している音楽データを抽出処理することにより離散音楽信号を順次得ると共に、これを時間的に連続するようにＮ／２個ずつ周波数分析部１１内の窓関数処理部２１及びバッファ２２に供給する。
【００３９】
このバッファ２２は、当該供給されたＮ／２個の離散音楽信号を記憶保持する。そしてこのバッファ２２は、ＣＰＵ２側から新たなＮ／２個の離散音楽信号が供給される度に、記憶保持していたＮ／２個の離散音楽信号を窓関数処理部２１に供給する。
【００４０】
これにより窓関数処理部２１は、ＣＰＵ２側からＮ／２個の離散音楽信号が供給される度に、バッファ２２から前回分のＮ／２個の離散音楽信号が供給され、その結果時間的に連続したＮ個の離散音楽信号を毎回取得する。またこれによりこの場合も、毎回取得するＮ個の離散音楽信号における前半部分が、前回取得したＮ個の離散音楽信号における後半部分とオーバーラップするようになされている。
【００４１】
この窓関数処理部２１は、このＮ個の離散音楽信号が供給される度に、当該供給されたＮ個の離散音楽信号を１つの窓として窓関数処理を施し、当該窓関数処理を施したＮ個の離散音楽信号を周波数分析器２３に対して供給する。この窓関数処理でも、Hanning窓やHamming窓やBlackman窓等の窓関数を用いた演算処理を実行する。
【００４２】
この第２の手法による周波数分析器２３は、窓関数処理が施されたＮ個の離散音楽信号が順次供給されると、当該順次供給される時間的に連続するＮ個の離散音楽信号ｘ（０）、ｘ（１）、ｘ（２）……、ｘ（Ｎ−１）から、図６の高速フーリエ変換処理フローを並び代えた図８に示す高速フーリエ変換処理フローを用いて、ｋ値が偶数番目になる偶数番目スペクトル値Ｘ（０）、Ｘ（２）、Ｘ（４）、……又はｋ値が奇数番目になる奇数番目スペクトル値Ｘ（１）、Ｘ（３）、Ｘ（５）、……を交互に算出する。
【００４３】
このようにこの高速フーリエ変換処理では、算出するスペクトル値Ｘ（０）、Ｘ（１）、Ｘ（２）、……を周波数順に並べると偶数番目になる偶数番目スペクトル値Ｘ（０）、Ｘ（２）、Ｘ（４）、……、又は、奇数番目になる奇数番目スペクトル値Ｘ（１）、Ｘ（３）、Ｘ（５）、……を交互に算出するようになされている。
【００４４】
この後周波数分析器２３は、このようにして算出したＮ／２個の偶数番目スペクトル値又は奇数番目スペクトル値のそれぞれについて絶対値を計算することにより、Ｎ／２個の偶数番目周波数成分値又は奇数番目周波数成分値を算出する。さらにこの周波数分析器２３は、当該算出したＮ／２個の偶数番目周波数成分値又は奇数番目周波数成分値から、負の周波数スペクトルを示すＮ／４個の偶数番目周波数成分値又は奇数番目周波数成分値を除いた後、当該除いた後のＮ／４個の偶数番目周波数成分値又は奇数番目周波数成分値を比較器２４に対して供給する。
【００４５】
この比較器２４は、周波数分析器２３からＮ／４個の偶数番目周波数成分値が供給された場合、当該供給されたＮ／４個の偶数番目周波数成分値とメモリ２５に前回記憶したＮ／４個の偶数番目周波数成分値とを周波数ごとにそれぞれ比較し、当該比較結果に基づいて周波数ごとに値の大きい偶数番目周波数成分値を選択し、当該選択した偶数番目周波数成分値をメモリ２５に記憶する（ピークホールド処理）。同じようにこの比較器２４は、周波数分析器２３からＮ／４個の奇数番目周波数成分値が供給された場合、当該供給されたＮ／４個の奇数番目周波数成分値とメモリ２５に前回記憶したＮ／４個の奇数番目周波数成分値とを周波数ごとにそれぞれ比較し、当該比較結果に基づいて周波数ごとに値の大きい奇数番目周波数成分値を選択し、当該選択した奇数番目周波数成分値をメモリ２５に記憶する。
【００４６】
そして、ＣＰＵ２側から周波数分析結果を要求する分析結果要求信号が、周波数分析部１１内の分析結果出力部２６に入力されると、これに応じてこの分析結果出力部２６は、後述する第１〜第３の結合手法のうちの何れかを用いて、メモリ２５に記憶されている偶数番目周波数成分値と奇数番目周波数成分値とを結合し、当該結合結果を示した周波数分析結果データをＣＰＵ２側に出力するようになされている。またこれに応じてこのメモリ２５は、記憶していた偶数番目周波数成分値及び奇数番目周波数成分値を一旦消去し、これにより偶数番目周波数成分値及び奇数番目周波数成分値を新たに記憶し直せるようにする。
【００４７】
これによりこの後ＣＰＵ２は、周波数分析部１１から出力された周波数分析結果データに基づいて、再生音楽の曲調を表す再生曲調画像データを画像生成部１２に生成させることができる。
【００４８】
ここでこれら第１〜第３の結合手法をそれぞれ説明する。第１の結合手法の場合この分析結果出力部２６は、図９に示すように、Ｎ／４個の偶数番目周波数成分値群において存在しない奇数番目周波数成分の周波数成分値を０とし、またＮ／４個の奇数番目周波数成分値群においても存在しない偶数番目周波数成分の周波数成分値を０とした後、これらを互いに補完するように偶数番目周波数成分値群及び奇数番目周波数成分値群を足し合わせるようになされている。
【００４９】
第２の結合方法の場合この分析結果出力部２６は、図１０に示すように、偶数番目周波数成分値群及び奇数番目周波数成分値群のそれぞれにおいて、存在しない周波数成分値をそれに隣接する周波数成分の周波数成分値で補完する。そして分析結果出力部２６は、補完後の偶数番目周波数成分値群及び補完後の奇数番目周波数成分値群を比較し、当該比較結果に基づいて各周波数ごとに値の大きい周波数成分値を選択し、当該選択した周波数成分値を結合結果とするようになされている。
【００５０】
第３の結合方法の場合この分析結果出力部２６は、図１１に示すように、偶数番目周波数成分値群及び奇数番目周波数成分値群のそれぞれにおいて、存在しない周波数成分の周波数成分値を存在する周波数成分の周波数成分値を用いて線形的に補完する。そして分析結果出力部２６は、補完後の偶数番目周波数成分値群及び補完後の奇数番目周波数成分値群を比較し、当該比較結果に基づいて各周波数ごとに値の大きい周波数成分値を選択し、当該選択した周波数成分値を結合結果とするようになされている。
【００５１】
このようにして本実施の形態においては、第１〜第３の結合手法の何れかを用いて、Ｎ／４個の偶数番目周波数成分値と、Ｎ／４個の奇数番目周波数成分値とを補完的に結合することにより、Ｎ／２個の周波数成分値を示した周波数分析結果データを生成することができる。これによりこの周波数分析結果について、見せ掛けの分解能を維持することができる。
【００５２】
（３）周波数分析部の処理手順
次に、図１２に示すフローチャートを用いて、図４に示した周波数分析部１１において実行される周波数分析処理手順ＲＴ１を説明する。
【００５３】
この周波数分析部１１内の窓関数処理部２１はステップＳＰ１において、ＣＰＵ２側から供給されるＮ／２個の離散音楽信号と、バッファ２２から供給される前回分のＮ／２個の離散音楽信号とを受信することにより、時間的に連続したＮ個の離散音楽信号を取得する。
【００５４】
次いでこの窓関数処理部２１はステップＳＰ２において、当該供給されたＮ個の離散音楽信号を１つの窓として窓関数処理を施し、当該窓関数処理を施したＮ個の離散音楽信号を周波数分析器２３に対して供給する。
【００５５】
これに応じて周波数分析器２３はステップＳＰ３において、当該供給されたＮ個の離散音楽信号ｘ（０）、ｘ（１）、ｘ（２）……、ｘ（Ｎ−１）に対して、偶数番目スペクトル値を求めるための周波数分析処理を実行すべきか否かを判断する。
【００５６】
このステップＳＰ３において肯定結果が得られると、例えばこのことは、奇数番目スペクトル値を求めるための周波数分析処理を前回実行したことから、今回は偶数番目スペクトル値を求めるための周波数分析処理を実行すべきことを意味しており、このとき周波数分析器２３はステップＳＰ４に進んで、供給されたＮ個の離散音楽信号ｘ（０）、ｘ（１）、ｘ（２）……、ｘ（Ｎ−１）から、図８に示す高速フーリエ変換処理フローを用いて、Ｎ／２個の偶数番目スペクトル値Ｘ（０）、Ｘ（２）、Ｘ（４）、……を算出する。そしてこの周波数分析器２３は、当該算出したＮ／２個の偶数番目スペクトル値Ｘ（０）、Ｘ（２）、Ｘ（４）、……の絶対値をそれぞれ計算することにより偶数番目周波数成分値を算出し、当該算出したＮ／２個の偶数番目周波数成分値から負の周波数スペクトルを示すＮ／４個の偶数番目周波数成分値を除いた後、当該除いた後のＮ／４個の偶数番目周波数成分値を比較器２４に対して供給する。
【００５７】
これに応じてこの比較器２４はステップＳＰ５において、当該供給されたＮ／４個の偶数番目周波数成分値とメモリ２５に前回記憶したＮ／４個の偶数番目周波数成分値とを周波数ごとにそれぞれ比較し、当該比較結果に基づいて周波数ごとに値の大きい偶数番目周波数成分値を選択し、当該選択したＮ／４個の偶数番目周波数成分値をメモリ２５に記憶するピークホールド処理を実行する。
【００５８】
これに対してこのステップＳＰ３において否定結果が得られると、例えばこのことは、偶数番目スペクトル値を求めるための周波数分析処理を前回実行したことから、今回は奇数番目スペクトル値を求めるための周波数分析処理を実行すべきことを意味しており、このとき周波数分析器２３はステップＳＰ６に進んで、供給されたＮ個の離散音楽信号ｘ（０）、ｘ（１）、ｘ（２）……、ｘ（Ｎ−１）から、図８に示す高速フーリエ変換処理フローを用いて、Ｎ／２個の奇数番目スペクトル値Ｘ（１）、Ｘ（３）、Ｘ（５）、……を算出する。そしてこの周波数分析器２３は、当該算出したＮ／２個の奇数番目スペクトル値Ｘ（１）、Ｘ（３）、Ｘ（５）、……の絶対値をそれぞれ計算することにより奇数番目周波数成分値を算出し、当該算出したＮ／２個の奇数番目周波数成分値から負の周波数スペクトルを示すＮ／４個の奇数番目周波数成分値を除いた後、当該除いた後のＮ／４個の奇数番目周波数成分値を比較器２４に対して供給する。
【００５９】
これに応じてこの比較器２４はステップＳＰ７において、当該供給されたＮ／４個の奇数番目周波数成分値とメモリ２５に前回記憶したＮ／４個の奇数番目周波数成分値とを周波数ごとにそれぞれ比較し、当該比較結果に基づいて周波数ごとに値の大きい奇数番目周波数成分値を選択し、当該選択したＮ／４個の奇数番目周波数成分値をメモリ２５に記憶するピークホールド処理を実行するようになされている。
【００６０】
次に、図１３に示すフローチャートを用いて、周波数分析部１１から周波数分析結果データが出力される際に実行される周波数分析結果出力処理手順ＲＴ２を説明する。
【００６１】
周波数分析部１１内の分析結果出力部２６は、音楽再生装置１のＣＰＵ２側から周波数分析結果を要求する分析結果要求信号を受信するとステップＳＰ２１に移り、第１〜第３の結合手法のうちの何れかを用いて、メモリ２５に記憶されているＮ／４個の偶数番目周波数成分値とＮ／４個の奇数番目周波数成分値とを結合する。
【００６２】
次いでこの分析結果出力部２６はステップＳＰ２２に移り、当該結合結果を示した周波数分析結果データをＣＰＵ２側に出力する。そしてこの分析結果出力部２６はステップＳＰ２３に移り、メモリ２５に記憶されていた偶数番目周波数成分値及び奇数番目周波数成分値を値「０」で一旦初期化し、これにより偶数番目周波数成分値及び奇数番目周波数成分値を新たに記憶し直せるようにする。
【００６３】
（４）動作及び効果
以上の構成においてこの音楽再生装置１は、高速フーリエ変換処理を実行する周波数分析部１１を有する。そしてこの周波数分析部１１は、順次供給されるＮ個の離散音楽信号ｘ（０）、ｘ（１）、ｘ（２）……、ｘ（Ｎ−１）から、偶数番目スペクトル値Ｘ（０）、Ｘ（２）、Ｘ（４）、……又は奇数番目スペクトル値Ｘ（１）、Ｘ（３）、Ｘ（５）、……を交互に算出するようにした。
【００６４】
これによりこの高速フーリエ変換処理では、図８に示すように、偶数番目スペクトル値を算出する際についてのみ必要となる偶数番目スペクトル値算出処理部分Ｐ１、又は、奇数番目スペクトル値を算出する際についてのみ必要となる奇数番目スペクトル値算出処理部分Ｐ２の何れかを毎回省くことができ、かくしてその複素演算処理回数を{（Ｎ／２）ｌｏｇ２（Ｎ／２）}／２回分減らすことができる（例えば窓長Ｎを１０２４とした場合、４５％の複素演算処理を削減することができる）。
【００６５】
以上の構成によれば、順次供給されるＮ個の離散音楽信号ｘ（０）、ｘ（１）、ｘ（２）……、ｘ（Ｎ−１）から、偶数番目スペクトル値Ｘ（０）、Ｘ（２）、Ｘ（４）、……又は奇数番目スペクトル値Ｘ（１）、Ｘ（３）、Ｘ（５）、……を交互に算出するようにしたことにより、高速フーリエ変換処理における偶数番目スペクトル値算出処理部分Ｐ１又は奇数番目スペクトル値算出処理部分Ｐ２の何れかを毎回省くことができ、かくしてその複素演算処理回数を減らすことができる。この結果、周波数分析処理にかかる処理負荷を格段と低減することができる。
【００６６】
（５）他の実施の形態
上述した実施形態においては、再生音楽に応じた視覚的データを出力する出力部として、再生曲調画像データを視覚的データとして出力する表示部１４を適用した場合について述べたが、本発明はこれに限らず、例えば、再生音楽に応じた色を視覚的データとして出力する発光手段等を適用するようにしても良い。
【００６７】
また上述した実施形態においては、図１に示したような周波数分析装置１００として、音楽再生装置１内の周波数分析部１１を適用する場合について述べたが、本発明はこれに限らず、この他種々の装置に設けられる周波数分析部を適用するようにしても良い。
【００６８】
また上述した実施形態においては、図１に示したような窓関数処理部１０１として、Hanning窓やHamming窓やBlackman窓等の窓関数を用いる窓関数処理部２１を適用する場合について述べたが、本発明はこれに限らず、この他種々の窓関数を用いる窓関数処理部を適用することができる。
【００６９】
また上述した実施形態においては、図１に示したような周波数分析部１０２として、高速フーリエ変換処理を実行する周波数分析器２３を適用する場合について述べたが、本発明はこれに限らず、この他種々の周波数分析部を適用することができる。
【００７０】
また上述した実施形態においては、図１に示したような記憶部１０３として、メモリ２５を適用する場合について述べたが、本発明はこれに限らず、ハードディスクドライブ等のこの他種々の記憶装置を適用しても良い。
【００７１】
また上述した実施形態においては、図１に示したような更新部１０４として、比較器２４を適用する場合について述べたが、本発明はこれに限らず、この他種々の構成を適用することができる。
【００７２】
また上述した実施形態においては、周波数分析処理手順ＲＴ１や周波数分析結果出力処理手順ＲＴ２等を、図４に示した周波数分析部１１内の各回路によりハードウェア的に実行する場合について述べたが、本発明はこれに限らず、音楽再生装置１のＣＰＵ２が、周波数分析処理手順ＲＴ１や周波数分析結果出力処理手順ＲＴ２等を実行するためのプログラムを、ハードディスクドライブ５から読み出してＲＡＭ（Random Access Memory）１５に展開し、当該展開したプログラムに従ってこれら処理手順ＲＴ１、ＲＴ２等をソフトウェア的に実行するようにしても良い。また、これら処理手順ＲＴ１、ＲＴ２等を実行するためのプログラムを、ＣＤ（Compact Disc）等の記録媒体に記録しておくようにしても良い。
【産業上の利用可能性】
【００７３】
本発明は、例えば、音楽データに基づいて音楽を再生しながらこの音楽データの周波数分析結果に基づいて視覚的データを出力する音楽再生装置等に利用することができる。
【図面の簡単な説明】
【００７４】
【図１】本実施の形態における周波数分析装置の構成を示す略線図である。
【図２】周波数分析処理の概要の説明に供する略線図である。
【図３】本実施の形態における音楽再生装置の構成を示す略線図である。
【図４】周波数分析部の構成を示す略線図である。
【図５】周波数分析処理の概要の説明に供する略線図である。
【図６】高速フーリエ変換処理フロー（１）の説明に供する略線図である。
【図７】周波数分析処理の説明に供する略線図である。
【図８】高速フーリエ変換処理フロー（２）の説明に供する略線図である。
【図９】第１の結合方法の説明に供する略線図である。
【図１０】第２の結合方法の説明に供する略線図である。
【図１１】第３の結合方法の説明に供する略線図である。
【図１２】周波数分析処理手順を示すフローチャートである。
【図１３】周波数分析結果出力処理手順を示すフローチャートである。
【符号の説明】
【００７５】
１……音楽再生装置、２……ＣＰＵ、６……再生処理部、１１……周波数分析部、１２……画像生成部、１３……画像表示処理部、１４……表示部、２１……窓関数処理部、２２……バッファ、２３……周波数分析器、２４……比較器、２５……メモリ、２６……分析結果出力部、ＲＴ１……周波数分析処理手順、ＲＴ２……周波数分析結果出力処理手順。
【図１】
2006337282.tif 000004
【図２】
2006337282.tif 000005
【図３】
2006337282.tif 000006
【図４】
2006337282.tif 000007
【図５】
2006337282.tif 000008
【図６】
2006337282.tif 000009
【図７】
2006337282.tif 000010
【図８】
2006337282.tif 000011
【図９】
2006337282.tif 000012
【図１０】
2006337282.tif 000013
【図１１】
2006337282.tif 000014
【図１２】
2006337282.tif 000015
【図１３】
2006337282.tif 000016