続・高橋メソッド風AviSynthスクリプト
高橋メソッド風のAviSynthスクリプトを更新しました。ダウンロードは、にーやんのブログ :: 高橋メソッド風のAviSynthスクリプトから行ってください。
主な変更点は、以下の通り:
- 文章ごとに持続時間(文章を切り替えるタイミング)を変更できるようにした。
- 上記の変更に伴って、テキスト定義ファイルの記述の仕方を変更(global変数で指定)。
持続時間の可変への対応については、たぶん、かなり無理矢理な感じでやってます。やはり再帰関数を使っているので、ちょっと重いかもしれません。
なお、バージョン0.2(2005-04-14)は、秒数単位での指定で誤差が生じることがあったため、非公開としました。
高橋メソッド風のAviSynthスクリプト
ちょっと面白そうだったので、高橋メソッド風の動画を作成できるAviSynthスクリプトを作ってみました。
使い方等に関しては、下記のアーカイブに含まれているreadme.txtを読んでください。また、表示テキストの設定方法については、サンプル(sample.def/sample2.def)を参考にしてください。
(2006-05-13 追記)高橋メソッド風の動画を生成する AviSynth スクリプト(JScript 併用版)を公開しました。
ダウンロード
ver.0.3(2005-05-31版)
古いバージョン
「AviSynthって何?」という人へ
AviSynth(下記「参考URL」を参照)をインストールさえすれば、Windows Media Playerなどの動画再生プレイヤーで、TakahashiMethod.avsを再生できるようになります(WMP10の場合はファイルメニューから開く)。
ただし基本的には、VirtualDubやTMPGEncなど、AviSynthに対応しているエンコーダを使って、AVIやMPEGなどにエンコードしてから、視聴することを想定しています。
中で再帰関数(Recursive function)を使っているため、リアルタイムプレビューには、あまり向いていないと思います。
サンプル動画
同梱しているサンプル(sample2.def)を使って、MPEG-1形式の動画にしてみました。2.95MBあります。
http://niiyan.s8.xrea.com/data/TakahashiMethod3.mpg
この動画は、近いうちに消すかもしれません。
なお、BGMには、FLESH&BONEさんのループ素材を使用させていただいています。
更新履歴
ver.0.1(2005-04-11)
- 初版
ver.0.2(2005-04-14)(非公開)
- 文章ごとに持続時間(文章を切り替えるタイミング)を変更できるようにした。
- 持続時間をフレーム単位ではなく、秒単位で指定するようにした。
- 上記の変更に伴って、テキスト定義ファイルの記述の仕方が変更になっています。
ver.0.2a(2005-04-15)
- 持続時間の設定をフレーム単位に戻した。小数点以下の四捨五入により、表示のタイミングがずれて、前後のテキストが重なることがあったため。
ver.0.3(2005-05-31)
- 外部音声との合成(BGMの追加)を可能にした。
- 一般的なテキストデータを、定義ファイルの形式に変換するためのバッチファイル(Txt2TakahashiMethod.bat)を同梱。
- text_numbers(行数)を定義ファイル内で指定するように変更。(バッチファイルを利用すると、自動的に設定されます。)
参考URL
タイムコードをフレーム番号に変換する関数
説明
タイムコードを利用する関数集。フレーム番号に変換する関数(TimeCode)と、それを利用した選択範囲指定関数(TrimTC)を含む。
ダウンロード
例
Import("timecode.avs")
TimeCode関数
TimeCodeはタイムコードをフレーム番号に変換する関数です。
書式 TimeCode(clip clip, string timecode)
引数
- clip: ビデオクリップ。
- timecode: タイムコード。HH:MM:SS:MSという形式で記述する。
使用例 TimeCode("00:00:00:033") # 29.97fpsのクリップなら、1を返す。
TrimTC関数
TrimTCは、TimeCode形式で選択範囲の開始点と終了点を指定する関数です。TimeCodeとセットで使用します。
書式 TrimTC(clip clip, string start, string end)
引数
- clip: ビデオクリップ。
- start: 選択開始時間。
- end: 選択終了時間。
使用例
TrimTC("00:00:00:000", "00:02:36:623") # 29.97fpsのクリップなら、Trim(0,100)と同じ。
注意
エラー対策は一切していません。 動作未保証。
ユーザー定義関数集(myFunctions.avs)をver.0.4に更新
ユーザー定義関数集(myFunctions.avs)を更新しました。ダウンロードは、にーやんな日々..._〆(゚▽゚*) :: インターレース素材系関数集からお願いします。
今回の更新は、おもにバグ修正に伴うものです。前のバージョンを使っている人があれば、新しいものに差し替えてください。
# 変更点
- iDust関数で最終フレームが欠ける不具合の修正。
- iDust/iDustB関数で音声が短くなる場合があったのを修正。
- FaeryDustMod関数の追加(※インターレース用ではありません)。
FaeryDustMod関数については、にーやんな日々..._〆(゚▽゚*) :: Dustを使うと最終フレームが直前のフレームの画像に置き換わる現象についてを参照。そこで紹介しているスクリプトに、画像の大きさをチェックするようにした関数です。
また、FaeryDustMod関数はインターレース素材用ではありませんので、注意してください。今回、暫定的にインターレース素材系関数集に追加しましたが、あらためて、別の形で紹介しなおすことになると思います。その際、インターレース素材系関数集からは削除されることになるでしょう。
ユーザー定義関数: BlackenFields
# BlackenFieldsとは?
1フィールド、または、特定の範囲の連続したフィールドを、黒色(または、その他の色)に塗りつぶす関数です。
実際には、本当に塗りつぶすわけではありません。黒いフィールド画像を重ねる(Overlayする)ことによって、黒く塗りつぶしたように見せかけます。
# ダウンロード
BlackenFields.avs のダウンロード (ZIP 形式で圧縮)
# 書式
BlackenFields(clip clip, int "start", int "end", bool "debug", int "color")
- 引数
- start: 塗りつぶし開始フィールド番号。
- end: 塗りつぶし終了フィールド番号。デフォルトはstart。1フィールドのみ塗りつぶす場合は省略。
- debug: debug=trueで設定モード。デフォルトはfalse。
- color: 塗りつぶす色の指定。デフォルトは$000000(黒)。
# 使い方
BlackenFields.avsをImportする。
# 例:
Import("BlackenFields.avs")debug=trueで設定モードにする。
ここでは、他の引数は指定しません。# 例:
BlackenFields(debug=true)- サンプル画像: サンプルクリップ(関数適用前)

