問題タブ [sampling]

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

c# - C# XNA ダイナミック オーディオのラジアン角のラッピング

編集 2 + 回答

0と の間をラップする必要があることがわかりましたFrequency*2*Math.pi

投稿したすべての人が、この問題の解明に貢献しました。ゲストの評判は最低だったので、彼の投稿を回答としてマークしました。みんなありがとう、これは私を夢中にさせていました!

編集1

これが私の WrapValue メソッドです。これを前に投稿することを考えるべきでした。クリス・テイラーのものほど洗練されていませんが、私には同じ効果があります.


これは Gamedev に適しているかもしれませんが、ゲーム性が低く、コードと数学性が高いため、ここに記載します。

XNA 4.0 の新しい DynamicSoundEffectInstance クラスを使用して Xbox をデジタル楽器に変えようとしていますが、毎秒クリックが発生しています。これは、ドメイン値を 0 から 2*pi の間でラップしようとしたことが原因であると判断しました。

DynamicSoundEffectInstance を維持するだけの SineGenerator という小さなクラスを作成し、 で生成されたサンプル バッファをフィードしますMath.Sin()

私は正確に 44.1 または 48k のサンプリング レートを使用したいので、double x(フィードしている角度Math.Sin()) とdouble stepどこにstepあるかを保持してい2 * Math.PI / SAMPLING_FREQUENCYます。DynamicSoundEffectInstance.SubmitBuffer() のデータを生成するたびに、インクリメントxしてサンプル バッファーにstep追加します ( XNA は 16 ビットのサンプル深度しかサポートしていないため、a に切り捨てられます)。sin(frequency * x)short

角度が大きくなっても精度が失われないように、角度を 0 から 2*pi の間でラップしたほうがよいと思いますx。ただし、これを行うとクリックが発生します。double WrapValue(double val, double min, double max)MathHelper.WrapAngle() がおかしい場合に備えて、独自のメソッドを作成しました。Math.PI と -Math.PI の間のラップも、0 と 2*Math.PI の間のラップもクリックを取り除きません。ただし、わざわざ値をラップせずにそのまま大きくすると、クリックが消えます。

私はそれが .NET 三角関数の精度、sin(0) != sin(2*pi) と関係があると考えていますが、判断するのに十分な知識がありません。

私の質問:なぜこれが起こっているのですか?

コード:

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

profiling - プロファイラーの計測とサンプリング

主にインストルメント化とサンプリングを行うプロファイラー間の研究を行っています。私は次の情報を思いつきました:

  • サンプリング: プログラムの実行を停止し、PC を取得して、プログラムが
  • 計測: プログラムにいくつかのオーバーヘッド コードを追加して、プログラムを認識するためにいくつかのポインターをインクリメントします。

上記の情報が間違っている場合は、私を修正してください。

この後、実行時間を見ていたら、サンプリングよりもインストルメントの方が時間がかかると言う人もいました!これは正しいです?

はいの場合、それはなぜですか?サンプリングでは、プロセス間のコンテキスト切り替えの代償を支払う必要がありますが、後者では同じプログラムでコストはかかりません

何か不足していますか?

乾杯!=)

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

c++ - 差分方程式にサンプリング レートの影響を追加するにはどうすればよいですか?

アキュムレータと微分器を設計するために、以下の差分方程式を実装したいと思います。

アキュムレータ:
y[n] = y[n-1] + x[n]、ここy[n]で、 は n 番目の出力、x[n]は n 番目の入力です。

微分子:
y[n] = x[n] - x[n-1]、ここy[n]で、 は n 番目の出力、x[n]は n 番目の入力です。

アキュムレータ:

差別化要因:

入力ベクトルのデータは、連続時間信号から生成されます。つまり、この離散時間信号を取得するためにサンプリングされます。また、サンプリング レートは T dです。

入力信号のサンプリング レートを上げると、アキュムレータの出力の振幅が大きくなります。差別化するサンプルがたまたま多いため、これは予期されることです。一方、サンプリング レートの増加に伴い、微分器の出力振幅は減少します。微分器と積分器の両方の振幅は、サンプリング レートがユニタリ (つまり、1.0 サンプル/秒) の場合、(数学が示す値で) 正確です。

