スペクトルの例

FFTRealライブラリを使った生のオーディオストリームの解析

SpectrumはQt Multimediaモジュールを使ってオーディオストリームを録音しながら解析し、録音したストリームを再生する方法を示します。

Qt Multimediaでは、アプリケーションが生のオーディオストリームにアクセスできるため、アプリケーションによってデータを検査したり、変更したりすることができます。Spectrum Analyzerの例では、オーディオのキャプチャ中または再生中に、3つの情報が表示されます:

  • 一番上のウィジェットに表示される、生のオーディオストリームに関する情報:
    • バッファ内の現在のデータ量(青色で表示
    • 周波数スペクトルを計算するために直近に分析されたデータセグメント(緑で表示
    • 生のオーディオ波形(白色で表示され、右から左にスクロールする
  • 左下に表示されている周波数スペクトル
  • オーディオストリームの現在のRMSレベルと、最近の「ハイ・ウォーターマーク」レベル(右下)。

スペクトル分析は、オーディオデータのセグメントの高速フーリエ変換(FFT)を計算することによって実行されます。変換の計算には、オープンソースのライブラリFFTRealが使用されます。FFTRealはGNU Library General Public License 2.0またはそれ以降で利用可能です。

例の実行

Qt Creator からサンプルを実行するには、Welcome モードを開き、Examples からサンプルを選択します。詳細については、Building and Running an Example を参照してください。

サンプルプロジェクト @ code.qt.io

©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。