• 締切済み

音声(MP3)のサブバンド分解について

音声データを入力するプログラムをつくっています。 MP3では、データを入力してサブバンド分解するのですが・・・ MP3の本には 例えば、周波数を10Hzずつ分解するなら、 「0~10Hz」「10Hz~20Hz」「20Hz~30Hz」 というように、周波数の高さによって周波数領域に分解します。 「低い周波数領域」「中間の周波数」「高い周波数」となります。 と書いてあるのですが、 この場合、「10Hz」「20Hz」はどちらに入るのでしょうか? 「0~10Hz」「11Hz~20Hz」「21Hz~30Hz」 と考えた場合、 「低い周波数」では「0、1、2、・・・、10」の11つのHz 「中間の周波数」では、「11、12、・・・、20」の10つのHz になってしまい、周波数成分の数が違ってしまいます。 プログラムでデータを扱うので、どうすればよいのか分かりません。 サブバンド分解に詳しい方など、いらっしゃいましたらアドバイスお願いします!!

みんなの回答

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

プログラム的には x<10 x<20 それ以外 の様な判定でそぎ落としていく事がほとんどで上記の場合は、0~9.9999…、10~19.9999…、20以上。って形になるね。 判定の式が変われば範囲が若干変化するのは言わないでも判るだろうけど式の建て方が上記の物は 「○<△」という形で統一してあるから△の値(上記では10と20)は繰り返しの値を利用した倍数に変更する事も可能になるね。 これはサブバンド分解とかじゃなく、数値の範囲選択の手法の一種。

