問題タブ [spectrum]
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.
mp3 - 周波数スペクトル分析による MP3 ビットレートの検出
MP3 のビットレートを検出するプログラムはありますか? ファイルがエンコードされた実効ビットレートについて話しているのではなく、周波数スペクトル分析によってのみ計算できる実際のビットレートについて話しているのです。
たとえば、サイズが 1 MB の 128 kbps でエンコードされた MP3 があり、この MP3 をサイズが 3 MB になる 320 kbps にトランスコードすると、同じ同じオーディオ トラックになりますが、サイズは異なります。
320 kbps の MP3 を 128 kbps にトランスコードすると、品質が低下し、ファイル サイズがいくらか失われます。
それでも、320 kbps が MP3 の「実際の」ビットレートであることを確認する方法はありません。
詳細はこのペーパーで説明されてい ます。
audio - オーディオ処理についてどこから学び始めますか?
しばらくの間、これをどのように行うかを調べてみましたが、検索で間違った用語を使用しているか、私には高度すぎるかもしれません. 私は基本的に、オーディオ ファイルをリアルタイムで分析できるようにしたいと考えています。私はオーディオ処理についてほとんど何も知らないので、おそらく小さなことから始めて、徐々に上達していくべきです。最終的には、オーディオ再生に関連するパワー (または周波数?) スペクトルをリアルタイムで表示できるようにしたいと考えています。基本的には WinAmp スペクトログラム (用語?)
おそらくAPIの提案を1つか2つ含むオンラインチュートリアルは大歓迎です。私はいくつかのあいまいな説明を見つけました (主に FFT の計算を扱い、それを何かに変換する...) 私が言ったように、私はオーディオ処理についてほとんど知らないので、どこから始めればよいかを知ることは素晴らしいことです.
選択した言語: C++
transform - フーリエ級数変換による元の信号の復元
A、B、C の 3 つの複雑な波形 (多くの正弦波で構成される) があるとします。それぞれの周波数は、それぞれ 550、600、700 Hz です。
次に、3 つの信号を追加します。つまり、重ね合わせを行って信号 D を取得します。
私の目的は、元の 3 つの信号 A、B、C を別々に取得することです。
550、660、700 Hz で主なピークが得られるフーリエ スペクトルをプロットしました。他にも小さなピークがあります。元の波形 A、B、および C を再現できるように、どのピークがどの波形に関連付けられているかをどのように知ることができますか? ありがとうございました。
search - 画像のコレクションで最もカラフルな画像を見つける
一連の画像が与えられた場合、どの画像がフル カラー スペクトルを最も完全にカバーしているかの順に評価する方法は何でしょうか?
更新「円の周りのポイントの最も「完全な」分布」で、1つのアプローチの抽象化である姉妹の質問を投稿しました。
xmpp - ejabberd サーバーに名前空間を追加する
ejabberd-2.1.2 サーバーを使用しています。新しい名前空間を既存の ejabberd サーバーに追加するにはどうすればよいですか。名前空間を追加したい ('http://jabber.org/protocol/rosterx') XEP-0144 Roster Item exchange。
ありがとう、サティ。
android - Android の FFT 出力 (ビジュアライザー) からの悪いスペクトル?
FFT についていくつか質問があります (実際には、Visualizer.getFFT() からの Android の FFT 出力に関するものだと思います)。
Android 用の独自のライブラリ機能を備えた Music-Player を作成しました。これには、多くのもの (ジャンル、動的プレイリスト、視覚化など) が含まれます。現在、現在の AudioStream のスペクトルをレンダリングする際に、作成した視覚化に問題があります。
Android FFT のアイデアを得るために、次の質問 (および回答) を既に読みました。
Android 2.3 ビジュアライザー - getFft() を理解できない
今私の問題に: getFFTs 係数から取得したスペクトルは、やや「奇数」のようです。曲を再生すると、レンダリングしたスペクトルに多くの「ノイズ」が表示されるように見えるので、いくつかのテスト サウンドを使用してみました。そのうちの 1 つは単純な 8khz サウンドで、グラフのピークが 1 つだけになるはずです。残念ながら、結果は次のようになります。
http://img4.imageshack.us/img4/4181/spectrum8khz.png
下部に現れるノイズは、グラフの幅全体でちらつきます。高いバーは位置にとどまり、大きさがわずかにちらつくだけです。
1kHz から 20kHz までゆっくりと移動するテスト サウンドを使用すると、次のようになります (約 2 ~ 3kHz で)。
http://img846.imageshack.us/img846/7373/spectrum3khz1khz20khz.png
ピークは左から右に移動し、それぞれが少し速くなるため、時間の経過とともにピーク間の距離が大きくなります。表示されていないのは、ピークが画面の右側を離れると、ピークが戻ってきて右から左に移動することです (ただし、マグニチュードは小さくなります)。また、すべてのピークが画面の 0.5 強で 1 つの大きなピークに結合します。
データを取得するために使用するコードは次のとおりです。
上記のコードでは、mRawSpecData は Visualisers の getFFT() 関数の結果です。キャプチャされたデータの長さは 1024 です。現在、mRawSpecData[0] には DC が含まれ、mRawSpecData[1] には n/2 が含まれているため、傾きは 1 から始まります。
私の問題を解決するために、周波数ビンのDCと位相をいじろうとしました。グラフを「きれいにする」ために、マグニチュードに計算を適用する必要があるかもしれないと思いました。しかし、私は成功しませんでした (おそらく、DC/フェーズで何が起こっているのかまったくわからなかったからです!)。
夕方にグーグルを検索し、さまざまな計算を試すのに2週間費やしましたが、実際には何も役に立ちませんでした.
それで、取引は何ですか?私は何か間違ったことをしているのですか、それとも何かを省略していますか? その後、私を悩ませている別の質問は、マグニチュードを正しくスケーリングする方法です。私の目標は、0f と 1f の間の値を取得することです。
どうもありがとう
大暴れ
PS: Android 2.3 を実行している携帯電話から eclipse を介して取得したスクリーンショット。
PPS: また、他のさまざまなプレイヤー (winamp など) でサウンドをチェックしたところ、スペクトルの正しい動作が見られました。
objective-c - オーディオスペクトルの検出
曲の低周波数、中周波数、高周波数を検出するオーディオ視覚化アプリケーションを作成しています。私はグーグルを際限なく調べましたが、何も見つからないようで、アップルの開発者向けドキュメントはすべて、標準的な方法でオーディオの使用法を示しているようです。
理想的には、Objective-C関数を探しているだけです。
algorithm - オーディオスペクトルの分析によるリズム検出
私はリズムベースのゲームを構築しており、リズム検出に関する多くの問題に直面しています。再生中の曲の現在のスペクトルを受け取ります。512個のfloatを持つfloat配列のように見えます。左右のチャネル表現には 256。FFT も利用できます。しかし、そのデータをどのように扱うかはわかりません。視覚化についていくつかの実験を行いましたが、得られた情報はほとんどありませんでした。私はいくつかの準備ができているアルゴリズムを探しましたが、何もありません。リズム検出に関連する参考文献、資料、記事、オーディオスペクトルの操作について、誰かが私を助けてくれませんか。コードも非常に役立ちます。ありがとう。