Reaper上で字幕データをプレビューしたりするスクリプト

概要

Reaperで字幕データを音声に紐付けてプレビューしたりタイムラインに読み込んだりできるようにしたスクリプトを作りました。

以前作ったスクリプトの派生版です

字幕データを使ってReaperで音声素材を切り分けるスクリプト - E-tum’s B-log

導入方法

以下のページからダウンロードできます。

github.com

必要なプラグインの導入

事前にインストールが必要なプラグインがあるのでReaPackを使って導入します。(既に導入済みであればスキップしてOKです。)

  1. 下記のリンクにアクセスしてReaPackをダウンロード。
    reapack.com
  2. ReaperのUserPluginsフォルダにReaPackを配置。
    Windowsであれば %AppData%\Roaming\REAPER\UserPlugins\reaper_reapack-x64.dll を配置する。
  3. Reaperを再起動して Manage repositoriesという画面が出てきたらインストール成功。
  4. Extensions > Reapack > Browse packages... からパッケージの一覧を開いてReaImGuiとSWS/S&M extensionをインストールする。
    右クリックメニューから「Install v.....」をクリックして「Apply」で最新のバージョンをインストールできる。
  5. インストール結果が表示されたら成功。再起動すると使えるようになる。
スクリプト本体のインストール
  1. 下記リンクから最新版のzipファイルをダウンロードして中身を適当なフォルダに展開。
    github.com
  2. Reaperの「アクション」メニューから「スクリプトをインポート」して、先ほど展開したフォルダにあるReaSRTBrowser.lua を選択。
  3. 必要に応じてショートカットキーやツールバーに設定。

使い方

スクリプトを実行するとこんな感じのウィンドウが出てきます。

左側の領域にSRT形式の字幕ファイルを読み込むとファイルの中身が表示されます。
対応する音声ファイルを読み込むと、字幕の音声をプレビューしたり、タイムラインにメディアアイテムとして挿入することができるようになります。
字幕ファイルと音声ファイルを同じ名前にしてあれば自動で紐付けられます。

タイムラインに挿入したメディアアイテムは元音声ファイルをソースとして読み込まれるので、置いた後でも再生位置を調整したりできます。

字幕アイテムはお気に入り登録したり、タグ付けしたり、検索したり、Reaperのメディアエクスプローラとまではいかないですが似たような感じで管理できます。 登録したお気に入りやタグ情報は字幕ファイルのパスを変更すると失われるので注意です。

また、公式の字幕には(キャラ名)のようなラベルがついていることがあるので、このラベルを非表示にして検索に引っかからないようにしたり、自動でタグに登録したりする機能も実装してます。

SRT形式の字幕ファイルは、以前の記事でも紹介したSubtitle Editというソフトを使うと、AI文字起こしが使えるので簡単に作成できます。
gigazine.net

アニメの字幕データであればこちらのサイトもお勧めです。
Japanese subtitles - AJATT

最後に

過去に音MAD制作用の素材管理のためにいろんな方法で音声を切り分けるやり方を試してきましたが、字幕データが用意できているならわざわざ切り分ける必要もないのでは?と思い、Reaperから直接字幕データを参照できるようにしたのがこのスクリプトになります。
切り分けて保存しておいた音声素材も使いやすくはあるんですが、その分ストレージ容量が喰うのが地味にネックでした。
このスクリプトを使う運用だと元の音声ファイルと字幕データだけあれば良いので、多少はその問題も緩和されるかもしれないです。
GUIツールなので不安定な部分もあるかもしれないですが、多少なりと役に立てたら幸いです。

字幕データを使ってReaperで音声素材を切り分けるスクリプト

概要

SRT形式の字幕データを使って音声アイテムを切り分けるためのReaperスクリプトを作りました。

公式に作られてる字幕データは発話者の情報も入れてくれることが多いので、これを使って音声素材の整理ができるようになると助かるんですよね。 自動文字起こししたものと違って表記揺れやミスもないので、人力で修正したりする手間がだいぶ省けます。

以前OpenAIのWhisperを使って音声の切り分けと文字起こしを行うプログラムを作りましたが、今回作ったのは字幕データをもとにReaper上で切り分けるだけなので、音声ファイルとして保存する前の細かい修正がやりやすいと思います。

