問題タブ [acoustics]

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 に答える
2528 参照

java - 水中音響での使用に適応できるJavaベースのレイトレーシングモデルはありますか?

水中光線ベースの音響のモデリングに使用するのに適した、オープンソースのJavaベースのレイトレーシングシステムを探しています。このようなパッケージは、Gaussian Ray Bundle(GRAB)を使用したComprehensive Acoustic System Simulation(CASS)に似ているかもしれませんが、プレゼンテーションで使用できるオープンソース、自由に使用、または自由に変更できるモデルを好みます。オープンフォーラム(JavaOneなど)へ。

私のニーズに最適なモデルは、環境モデル、水深測量(海底地形としても知られています)、およびエミッター周波数スペクトルに基づく光線経路モデリングを提供します。注:マルチパス効果(反射と屈折を含む)が私の主な関心事であるため、最高のパッケージですぐに使用できます。

媒体を介してさまざまな速度を処理できる標準のJavaベースのレイトレーシングパッケージ(光学または音響)は、少し最適ではありません。別の言い方をすれば、屈折率は媒体全体で連続的に変化します(ただし、その一次導関数は連続的ではない場合があります)。

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

signal-processing - 別のソースからクロックされるストリームから DAC を駆動しますか?

私の DAC は内部で 48khz でクロックされています。これも 48khz ですが、別のソースからクロックされているストリームからフィードする必要があります。

2 つのソースは時間の経過とともに変動し、その間のバッファリングは必然的にオーバーフローまたはアンダーフローします。

残念ながら、ソースで使用できるレート制御メカニズムはありません。

これをどのように処理するのが最善でしょうか?

補うために時折のサンプルを複製したり、投げたりすることは許容されますか? 30ppm の差については、約 7 万サンプルごとに 1 つのサンプルを見積もっています。

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

matlab - Simulinkルックアップテーブルのデータをファイルからロードする

さまざまな主要なナビゲーションおよびローカリゼーション機能に音響を使用する水中ロボットビークルのパフォーマンスをシミュレートするために使用しているMatlab/Simulinkモデルを構築しました。

海の特性は季節や地理的位置によって変化するため、このデータをASCIIデータファイル(行と列で編成されたスペースで区切られたデータ)からモデルに動的にロードしたいと思います。

Simulinkには多数のルックアップテーブルブロックセットがありますが、それらのいずれも「ファイルから読み取る」オプションを直接提供していないようです。テーブルエディタを使用する必要があると、モデルが間違った方向に進むことになります。

おそらくMatlabを使用して、ファイルからブロックセットにデータをロードする別の方法はありますか?

1次元テーブルの場合、Matlabコマンドに似たものを探しています

AKE

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

iphone - iOS用の音響指紋コード?

