fc2ブログ
 

アマレコTV・アマミキ!用 オーディオレンダラーフィルタ Ver2.30a ベータ版

アマレコTV Ver2.20cとアマミキ! Ver1.01用のオーディオレンダラーフィルターです。
アマレコTVやアマミキ!のプレビュー音の遅延やプチプチノイズを軽減します。

■使い方
アマレコTV Ver2.20cのAmAudioRenderer.axファイルを差し替えてください。
※ 現在はベータ版です多少の問題は自力で対処できる方のみご利用下さい。

Ver2.30 ダウンロード
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--音を再生するデバイス名です。
変更する必要はありません。
iMinimumBuffSizeMS2020アロケーターサイズが非常に小さいと困るのでこの値より小さくならないようにします。
変更する必要はありません。
iBuffNum1010再生バッファの個数を設定します。
多いほどドロップしにくくなりますが、通常変更する必要はありません。
iLatency3010-100目標反応速度を1000分の1秒単位で設定します。
値を小さくするほど遅延が減り、大きくするほどプチプチしにくくなります。
iLatencyBandWidth55-20反応速度の許容範囲を1000分の1秒単位で設定します。
値を小さくすると敏感に制御されます。大きくすると鈍感(余り補正されない、補正されるときは大きく補正されるので目立ちます)になります。
iDebugLog00-11にするとデバック用のログファイルを作成します。
反応速度の様子や補正がどのように行われたか確認できます。


iLatencyの値を変更して遅延を減らしたりプチプチ(ノイズ)を軽減するように調整してください。
iLatencyを小さくするほど遅延は減りますが、利用する再生オーディオデバイスにより限界値(それ以上iLatencyを下げても遅延は減らない)が ありますので余り下げすぎないようにしましょう。設定例を後に書きますので参考にして下さい。
逆にiLatencyを大きくするとノイズを軽減できます。ノイズがするな~と思ったらちょっとずつ(10程度ずつ)iLatencyをあげてみてください。
基本的にはスピーカーやヘッドホンで音を聴きながら耳を頼りに調整して下さい。
アマレコTVやアマミキ!の高度な設定にあるアロケーターサイズも影響しますのでアロケータサイズを40ms(初期値)にしてからiLatencyの調整をして下さい。


■設定例と遅延の実測結果
Windows7のPCのオンボードオーディオデバイスを使って、アロケータサイズとiLatencyの設定内容によりLine入力 - Line出力間の遅延がどうなるかテストしました。

テストはステレオ(左右同音)の片チャンネルだけPC2のLine入力に接続し、PC2のLine出力端子の様子と、PC2を通さなかったもう一方のチャンネルの波形を記録します。PC2を通さなかった方を基準にしPC2を通したチャネルがどれだけ遅れたかを観察します。
音遅延テスト図.PNG


遅延の実測値には以下の処理遅延が含まれます。
・録音デバイスの処理遅延(基本的にはアロケータサイズ相当)
・アマミキ!、AmAudioRendererの処理遅延(基本的には0)
・再生デバイスの処理遅延(基本的にはiLatency相当)
・OSの処理遅延、カーネルミキサー、リサンプラーなど(不明、20ms程度?)


なおテストするたびに5ms程度のばらつきが生じますので、結果(遅延実測値)には±5ms程度の誤差があるとこをご了承ください。


テスト環境
OSWindows7 x64 Professional SP1
CPUIntel(R) Core(TM) i5-3470S CPU @ 2.90GHz Ivy Bridge
MBASRock H77 Pro4-M (Intel H77)
MemoryDDR3 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に固定しアロケータサイズを下げていった場合。
最後に両方下げた場合となっています。

AmAudioRenderer Ver2.30
設定遅延
実測値
補足
アロケータ
サイズ
iLatency
40ms40ms104ms 
40ms30ms 94ms初期値
40ms20ms84ms 
40ms10ms74ms 
    