導入方法

以下のページからダウンロードできます。

github.com

  1. 「Code」>「Download ZIP」からzipファイルをダウンロードして適当な場所に展開します。
  2. Reaperの「アクション」メニューから「スクリプトをインポート」して、先ほど展開したフォルダにあるSplitBySRT.luaを選択します。
  3. 必要に応じて適当なショートカットキーを設定しておきます。

使い方

切り分けたいアイテムを選択

字幕データの音声が含まれる音声メディアアイテムを選択しておきます。

スクリプトを実行

アクションリストからSplitBySRTを実行するか、設定したショートカットキーでスクリプトを実行します。

SRTファイルを選択

ファイル選択のダイアログが開くので、.srt形式の字幕ファイルを指定します。

音声分割処理の実行

ファイルを選択すると、字幕の表示時間に合わせて音声アイテムが分割されて新しいトラックに配置され、アイテム名に字幕の内容が反映されます。
字幕の最初に(キャラ名)が入っている場合、分割したアイテムは話者ごとに新しいトラックに振り分けられます。

字幕と元音声の時間がずれていることもあるので、その場合はアイテムを全選択したあとにAlt+ドラッグで微調整します。
(キャラ名)が入っていない字幕の音声は同じトラックに振り分けられるので、キャラ別に素材を管理したい場合は手動でトラックを移動させる必要があります。

音声アイテムをエクスポート

アイテムを選択した状態でレンダリング設定を開き、「選択メディアアイテム」を指定すると、アイテムごとに音声ファイルを出力することができます。
出力ファイル名を$item.wavとすれば、メディアアイテムについた名前がそのままファイル名になります。

キャラ別に素材を管理したい場合(応用)
Reaperでは出力するファイル名にいろんな変数が使えるので、自分の使いやすいように名前をつけて音声ファイルを出力することができます。
キャラ名はトラック名に反映されているので、例えば$track\$itemnumber_$item.wav とすれば キャラ名ごとのフォルダの中に番号付きのファイル名で保存するということができます。

オプション設定
同じフォルダにあるconfig.iniの中身を書き換えることで細かい挙動の設定ができるようにしています。まだ項目はそんなにないですが何か思いついたら今後追加するかもしれません。
* newline_replace:字幕データに改行が含まれている場合に変換する文字(デフォルトは空白)
* padding_start/padding_end:分割した後に字幕の先頭・末尾に何秒追加するか(デフォルトは0秒)

字幕ファイルの調達方法

字幕のあるサブスクからダウンロード

NetflixAmazon Prime Videoでは字幕データをダウンロードする拡張機能が有志によって作られています。 内容もタイムスタンプもかなり正確なのでほとんど調整なしに使うことができます。

chromewebstore.google.com

Youtubeの字幕をダウンロード

自動字幕だと切れ目も適当なのであまり使えないですが、ちゃんとした字幕が設定されているときには有用です。
字幕データはyt-dlpのコマンドを使ってダウンロードできます。拡張機能も探せばあるかも。
コマンド例
yt-dlp <動画のURL> --skip-download --write-subs --sub-format "srt" --sub-lang ja -o "%(title)s.%(ext)s"

TV放送データを使う

PCでの録画環境がある人はTV放送データを録画すれば字幕も保存することができるようです。自分はあまり詳しくないので紹介できる事例はないです。

OpenSubtitlesで探す

主に映画やテレビシリーズの字幕が多言語でアップロードされているサイトです。海外サイトで当然非公式なのであったらラッキー程度。

www.opensubtitles.com

文字起こししたデータを使う

字幕がない場合は自分で作るしかないですね。
Subtitle Editというソフトを使うと、動画からWhisperを使った文字起こしができて細かい修正もやりやすいのでオススメです。

gigazine.net

自分が把握してる限りだとこれくらいですが、他にもいい方法があればコメント等で教えてもらえると嬉しいです。

【解説】360°音MADの作り方

前回の記事で紹介したこちらの360°対応の音MADの作り方の解説です。

かなり長くなってしまったので細かい部分は適当に読み飛ばしてください。

全体の流れは以下のような感じです。

はじめに

360°動画について

普段はあまり目にする機会が少ないと思いますが、Youtubeで「360° VR」とかで調べるといろんな参考動画が出てきます。夜のピエロの360°版とかは見たことある人も多いかも。

