2019/10

PeloReaper Extensionの情報やダウンロードはこちらからどうぞ。
PeloReaper Extension for REAPER is here.
ReaperBanner01_w250 AudioSoftBanner01_w250

REAPERで動画編集:Blur系・MonitorFX専用効果など

REAPER v5.97以降で追加されたVideo Processor(以下VP)のプリセットで、まだ取り上げていなかったものを紹介します。

Blur(ぼかし)系効果

画面全体をぼかすBlur効果が追加されました。Gaussianとlow qualityがありますが、後者は軽量版のようです。

  • 元の画像
    VP_ImgOrg
  • FX: Blur (Gaussian)
    VP_BlurGaussian01
  • FX: Blur (low quality)
    VP_BlurLowQuality01

この実装追加のため、VPのAPIである gfx_evalrect が改良されたようです。以前は左から右、上から下という方向にしかピクセル処理出来なかった気がしますが(あんまり覚えてないけど)、逆方向もフラグ設定でいけるようになった模様。

しかしまぁ以前からですが、ピクセル毎にスクリプトを走らせるような仕組みなのでとにかく重いですね。画像サイズによっては余裕のフレーム落ちです。あ、ちなみにこれはREAPER上でのリアルタイムプレビュー処理時のみの話なので、ファイルへレンダリングする場合の結果は問題なしです。

こういった定番の画像処理はもう手動でピクセル毎にスクリプト実行という方式じゃなくて、画像処理専用のAPIを用意してくれた方がいい気がします。そうすればSIMDやマルチスレッド化、GPU利用など内部で高速化の手法が使えますし、よくある画像効果なんてもう一から書きたい人いないでしょう? どうしても特殊なことをやるという時だけ、gfx_evalrectなどのような処理を書きたい感じ。

OpenCVとかなんかそういう系のライブラリでも組み込んでくれるといいんですけどねー。


画像のカラーヒストグラム表示

現在処理している画像のカラーヒストグラムを表示する機能も追加されています。

  • Analysis: Histogram (RGB)
    VP_Histogram01

[MonitorFX専用] 画像のピクセル色チェック機能

画像上の特定のピクセル色をVideo Window上で確認できるプリセットが追加されています。

このプリセットはMonitorFXにVPを挿入することを前提に作られています。MonitorFXはREAPERウィンドウ右上にある[MONITOR FX]のところをクリックして挿入できます。
MonitorFX01

このプリセットをMonitorFXで使うと、マウスカーソルをVideo Window上に持って行った時にそのカーソル位置での画像の色情報が表示されます。正確なカラー値を知りたい時に便利かもしれません。

  • Analysis: Color Peeker (Monitoring FX only)
    VP_ColorPeek01

[MonitorFX専用] スクリーンセーバー for Video Window

Video Windowにずっと同じ絵が表示されている状態を防ぐ、いわゆるスクリーンセーバーになるプリセットが追加されています。これもMonitorFX専用です。

[Timeout (seconds)]でスクリーンセーバー状態になるまでの時間を設定できます。

  • Utility: Screensaver (Monitoring FX only)
    VP_ScreenSaver01
    ※スクリーンセーバー状態になるとこんな感じ。色指定で少し緑色にしています

REAPERで動画編集:オシロスコープ・周波数スペクトル表示

音楽を再生するだけの動画などでよく使われる、装飾用の波形表示(オシロスコープ)や周波数スペクトル表示。いつの間にかREAPERのVideo Processor(以下VP)プリセットに追加されていました。

波形データを使った画像処理

そもそもオシロスコープや周波数スペクトルを表示出来るようにするためには、音声波形の情報をどっかから持ってこないといけないのですが、実はREAPER v5.97からそれを実現するための機能が実装されています。

JSFXの[JS: video sample peeker]が動画へ音声データを渡してくれるものになっており、このFXの次にVPを挿入してやることで、VP側で音声データを使った処理が行える訳です。

この順番でFXを挿入するとこんな感じ。
VP_VideoSamplePeeker01
2番目のFXはVideo Processorです(プリセットを切り替えたため名前が切り替わっている)。オシロスコープ・周波数スペクトルいずれもこの順で使うことが出来ます。


オシロスコープ

オシロスコープをもとにした映像効果を表示したい場合は、VPでプリセット [Synthesis: Decorative Oscilloscope with Blitter (requires JSFX video sample peeker)] を使用します。