関連するQ&A

  • 離散フーリエ変換の周波数分解能

    失礼します。 DFT(離散フーリエ変換)について質問させてください。 DFTの周波数分解能は時間領域でのデータが持つ幅の逆数で決まりますが、 この周波数分解能で表現されなかった周波数成分はどこに行くのか教えていただけないでしょうか? DFTでの離散的な周波数の間にある成分はどこへ行くのか? 単純に考えて、DFTは形としては級数和なので、 それらの成分はどこかに畳み込まれているように思うのですが、 表現されない周波数成分の情報は消されたりするのでしょうか? よろしくお願い致します。

  • MP-Z80の問題について

    ワンボードマイコンMP-Z80のプログラムを勉強しているのですが、 次の問題がわかりません。 (1)NHKの時報の様な音を出すプログラムを作成する。但し音の周波数は、440Hzの音が鳴ったり鳴らなかったりを0.5秒間隔で3回繰り返して880Hzで1秒間鳴らすプログラムを作成する。プログラムは8900H番地以降に作成すること。周波数の誤差は+-0.5以下に、時間の誤差は+-1ms以下にすること。 お願いします、だれか教えてください。

  • MP3エンコードについて

    MP3のエンコードについて、いくつか疑問点があります。 一度に多くの質問をして申し訳ございませんが、分かりやすく教えてください。 1)PCMについて WAV変換時のPCM出力とはどういうものなのでしょうか? 2)サンプリング周波数について CD→WAVに変換するときに設定しますが、サンプリング周波数というとA/D変換のイメージが有り、CD→WAVだとデジタル→デジタルなのでは??イメージがわきません。ここで言うサンプリング周波数とは何? 3)ビットレートについて ビットレートは1秒間の情報量だと考えています。MP3圧縮は、人間の耳に聞こえない領域をカットすることで圧縮していると思いますが、ビットレートが低くなればなるほど、情報量を減らす為に、人間の耳に聞こえる領域までカットされてしまうということなのでしょうか? 4)プリエンファシスとは何? 3種類ぐらい設定ができるみたいですが、それぞれどういうことなのでしょうか? 5)MPEG-2.5 Audio Layer-3について 入力PCM周波数:48-32kHz → MPEG1 入力PCM周波数:24-16kHz → MPEG2 となっているなら、MPEG2.5とは 入力PCM周波数16kHzより低い周波数の場合を言うのでしょうか?

  • 周波数解析について

    ある信号をFFTを用いて周波数解析をしているのですが、単純なことについて教えて下さい。 自分の中のイメージとしては、周波数解析とは、 ある波を一定の周波数ごとに分解して、ある周波数帯域にどれくらいの成分が含まれているかを検討する物だと思っています。 自分のイメージが正しければ、あることが疑問に浮かんでいます。 現在、ある信号を周波数解析する前段階として、エラー(人工産物的な要素)を除外しています。 方法としては、時系列の信号データを一定時間毎に区切ってFFTをかけると言う物です。 自分が解析したい、周波数帯域は1Hz~35Hzまでの帯域と考えています。 綺麗な信号ならば問題なのですが、先のようなエラーと言うかノイズが載っている信号に対して、35Hzのフィルターをかけるとノイズの部分がなくなりクリアーな波形が見られます。 自分の知識が少ないため、ノイズが見られる信号は破棄していましたが、考えてみれば、必要な部分は1Hz~35Hzなので、35Hz以上のノイズ(フィルターをかけてなくなる領域のノイズ)が乗っていても、自分が必要な周波数帯域での周波数解析には関係ないのではないだろうか?と考えています。 少々ややこしい内容の質問になりましたが、アドバイス宜しくお願いいたします。

  • 周波数帯域のある信号をFFTに掛ける場合、処理結果はどうなるのでしょう

    周波数帯域のある信号をFFTに掛ける場合、処理結果はどうなるのでしょうか? 私は周波数帯域が100~10,000HZのマイクを使い録音し、そのデータを取り出し、 自作したプログラムを用いて、サンプリング周波数32768HzでFFTを掛けて、 信号の周波数特性を調べています。 ただ、FFTの処理結果によると、周波数帯域外の100HZ以下の領域に、周波数帯域内 と比べて大きな特徴が見られました。 そこで質問なのですが、この場合、自作したプログラムにミスがあるのか、 周波数帯域外の信号を録音してしまっているのか、それとも両方なのか、 それ以外にも理由があるのか、その辺りについて教えて頂ければと思います。 周波数解析の分野の理解が浅いため、酷く初歩的な質問であるかもしれませんが、 どうかよろしくお願いします。

  • 音声解析

    Visual C# 2005 Express Editionを使っています。 マイクから入力された音声を、リアルタイムで 周波数分析するプログラムのソースコードは どのように記述すればよいのでしょうか? また、周波数分析した結果から、音程を導きだすには どうすればよいのでしょうか?

  • 音声波形のサンプルの取り方

    質問させていただきます。 大学の課題で、ある楽器の入力音声を録音し、ドレミの音階を判定するプログラムを作ることになりました。 プログラムの流れとしては、 入力音声 → フーリエ変換 → 周波数特性により識別 という流れになると思います。 そこで、まず入力音声を録音するソフトを探しています。 音声波形を数値としてのデータを取りたいのです。 録音した音声ファイルを、テキストエディタで見たとき 0.00000 13.0034 268.344 ・ ・ ・ のように数値化したファイルを作りたいです。 MATLABの場合、その機能があるようですが、 家で作れる範囲で作成したいです。 何かいいソフトはないでしょうか?? Windows、Linux(家はUbuntu)どちらで構いません。 よろしくおねがいします。 

  • 音声の周波数変換ができるフリーソフト

    お世話になります。 英語のヒアリングが苦手のため、英語特有の周波数 (4000~8000Hzらしいです)に耳を慣らしていきたいと 希望しております。 そこで、聞きなれた手持ちの英語の音声ファイル(mp3形式)を 英語特有の周波数へ変換させるようなフリーソフトを探して おります。 このような機能を持つソフトって、どんなものがあるかを 教えて下さい。

  • 英語と日本語との音声の差異

    ”例えば、日本語の周波数帯域は、100Hz-1,500Hzであるのに対し、英語は2,000Hz-12,000Hzという高周波で話されています。” 上記のような英会話教材の記載を詠みましたが、アメリカ人でも日本人でも人間ですから、音声の周波数が表記ほど差異があるとは考えられませんが、どなたかご意見をお聞かせくださると嬉しいのですが。

  • フーリエ変換の分解能

    横軸が時間のデータを扱っています。 フーリエ変換することで周波数を横軸にとるスペクトルが得られるわけですが、このスペクトルの周波数分解能をどうやって求めればよいかわかりません。 教科書を読むと1/(N*Dt) N:データ数,Dt:データ取り込み時の時間幅 で決まると書かれていますが、実際には周波数の大小に応じて分解能が異なるように思います。 周波数に応じた分解能、どうやって求めればよいのでしょうか? ご教示、どうぞよろしくお願いいたします。

専門家に質問してみよう