www.youtube.com

www.youtube.com

最初に挙げた動画もそうですが、視聴者が映像内を上下左右あらゆる方向に見回すことができるような動画が360°動画です。PCのブラウザだとマウスやWASDキーで視点が動かせて、スマホVR機器だとジャイロセンサーの傾きに合わせて視点が変わります。 ※見る側が変えられるのは視点の向きだけで場所を移動することはできません(それをやろうとしたら動画というよりはゲームみたいなコンテンツになりそう)

これに加えて、視線の向きに合わせて音の聴こえ方が変わる空間音声が使われている動画もあります。

www.youtube.com

www.youtube.com

空間音声の再生に対応している環境じゃないと音の変化が分からないのが難点ですが、右から聞こえていた音が反対を向いたときには左から聞こえてくるようになる、という体験ができると思います。

この記事で解説するのは、空間音声にも対応した360°音MADの作り方になります。

実写映像であれば360°カメラで撮影した映像に360°録音の出来るマイクで録った音声を載せればいいので比較的簡単ですが、音MADはそうもいかないので、音声と映像それぞれで360°形式にするための方法を解説しています。

投稿できるサイト

360°動画を投稿できる動画サイトは基本的にYoutubeのみです。 当然ですが360°動画と音声の再生に対応していないと視点を変えて視聴することはできないので、ニコニコにはデモバージョンみたいな形でしか投稿できません。

bilibiliでも360°映像には対応しているようですが、空間音声は対応していないみたいです。

www.bilibili.com

360°動画もYoutubeからダウンロードして普通に転載できることに驚きました。

編集ソフト

360°形式の動画と音声を作成できるソフトが必要になります。

この記事では、音声はReaper(v6.81)で映像はAfterEffects(24.1.0)で作る例を解説します。バージョンによってUIが異なる部分は適宜読み替えてください。

360°動画にするためには、こんな感じで3D空間を正距円筒変換という処理にかけた映像を用意する必要があります。

今回の動画ではAffterEffectsを使っていますが、Blenderやその他3DCG制作用ソフトウェアでもこの変換機能があるようなので同じように作成できると思います。

AviUtlでもプラグインが作られているみたいなので頑張れば作れるかもしれませんが自分は試していません。

また、後述しますがかなり大きな動画サイズで作らないと画質が落ちるのでそれなりのPCスペックも求められます。

空間音声の制作

Youtubeで空間音声を使用するためには、1次アンビソニックスという形式で音声を作る必要があります。

参考: Use spatial audio in 360-degree and VR videos - YouTube Help

一般的な動画で使われる音声はLとRのステレオ2チャンネルのものがほとんどですが、1次アンビソニックスの音声はMID、x-y方向SIDE、y-z方向SIDE、z-x方向SIDEの全4チャンネルで構成されている音声です。

空間音声の波形

Reaperに読み込むとこんな感じになります。あまり見慣れない波形ですね。

空間音声の作り方をネットで調べてみると、都合のいいことにReaperを使った例がたくさん出てきたのでそれに倣った方法で作っていきます。

2ch音声の作成

空間音声を作る前にまずは普通の2chステレオ音声で音MADを作ります。

初めから全部3D空間上で作ろうとすると大変なので、2chで作った音声をトラックごとに出力してから空間上に配置するという方法を取ります。 注意点としては、3D空間に配置するときには一旦モノラルに変換されるため、この時点で左右のパン振りをしていても効果はありません。MAutopanやOzoneImagerなどの音を広げるVSTも使えないので注意が必要です。

とはいえ、モニタリング用の音声としてはパンが振ってあった方が聞き心地が良いのでこの動画でもパン振りはしています。

音声が完成したら、トラックごとに分けて出力します。 今回の動画では全部で16トラックになりました。

IEMプラグインのインストール

1次アンビソニックス音声を作るためにはIEMプラグインというものが必要になります。 以下のサイトからプラグイン一式がダウンロードできるので、自分の環境に合ったものをインストールします。

plugins.iem.at

Reaperで以下のVSTが使えるようになっていたらインストール成功です。これらのVSTを使って360°空間上の聴こえ方を制御していきます。

