問題タブ [audio-processing]

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 投票する
1 に答える
2301 参照

python - Pythonでビデオをフレームに分割する

特定の記号が含まれていないビデオのフレームを削除するプログラムを作成しようとしています。私の一般的な計画:

  1. ビデオからオーディオを分割する
  2. ビデオをフレームに分割する
  3. 正しい色である必要があるピクセルをチェックし、そうでないピクセルをログに記録することにより、シンボルを探すサブルーチンを介してフレームを実行します。
  4. それらのフレームと対応するオーディオ秒を削除します
  5. すべてをつなぎ合わせます。

これを実行できるライブラリを見つけるのに助けが必要です。wxpythonピクセルの色を検出できるのではないかと思っていました。どのライブラリがオーディオとビデオを分割でき、どのライブラリがオーディオを編集できるのかわかりません。ffmpegがビデオをフレームに分割できることは知っていますが、2日間の作業の後、Python 2.7にインストールできなかったため、インストールする方法または別のライブラリが必要です。何か案は?

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

c# - FFT アルゴリズム - サンプルを複雑な構造体に変換する方法は?

私の質問の短いバージョン:

オーディオ サンプルの配列 (Int16 など) から、AForge などの一般的な FFT ライブラリで使用される複雑な構造体に変換するにはどうすればよいですか?

私の質問の長いバージョン:

私はオーディオ処理が初めてで、音楽のオーディオを分析したいと考えています (ビート、テンポなどの検索)。これを読んで数日後、高速フーリエ変換(FFT)アルゴリズムは正しい方向への一歩のようです.

アルゴリズムをゼロから実装する必要がないように、いくつかのオープン ソース ライブラリ、Exocortex と AForge.net をダウンロードしました。

オーディオをメモリ バッファにデコードしています。16 ビット 48kHz オーディオ ステレオ トラックの各サイクルで、48000 バイトまたは 24000 サンプルを取得します。これらは現在、short の配列 (Int16) にコピーされています。ここで、配列を複雑な構造体に変換する必要があります (AForge の場合)。これは、「実数」と「虚数」の double 値で順番に初期化されます。しかし、これらは正確には何であり、配列からこれら 2 つの double 値に移動するにはどうすればよいでしょうか? また、渡す前に左右のチャンネルを分割する必要がありますか?

残念ながら、コードとして提示されていない限り、数式を読むのは苦手です。私がこれまでに訪れたほぼすべてのサイトで、アルゴリズムを説明するのに役立つギリシャ記号と複雑な数式がすぐに出てきます。その結果、すぐに翻訳に迷います。私を信じてください、私は「ダミーのためのFFTアルゴリズム」を見つけるのに苦労しました。;)

モデレーターへの注意: これは、「オーディオ サンプルをバイトから複素数に変換する」の複製ではありませんか? 質問は似ていますが。

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

matlab - MATLAB で 2 つのチャネルを使用してサウンドを生成する

2 つのチャンネルを使用してサウンドを作成しようとしています。周波数の異なる 2 つの信号を送信します。

Data Acquisition Toolboxなしでやろうとしています。それは可能ですか?

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

audio - 時間領域から周波数領域へのオーディオ サンプルの変換

ソフトウェア エンジニアとして、信号処理の問題に取り組んでいるときに、いくつかの問題に直面しています。私はこの分野での経験があまりありません。

私がやろうとしているのは、44100 のサンプリング レートで環境音をサンプリングし、固定サイズのウィンドウで特定の周波数 (20KHz) が存在し、しきい値よりも高いかどうかをテストすることです。

CでFFTWを使用してPortAudioからサンプルから周波数情報を抽出する方法の完璧な答えに従って私が行うことは次のとおりです

102400 サンプル (2320 ミリ秒) が 44100 サンプリング レートのオーディオ ポートから収集されます。サンプル値は 0.0 から 1.0 の間です

ウィンドウ サイズまたは FFT サイズは 1024 サンプル (23.2 ms)

ウィンドウ数は100

サンプルをそれぞれ N (1024) サンプルのサイズを持つ noOfWindows (100) ウィンドウに分割する

各ウィンドウにハニング ウィンドウ関数を適用する

各ウィンドウに FFT を適用する (実数から複素数への変換は FFT 関数内で行われます)

最後のステップでは、次のリンクで実装されている FFT 関数を使用します: http://www.codeproject.com/Articles/9388/How-to-implement-the-FFT-algorithm ; FFT関数を最初から実装することはできないためです。

