アマレコTV・アマミキ!用 オーディオレンダラーフィルタ Ver2.30a ベータ版
アマレコTVやアマミキ!のプレビュー音の遅延やプチプチノイズを軽減します。
■使い方
アマレコTV Ver2.20cのAmAudioRenderer.axファイルを差し替えてください。
※ 現在はベータ版です多少の問題は自力で対処できる方のみご利用下さい。
Ver2.30a ダウンロード
■更新内容
Ver2.30
(1) 可変再生速度の精度が向上しました。
・処理単位が約20msから約1msになりました。
・1msより小さいマイクロフィードバック制御を追加しました。
・動作タイミングが不安定な(一定のリズムでデータを送ってきてくれない)録音デバイスに対応しました。
(2) 反応速度(Latency)を設定できるようになりました。
(3) Bluetooth上のオーディオデバイスなど利用中にオーディオデバイスが無効になるケースに対応しました。
(4) IOレベルの異常など、明らかに再生レートが合わない状態が続いた場合は再生デバイスをリセットするようにしました。
Ver2.30a
(1) Bluetooth等のオーディオデバイスが利用できなくなった際に、エラーメッセージ「waveOutWrite : MMSYSERR_NODRIVER」が表示されるようになっていたのを修正。
■設定方法
AmAudioRenderer.axを差し替えた後一度アマレコTVまたはアマミキ!を実行してプレビュー(音を出す)するとAmaAudioRenderer.ini という設定ファイルが作成されます。アマレコTVまたはアマミキ!を終了してから設定ファイルをメモ帳で開いて内容を編集してください。
項目名 | 初期値 | 設定範囲 | 内容 |
pcDeviceName | - | - | 音を再生するデバイス名です。 変更する必要はありません。 |
iMinimumBuffSizeMS | 20 | 20 | アロケーターサイズが非常に小さいと困るのでこの値より小さくならないようにします。 変更する必要はありません。 |
iBuffNum | 10 | 10 | 再生バッファの個数を設定します。 多いほどドロップしにくくなりますが、通常変更する必要はありません。 |
iLatency | 30 | 10-100 | 目標反応速度を1000分の1秒単位で設定します。 値を小さくするほど遅延が減り、大きくするほどプチプチしにくくなります。 |
iLatencyBandWidth | 5 | 5-20 | 反応速度の許容範囲を1000分の1秒単位で設定します。 値を小さくすると敏感に制御されます。大きくすると鈍感(余り補正されない、補正されるときは大きく補正されるので目立ちます)になります。 |
iDebugLog | 0 | 0-1 | 1にするとデバック用のログファイルを作成します。 反応速度の様子や補正がどのように行われたか確認できます。 |
iLatencyの値を変更して遅延を減らしたりプチプチ(ノイズ)を軽減するように調整してください。
iLatencyを小さくするほど遅延は減りますが、利用する再生オーディオデバイスにより限界値(それ以上iLatencyを下げても遅延は減らない)が ありますので余り下げすぎないようにしましょう。設定例を後に書きますので参考にして下さい。
逆にiLatencyを大きくするとノイズを軽減できます。ノイズがするな~と思ったらちょっとずつ(10程度ずつ)iLatencyをあげてみてください。
基本的にはスピーカーやヘッドホンで音を聴きながら耳を頼りに調整して下さい。
アマレコTVやアマミキ!の高度な設定にあるアロケーターサイズも影響しますのでアロケータサイズを40ms(初期値)にしてからiLatencyの調整をして下さい。
■設定例と遅延の実測結果
Windows7のPCのオンボードオーディオデバイスを使って、アロケータサイズとiLatencyの設定内容によりLine入力 - Line出力間の遅延がどうなるかテストしました。
テストはステレオ(左右同音)の片チャンネルだけPC2のLine入力に接続し、PC2のLine出力端子の様子と、PC2を通さなかったもう一方のチャンネルの波形を記録します。PC2を通さなかった方を基準にしPC2を通したチャネルがどれだけ遅れたかを観察します。
遅延の実測値には以下の処理遅延が含まれます。
・録音デバイスの処理遅延(基本的にはアロケータサイズ相当)
・アマミキ!、AmAudioRendererの処理遅延(基本的には0)
・再生デバイスの処理遅延(基本的にはiLatency相当)
・OSの処理遅延、カーネルミキサー、リサンプラーなど(不明、20ms程度?)
なおテストするたびに5ms程度のばらつきが生じますので、結果(遅延実測値)には±5ms程度の誤差があるとこをご了承ください。
OS | Windows7 x64 Professional SP1 | |
CPU | Intel(R) Core(TM) i5-3470S CPU @ 2.90GHz Ivy Bridge | |
MB | ASRock H77 Pro4-M (Intel H77) | |
Memory | DDR3 1600 8GB(4GBx2 Dual Cannel)read=23.7GB/s write=12.2GB/s | |
Software | アマミキ! Ver1.01 AmAudioRenderer Ver2.30, AmAudioRenderer Ver1.15 | |
Audio Device | オンボードのLine入力、Line出力 Realtek High Definition Audio | Driver:6.0.1.6482 |
最初にアロケータサイズを40msに固定し徐々にiLatencyを下げていった場合。
次にiLatencyを40msに固定しアロケータサイズを下げていった場合。
最後に両方下げた場合となっています。
設定 | 遅延 実測値 | 補足 | |
アロケータ サイズ | iLatency | ||
40ms | 40ms | 104ms | |
40ms | 30ms | 94ms | 初期値 |
40ms | 20ms | 84ms | |
40ms | 10ms | 74ms | |
30ms | 40ms | 88ms | |
20ms | 40ms | 78ms | |
10ms | 40ms | 78ms | 頭打ちされている |
20ms | 20ms | 58ms | このあたりが妥当 |
10ms | 10ms | 54ms | 頭打ちされている |
※ 遅延の実測値には±5ms程度の誤差があります。
設定 | 遅延 実測値 | 補足 | |
アロケータ サイズ | iLatency | ||
16ms | - | 63ms | これ以上アロケータサイズを下げるとプチプチします。 |
※ 遅延の実測値には±5ms程度の誤差があります。
設定 | 遅延 実測値 | 補足 | |
アロケータ サイズ | iLatency | ||
- | - | 98ms | OSのライン入力のプロパティから「このデバイスを聴く」オプションをON |
※ 遅延の実測値には±5ms程度の誤差があります。
■注意事項
録音デバイスがビデオキャプチャカードの場合、製品の殆どがアロケータサイズの変更に対応していません。
例えばマイコンソフトのSC-500N1/DVIの場合、現状アロケータサイズは40msで固定です。
- 関連記事
-
- IO DATA社製ビデオキャプチャ「GV-USB2」
- GV-USB2の色ズレ
- アマレコTV、アマレココ、アマレコ・ライト、ファンタジーリモート更新
- アマレコTV FAQ
- アマレコTV用 デインターレースフィルタ Ver2.20d ベータ版
- ビデオキャプチャカードのタイミングと遅延
- アマレコTV用 デインターレースフィルタ Ver2.20e ベータ版
- アマレコTV・アマミキ!用 オーディオレンダラーフィルタ Ver2.30a ベータ版
- アマレコ・オーディオ・レンダラー デバックログとビデオキャプチャ編
- アマレコTV Live アマミキ! Ver2.30 ライブ機能
- アマレコTV Live アマミキ! Ver2.30 先行公開
- アマレコTV Ver2.30 モノステ(モノラル・ステレオ変換)
- アマレコTV Live アマミキ! Ver2.31 先行公開
- アマレコTV Live アマミキ! Ver2.31 公開
- フレームレートの扱いについて(ffmpeg、DirectShow、ビデオキャプチャ)
trackback
コメントの投稿