空間音声用のプロジェクトを作成

通常のReaperプロジェクトではデフォルトだと2ch音声しか出力できないので、新規にReaperのプロジェクトを立ち上げて、空間音声に対応したトラック構成を組んでいきます。

参考: synthaxjapan.blogspot.com

ここに書いた全ての設定が必須というわけではないですが、個人的にいろいろ試してやりやすかった構成を載せています。

マスタートラックのチャンネル数を4チャンネルに変更

マスタートラックのパネルの「Route」をクリックすると出力設定のウィンドウが出てきます。「トラックのチャンネル数」はデフォルトでは2になっていると思うので、ここを4に変更します。

バストラックとソーストラックを作成

ソーストラックは先ほど出力したstem音声を配置するトラックで、バストラックはソーストラックからの出力を仲介するトラックになります。

ソーストラックはパート音声の数だけ必要になりますが、まずはトラックの設定が必要なのでこの時点では1つだけ作成しておきます。

バストラックの設定

マスタートラックと同様に「Route」をクリックしてルーティング設定を開き、チャンネル数を4に変更します。チャンネル数を変えると、上にあるマスターへのセンドも「1-2」になっているのが自動的に「1-4」に変わると思います。もしここが「1-2」のままだったら手動で「1-4」に変更します。

次に、先ほどインストールしたIEMプラグインの中から「SceneRotator」「EnergyVisualizer」「BinauralDecoder」を適用します。BinauralDecoderが一番最後に来るようにします。 これらはモニタリング用のVSTなので、空間音声を作るだけであれば必須ではありません。編集中は有効にしておいて音声をレンダリングするときだけ無効にする必要があります。

ソーストラックの設定

こちらもマスタートラックと同様にルーティング設定からチャンネル数を4に変更します。

また、バストラックを経由するためにマスターへのセンドは無効化して、バストラックへのセンドを追加します。

センドを追加したら、画像の「1/2」となっているところを「1/4」になるように変更します。

IEMプラグインの「StereoEncoder」を適用します。このエフェクトを使って空間上での音の位置を制御します。

ソーストラックの複製

ソーストラックを必要な数だけ複製して、事前に出力したパートごとの音声を全て配置します。これで事前準備は完了です。

空間上の音源の配置

今の状態で再生すると、全部のパートがモノラルになった音声だけが聞こえてきます。

通常の2mixであればLRのパンを振って定位を調整するところですが、空間音声ではStereoEncoderなどのエフェクトを使って音の方向を調整していきます。

StereoEncoderの使い方

使い方は実際に触ってみるのが一番分かりやすいと思います。

StereoEncoderは自分から見た音源の方向を制御します。 試しに音源の位置をマウスでドラッグしてみると聞こえ方が変わると思います。

パラメータとしてはAzimuthが左右方向の回転、Elevationが上下方向の回転に対応しています。

元の音源が2chのステレオ音声の場合は、widthでLRの広がりを調整したり、RotationでLRの回転ができたりもします。(音の方向と映像を対応付けたい場合はこれを使うと逆にややこしくなるのであまり使わない方がいいかも) また、このパラメータにオートメーションをかけることで、空間上を音が移動する様子を表現できたりもします。

StereoEncoderの他にもIEMプラグインの中には音の聴こえ方を変えられるエフェクトがあります。全部を試してはいないのであまり詳しく説明はできないですが、例えばRoomEncoderを使うと自分と音源の相対的な位置関係が制御できます。 音源が前から後ろに直線的に移動するような表現をしたいときはこっちを使うのが良いかもしれません。

空間音声のミックス

空間上での聞こえ方を確認する上で役に立つのが、バストラックに掛けたEnergyVisualizerとSceneRotatorになります。

EnergyVisualizerはこんな感じで空間上の音のバランスを可視化してくれます。

ミックス前

ミックス後

SceneRotatorは空間全体を回転させることができるプラグインです。これによって視点を変えたときの聞こえ方をReaper上で確認することができます。 ※自分が回転するわけではなく、空間自体を回転させることに注意。

これらのプラグインを使ってミックスしていくんですが、トラックごとの定位をVSTで制御しないといけないので画面はこんな感じになります。全部のトラックを空間音声にしようとしたことを後悔しかけてました。

4ch音声の出力