私の質問は;
出力ベクトルでのサンプリング レートの影響を無効にするにはどうすればよいですか?

私の一般的な質問は次のとおりです。
任意の因果離散時間伝達関数 から差分方程式を取得するとしますH(z)。この場合、差分方程式は何でもかまいません。この一般的なケースでサンプリング レートの影響を無効にするにはどうすればよいですか?

(詳細については、このフォーラム スレッドを参照してください: 関連するフォーラム スレッド)

0 投票する
12 に答える
59335 参照

java - リストから n 個のランダムな要素を取得する?

からn個のランダムな要素を取得するにはどうすればよいArrayList<E>ですか? take()理想的には、メソッドを連続して呼び出して、別の x 要素を置換せずに取得できるようにしたいと考えています。

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

algorithm - 三角形のランダムな点を抽出する

A頂点、B、およびを持つ任意の三角形があるとしますCこの論文 (セクション 4.2)では、次の頂点の凸結合によって、P三角形内から一様にランダムな点 を生成できると述べています。ABC

ここで、r1r2は から一様に引き出され[0, 1]sqrtは平方根関数です。

サンプリングされたポイントが三角形内に均一に分布していることをどのように正当化しますABCか?

編集

mathoverflow の質問に対するコメントで指摘されているように、 Graphical Gems ではこのアルゴリズムについて説明しています

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

linux - Linux でのオーディオ ストリームのサンプリング レート

C/C++を使用して、Linuxでオーディオマイクからサンプルを読み込んで保存しようとしています。PCM ioctl を使用して、SOUND_PCM_WRITE_RATE ioctl などを使用して特定のサンプリング レートが 10Khz になるようにデバイスをセットアップします。

私が抱えている問題は、適切なサンプリングレートを設定した後、/dev/dsp1 から継続的に読み取り、これらのサンプルを保存するスレッドがあることですが、1 秒間の記録で取得するサンプル数はサンプリングレートから離れており、常に設定されたサンプリングレートよりも桁違いに大きくなります。何が問題なのかを理解するためにどこから始めればよいでしょうか?

編集:

部分的なソース コード:

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

c# - DirectX 9 HLSL テクスチャ サンプリングの問題

私はマネージ DirectX 2.0 (DirectX9 と同じだと思います) を使用してアプリケーションを作成しています。保存されたテクスチャ (グローバル変数として割り当てられた) を画面に出力する単純なピクセル シェーダを作成していますが、代わりに渡されたテクスチャをレンダリングしていることがわかります (別のレンダリングされたテクスチャも渡しています。このシェーダはテスト シェーダです)。

私のHLSLコードは次のとおりです。

私のC#は次のとおりです。

出力は、DepthTexture に保存されているものとは対照的に、RenderTexture に保存されているものです。この行で RenderTexture を DepthTexture と交換しようとしました。

出力は DepthTexture であるため、明らかにそこからデータを取得しており、テクスチャは適切にフォーマットされています。

渡されたテクスチャからいつサンプリングし、いつ描画データからサンプリングするかを HLSL に伝える方法の良いチュートリアルを知っている人はいますか?

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

ios - オーディオファイルの長さからサンプル数を計算するには?

デュレーションが 10 秒のオーディオ ファイルがある場合、2 秒と 8 秒の間のサンプル数を調べるにはどうすればよいですか?

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

audio - オーディオファイルの特定の時間に対応するサンプルフレームオフセットを取得します-iPhone

持続時間が10秒のオーディオファイルで、2秒をシークしたい場合、サンプルフレームオフセットを取得するにはどうすればよいですか?

0 投票する
4 に答える
2512 参照

javascript - javascript: 範囲から 2 つのランダムだが異なる数値を生成する

簡単な質問:

この Python コード行を実装するための最良の方法は何ですか (指定された範囲から 2 つのランダムだが異なる数値を生成します)...

...Javascriptで?

前もって感謝します!

マーティン