AviSynthのぺーじ/外部音声の合成とWAV変換

これは、かつて「にーやんのAviSynthのぺーじ」として公開されていたものを転載したものです。内容は古く、間違いも含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のヘルプや AviSynth 公式サイトを参考にすることをおすすめします。AviSynth WikiAviSynth入門なども活用してください。

外部音声の合成

 映像ソースと外部音声を合成するにはAudioDubフィルタを使用します。

 AudioDubフィルタは「AudioDub(ビデオクリップ, オーディオクリップ)」という形で記述します。

 Template.avsの7-8行目を見てください。

###### 2.外部音声の合成 #####
#AudioDub(last, WavSource("D:\Source\音声ファイルの名前.wav"))

 ビデオクリップのところにはlastが、オーディオクリップのところには「WavSource("D:\Source\音声ファイルの名前.wav")」が入っています。

 lastは最後に処理したクリップという意味の変数で、この場合、すでに読み込み済みの映像ソース(MPEG-2かAVI)を指します。

 一方、WavSourceはWAVE音声読み込み用のフィルタで、「WavSource("D:\Source\音声ファイルの名前.wav")」は、音声ソースの読み込みとWavSourceで読み込んだオーディオクリップの両方を表しています。

 2つのフィルタをまとめて書いているために少しややこしく感じられるかもしれませんが、青字の部分(音声ファイルの名前)合成したい音声ソースの名前に書き換えて、行先頭の#を削除すれば、すでに読み込んでいる映像ソースと外部音声ファイルを合成することができます。

 たとえば、video.d2vとaudio.wavを読み込んで合成する場合は、次のようになります。

###### 1.映像ソースの読み込み #####
#//--- MPEG-2(D2V) ---//
MPEG2Source("D:\Source\video.d2v")
#//--- AVI ---//
#AVISource("D:\Source\映像ファイルの名前.avi")

###### 2.外部音声の合成 #####
AudioDub(last, WavSource("D:\Source\audio.wav"))

 下線を引いているのが変更を施した行で、青字の部分が名前を書き換えた部分です。先頭の#を削除することも忘れないでください。

 ちなみに外側のカッコ()はAudioDubのもので、内側のカッコ()はWavSourceのものです。

mpa->wav変換

 音声ソースがMP2(*.mpa, *.mp2など)やMP3などのMPEG音声のときは、あらかじめWAVE形式に変換してからWavSourceで読み込みます。

 MP2からWAVEへの変換にはMP2xWAV32Gを使用します。

mpxwav3.png

[MP2xWAV32Gの使用手順]

(1)入力フォルダ指定

 (A)のプルダウンメニューから(▼クリック)MPEG音声ファイルのあるドライブを選択し、(B)でMPEG音声ファイルのあるフォルダを指定します。フォルダをダブルクリックすると下層フォルダに移動します。

(2)MPEG音声ファイルの追加

 (C)に音声ファイルの一覧が表示されますので、変換したいファイルを選択して(D)の「追加」ボタンをクリックし、変換リストに追加します。追加されたファイルは(E)にリストアップされます。

(3)出力フォルダ指定

 (F)でWAVEファイルの出力フォルダを指定します。指定方法は入力フォルダの場合と同じです。出力フォルダを登録しておきたい場合は、(G)の「このフォルダを保存」にチェックしてください。

(4)WAVE変換

 (H)の「WAVE変換」ボタンをクリックするとWAVE変換が実行されます。

※これはMP2xWAV32Gの使用方法の一例です。右クリックメニューの[送る]から入力ファイルを登録するなどの方法もありますので、詳しくは付属のテキストを読んでください。

[MPASourceプラグイン]

 MPASourceプラグインを使用すれば、MP2ファイルやMP3ファイルをWAVE形式に変換しなくても読み込むことができます。

mpasource.png

 まず、MpaSource.dllをプラグインディレクトリにコピーします。

###### 2.外部音声の合成 #####
#AudioDub(last, MPASource("D:\Source\音声ファイルの名前.mpa"))

 次に、WavSourceMPASourceと書き換え、音声ソースの拡張子をソースに合わせて変更してください(*.mpa, *mp3など)。

 音声のノーマライズ(正規化)を行いたい場合は「, normalize = true」を追加してください(コンマを忘れないように)。ただし、読み込みに時間がかかるようになります。ノーマライズしない場合は、上の例のように何も追加しないか、「, normalize = false」と書きます。

音ズレ補正

 音声部にMP2音声を含むMPEG-2ファイルをDVD2AVIでプロジェクト保存すると、MP2音声ファイル(拡張子:*.mpa)が分離されます。

mpa_delay.png

 このとき分離されるmpaファイルは、左図のように「プロジェクトファイル名 MPA T01 DELAY **ms.mpa」という名前で出力されます(**は数字)。

 DELAYは遅延(遅れ)、msはミリ秒(milli-second)の意味です。

 1ミリ秒は1000分の1秒(0.001秒)なので、「DELAY -66ms」ならば「(映像に対して)音声が1000分の66秒(0.066秒)遅れている」ということになります(※)。

 AviSynthではDelayAudioフィルタを使って、このズレを修正することができます。

###### 3.音ズレ補正 #####
#DelayAudio(-0.066)

 カッコの中には「〜 DELAY **ms.mpa」の**を1000で割った小数を記入します。「DELAY -66ms」ならば、-66÷1000 = -0.066になります。

※「マイナス66ミリ秒遅く(=66ミリ秒速く)しなさい」という意味かもしれません。

[mpa->WAVE変換/音ズレ補正ソフト「音整」]

onsei.png

 音整はmpa->WAVE変換・ノーマライズ・音ズレ補正を一括して行うソフトウェアです。ファイル名に含まれる「-**ms」をもとに自動で音ズレ補正します。

最終更新日 2003年11月18日

最終更新日時: 2014-03-12 (水) 23:37:06 (1835d)