ミックスが完了したら音声をレンダリングします。出力設定のチャンネル数が「Stereo」になっている場合は「4」に変更します。

レンダリングする前にバストラックに適用したモニタリング用のエフェクトは全てオフにしておきます。BinauralDecoderをオフにした状態で再生するとやや左側に寄った聞こえ方になるかもしれませんが、気にせず出力します。

レンダリング完了画面で波形が4チャンネル分ちゃんと出ていたら問題ないです。

これで空間音声は完成です。

次は映像制作ですが、ここで作成した4chの音声をそのまま動画編集ソフトで読み込むと正常に再生されない可能性があるので、映像制作用に2ch音声も用意しておくのがおすすめです。

映像の制作

AfterEffectsではVR用の映像を作るためのスクリプトやエフェクトが標準で用意されているので、その機能を使って360°映像を作ります。 処理の中身は、3Dレイヤーで配置したカメラの位置から見える前後左右上下の映像を合成して360°用の映像に変換してくれるといった感じのようです。(ざっくりとした理解)

新規コンポジションを作成

音声だけ配置したコンポジションを作成します。このコンポジションは尺を確保するだけなので細かい設定は特に気にしなくてOKです。

VR Comp Editorを使って動画を作成

作成したコンポジションをもとに動画を作っていきます。

メニューの「ウィンドウ」を下の方までスクロールしていくと、「VR Comp Editor.jsx」というものがあるのでこれをクリックします。

クリックすると、このようなVR Comp Editorのパネルが出てきます。今回作りたい動画は3Dレイヤーを使った3D空間なので、「3D 編集を追加」をクリックします。

出てくる画面で3Dコンポジションの設定を行います。ここは特にこだわりがなければ下の画像の通りに設定すれば問題ないと思います。

360度フッテージを持つコンポジションを選択:先に作成した音声だけのコンポジションを選択します。

コンポジションの幅:デフォルトでは1920くらいになっているかもしれませんが、1920x1080で作ると360°で視聴した時にかなり画質が下がってしまうので、4Kサイズ(3840x2160)で作成しています。(そのせいでプロジェクトファイルはかなり重くなります。)

3Dプラグインを使用:今回の動画ではElement3Dを使いたかったので有効にしています。3Dレイヤーだけで作るなら不要かも。

「3D編集を追加」をクリックすると、自動的に360°動画用のコンポジションが作成されます。 プロジェクトパネルを確認すると(VR2 出力)がついたフォルダが新規に作成されていて、その中にいくつかコンポジションが入っていると思います。

主に使うのは(VR2 編集1)と(VR2 出力)がついたコンポジションの2つです。

3D空間の動画作成

(VR2 編集1)のコンポジションには初めからカメラレイヤーが作られているので、このカメラを使って3Dの動画を作っていきます。

3DレイヤーやElement3Dなどのプラグインを使って3D空間を作っていきます。普段3Dの動画を作るときはカメラに写っている部分だけを作りこめばよいですが、360°動画ではカメラから見える方向全部がレンダリングされるので注意が必要です。

3D空間ができたらVR Comp Editorのパネルの「改方向」にチェックを入れて「出力を開く/レンダリング」をクリックします。

編集コンポジション

編集したコンポジションの映像が360°映像用に変換された(VR2 出力)のコンポジションが開かれます。このコンポジションを通常通りレンダリングすれば360°映像は完成です。

出力コンポジション

(VR2 編集1)の内容は自動的に反映されているようにも見えますが、たまに変な出力結果になるので編集コンポジションの方で変更を加えたら都度「出力を開く/レンダリング」を実行するのがおすすめです。

音声の差し替え

360°映像が出来上がったら、ffmpegを使って動画の音声を空間音声に差し替えます。ffmpegの導入手順や音声差し替えの方法は以下記事を参照ください。

ytpmv.info

ytpmv.info

以下のコマンドで、各ファイルのパスをそれぞれ指定して実行すると音声の差し替えができます。

ffmpeg -i <動画ファイルのパス> -i <音声ファイルのパス> -c:v copy -c:a aac -strict experimental -map 0:v -map 1:a <出力動画ファイルのパス>

XMedia Recordなどのソフトを使っても同じことができると思います。

メタデータの埋め込み

