問題タブ [decibel]
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.
volume - デシベルでの QMediaPlayer とボリューム コントロール
音楽プレーヤーを Qt4 から Qt5 に書き直しています。Phonon から QtMultimedia に切り替えました。私は今、ボリュームコントロールに深刻な問題を抱えています。ReplayGain をサポートするために、私はメディア ファイルからタグを読み取り、すべてのトラックで音量を変更して均等に保ちます。
フォノンでは、タグに格納されているボリュームの差が dB 単位であるため、setVolumeDecibel を使用します。しかし、QtMultiMedia では使用できません。QMediaPlayer クラスには setVolume 関数しかありません。音量をdBで制御する方法は他にありますか? 内部での setVolume の計算は何ですか? たぶん、音量をdBで設定するためにそれを逆にすることができます.
または、私が何をすべきか他のアドバイスはありますか?
ios - AVAudioRecorder での dB の測定は、iOS では 96dB に制限されています
アプリ内の機能のロックを解除する dB 測定を構築しようとしています。ユーザーが 100dB に達すると、この機能が利用可能になります。私の現在の実装では、最大 96dB までしか測定できません。私が理解していることから、問題はビットレートの記録に何らかの形で関連しています: 16bit は 96dB しか対応できません。神話爆発)。
dB 測定と計算は正常に機能します。私の唯一の問題は、96dB 以上を測定できないことです。より高いビットレートを達成するための設定に苦労しています。ここで何か間違っていると思います。
レコーダーの現在の初期化は次のようになります。
前もって感謝します。
android - Audio Record クラス : 騒音レベルの計算
getMaxAmplitude() 関数の代わりにオーディオ レコード クラスを使用して、Android アプリ (サウンドメーター) を開発しようとしています。
私はそれを行うためにこのリンクをたどりました:
Androidにサウンドフィルタリングライブラリはありますか
このコードについていくつか質問があります。
- calculatePowerDb()関数で電力を計算するにはどうすればよいですか? なぜサンプルの sqsum を行うのですか? 言い換えれば、この方程式「電力 = (sqsum - sum * sum / samples) / samples」は何を表しているのでしょうか?
- 出力値「return Math.log10(power) * 10f + FUDGE;」です。(power leve/ref_power) の差は?
実際、私はこの機能を理解していません:
このコードは負の値を返し (音響パワーを期待)、デバイスでいくつかのキャリブレーションを行った後 (追加/撤回比率) は正常に動作します。
ここで、このコードの一部を理解したいと思います (上記のコメント)。
あなたの応答と実行できるすべての詳細をありがとう!
iphone - iPhone で AVAudioRecorder を使用して 1/3 オクターブ バンドの dB(A) 値を計算する方法
AVAudioRecorder と AVAudioSession を使用しました。これにより、0 (非常に大きな音) から -160 (無音に近い) の範囲のデシベル値が得られます。このアプリでは、iPhone のマイクから受信したリアルタイムのオーディオ測定値の A-rating iedB(A) 曲線をプロットする必要があります。
次の手順を実装しています-
AVAudioRecorder から dB 値を取得する
/li>正の dB 値を取得します。 float posdBValue = dbValue+160; たとえば、dbValue=-100 の場合、posdBValue = -110+160 = 50dB
異なる 1/3 オクターブ周波数帯域の A 重み付けを追加して dB(A) 値を計算します A 重み付け値の参照 - http://personal.cityu.edu.hk/~bsapplec/single.htm
- 31.5Hz の dB(A) = 50 -39.4 = 10.6;
- 40 Hz の dB(A) = 50 -34.6 = 15.4
- 50 Hz の dB(A) = 50 -30.2 = 19.8
グラフに dB(A) 値と周波数帯域をプロットします。
質問 1. これは、デシベルから dB(A) 値を見つける正しい方法ですか? 2. FFT を使用することになっていますか? はいの場合、FFT は計算のどこにどのように適合しますか? 3. averagePowerForChannelメソッドから返された単一の dB 値に基づいて、24 オクターブ バンドのすべての中心周波数に対して異なる dB 値を計算する必要がありますか? はいの場合、どのように?4. iPhone コードのソリューション、オープンソース ライブラリ、リファレンスを提案できる人はいますか?
私は完全に途方に暮れています。私は何かを逃していると感じています。助けてください!今のところ、計算とロジックを理解する必要があります。ありがとうございました。
android - SPL メーターで時間加重を実装する方法は?
音圧レベルを測定する Android アプリを開発したいのですが、時間重み付けの実装方法がわかりません。現時点では、私のアルゴリズムは次のように機能します。
- 20ms のオーディオを録音 (160 サンプル @ 8000Hz)
- RMS の計算
- SPL を計算する
- 表示値を更新してやり直す
ここでは、アルゴリズムの主要部分を確認できます。
サウンドレベルメーターのグレードは、高速、低速、またはインパルス時間で重み付けできることを知っています。しかし、今回の重み付けをアルゴリズムに実装する方法と場所がわかりません。
Q: 時間加重とは、測定された dB 値を更新する時間が経過したことを意味しますか?
Q: 重み付けされた結果を高速に取得するには、更新間隔を 125 ミリ秒に変更する必要がありますか?それとも完全に間違っていますか?
ご協力ありがとうございました
java - プログラム内でJavaのプログラムの出力オーディオレベルを変更する
プログラムの出力オーディオ レベルを、できればデシベル単位で変更しようとしています。プログラム全体のオーディオ レベルを変更し、レベルの変化を記録する必要があります。言語はJavaです。これを行う簡単な方法はありますか?サウンドを再生するために使用しているサウンドは次のとおりです。