- サンプル画像: debug=trueにした場合

- 設定モードのサンプル画像の説明
- 上部: 各フィールドを縮小した画像(左が偶数フィールド、右が奇数フィールド)。
- 下部: フレーム画像(元のフレームサイズにあわせるために、縦に圧縮されている)。
- サンプル画像: サンプルクリップ(関数適用前)
塗りつぶしたいフィールド番号を指定する。
塗りつぶしたいフィールド番号を指定します。フレーム番号ではなく、フィールド番号であることに注意してください。フィールド番号は、画像上部のフィールド別画像で確認することができます(debug=true時のみ)。# 例: 151フィールドを塗りつぶす
BlackenFields(151, debug=true)- サンプル画像: 151フィールドを塗りつぶし指定

- サンプル画像: 151フィールドを塗りつぶし指定
設定モードを解除する。
debug=falseとするか、引数debugの指定部分を削除して、設定モードを解除します。これで設定は完了です。# 例:
BlackenFields(151)- サンプル画像: 設定モードを解除したところ

- サンプル画像: 設定モードを解除したところ
# 註
複数の連続したフィールドを塗りつぶしたい場合
# 例: 151から153までのフィールドを塗りつぶす
BlackenFields(151, 153)黒以外の色で塗りつぶしたい場合
# 例: $ff0000(赤)で塗りつぶす
BlackenFields(151, color=$ff0000)
# 更新履歴
- v1.*: BlackenFieldとして公開。
- v2.0(非公開):
- 1から書き直した。
- 複数のフィールドを黒くすることが可能。
- 上記の変更にあわせて、BlackenFieldsと改名した。
- v2.1(非公開):
- debugモードを更新。
- フレーム数の表示などを追加した。
- v2.2:
- debugモードをサブ関数として分離(BlackenFieldsDebug)。
- 黒以外の色を指定できるようにした。
- (2007-10-23 追記)ZIP 形式で圧縮したものに差し替えました。内容は v2.2 から変更はありません。