作成した動画を360°動画として再生するためには、この動画には360°動画と音声が含まれるということを示すメタデータを埋め込む必要があります。

Googleが配布している「Spatial Media Metadata Injector」というツールを使ってメタデータを埋め込んでいきます。

github.com

上記リンクから「360.Video.Metadata.Tool.win.zip」(Win環境の場合)をダウンロードします。

適当な場所に展開すると、中に「Spatial Media Metadata Injector.exe」というファイルがあるのでこれを実行します。

実行するとこんな画面が出てきます。「Open」をクリックして動画ファイルを選択します。

動画が読み込まれるので、次に「My video is spherical (360)」と「My video has spatial audio (ambiX ACN/SN3D format)」にチェックを入れて「Inject metadata」をクリックします。

適当な名前をつけて保存したらこれで360°音声対応の動画が完成です。お疲れ様でした。

Youtubeに投稿すると特に何も設定せずとも360°動画として再生できるようになっています。

ローカルで再生したい場合は、VLC Media Playerを使うと同じように360°再生ができますが、Youtubeで再生した時と比べると聴こえ方がかなり変わります(Youtubeだと後ろの音も聞こえるけどVLCだとほとんど聞こえなくなる)。 なので、最終的な聴こえ方の確認のためにはYoutubeに限定公開でアップロードして確認するのがおすすめです。

作ってみた感想

ミックス難易度が高い

当たり前なんですが空間音声のミックス難しいですね。ただでさえ普段やらない原曲不使用でやろうとしてるのに、聴こえ方の変化が分かりやすいようにしないといけないので、文字通り次元の違う難易度でした。

CD音源とライブ音源の違いみたいな感じで、向きによって変な聴こえ方になるのは仕方ないこととしてある程度割り切ってしまうのがいいのかもしれません。

プロジェクトファイルが重すぎる

最初3D空間の映像は1080pのコンポジションで編集してたんですが、試しに出力してみた映像の画質が悪く、最終的に4Kで作り直すことになりました。 (360°の映像が1080pだったら1方向の映像はそれより小さくなるってのは言われてみれば確かにそう)

その結果、AEは頻繁に落ちるしレンダリングには時間がかかるしで、かなりストレスフルなプロジェクトファイルが出来上がりました。というか3Dメインの動画を作るならBlenderみたいな専用ソフトを使うのが正解かもしれないですね。

Youtubeの仕様に振り回された件

360°動画を作ってみようと思ったきっかけがこの動画で、これを初めて見たとき(2018年くらい)には埋め込みプレイヤーとかを使わなくても普通に空間音声が再生できたような記憶があります。

www.youtube.com

今回改めて360°動画を作ろうと思って見返してみたところ、何故か視点を変えても音が変わらない……? コメント欄でも特に指摘されてないので自分の環境に問題があるのかと思い、再生するブラウザを変えたりスマホタブレットなどいろんな再生環境を試してみましたがどうもうまくいかない。 いろいろと調べてみたらTwitterRedditのスレッドでこの問題が指摘されているのが見つかりました。

https://www.reddit.com/r/SpatialAudio/comments/18r5tfj/spatial_audio_no_longer_working_on_youtube_desktop/?rdt=54431

ざっくりまとめると、Youtubeの仕様的にあるタイミングから対応しなくなったが、埋め込みプレイヤーを使うとなぜか正常に再生できる。というものでした。 あんまり納得感はないですが、そもそも360°動画自体需要も供給も少ないこともあって、この辺の調整の優先度は高くないのかなーと思いました。

360°音MADの展望

何かしら新しい視聴体験ができる音MADを作ってみようと思って着手した動画で、結果としては形にできてノウハウも得られたので満足でしたが、先述の背景もあって今後360°音MADが流行るかというと微妙な気はしています。 やっぱり制作コストの高さと、視聴できる環境が限られているという逆風はかなり強いですね。

ただ、例えば普通の2D音MADの中で360°動画を演出として取り入れてみたり、空間音声なしで動画だけ360°にしたりというものであれば比較的やりやすいかもしれません。

昨年bilibiliの音MAD華で公開された以下の動画の08:43~で使われている表現は、(たぶんUnity等のゲームエンジンを使っている?と思うので今回の作り方とはまた異なりますが)演出としてVR的なインタラクティブ要素を取り入れた一例だと思います。

