L-SMASH Worksを使って音声を読み込む

L-SMASH Worksの導入と映像読み込みについては、以前の記事の

を参照してください

フィルタ

L-SMASH Worksには下記の4つのフィルタが用意されています

  • LSMASHVideoSource
  • LWLibavVideoSource
  • LSMASHAudioSource
  • LWLibavAudioSource

音声読み込むに使うAudioSourceの方について確認していきます。LSMASHの方はL-SMASHがサポートするコンテナ(mp4など)の読み込みに、LWLibavの方はffmpegがサポートするコンテナ/コーデックの読み込みに使います

LWLibavAudioSource

ffmpegがサポートするすべてのコンテナ/コーデックが読み込めます

基本的な使い方

必須の指定項目は動画/映像のファイル名です。読み込みたい動画/映像のファイルを指定します。

“xxxx.ts”を読み込み、音声データを”a”という変数に格納します。LWLibavAudioSourceは音声を読み込むときに、インデックスファイルを作成します。インデックスファイルを作成すると、次回以降の読み込みが速くなり、シークなどが快適にできます

オプション

読み込むときの挙動を変更することができます。一部のオプションを紹介します。その他のオプションや詳細はPOP@4bitさんのドキュメント、公式のマニュアル(英語)などを参照してください

stream_index

( int[-1-n] / default : -1 )

動画ファイルの中に、音声が複数含まれている場合、どの音声を読み込むか指定することができます。初期値はー1(自動判定)です。手動で選択する場合は0以上の数値を入れます

例えば、日本語(ステレオ)と英語(ステレオ)の2つの音声が入った動画ファイルから、どちらの音声を読み込むか指定したいときに使います

av_sync

( bool / default : false )

映像と音声を同期させて音ずれを防ぎます。効果があるのは、映像と音声が入っている動画から読み込んだ場合、かな?(例:音声を”movie.ts”から読み込んだ)

layout

( string : default : “” )

音声のレイアウトを指定することができます。例えば、5.1chの音声を2chに変換して読み込みたい場合は、”stereo” または “FL+FR” と指定します

使用例

ステレオ固定

av_syncを有効にして音ずれを防ぎ、音声を2chに変換して読み込みます

モノラル2か国語音声の片方の音声を使う

AviSynthに用意されている GetLeftChannel() または GetRightChannel() を使えば、どちらかのチャンネルのみを使った1chの音声にすることができます

分離されたAACを読み込む

ディレイ値がファイル名に入っているAACファイルを読み込むときは、その数値の通りにDelayAudio()を使って音声をずらし、音ずれしないように合わせます

LSMASHAudioSource

mp4など、L-SMASHがサポートするコンテナを読み込みます

基本的な使い方

必須の指定項目は動画のファイル名です。読み込みたい動画のファイル名を指定します

“xxxx.mp4″を読み込み、音声データを変数”a”に格納します。LWLibavAudioSourceと異なり、インデックスファイルを作りません

オプション

一部のオプションについて、確認しておきます

track

( int[0-n] / default : 0 )

音声を読み込むトラックを指定します。0で自動判定、nで任意のトラックを読み込みます。LWLibavAudioSourceのstream_indexは-1で自動、0から指定でしたが、こちらは0で自動、1から指定ですね

skip_priming

( bool : default : true )

コンテナに encoder delay が記録されている場合、それを反映させて読み込みます

layout

LWLibavAudioSourceと同じ

AviUtlを使っていた方向けの解説

AviUtlでのL-SMASH Worksの設定画面

このページで紹介したフィルタおよびオプションは、AviUtlでのL-SMASH Worksの設定画面では上の画像のように対応しています

Audio delayを使いたい場合はAviSynthの内蔵フィルタの方で代用していきます

過去の不具合

以前のバージョンでは、

  • デュアルモノラルの音声を読み込むとフリーズする
  • 5.1chの音声を読み込んで、2chに変換すると、プチプチノイズが混入する

といった不具合がありましたが、現在では改善されています。もしこのような不具合、またはその他不具合に遭遇したら、最新版を探す、導入する、といったことをしてください