確信が持てないのは、N (1024) サンプルを FFT 関数に入力として与えると、samplesRate/2 (22050) デシベル値が出力として返されることです。それはFFT関数が行うことですか?

ナイキスト周波数のせいで、最大でサンプリング周波数の半分の周波数を検出できることを理解しています。しかし、samplingRate/2 (22050) Hz までの各周波数のデシベル値を取得することは可能ですか?

ありがとう、ヴァヒト

0 投票する
3 に答える
9391 参照

python - ビートアンドプレイ(wav)ファイルを同期して検出する

このビート検出アルゴリズムを使用して、Pythonでオーディオ処理を試しています。前述の記事の最初の(最適化されていないバージョン)を実装しました。いくつかの結果を出力しますが、サウンドの再生方法がわからないため、正確に動作するかどうかを検出する方法がありません。

現在、Popen計算ループに入る前に、曲を使用してメディアプレーヤーを非同期で起動するために使用していますが、この戦略が機能し、同期結果が得られるかどうかはわかりません。

時間同期された方法でオーディオ出力とアルゴリズム(コンソール)出力を取得するために、スクリプトにどのような変更/追加を行うことができますか?つまり、コンソール出力が特定のフレームの結果である場合、そのフレームはスピーカーで再生されている必要があります。

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

matlab - MATLAB を使用してサウンド ファイルを .mif に変換するにはどうすればよいですか?

たとえば、mp3ファイルの音声信号からmifファイルが必要です。MATLAB を使用してどのように行うことができますか?

ありがとう、BooMZ!

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

android - Android の音声信号によるメッセージの転送と抽出

私はオーディオ処理に関する研究を行っており、解決すべき大きな問題があります。テキスト メッセージまたはバイナリ ストリーム (10101010) をオーディオ信号に埋め込んで転送し、ブロードキャストして、他の Android デバイスがそのサウンドを録音し、埋め込まれたテキスト メッセージまたはバイナリ ストリームを抽出できるようにすることはできますか?

0 投票する
6 に答える
15209 参照

c++ - オーディオファイルを読み取るためのライブラリ

オンライン/ライブでオーディオを処理したいのですが、オーディオ ファイルからオーディオ サンプルを常に読み取り、これらを処理し (エフェクトを適用するなど)、処理したサンプルをサウンドカードなどのオーディオ出力デバイスに転送します。入力ファイルには、wav、mp3、さらには ogg などの一般的な形式があります。

さまざまなオーディオ形式の読み取りを簡素化し、生のオーディオ サンプルの一定のストリームを提供する、オーディオ ファイル用の libav/ffmpeg に似たライブラリはありますか? または、フォーマットごとに個別のライブラリを使用するのが最善の解決策ですか? ライブラリは、c/c++ およびクロスプラットフォーム互換 (Mac、Win、Linux、ARM) である必要があります。

編集すべての回答に感謝します。私はすべてのライブラリを評価し、ほとんどのライブラリはバックエンドとして ffmpeg を必要とするため、libav/ffmpeg をそのまま使用するのが最善であるという結論に達しました。

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

audio - ソフトウェアDAWを構築するために必要な開発者の役割または役職はどれですか?

これまで、 MacおよびWindowsプラットフォームでさまざまなオーディオ制作ソフトウェアを使用してきました。自分でDAWを作成することを考えることがよくありますが、それは1人の人間にとって非常に難しい課題であることに気づきます(特に、特定の分野/プログラミング言語に精通している場合のみ)。

私が使った他のDAWのいくつかを考えただけで、頭に浮かぶアイデアや機能がたくさんあります。MIDI入力/出力、オーディオルーティングミックスバスVSTサポート、ピアノロールソングビューのユーザーインターフェイスなどの実装から...

だから私の質問は...

完全なデジタルオーディオワークステーション(DAW)ソフトウェアを作成するには、開発者のチームでどの役割が必要ですか?

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

windows-phone-7 - ウェーブファイルをダウンサンプリングする

16000 HzPCM16ビットウェーブファイルを8000Hzにダウンサンプリングする必要があります。私はオーディオ処理についてあまり知識がありません(ほとんどありません)。すべてのプログラマーが理解しているように、ビット、バイト、シフトなどを理解しています。

これはWindowsPhoneアプリケーションです。

何を指示してるんですか?また、私が理解している限り、XNAフレームワークのMicrophoneクラスのSampleRateは、16000Hzのデータしか提供しないようにカスタマイズできません。Windows Phoneで8000Hzの生のオーディオデータを取得する方法はありますか?それははるかに簡単な解決策になるでしょう:)

ありがとうございました。