www.bilibili.com

映像面ではちょうど今期のアニメでも360°演出を取り入れた作品がありますね。手書きアニメでもこんな表現できるの凄い。

www.youtube.com

総評としては、360°音MADは現時点ではいろんなハードルがあってニッチなジャンル止まりな印象です。 ただ、音MADにインタラクティブ性や没入感を加えたものとしてみると演出手法としてはまだまだ未開拓でポテンシャルがあると思うので、作品単位では今後想像しえないような動画が作られる可能性は十分にあると思います。 個人的にはテーマパークのアトラクションみたいな演出ができたらかなり面白いと思うのでいつか見てみたいです。

音MADで360°的な演出をやろうと考えている人にとって、この記事の情報が多少なりとも役に立てばいいなと思います。

【新感覚】360°音MADを作ってみた!〜音も映像も全方位で楽しめる世界〜


音MADといえば、"音を素材にして遊ぶ"文化の代表格。
でも、もしその音MADが、「360°全方位」に広がっていたら──?
そんなちょっとクレイジーな発想から生まれたのが、今回紹介する【360°音MAD】です!

普通の音MADは、画面の正面だけを見れば楽しめます。
しかし今回作った作品は違います。
映像が、前後左右上下、あらゆる方向に飛び交い、音も方向によって聴こえ方が変わる。
まるで音と映像の中に自分が飛び込んだような、没入感たっぷりの体験を味わえます!

制作には、After EffectsVR機能を駆使しました。
通常の編集に加えて、360°空間上に素材を配置するという一手間……いや十手間かけたことで、"見る方向によって全く違う景色が見える"音MADになっています。
しかも、ただ映像が飛び交うだけではありません。音も向きに合わせて細かく定位を設定。
上を向けばあの声が、後ろを振り向けば別の音が。
どこを見ても、どこを聴いても、新しい発見がある。そんな仕掛けをたっぷり詰め込みました!

正直、作っている最中は「これ本当に完成するのか…?」と何度も思いました(笑)。
360°という制約は自由であると同時に、すべての方向に気を配る必要があるので、通常の何倍も頭を使います。
それでも、「こんな音MAD、誰も見たことがないはず!」というワクワク感だけで、最後まで作りきりました。

スマホを動かしたり、PCならマウス操作でぐるぐる回したりして、自由に探索できるこの作品。
"正面を見ているだけでは気づかない演出"もたくさん仕込んでいるので、ぜひいろんな方向に視点を動かしてみてください。
一度見ただけでは味わいきれない、360°ならではの楽しみ方がきっと見つかるはずです。

音MADファンにも、VR好きにも、ちょっと変わった映像作品が見たい人にも──。
ぜひ一度体験してみてください!
(作品リンクはこちら↓)

こんな感じで書いてみました!
もう少し「遊び心を入れたバージョン」や、「真面目でカッコよくまとめたバージョン」なども作れます。
もしトーンや、もう少し足したい要素があれば教えてください!どんどんブラッシュアップできます。

どうしますか?


らしいです。胃もたれする文章だけど内容は「上を向けば~」ってところ以外は大体あってると思います(真上には何も配置してないので)
ちゃんとした360°音MADの作り方の記事はそのうち出そうと思ってるので気長にお待ちください

↓出しました

【解説】360°音MADの作り方 - E-tum’s B-log

個人用サイトを作りました

このブログや各種SNSとは別に個人用のページを作りました。

e-tum.github.io

まだ簡素な作りですが、これまでに作ったプログラムへのリンク集的な用途と、今後ブラウザ上で動かせるツールを公開するための場所として使っていきたいなと考えています。
GitHub Pagesなのでドメインの管理とか気にしなくていいの助かる。

ついでにニコニコ動画のリンクを取得するブックマークレットのやつGitHubにも公開しました。

github.com

HTML/CSS/JSあたりのフロントエンド系はほとんど触ったことなかったしGithubソースコード管理して公開するのも初めてだったので、作法とかよく分かってないことだらけですが、ChatGPTに頼りまくれば最低限のものが作れるようになるのはいい時代ですね。 Webデザインはこだわり出したら大変なんだろうなという雰囲気だけ感じてます。

