問題タブ [spectrogram]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
89 参照

c++ - スペクトログラムを作成するために知っておくべき/行うべきこと

うまくいけば、C ++を使用してゼロからスペクトログラムを作成しようとしています。これは、多かれ少なかれこのように見えます

ここに画像の説明を入力

マイクからオーディオを取り込み、データを表示するだけで、バイナリ ファイルへの書き込み/読み取りは不要です。

今、私はこのプログラムを作成するために全体的に何を知る必要があるかについて迷っています。

現在、私は終日ノンストップのように C++ を高速で学習しています。しかし、すべてを C++ で行うわけではないように感じます。

私はコードを求めているのではなく、これを達成する方法についてアドバイスを求めているだけです。Window7 での C++ の使用

0 投票する
1 に答える
5324 参照

c# - pcm データに FFT を適用し、スペクトログラムに変換します

現在、VS2012 でメトロ アプリを使用しています。ユーザーの声を録音して wav ファイル (16bit、44.1kHz、モノラル) に保存する ac# コードがあります。以下に示すように、-1 と 1 の間の値の double 配列データのみを含むように PCM を処理しました。

次のステップは、二重配列データに FFT を適用してスペクトログラムに変換することです。できればライブラリを使用せずに、二重配列を取り込む FFT アルゴリズムがあるかどうかを知りたいです。

また、メトロを使用してこのデータを (FFT を適用した後に) スペクトログラム (後で別のスペクトログラムと比較するために使用する) に変換する方法があるかどうかも知りたいです。

FFT を適用して周波数を取得し、視覚的に表示するために使用したい double 配列値の一部の例。

これは私の PCM データを処理するコードです:

編集 これは私の出力です:

0 投票する
0 に答える
465 参照

android - Android上でOpenGL-ESで複数の縦線グラフを描画し、Spectrumリアルタイムアナライザーを実現

私は Android 開発の新人です。Ububntu での粒子エンジンや単純な回転球のシナリオなど、基本的な opengl アプローチを使用しました。電話のマイクからオーディオ信号を取得し、それらを STFT 処理し、スペクトル結果を画面にプロットするスペクトル アナライザーを実現したいと考えています。

このシナリオをモデル化しようとしました。約 22000 (正確には 21980) の正方形 (それぞれ 1 Hz ごと) を使用して描画し、各周波数成分の STFT 分析の結果に従って、それぞれを y 軸上でスケーリングしました。残念ながら、このアプローチは、Renderer オブジェクトのコールバック「onDrawFrame()」中に自分自身を描画する 22000 の正方形のオブジェクトを開始する計算上の負担が大きいために失敗しました。

「glDrawArrays()」に関する情報を見つけました。これが役立つことを願っていますが、この方法を使用して、LineArray の各行を y 軸だけでストレッチ (またはスケーリング) する方法を理解できません。レンダラー コールバック「onDrawFrame()」。

特に、このアプローチは OpenGL SE エンジンでの計算パフォーマンスが高いと思いますか?

ありがとう、よろしく、レオ。

0 投票する
2 に答える
3444 参照

matlab - matlab で音の高さを認識する

MATLAB を使用して、音符のシーケンスを含む WAV ファイルを読み込むプロジェクトを実行しようとしています。たとえば、私の WAV ファイルには一連の CDCE が含まれている可能性があります。このファイルをプログラムに入力すると、「CDC E」と出力されます。

WAVREAD を使用してファイルをベクトルに変換してから、サンプリングを使用してダウンサンプリングし、1 チャンネルのファイルにしました。その後、特定の周波数で「ピーク」を持つスペクトログラムを思いつくことができました。

ここから、MATLAB にピークの周波数を認識させて、メモを印刷できるようにする方法について助けてもらいたいと思います。

それとも私は間違った道を進んでいますか?

前もって感謝します!

0 投票する
1 に答える
2497 参照

matlab - 最大パワーを持つ周波数を決定する MATLAB スクリプト

移動する音源と静止した観測者を使用して線形運動測定を行っています。ここで説明: http://www.animations.physics.unsw.edu.au/labs/Doppler/doppler_lab.html

オーディオ ファイルで最大のパワーを持つ周波数のサンプル番号を取得する MATLAB スクリプトを作成する方法は?