音声トラックをAviutlで分ける

最近Geforce Experienceに搭載されているShareで、「両方のトラックを分離する」を選ぶことで、2つ以上の音声トラックを保存することができるようになった(らしい)。しかし、それをAviutlで編集するとなると、両方のトラックを読み込まなければいけないことがある。そこで今回はそれらのトラックを分離して使えるようにする方法をいくつか紹介する。

 

 

Aviutlだけでやる

この方法でのメリット、デメリット

メリット
  • Aviutlだけで済む点。
デメリット
  • 中間ファイルとして分離した音声ファイルを保存するため、(少なくとも編集中は)ディスク容量を多く取ることになる(そこまで大きくはないかも)
  • 設定がほかの動画にも適用されてしまうため、(うまくやらないと)音声が流れなくなってしまう可能性がある。

 やり方

「L-SMASH Works」が必要なので注意。(ほとんど入れていると思うけど)

  1. Aviutlを起動する
  2. 「ファイル」→「環境設定」→「入力プラグインの設定」→「L-SMASH Works File Readerの設定」と進む
  3. 上の方にあるLibav+L-SMASHのチェックを外す
  4. Libav audio indexにチェックを入れる。音声を切り替える場合はここの数字を変える(色々変えて、再生してみて希望のトラックを見つけるとよい)
  5. 動画を読み込ませる。
  6. その音声のみを使う場合はそのまま編集に使えばおk。
  7. 別なトラックも使いたい場合は、一度wavファイル(または可逆圧縮コーデック)に出力するとよい。出力したら、4.の方法で音声を切り替えて、先ほど出力したwavファイルも読み込ませれば両方使える。

 Avisynthを使う

この方法でのメリット、デメリット

 メリット
  • スクリプトファイルだけで済むので、ディスク容量をほとんどとらない。
  • 一度スクリプトを作ってしまえばそのまま編集に使える
  • そのファイルごとに適用できるので、ほかの動画にも影響がない
デメリット

 やり方

Aviutl用のL-Smash Works*1Avisynth用L-Smash Worksを入れておく。

詳しくはこちらで。

 

kesigomon.hatenablog.jp

 

  1. どこでもよいのでテキストファイルを作成。
  2. そのテキストファイルに以下を記入する。

(ファイルのパスは、Shiftを押しながら右クリックして「パスのコピー」をクリックすることでコピーできる。『"』は残したままにすること。)

##ここから##

FilePath=(ファイルのパス)

LWLibavAudioSource(FilePath,stream_index=0)

##ここまで##

  1. 音声の切り替えを行う場合はstream_index=0の0を色々変える。
  2. そうしたら、そのテキストファイルの拡張子を「.txt」から「.avs」に変更する。(え?.txtが表示されない?「拡張子 表示」でお前も検索するんだよ!)
  3. その.avsファイルをAviutlに読み込ませる(え?拡張編集にドラッグアンドドロップしたのに反応しないって?exedit.iniに.avsを追加してきな!)
  4. あとは編集で使えばよし。スクリプトを別に書けば別の音声トラックを読み込ますこともできる。

 

 

X Media Recode

やり方

  1. X Media Recode を起動する
  2. X Media Recodeに動画を読み込ませる(ドラッグアンドドロップで大丈夫です)
  3. 音声の形式を設定する。(動画の音声形式に合わせることで、音声のみを抽出できる)

  1. 上のリストで動画を選ぶ

  1. 「音声トラック1」タブをクリック
  2. モードを「コピー」にする。
  3. 「ソース」のリストから抽出したい音声を選択する
  4. 真ん中の▶マークをクリック

  1. 右下部、「参照」から保存する場所を選ぶ
  2. 上部「リストに追加*2」をクリック
  3. エンコードをクリック。
  4. 音声ファイルが9.で指定した場所に出力されるので、それをAviutlに読み込ませる。

*1:L-Smash Works File Readerの設定で、Avisynth Scriptにチェックが入っているか確認しておく。

*2:リストに追...となっていることがある