問題タブ [accelerate-framework]

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

iphone - 1D ベクトル リサンプリング用の vDSP 機能はありますか?

ベクターをエンベロープとして使用して、さまざまなサイズのかなり大きな音の塊に fft イコライゼーションを適用できるようにしたいと考えています。

周波数ドメイン ビンをエンベロープで乗算できるようにするには、エンベロープが fft データと同じ解像度である必要があります。これは、サウンド チャンクのサイズによって異なります。

したがって、エンベロープ ベクトルをリサンプリングする関数が必要です。vDSP がその目的のための機能を備えているかどうか知っていますか? 参照を前後に閲覧しましたが、何も見つかりませんでした。これは、そこに何もないという意味ではありません。vDSP リファレンスを検索しているときに何かを見逃すのは簡単です...

自分で何かを実装できなかったわけではありませんが、vDSP 機能があれば、おそらく私が思いつくよりもはるかに高速になるでしょう。このプロジェクトは iOS デバイスも対象としているため、これは重要です。

そして、車輪を再発明する必要はありません:)

ありがとう!!

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

objective-c - iPhoneでfftのアクセラレータフレームワークを設定します

読んだ後、アクセラレータを設定する関数を設定しました:

AppleFFTとAccelerateFrameworkの使用

AccelerateフレームワークvDSPを搭載したiPhoneFFT

とアップルのドキュメント。

これは私がしました :

質問:

  1. 私のアプリは、この2行のいずれかでエラー(BAD ACCESS)なしで常にクラッシュします:

originalReal [i] =(float)(i + 1); // また

vDSP_ctoz((COMPLEX *)originalReal、2、&A、1、nOver2);

log2nに適切な値を設定しなかったと思いますか?(1024ウィンドウを取得するには10?)

  • ビンの実際の大きさを取得するにはどうすればよいですか?私の実際のfft?私がここに書いたのと同じですか?

  • MYデータバッファ配列をどこに入力しますか(正確には私のコードのどこにありますか?代わりにoriginalReal?)

どうもありがとう。

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

ios - Objective-C ピーク検出加速フレームワーク

私はここでは数学の第一人者ではないので、デジタル信号処理に詳しい人に聞きたいのですが、リアルタイムのピークを検出する最良の方法は何ですか. 1 秒あたり約 30 フレーム/値を取得し、ピークを検出するための傾斜アルゴリズムを実装しようとしましたが、約 80% のケースで問題なく動作しましたが、実際には十分ではありません :(.

私が検索したものから、高速フーリエ変換を使用する必要がありますが、それを開始する方法がわかりません。おそらく、この場合に FFT を使用する方法の一般的なアイデアが欠けています。

iOS には、FFT を実行するのに役立つこの驚くべき Accelerate フレームワークがありますが、一般的なアイデアが得られない限り、私にはほとんど役に立ちません。

誰かが私を正しい方向に向けることによって、どういうわけか私を啓発することができます:-)?

明けましておめでとうございます。

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

ios - サインスイープから周波数応答を計算する際の問題

現在、iPhone のスピーカー/マイクの往復の周波数応答を計算しようとしています。スピーカーでサインスイープを再生し、マイクを介して録音し、そこから周波数応答を取得しようとします。最終的な目標は、特定のサウンドに FR を乗算して、iPhone のスピーカー/マイクのように聞こえるようにすることです。

これまでの私のコード:

これはこれまでのところ機能しており、FR を最初のファイル スイープで乗算すると、マイク スイープのように聞こえます。

私の問題: これは、FR が生成された正確なファイル (スイープ) に対してのみ機能します。FR を使って他のサウンドを変更するとすぐに、たとえばノイズだけの音楽が出てきます。

私はこのようなFRを使用します(周波数ドメイン、インターリーブ、複雑ではなく、同じ長さでも):

スピーカーで再生されたファイルからのサイン スイープ: ここに画像の説明を入力

記録されたサイン スイープ (減衰された低周波が表示されます): ここに画像の説明を入力

上記のコードで生成された FR を使用して、私のファイル サイン スイープを周波数領域で乗算します。 ここに画像の説明を入力

私の目標: 私の理解では、周波数応答は各周波数に関する情報であり、システムによってどれだけ減衰または増幅されるかです(私の例では、低周波数を再現できません)。この種の情報を取得するために、必要なすべての周波数を含むサウンドを生成し (サイン スイープ)、それを再生し、記録されたスイープ/ファイル スイープを分割して (コードで分割)、すべての周波数がどのように変更されるかを分析します。

この FR を周波数領域で任意のサウンドに乗算すると、周波数の振幅が変更され、システムでの再生が模倣されます。

ありがとう!


更新: 最終的に、障害は複雑な算術演算の欠落であり、サインスイープとピンクノイズの両方が、インパルス応答を回復するためのインパルスとしてかなりうまく機能しました。

動作するコードを取得するには、記録されたスイープ fft データを最初のスイープ fft データで複雑に除算します。

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

objective-c - オートセプストラム加速フレームワーク

加速フレームワークでオートケプストラム (ケプストラム + 自己相関) 分析を行うにはどうすればよいですか? サンプルコードまたはプロジェクトはありますか?

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

ios - vDSP_zcoher() の説明が必要

私は現在生のオーディオデータを扱っており、2 つの信号を比較するためにvDSP_zcoher()に遭遇しましたが、それについていくつか質問があります。

  1. 出力が複雑な配列であり、実数ではないのはなぜですか。たとえば、相関の出力と同じように、実際の配列を期待していました。更新:ドキュメントが間違っているようです.Dは本物です.
  2. パラメータ A、B、および C は、vDSP_zaspec (A、B) およびvDSP_zcspec (C) で作成された自動およびクロススペクトルを累積していますか?
  3. 結果が信号の類似性を示すべきであるというのは正しいですか?

機能の一般的な説明も大歓迎です!

前もって感謝します。

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

ios - フレームワーク ios の高速化: 最速のピタゴレン計算

したがって、2 つの行列があります。それぞれが 100x100 です。

M3[i]=sqrt(M1[i]^2 + M2[i]^2) のような 3 番目の行列を計算しようとしています。

私は明らかにForLoopsを実行できますが、もっと速いものがあると確信しています。

加速フレームワークを掘り下げてLinpackの世界に迷い込んだ

私を正しい軌道に乗せるための助け...

ありがとう

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

ios5 - iOS 5 の非推奨の加速度計:didAccelerate に代わるものは何ですか?

うーん...私は時代遅れで、古いコードを新しいアプリケーションに移植しようとしていますが、アクセラレータの委任は非推奨です。代わりがいるはずです。ドキュメントを参照して、すぐに始められるようにしてください。

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

objective-c - フレームワーク ケプストラム ピーク検出を加速

加速フレームワークでケプストラム分析のピーク値を見つけようとしています。フレームの最後または最初に常にピーク値を取得します。マイクから音声をリアルタイムで取得して分析しています。この私のコードの何が問題になっていますか? 私のコードは以下です:

}

0 投票する
5 に答える
2383 参照

ios - vDSPを使用したアレイコンテンツのコピー

DSPコードを最適化するためにacceleratedフレームワークを使用しています。ある配列(または配列の一部)の内容を別の配列にコピーしたい場合が何度かあります。

これを行うための適切な関数が見つからないようです。その代わりに、配列に1を掛けて(または0を足して)、その方法でコピーを取得するという、ある種のばかげた作業を行ってきました。

これを行うためのより良い方法が必要です!?ありがとう!