問題タブ [vdsp]
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.
swift - 変動する時間間隔でキャプチャされた線形リサンプリング データポイントを、固定された時間間隔で迅速に取得
変動する時間にキャプチャされたいくつかのメトリックを、一定のタイミング間隔に線形補間したいと考えています。
AcceleratevDSP_vlintを提供していますが、アプリケーションに実装する方法を理解するのに苦労しています。
ios - iOS - iOS 用のシンプルなリサンプリング オーディオ機能
オーディオ処理 iOS アプリ用に、オーディオの録音に Novocaine を使用しています。録音後に適用するカスタム オーディオ フィルタがあります。ここで、オーディオを 8kHz でリサンプリングします。したがって、基本的には、オーディオ データ バッファーを渡し、単純にリサンプリングされたオーディオを取得する単純なモジュール/関数が必要です。
私はインターネットを調べましたが、iOS の要件に従って、一般的なリサンプリング オーディオ データ ソリューションが見つかりませんでした。
私を助けてください、私はあなたにとても感謝します。
swift - vDSP_meanD の奇妙な値
vDSP_meanD 関数を使用して、データ セットの平均を求めています (配列からの連続差分)。
私が使用しているコードは以下のとおりです
関数 F はスレッド ブロック内で呼び出されます
F 関数は、さまざまな変数インスタンスを使用して複数のディスパッチ ブロックで呼び出され、vDSP_meanD から返された値に対して異なる値を取得します。これが発生するコンテキストはありますか? スレッド呼び出しがそれに何らかの影響を与える可能性がありますか? どんな「ライト」でも大歓迎です
ios - デジタル補間でオーディオをアップサンプリングする方法
N 個のオーディオ データ ポイントを持つ配列を取得し、L*N ポイントになるようにアップサンプリングしたいと考えています。これを行う正確な方法は、各元のポイントの間にL-1個のゼロポイントを埋めてから、信号をローパスすることだと理解しています。この 4 分間のビデオhttps://www.youtube.com/watch?v=sJslC6TuCocによると、Pi / L の周波数でローパスし、結果に L のゲインを追加して、信号を適切にアップサンプリングする必要があります。この低い通過ステップに問題があり、結果のオーディオ信号がまったく聞こえません。誰でもここで私を助けることができますか? この「ローパス」は、本当にバンド リジェクト フィルターか何かに似ていますか?
私のローパスアルゴリズムはここに記載されています(「LPF」の下にマークされた係数を持つ双二次伝達関数):http://music.columbia.edu/pipermail/music-dsp/1998-October/054185.html
arrays - Accelerate関数でArraySliceを使用するより良い方法は?
何百万もの計算を実行する必要がある非常に大きな配列がいくつかあります。Objective-C では、配列は NSData として格納され、それらを C 配列に抽象化して、Accelerate 関数 (sum、add など) を使用します。ただし、(どこでもポインターを使用することに関する明らかな問題を考えると) Swift 配列に組み込まれている境界チェックをもっと活用したいと思います。したがって、ネストされた withUnsafeBufferPointer を使用して、2 つの配列を操作できます。
まず、コンパイラが [Double] 自体をキャストする方法を既に知っている場合、意図した型としてポインターを再キャストすることは奇妙に思えます (ブロック内で渡されるポインターの型は ですUnsafeBufferPointer<Double>が、vDSP 関数は期待されますUnsafePointer<Double>(ここでも、配列変数自体を渡した場合の苦情))。withUnsafeBufferPointer第二に、使用法は理解していますが、見栄えをネストする必要があります。最後にArraySlice<Double>、入力パラメーターの型として使用すると、関数を Double 配列とその配列のスライスの両方に一般化できません。
これを行うより良い方法はありますか?