30ms40ms88ms 
20ms40ms78ms 
10ms40ms78ms頭打ちされている
    
20ms20ms58msこのあたりが妥当
10ms10ms54ms頭打ちされている 

※ 遅延の実測値には±5ms程度の誤差があります。


AmAudioRenderer Ver1.15
設定遅延
実測値
補足
アロケータ
サイズ
iLatency
16ms-63msこれ以上アロケータサイズを下げるとプチプチします。

※ 遅延の実測値には±5ms程度の誤差があります。



Windows7の「聴く」機能
設定遅延
実測値
補足
アロケータ
サイズ
iLatency
--98msOSのライン入力のプロパティから「このデバイスを聴く」オプションをON

※ 遅延の実測値には±5ms程度の誤差があります。


■注意事項
録音デバイスがビデオキャプチャカードの場合、製品の殆どがアロケータサイズの変更に対応していません。
例えばマイコンソフトのSC-500N1/DVIの場合、現状アロケータサイズは40msで固定です。


関連記事


コメントの投稿

 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。

ファイルのダウンロードはホームページの方でお願い致します。

質問・要望・不具合報告はこちら
アマレコTV
アマミキ!
アマレココ
アマレコ・ライト
ファンタジーリモート
AMVコーデック



ホームページ
カテゴリ
最新コメント
カレンダー
04 | 2023/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
最新記事
最新トラックバック
ブログ内タグ

アマレコTV ビデオキャプチャ アマレコVR AMVコーデック Oculus Quest アマレココ アマミキ! コーデック gQuest SC500 動画配信 Pico GO ファンタジーリモート 4K アマレコライト プラグイン G2 AMV4 oculus Unity SC512 ライブ機能 パススルー機能 デスクトップキャプチャ AVX2 Passthrough FAQ リモートソフト 質問コーナー ニコニコ動画 HDキャプチャ DirectShow 120Hz 背景透過 遅延 可変再生速度 レゴ 解説動画 Meta 組み換え VR LEGO XL2420T GV-USB2 2 アセット機能 液晶モニター 倍速液晶 デインターレース PS4 ベンチマーク アマステ AMV2MT Asset Intensity Pico4 MetaQuest Pro VRonVR MonsterX3A designs VideoKeeper2 AVX Alternate XCAPTURE-1 SD-USB2CAP4 GV-USB インストール RDT233WX-Z 32ZP2 31006 ffmpeg WindowsMR Rift 画像処理 31024 T2 60fps RGBキャプチャ UtVideo Shadow Play RYZEN 電源オプション HDCP Haswell HDMI 音遅延 QSV MonsterXU3.0R LameACM MP3 31021 フィギュア 音ズレ 録画 ゲームスムーズモード HT OBS MPC ハイパースレッディングテクノロジー NVEnc 液晶テレビ DirectShowFilter プレビュー 擬似NTSCキャプチャ SD-USB2CUP4 Livetube AtomでHDキャプチャ キャプチャーツール シンクライアント イベント IntensityPro DC-HD1 額縁遅延 REGZA ZP3 32ZP32 オーバーレイ リプレイ機能 モノステ 倍速駆動 倍速補完処理 キャプチャカード Robust Video Matting API APIパススルー機能 60Hz 検証 passthrough python pytorch ハンドジェスチャー パカラーススルー機能 AssetBundle 2.0 Tracking ファイルマネージャプラス SkyBox Hand AMPlayer 新プレイヤー機能 GPU使用率 LAVFilters Preferred 可逆圧縮 GV-USB3 Kabelake SSE SKnet Filter Tweaker Windows 90Hz 新アマレコVR MR VRコントローラー SteamVR VR動画 フレーム間圧縮 XCapture-1 

ブログ内検索
月別アーカイブ
アマレココに関するリンク
お世話になっているソフトのリンク
RSSリンクの表示
管理画面
  • 管理画面