[mode]パラメータで水平・垂直・極座標系の表示を切り替えられます。他にもいろいろパラメータがありますが、いじるとはっきり動きが変わるものが多く、さほど悩むことはないかと。
VP_OscilloscopeFX


周波数スペクトル

周波数スペクトルをもとにした映像効果を表示したい場合は、VPでプリセット [Synthesis: Decorative Spectrum Analyzer (requires JSFX video sample peeker)] を使用します。

このプリセットでは、同時に2つの方法で周波数スペクトルを表示出来ます。時系列のスペクトログラムが上側に、現在の瞬間的なスペクトルが下側に表示されます。[spectrogram size]の値を変えてやることで、画面上でのそれぞれのサイズの割合を変えたり一方だけを表示する事も可能。
VP_SpectrumFX



これらはシンプルなものではありますが、音声情報をもとにした映像効果を表示出来るようになったのはありがたいですね。

従来はVPが完全に描画プログラム用として閉じたシステムだったために、かなり制限が強い印象がありました。しかし、今回紹介したものを実現するための仕組み(具体的にはJSFXから共有メモリを使ってVPへデータを渡す仕組み)が新たに加わったことで、VPのプログラミングは恐らく別次元と言っていいほど自由度が高くなったと言ってもよいと思います(まぁそれを本気で使えば使うほどプログラミングが複雑化するのでアレですが)。

とはいえ、このあたりはまだしっかりと自分で検証出来てはいないので、どこまで出来るかはそのうちいいネタがあったら試してみたいですね。


REAPERで動画編集:テキストのフォント設定

今回はフォントの指定方法をまとめておきます。

和文フォントの英語名を探す

REAPERの動画にテキスト・字幕を表示する方法についてはこちらの記事で触れましたが、フォント指定は英語表記のものしか受け付けないようでした。

久々に試してみてもやはり英語表記のみしか受け付けないようなので、英語表記は何を指定すればいいのか調べてみました。しかし、コントロールパネルのフォントでインストール済みのフォント一覧やフォントのプロパティを見ても、和文フォントについて一部は英語表記も見つかりますが多くのものは日本語の名前でしか表示されないようです。

こちらのサイトを参考にすると、どうもWindowsの言語設定を英語に変えればいいみたいですね。まぁ自分は面倒なので言語設定変えるまでやってはいませんが・・・、参考にしたサイトで紹介されている英語名で指定してやってみるとうまくいきました。どうしても使いたい和文フォントがある!という場合はWindowsの言語設定を変えて調べるといのもアリかと。


和文フォントを指定した例

いくつかの和文フォントをVideo Processor(以下VP)の[Overlay: Text]プリセットで指定した例を以下に載せておきます。

  • メイリオ (Meiryo)
    Font_Meiryo
  • MSゴシック (MS Gothic)・MS Pゴシック (MS PGothic)
    Font_MSGothic
    Font_MSPGothic
  • MS明朝 (MS Mincho)・MS P明朝 (MS PMincho)
    Font_MSMincho
    Font_MSPMincho
  • 游ゴシック (Yu Gothic)・游明朝 (Yu Mincho)
    Font_YuGothic
    Font_YuMincho
  • HGP創英角ポップ体 (HGPSoeiKakupoptai)・HGP創英角ゴシックUB (HGPSoeiKakuGothicUB)
    Font_HGPSKPop
    Font_HGPSKGothicUB

フォントスタイルの指定

VPのスクリプトではフォント描画のスタイルも指定することが出来ます。太字やイタリックというだけでなく影やアウトラインなども指定出来、かつ複数のスタイルを同時に適用できます。

スタイルの設定はスクリプト内の gfx_setfont という関数が呼ばれている場所に指定します。デフォルトでは省略されているので、以下のように書き足します。

デフォルトだとこうなっていますが、
FontStyle00
このように変更します。
FontStyle01
ここではボールド(B)、イタリック(I)、シャドー(S)の3つを同時に指定しています。

表示される結果はこんな感じ。
FontStyle02

スタイルフラグとして指定できる文字と効果は以下の通り。

Flag文字効果
Bボールド(Bold)
Iイタリック(Italics)
Rブラー(Blur)
V反転(Invert)
Mモノ(Mono)
Sシャドー(Shadow)
Oアウトライン(Outline)

このブログについて
ぺろりがREAPERで遊びたいというだけのブログかもしれない

必ずこちらをお読みください

twitter: @pelori

管理人用
  • ライブドアブログ