今このブログにリンクを貼ってからアイコンを用意してなかったことにも気づきました。そのうち整備します。

勉強目的でも今後何かしら思いついたら更新していきたい(モチベが続けば)。

歌詞の文字列から人力ボカロに必要な音素を検出する

  • 人力VOCALOID音声制作の準備にちょっと役立つかも?という感じのツールです。
  • 文字列をひらがなにして入力すると、その中に含まれている音素を抽出してくれます。

概要

人力VOCALOIDの音声を作るとき、素材集めはできるだけ楽したいですよね。
このプログラムは、歌わせたい歌詞の文字列をひらがなで入力すると、その中に含まれている(日本語の)音素を教えてくれるというものになります。促音(っ)は無視されて拗音(きゃ、ふぁ など)は二文字で一音として扱われます。

変換イメージ

やってることはシンプルな文字列処理です。
この歌詞を歌わせるには最低限どの音の素材を集めればいいのか、ということが分かるので、せっかく音素を切り出したけどこの音は使わなかった…みたいな徒労感がなくなると思います。

使い方

以下のリンクからアクセスできます。Google Colaboratoryで作っています。 colab.research.google.com

1.ひらがな変換(任意)
LYRIC_TEXTの欄に歌詞を入力してセルを実行。
※たまに誤変換もあるので注意。

ちっちゃな私 のラスサビの部分でテスト。
配布されている歌詞テキストなどからコピペできると楽。

2.音素検出
HIRAGANA_TEXTの欄にひらがなの文字列を入力してセルを実行。
ひらがな以外の文字が入っていてもエラーにはならないが、音素検出はされない。

最後に

上の実行例だと検出結果は全部で35音になりました。
減ったとはいっても集めるのはやっぱり大変ですね。 とはいえ、これさえ集めてしまえば音声作りに取り掛かれる、という目安にはなるので気持ち的には多少楽になるかもしれません。
例によってColab環境で作っていますが、GPUが必要な重たい処理でもないので実行環境のある人はローカルでも自由に改変できると思います。

アニメキャラの動画切り抜き作業を楽にしたい

概要

  • 面倒な切り抜き作業を楽にするためのプログラムをColabで動かせるようにしました
  • AnimeSegmentationをつかった切り抜きなので二次元画像の人物切り抜き特化です
  • 中間ファイルも出力されるので手動での修正がやりやすいと思います

colab.research.google.com

  • はじめに
    • 処理の流れ
      • 1. 動画を連番画像で出力
      • 2. 背景除去
      • 3. 透過映像としてエンコード
  • 使い方
    • 1. 事前準備
    • 2. パラメータの入力
    • 3. セルの実行
  • 実行結果の例
  • 最後に

はじめに


動画の切り抜き作業って面倒ですよね。動画から画像を連番で出力して1枚ずつ切り抜いて繋げて…
最近はremove.bgrunwayなどが出てきて画像の人物切り抜き作業はかなり楽になってきました。
Web上で動かせるデモも公開されているので、書き出した連番画像を1枚ずつ処理していけば透過映像素材も比較的楽に作ることができます。
ただ、そういったサービスはどうしても機能的な制限が気になります(画質が下げられたり○秒以下の動画しか処理できなかったり)
個人的には連番画像を1枚ずつ処理にかけていくのも面倒…ということで、動画の連番画像出力から背景除去・透過された映像のエンコードまでを自動化するプログラムを作りました。

今回公開したものはAnimeSegmentationの背景除去モデルを使ったプログラムです。
画像単体の切り抜きであれば以下のリンクから試しに使うことができます。

huggingface.co

このモデルは二次元画像の人物切り抜きに特化したものなので、実写映像や人物以外の切り抜きには適していません。
また、認識する対象の指定など細かい調整はできないようなので、以下のリンク先にあるような人物単体の切り抜きが向いているみたいです。

github.com

人物を認識して背景除去を行うので、例えば画面に人物が二人映っているときは両方ともが切り抜き対象になります。

以前公開した音声文字起こしと同様で、Google Colabで公開している都合上機能的な制限はありませんが、GPUリソース的な利用制限はあります。
制限に引っかかってしまったらPro版へ課金するか別アカウントを使うなどを試してみてください。

続きを読む