問題タブ [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.
java - サンプリング音を合成する
整数の配列をサウンド表現に変換しようとしています。現在、各値を個別のショート トーンとして再生していますが、次のように、情報から単一のサンプリングされた波形を作成して再生したいと考えています。
各赤い点はデータ ポイントを表します。理想的には、 のような単純な方法で終わりたいと思いplaySound(int[] array);
ます。javax.sound.sampled パッケージを調べましたが、どこから始めればよいかわかりません。
matlab - MATLABでの長さの異なる2つのデータセットのリサンプリング
長さ927のsensorAと長さ1250のsensorBの2つのベクトルがあります。同じ長さにしたいと思います。MATLABのresample()関数はエッジで非常にノイズが多く、全体を通して少なくとも適度に優れた精度が必要です。
リサンプリングは補間によって実行できることは理解していますが、最も効率的な方法で実装するにはどうすればよいですか。927から1250までできるだけ均一に伸ばす必要があります。
私はこのようなことをすることができるかどうか疑問に思っていました:
- 短いベクトルに333個の新しいサンプルが必要です。したがって、3つの値ごとに、その間に2つの連続する値の平均(中点)を挿入します。=>309サンプルが挿入されました
- 残りについては、38サンプルごとに再度挿入します(927 /(333-309))
これは意味がありますか?それでも正確な補間を取得することはできません。他に使える機能はありますか?(interp()
積分リサンプリングレートが必要なため以外に?)
audio - 毎秒のオーディオサンプル?
サンプルのブロックとそれに相当する時間との関係について疑問に思っています。これまでの大まかな考えを考えると:
1 秒あたりに再生されるサンプル数 = 合計ファイルサイズ / 再生時間。
たとえば、1.02MB のファイルと 12 秒 (平均) の長さのファイルがあるとすると、1 秒あたり約 89,300 サンプルが再生されることになります。これは正しいですか?
これを計算する他の方法はありますか?たとえば、byte[1024] 配列がどれくらいの時間に相当するかを知るにはどうすればよいですか?
android - Android SENSOR_DELAY_FASTEST の速度が十分ではありません
センサーを使用してロボットのバランスをとっていSENSOR_DELAY_FASTEST
ますが、10Hz のサンプリング レートしか提供していません。さらに高速にサンプリングする方法はありますか?
を待つのではなく、センサーをポーリングする方法はありSensorEvent
ますか?
java - AndroidまたはJavaでWAV(またはMP3)のサンプリング周波数を変更する方法はありますか?
Android のモノラル (SCO) BT ヘッドセットでファイルを再生しようとしています。ファイルの周波数は 8000 Hz でなければなりませんが、私が持っているファイルは 44100 Hz です。ファイルは MP3 ですが、Android が MP3 をネイティブに処理しないことがわかっているため、WAV に変換するコードを既に作成しています。
これは実行時にデバイスで行う必要があるため、誰か提案を提供できますか?
MediaPlayer を使用してファイルを再生できる限り、ファイルが最終的にどのような形式になるかは気にしません。
java - AMR-アップサンプリングする方法
AMRオーディオデータをアップサンプリングするにはどうすればよいですか。amrファイルは6バイトのヘッダー( "!#AMR" .getBytes())で構成され、その後、それぞれ1バイトのヘッダーと31バイトのオーディオを持つ32バイトのフレームがあります。どのようにアップサンプリングする必要がありますか?線形補間について読みましたが、ここでどのように適用するかわかりません。異なるフレーム間、またはフレーム内のバイト間などで補間する必要がありますか?どんな助けでも大歓迎です:)
python - 適切なカットオフ値を見つける
非対称性の高いデータを正規化するために、Hampeltanh推定量を実装しようとしています。これを行うには、次の計算を実行する必要があります。
x
-ソートされた数値のリストとm
-の中央値が与えられた場合、の値の約70%が範囲内に収まるようx
に見つける必要があります。の値の分布については何も知りません。私はnumpyを使用してPythonで記述します。私が持っていた最善のアイデアは、ある種の確率的反復検索を記述することです(たとえば、Solis and Wetsによって説明されたように)が、次のいずれかの形式で、より良いアプローチがあると思います。より良いアルゴリズムまたは準備ができた関数として。numpyとscipyのドキュメントを検索しましたが、役立つヒントが見つかりませんでした。a
x
(m-a; m+a)
x
編集
Seth はscipy.stats.mstats.trimbothを使用することを提案しましたが、偏った分布のテストでは、この提案は機能しませんでした。
出力は0.79です(70ではなく〜80%)
signal-processing - 線形量子化と非線形量子化の違いは何ですか?
線形量子化と非線形量子化の違いは何ですか? 私はPCMサンプルに関して話しています。 http://www.blurtit.com/q927781.htmlにはそれに関する記事がありますが、より詳細な回答を探しています。
matlab - MATLAB / General CS:複数のセットからの置換なしのサンプリング(+サンプリングされていないケースの追跡)
私は現在、いくつかのセットから置き換えることなくサンプリングする必要がある最適化アルゴリズムを実装しています。私はMATLABでコーディングしていますが、これは本質的にCSの質問です。
状況は次のとおりです。
有限数のセット(A、B、C)があり、それぞれに有限ですが、おそらく異なる数の要素(a1、a2 ... a8、b1、b2 ... b10、c1、c2 ... c25)があります。また、各セットの確率のベクトルがあり、そのセット内の各要素の確率がリストされています(つまり、セットAの場合、P_A = [p_a1 p_a2 ... p_a8]ここで、sum(P_A)= 1)。私は通常、これらを使用して各セットの確率母関数を作成します。これは、0から1までの均一な数が与えられると、そのセットから要素の1つを吐き出すことができます(つまり、u = 0.25が与えられる関数P_A(u)はa2を選択します)。
セットA、B、 Cから交換せずにサンプリングしたいと思っています。各「完全なサンプル」は、異なるセット(a1、b3、c2)のそれぞれからの要素のシーケンスです。完全なサンプルのスペースは、 A、B、およびCの要素のすべての順列のセットであることに注意してください。上記の例では、このスペースは(a1、a2 ... a8)x(b1、b2 ... b10)x(c1、c2 ... c25)であり、8 * 10 * 25=2000の一意の「フル」があります。私のスペースのサンプル」。
この設定で置き換えずにサンプリングすることの厄介な部分は、最初のサンプルが(a1、b3、c2)の場合、要素a1を再度サンプリングできないことを意味するのではなく、完全なシーケンス(a1、 b3、c2)再び。もう1つの厄介な部分は、私が使用しているアルゴリズムでは、サンプリングしていない要素のすべての順列に対して関数評価を行う必要があることです。
私が今自由に使える最善の方法は、サンプリングされたケースを追跡することです。私のサンプラーは以前にサンプリングされたすべてのケースを拒否することを余儀なくされているため、これは少し非効率的です(私は交換なしでサンプリングしているため)。次に、ネストされたforループを使用して各順列(ax、by、cz )を調べ、( ax、by、cz)の組み合わせがサンプリングに含まれていない場合にのみ関数評価を行うことにより、サンプリングされていないケースの関数評価を行います。ケース。繰り返しますが、各順列( ax、by、cz)がすでにサンプリングされているかどうかを「チェック」する必要があるため、これは少し非効率的です。
この問題に関して何かアドバイスをいただければ幸いです。特に、置換せずにサンプリングし、完全なサンプル空間を明示的にリストしない非サンプリングのケースを追跡する方法を探しています(私は通常、それぞれ10個の要素を持つ10セットで作業するため、完全なサンプル空間をリストするには10が必要です^ 10 x 10マトリックス)。これは不可能かもしれませんが、効率的な方法を見つけることで、アルゴリズムの真の限界を示すことができます。
java - アップサンプリング用のPCMアルゴリズム
8k16ビットのpcmオーディオがあり、16k16ビットにアップサンプリングしたいと思います。これは手動で行う必要があります。
線形補間のアルゴリズムを教えてもらえますか?各2バイト間を補間する必要がありますか?
また、アップサンプリングするときは、wavヘッダーを変更する必要があります-何を変更する必要がありますか?