私はiOS用の私のペットプロジェクトのために音響指紋(http://en.wikipedia.org/wiki/Acoustic_fingerprint)の主題を探し始めました、そして私はあるかどうか疑問に思いました:

  1. これを処理するiOS用のオープンソースライブラリまたはソースコードはありますか?
  2. 私がすべてのトレードコーダーのベテランジャックであると仮定すると、オープンソースバージョンがない場合、これを自分で実装することは非常に問題がありますか?
  3. iOSのAccelerateDSPライブラリはそのようなタスクを処理できますか?

ありがとう

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

sphinx4 - sphinx-4でのHTK音響モデルの使用

私は音声認識ツールとしてsphinx-4を使用してきましたが、まだツールを学習しようとしています。私はHTKを使用して開発されたアラビア語の音響モデルを持っています。Sphinx-4でこの音響モデルをどのように使用できるか知りたかったのです。

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

embedded - 組み込みソフトウェアのアコースティック エコー キャンセレーション (AEC)

組み込みデバイスで VoIP プロジェクトを行っています。低グレードのオーディオ コーデックを備えた 32 ビット MCU を使用してサンプルを作成しました。現在、デバイスにエコーの問題があることがわかりました。つまり、話していることがスピーカーから聞こえます。いくつかの調査を行ったところ、ほとんどのアプリケーションが音響エコー キャンセレーション機能を備えた DSP コーデックを使用していることがわかりました。しかし、32 ビット MCU を使用して、ソフトウェアで音響エコー キャンセレーションを行うことは可能ですか?

アコースティック エコー キャンセレーションを行うためのアルゴリズム、またはソース コード:P を理解できますか? MCU では高度な手法が不可能であることは承知していますが、単純なアルゴリズムも歓迎されます。

ありがとうございました

[フォローアップ] : いくつかの AEC コードを試しましたが、MCU でうまく動作しません。おそらく MCU の能力の限界です。これらのコードを実装すると、デバイスが非リアルタイムになることがわかりました (ただし、VoIP にはリアルタイムの応答が必要です)。最後に、AEC チップを追加してアナログ ハードウェア ソリューションを実装しました。これは、別の DSP チップにコードを再度記述したくないためです。

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

speech-recognition - sphinx4音声認識の辞書ファイルで新しい単語を使用する際のエラー

私はすべてのsphinx4フォーラムとsource.afterからsphinx4音声認識を実装しようとしました

/ *
スレッド「main」の例外プロパティ例外コンポーネント:「dictionary」プロパティ:「dictionaryPath」

*/この問題を解決する方法を教えてください

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

iphone - 可変発振パターンを備えたiOSトーンジェネレーター

周波数のスライダー値に基づいてトーンを生成するトーン ジェネレーター アプリケーションがあります。アプリケーションのこの部分は正常に動作します。を使用してトーンを変更しています

ここで、Dog Whistler Application などのアプリケーションのパターンを変更する必要があります。このソース コードに従って波形パターンを変更するには、何をする必要があるか教えてもらえますか?

前もって感謝します

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

android - ReplayGain 値をボリューム調整に変換する

ストック Android/AOSP 音楽プレーヤー アプリに Replay Gain (つまり、音楽ファイルの replaygain タグに応答) を実装しようとしています。これは単なる個人的なプロジェクトですが、将来的にはパッチとして提供したり、独自のライブラリやプレーヤーを作成したりできます。私は最初のインスタンスでトラック ゲインだけを見ています。私の質問の性質は、おそらく私が数学に失敗したという事実にかかっています;)

タスクは 2 つのことを行うことです: A) 再生を開始する前に、ボリュームをデバイスの最大 -14dB (またはそれ以上、一部のソースでは -23dB とアドバイスされています) にクランプします。B) 各トラックの再生が始まる前に、そのタグを読み取り、その dB 数だけ調整します。

Android での再生音量の調整には対数スケーリングも含まれていることがわかりますが、私は対数に慣れていないので、それが物事をより簡単にするのか、それとも 2 倍 (10 倍?) 難しくするのかわかりません。

デシベル値を MediaPlayer.setVolume() の使用可能なパラメータに変換する方法について、私が欠けている手がかりを教えてください。ヒントをありがとう。

編集:接続が必要になる可能性のある(おそらく不安定な)主張がいくつかありますが、それらのいずれかが頭脳明晰であるかどうかを伝える必要があります。

  1. ReplayGain は、-14 dBFS == 89dB SPL のターゲット レベルを想定して動作します。したがって、私はこれらの尺度が上から下までずっと等しいと仮定します (これが不正確であることはわかっていますが、どれほど不正確なのでしょうか?)
  2. MediaPlayer.setVolume(1.0f,1.0f) (最大音量) を 0dBFS として扱います。
  3. (1) に基づいて、これを 89+14 = 103dBSPL に等しくします。
  4. MediaPlayer.setVolume(0.0f,0.0f) (ミュート) を 0dBSPL として扱うので、0 ~ 103 の抽象化された線形ボリューム スケールがあります。

これらに余裕がある場合は、次のように、-1.3 のトラック ゲイン値を MediaPlayer.setVolume() の適切なパラメーターに変更します。

  1. ターゲット ラウドネス = 89 - 1.3 = 87.7
  2. float newVol = 1.0f - (Math.log(103 - 87.7 / Math.log(103)) = 0.41143207395167

これはリモートで正しい軌道に乗っていますか?

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

audio - サウンドファイルまたはデバイスの音響エコーまたはサイドトーンを検出します

ミュートされていない電話の受話器から音響エコー/サイドトーンを検出する必要があります。

基本的に、マイクをミュートしたコンピューターで電話をかけています。次に、コンピューターから電話に向かって音を再生し、受話器からの着信オーディオを録音します。

電話をかけた電話がミュートになっているかどうかを検出する必要があります。ミュートされていない場合は、オーディオファイルにサイドトーン/エコーが表示されます。

現在、生のオーディオにエコーが表示されないという問題があります。

エコー/サイドトーンを検出するためにオーディオファイルを実行できるソフトウェアまたはアルゴリズムはありますか?

最大のエコーを生成するために再生する必要のある特定のトーンまたは周波数はありますか?