AviUtlの「チャプター編集プラグイン+無音&シーンチェンジ検索」プラグインが便利だから、カットはAviUtlでやってる、という方も多いのではないでしょうか
AvsPmodでも同じような機能をもつマクロがあれば便利そうだと思ったので、無音サーチ機能だけのマクロを、ない知識を絞って作ってみました
≪参考にさせていただいた他サイト様≫
Rutice : チャプター編集プラグイン+無音&シーンチェンジ検索
Ch’s barn : CM検出マクロ for AvsP
必要なもの
avs2pipemod(32bit)、MinMaxAudio.dll、L-SMASH Works(音声読み込みにAACFaw使用時のみ)が必要です
avs2pipemod : Ch’s barn
MinMaxAudio : Homepage Wilbert Dijkhof
MinMaxAudioをDLして解凍すると、Releaseというフォルダがあり、その中にMinMaxAudio.dllがあります。このdllファイルを、AviSynth+のpluginsフォルダに入れてください
AvsPmodは32bit版、64bit版、どちらでも動きます
AvsPmod用マクロ
ダウンロード
こちら にある「SilentSearch」です
AvsPmodがあるフォルダの、macrosフォルダの中に配置してください
初期設定
マクロをメモ帳などで開いてみてください。先頭の方に設定項目があります
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# -- ファイルパス ------------------------------------------------- AVS2PIPEMOD = r'C:\avs2pipemod.exe' TMP_DIR = avsp.GetScriptFilename(propose='general', only='dir') #TMP_DIR = r'C:\movie' # -------------------------------------------------------------- # -- デフォルト設定 ------------------------------------------------ CM_THREADS_DEFAUKT = 4 # デフォルト分割数 CM_THRESH_DEFAUKT = 50 # デフォルト閾値 CM_KEEP_DEFAUKT = 10 # デフォルト連続 CM_SCCHECK_DEFAUKT = 1 # シーンチェンジ位置デフォルトチェック 0:OFF 1:ON CM_SHIFT = 0 # 0でシーンチェンジのフレーム、1で1つ前のフレームを取る CM_SHELL = 1 # avs2pipemodのウインドウ非表示 0:表示 1:非表示 # -------------------------------------------------------------- |
まず、avs2pipemodのパスを指定してください。円マーク(バックスラッシュ)を使ってパスを表現する場合は、”の前にrを置いてください(Pythonのお約束)
TMP_DIR は作業用ファイルを置くフォルダです。初期値はavsファイルと同じ場所になっています。特定のフォルダを指定したい場合は、上の行をコメントアウトし、下の行のコメントアウトを削除してフォルダを指定するなどしてください
マクロを開いたときのデフォルト値を変えたい場合や、マクロ実行時のウインドウの表示の設定を変えたい場合などは、デフォルト設定を変えてください
使い方
映像と音声を読み込み、結合し、return lastまで書いたavsに対して実行してください。マクロの実行は、AvsPmodのマクロタブから行います
分割数
分割して同時に解析してできるだけ速度を稼ぎます
閾値
無音と判定する音量(高いほど無音)。高くするほど解析がはやくなります。最低でも50以上にした方がよいと思います
連続
この設定値以上のフレーム数の無音連続部分のみ検出します
SC位置
無音区間でもっともシーンチェンジ部分ぽいところ(輝度の差が大きいところ)にブックマークを打ちます。チェックが入っていないと無音の先頭フレームに打ちます。解析速度がほんの少し低下します
実行結果
実行するとこのように無音部分にブックマークが打たれます
あとはブックマークジャンプ、トリムエディタを駆使してさくさくっとカットしていってください。ブックマークジャンプのショートカットキーは、初期設定ではF2、Shift+F2ですが、私はCtrl+←→に変えてしまってます
シークはAviUtlよりAvsPmodの方が軽いので、慣れたら快適にカットできると思います
チャプターの作成については、AvsPmodにはチャプター出力用のマクロが標準で入っているのでそちらを使ってください
コメント
マクロ大変便利に使わせていただいています。
当方、Avisynth Neoとそれ用のAvspmodで使用しており32bit版は正常にブックマークが出来ますが64bit版は同じ動画でブックマークが1,2個しか出来ません。
マクロですが32bit版は数秒で終了するのに対して64bit版は数分掛かります。
アドバイスをご教授いただければ幸いです。
コメントありがとうございます。
Neoは使ったことがないのでよくわからないのですが、このマクロはAvspmodが32bitだろうと64bitだろうと、32bitのAviSynthを使って解析します
なので動作に差が出る理由は今の時点ではちょっと思いつかないです。
マクロの方で CM_SHELL=1 となってますが、0にするとコンソール画面が出るようになるので、何かエラーが出ている場合はそちらで確認できるかもしれません。
一度 CM_SHELL=0 として挙動を見比べてみてもらえますか?
スクリプトの先頭にプラグインのフォルダーを指定しており、それが原因でした。
コメント化して64bit版でマクロを動かしたところ32bit版と同じ様になりました。
お騒がせして済みませんでした。
解決してよかったです。
個人的には結構便利なマクロだと思っていたのに使用されてる実感がなかったので
コメントもらえて嬉しかったです。
先般、メールした者です。
マクロのネイティブ64bit化が出来ないでしょうか。
お陰様で動く様になったのですが、気を良くしてGPUをRTX5060に更新したところ
再び動かなくなりました。
NvideaのGPUでCUDAを使って少しでも早くと思いインデックス化もDgindexNVを使用
していますが32bitには対応していない模様で画像読込み時にエラーになります。
64bitでのエンコード自体は出来るのでマクロが64bitになると助かるのですが…。
MinMaxAudio.dllが32bit版しか公開されていないのです。なので現状64bit化ができません
MinMaxAudioのソースが公開されているので、64bit版のdllがビルドできないか、時間があるときにAIに相談してみます
できました。ライセンスよくわかってなくて不安なので問題があったら教えてください
https://quintrokk.subness.net/misc/MinMaxAudio_v02-x64.zip
AviSynth+のr4289で動作しました。上記プラグインをplugins64+フォルダに配置したあとマクロのavspipemodのパスを64bit版のものに変更してみてください
早速の対応ありがとうございます。
こちらでも無事に動作したのを確認しました、助かりました。
大変便利なので今後も使わせていただきます。