Custom Context Menuを使って右クリックによく使うコマンドを追加してみる
はじめに
最近Custom Context MenuというWindows11用のアプリを知り、使ってみたらかなり便利だったので自分なりの活用方法を紹介します。
このアプリを使うと、本来はコマンドを打って実行するような操作を右クリックメニューに登録しておくことができ、エクスプローラーやデスクトップ上からこんな感じで直接実行できるようになります。


コマンドラインで操作するツールといえばffmpegやyt-dlpあたりが身近ですが、オプションの書き方が覚えられず必要なときに毎回調べることになる人もいるかと思います。自分もそのタイプです。
バッチファイルを作っておくというのも一つの手ですが、このアプリでは事前にコマンドを登録さえしておけば、コマンドプロンプトや専用アプリを起動せずに実行できるというのが大きな利点です。複数選択すればまとめて処理することも可能です。
自分の場合、動画を音声に変換したりBGM除去したりといった素材の下処理が、zipファイルを展開するようなノリで手軽に実行できるようになったので、編集作業に取り掛かるまでのハードルがかなり下がったように思います。
細かく設定を調整したいときは元のコマンドやアプリを直接使えばよいので、普段よく使う操作だけ登録しておくという使い方がおすすめです。
導入方法と使い方
導入
Custom Context MenuはMicrosoft Storeからインストールできます。
Microsoft Storeで「Custom Context Menu」を検索してインストールすればすぐ使い始められます。120円と書いてありますが無料版でも機能制限なく利用できます。

インストール後にアプリを起動すると、こんな感じの設定画面が表示されます。

Addか左の+をクリックすると追加したいコマンドの登録ができます。
実行ファイルやコマンドの設定を保存すると、エクスプローラーの右クリックメニューに項目が追加される仕組みです。
注意点としては、通常の右クリックメニューには追加されますが、Shiftを押しながら右クリックしたときの詳細メニューの方には追加されないことです。Windows11になってから右クリックするときはShiftも押す癖がついてしまっている人にとっては、最初のうちは少し慣れないかもしれません。
基本的な使い方
一番よく使うのが動画から音声だけを取り出してwav形式で保存するコマンドです。

基本的な設定項目は以下のような感じです。
Title:コマンドの表示名
Order:メニューの表示順
数値が大きい方がメニューの下の方に来るようになります。
Exe:実行するプログラム
"C:\tools\ffmpeg\bin\ffmpeg.exe"
exeファイルの配置場所は人によって異なると思うので、参考にする場合は自身の環境に合わせてください。 環境変数に登録してあればフルパスで書く必要はないです。
Param:コマンドライン引数
-y -i "{path}" "{parent}\{nameNoExt}.wav"
ffmpegで動画ファイルを音声ファイルに変換するコマンドです。ffmpeg以降のパラメータをここに入力します。
{path}は右クリックしたファイルのパスで、{parent}はファイルがあるフォルダのパス、という感じで使える変数が用意されています。
ここでは動画ファイルと同じ場所に拡張子だけ.wavに変えたファイル名で保存するという処理にしています。
Match File:メニューを表示するファイルの拡張子
.mp4|.mkv|.webm|.mov|.flv|.mp3
ここで指定した拡張子の動画ファイルを右クリックしたときにのみ、「動画→WAV変換」というメニューが出てくるようになります。
動画ファイルの拡張子は他にもありますが、必要になったら足していく感じで使っています。
使用例
上記の処理の他に実際に自分が登録しているコマンドをいくつか紹介します。
ffmpegやaudio-separatorなど個々のツールのインストール方法は省略しますが、環境さえ用意してしまえばかなりカスタマイズ性は高くなると思います。
WAV → MP3変換
音声を試聴用に軽量化したいとき用。
Exe
"C:\tools\ffmpeg\bin\ffmpeg.exe"
Param
-i "{path}" -codec:a libmp3lame -q:a 2 "{parent}\{nameNoExt}.mp3"
Match File
.wav
WebM → MP4変換
WebM形式の動画ファイルをh264コーデックでmp4に変換する処理。
ダウンロードする段階で変換してしまうことが多いので使用頻度はそこまで高くないです。変換をローカルのGPUを使ってやりたいときに使ってます。
Exe
"C:\tools\ffmpeg\bin\ffmpeg.exe"
Param
-y -hwaccel cuda -hwaccel_output_format cuda -i "{path}" -c:v h264_nvenc -preset slow -c:a aac -b:a 192k "{parent}\{nameNoExt}.mp4"
Match File
.webm
動画 → 連番PNG変換
素材切り抜きや画像処理用。
ffmpeg単体でも連番画像にすることはできますが、フォルダを作ってからその中に連番画像を保存するようにしたかったので、cmd.exeを呼び出して実行しています。
Exe
"C:\Windows\System32\cmd.exe"
Param
/d /c if not exist "{parent}\{nameNoExt}_frames" mkdir "{parent}\{nameNoExt}_frames" & "C:\tools\ffmpeg\bin\ffmpeg.exe" -y -i "{path}" "{parent}\{nameNoExt}_frames\frame_%06d.png"
Match File
.mp4|.mkv|.webm|.mov|.flv
yt-dlpで一括ダウンロード
URLを羅列したテキストファイルを選択して実行。
Exe
"C:\tools\yt-dlp\yt-dlp.exe"
Param
-a "{path}" --cookies-from-browser firefox
Match File
.txt
ボーカル抽出(bs_roformer)
audio-separatorはPythonで実行できる音声分離処理ライブラリで、Ultimate Vocal RemoverのCLI版みたいなイメージです。
UVRと同じモデルが使えるので、セリフ用や人力用など目的に応じてモデルを変えたりして複数バージョン用意するのがおすすめです。
Exe
"C:\Users\localuser1\AppData\Local\Programs\Python\Python311\Scripts\audio-separator.exe"
Param
-m audio_separator "{path}" --single_stem Vocals --model_file_dir "C:\Users\localuser1\AppData\Local\Programs\Ultimate Vocal Remover\models\MDX_Net_Models" --model_filename "bs_roformer_vocals_resurrection_unwa.ckpt" --output_dir "{parent}" --output_format WAV
--model_file_dirと--model_filenameはもう少し分かりやすい場所に置いた方がいいかも。
Match File
.wav
ボーカル除去(bs_roformer)
--single_stemのオプション部分だけVocalsからInstrumentalに変えればBGMだけを取り出す処理になります。
Param
-m audio_separator "{path}" --single_stem Instrumental --model_file_dir "C:\Users\localuser1\AppData\Local\Programs\Ultimate Vocal Remover\models\MDX_Net_Models" --model_filename "bs_roformer_vocals_resurrection_unwa.ckpt" --output_dir "{parent}" --output_format WAV
Match File
.wav
stem分離(htdemucs_6s)
楽曲の耳コピ目的。Demucsモデルを使った6stemの分離。
Exe
"C:\Users\localuser1\AppData\Local\Programs\Python\Python311\Scripts\audio-separator.exe"
Param
-m audio_separator "{path}" --model_file_dir "C:\Users\localuser1\AppData\Local\Programs\Ultimate Vocal Remover\models\Demucs_Models\v3_v4_repo" --model_filename "htdemucs_6s.yaml" --output_dir "{parent}" --output_format WAV
Match File
.wav
終わりに
Microsoft Storeで検索するとCustom Context Menu以外にも似たようなことができそうなアプリがたくさん出てきます。調べてみたら、Windows10でも使えるFileMenu Toolsというフリーソフトもあるようです。 他のツールの使用感までは試していないですが、機能面で大きな差はないんじゃないかと思います。自分はCustom Context Menuが一番メンテナンスされてそうだったので選びました。
使用例でいろいろと紹介していますが、やりたい処理をAIに伝えればコマンドの内容や設定は教えてくれるはずなので、活用の幅はかなり広くなると思います。
Reaper上で字幕データをプレビューしたりするスクリプト
概要
Reaperで字幕データを音声に紐付けてプレビューしたりタイムラインに読み込んだりできるようにしたスクリプトを作りました。
Reaperで字幕データと対応付けた音声をプレビューしたりするスクリプトができました pic.twitter.com/i6mOpc6pF5
— E-tum (@E__tum) 2026年5月2日
以前作ったスクリプトの派生版です
字幕データを使ってReaperで音声素材を切り分けるスクリプト - E-tum’s B-log
導入方法
以下のページからダウンロードできます。
必要なプラグインの導入
事前にインストールが必要なプラグインがあるのでReaPackを使って導入します。(既に導入済みであればスキップしてOKです。)
- 下記のリンクにアクセスしてReaPackをダウンロード。
reapack.com - ReaperのUserPluginsフォルダにReaPackを配置。
Windowsであれば%AppData%\Roaming\REAPER\UserPlugins\にreaper_reapack-x64.dllを配置する。 - Reaperを再起動して Manage repositoriesという画面が出てきたらインストール成功。

- Extensions > Reapack > Browse packages... からパッケージの一覧を開いてReaImGuiとSWS/S&M extensionをインストールする。
右クリックメニューから「Install v.....」をクリックして「Apply」で最新のバージョンをインストールできる。

- インストール結果が表示されたら成功。再起動すると使えるようになる。

スクリプト本体のインストール
- 下記リンクから最新版のzipファイルをダウンロードして中身を適当なフォルダに展開。
github.com - Reaperの「アクション」メニューから「スクリプトをインポート」して、先ほど展開したフォルダにある
ReaSRTBrowser.luaを選択。 - 必要に応じてショートカットキーやツールバーに設定。
使い方
スクリプトを実行するとこんな感じのウィンドウが出てきます。

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

タイムラインに挿入したメディアアイテムは元音声ファイルをソースとして読み込まれるので、置いた後でも再生位置を調整したりできます。
字幕アイテムはお気に入り登録したり、タグ付けしたり、検索したり、Reaperのメディアエクスプローラとまではいかないですが似たような感じで管理できます。 登録したお気に入りやタグ情報は字幕ファイルのパスを変更すると失われるので注意です。
また、公式の字幕には(キャラ名)のようなラベルがついていることがあるので、このラベルを非表示にして検索に引っかからないようにしたり、自動でタグに登録したりする機能も実装してます。

SRT形式の字幕ファイルは、以前の記事でも紹介したSubtitle Editというソフトを使うと、AI文字起こしが使えるので簡単に作成できます。
gigazine.net
アニメの字幕データであればこちらのサイトもお勧めです。
Japanese subtitles - AJATT
最後に
過去に音MAD制作用の素材管理のためにいろんな方法で音声を切り分けるやり方を試してきましたが、字幕データが用意できているならわざわざ切り分ける必要もないのでは?と思い、Reaperから直接字幕データを参照できるようにしたのがこのスクリプトになります。
切り分けて保存しておいた音声素材も使いやすくはあるんですが、その分ストレージ容量が喰うのが地味にネックでした。
このスクリプトを使う運用だと元の音声ファイルと字幕データだけあれば良いので、多少はその問題も緩和されるかもしれないです。
GUIツールなので不安定な部分もあるかもしれないですが、多少なりと役に立てたら幸いです。
字幕データを使ってReaperで音声素材を切り分けるスクリプト
概要
SRT形式の字幕データを使って音声アイテムを切り分けるためのReaperスクリプトを作りました。
ReaperでNetflixとかの字幕データを使って音声アイテムを切り分けるスクリプト作ってます(キャラ分けは半手動)
— E-tum (@E__tum) 2025年7月6日
いつの日か素材整理だけで終わる休日がなくなることを夢見て… pic.twitter.com/07SfLC5n9X
公式に作られてる字幕データは発話者の情報も入れてくれることが多いので、これを使って音声素材の整理ができるようになると助かるんですよね。 自動文字起こししたものと違って表記揺れやミスもないので、人力で修正したりする手間がだいぶ省けます。

以前OpenAIのWhisperを使って音声の切り分けと文字起こしを行うプログラムを作りましたが、今回作ったのは字幕データをもとにReaper上で切り分けるだけなので、音声ファイルとして保存する前の細かい修正がやりやすいと思います。
導入方法
以下のページからダウンロードできます。
- 「Code」>「Download ZIP」からzipファイルをダウンロードして適当な場所に展開します。
- Reaperの「アクション」メニューから「スクリプトをインポート」して、先ほど展開したフォルダにあるSplitBySRT.luaを選択します。
- 必要に応じて適当なショートカットキーを設定しておきます。
使い方
切り分けたいアイテムを選択
字幕データの音声が含まれる音声メディアアイテムを選択しておきます。

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

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

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

字幕と元音声の時間がずれていることもあるので、その場合はアイテムを全選択したあとにAlt+ドラッグで微調整します。
(キャラ名)が入っていない字幕の音声は同じトラックに振り分けられるので、キャラ別に素材を管理したい場合は手動でトラックを移動させる必要があります。
音声アイテムをエクスポート
アイテムを選択した状態でレンダリング設定を開き、「選択メディアアイテム」を指定すると、アイテムごとに音声ファイルを出力することができます。
出力ファイル名を$item.wavとすれば、メディアアイテムについた名前がそのままファイル名になります。

キャラ別に素材を管理したい場合(応用)
Reaperでは出力するファイル名にいろんな変数が使えるので、自分の使いやすいように名前をつけて音声ファイルを出力することができます。
キャラ名はトラック名に反映されているので、例えば$track\$itemnumber_$item.wav とすれば
キャラ名ごとのフォルダの中に番号付きのファイル名で保存するということができます。
オプション設定
同じフォルダにあるconfig.iniの中身を書き換えることで細かい挙動の設定ができるようにしています。まだ項目はそんなにないですが何か思いついたら今後追加するかもしれません。
* newline_replace:字幕データに改行が含まれている場合に変換する文字(デフォルトは空白)
* padding_start/padding_end:分割した後に字幕の先頭・末尾に何秒追加するか(デフォルトは0秒)
字幕ファイルの調達方法
字幕のあるサブスクからダウンロード
NetflixとAmazon Prime Videoでは字幕データをダウンロードする拡張機能が有志によって作られています。 内容もタイムスタンプもかなり正確なのでほとんど調整なしに使うことができます。
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で探す
主に映画やテレビシリーズの字幕が多言語でアップロードされているサイトです。海外サイトで当然非公式なのであったらラッキー程度。
文字起こししたデータを使う
字幕がない場合は自分で作るしかないですね。
Subtitle Editというソフトを使うと、動画からWhisperを使った文字起こしができて細かい修正もやりやすいのでオススメです。
自分が把握してる限りだとこれくらいですが、他にもいい方法があればコメント等で教えてもらえると嬉しいです。
【解説】360°音MADの作り方
前回の記事で紹介したこちらの360°対応の音MADの作り方の解説です。
かなり長くなってしまったので細かい部分は適当に読み飛ばしてください。
全体の流れは以下のような感じです。
はじめに
360°動画について
普段はあまり目にする機会が少ないと思いますが、Youtubeで「360° VR」とかで調べるといろんな参考動画が出てきます。夜のピエロの360°版とかは見たことある人も多いかも。
最初に挙げた動画もそうですが、視聴者が映像内を上下左右あらゆる方向に見回すことができるような動画が360°動画です。PCのブラウザだとマウスやWASDキーで視点が動かせて、スマホやVR機器だとジャイロセンサーの傾きに合わせて視点が変わります。 ※見る側が変えられるのは視点の向きだけで場所を移動することはできません(それをやろうとしたら動画というよりはゲームみたいなコンテンツになりそう)
これに加えて、視線の向きに合わせて音の聴こえ方が変わる空間音声が使われている動画もあります。
空間音声の再生に対応している環境じゃないと音の変化が分からないのが難点ですが、右から聞こえていた音が反対を向いたときには左から聞こえてくるようになる、という体験ができると思います。
この記事で解説するのは、空間音声にも対応した360°音MADの作り方になります。
実写映像であれば360°カメラで撮影した映像に360°録音の出来るマイクで録った音声を載せればいいので比較的簡単ですが、音MADはそうもいかないので、音声と映像それぞれで360°形式にするための方法を解説しています。
投稿できるサイト
360°動画を投稿できる動画サイトは基本的にYoutubeのみです。 当然ですが360°動画と音声の再生に対応していないと視点を変えて視聴することはできないので、ニコニコにはデモバージョンみたいな形でしか投稿できません。
bilibiliでも360°映像には対応しているようですが、空間音声は対応していないみたいです。
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プラグインというものが必要になります。 以下のサイトからプラグイン一式がダウンロードできるので、自分の環境に合ったものをインストールします。
Reaperで以下のVSTが使えるようになっていたらインストール成功です。これらのVSTを使って360°空間上の聴こえ方を制御していきます。

空間音声用のプロジェクトを作成
通常のReaperプロジェクトではデフォルトだと2ch音声しか出力できないので、新規にReaperのプロジェクトを立ち上げて、空間音声に対応したトラック構成を組んでいきます。
ここに書いた全ての設定が必須というわけではないですが、個人的にいろいろ試してやりやすかった構成を載せています。
マスタートラックのチャンネル数を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の導入手順や音声差し替えの方法は以下記事を参照ください。
以下のコマンドで、各ファイルのパスをそれぞれ指定して実行すると音声の差し替えができます。
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」というツールを使ってメタデータを埋め込んでいきます。
上記リンクから「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年くらい)には埋め込みプレイヤーとかを使わなくても普通に空間音声が再生できたような記憶があります。
今回改めて360°動画を作ろうと思って見返してみたところ、何故か視点を変えても音が変わらない……? コメント欄でも特に指摘されてないので自分の環境に問題があるのかと思い、再生するブラウザを変えたりスマホやタブレットなどいろんな再生環境を試してみましたがどうもうまくいかない。 いろいろと調べてみたらTwitterとRedditのスレッドでこの問題が指摘されているのが見つかりました。
ざっくりまとめると、Youtubeの仕様的にあるタイミングから対応しなくなったが、埋め込みプレイヤーを使うとなぜか正常に再生できる。というものでした。 あんまり納得感はないですが、そもそも360°動画自体需要も供給も少ないこともあって、この辺の調整の優先度は高くないのかなーと思いました。
360°音MADの展望
何かしら新しい視聴体験ができる音MADを作ってみようと思って着手した動画で、結果としては形にできてノウハウも得られたので満足でしたが、先述の背景もあって今後360°音MADが流行るかというと微妙な気はしています。 やっぱり制作コストの高さと、視聴できる環境が限られているという逆風はかなり強いですね。
ただ、例えば普通の2D音MADの中で360°動画を演出として取り入れてみたり、空間音声なしで動画だけ360°にしたりというものであれば比較的やりやすいかもしれません。
昨年bilibiliの音MAD華で公開された以下の動画の08:43~で使われている表現は、(たぶんUnity等のゲームエンジンを使っている?と思うので今回の作り方とはまた異なりますが)演出としてVR的なインタラクティブ要素を取り入れた一例だと思います。
映像面ではちょうど今期のアニメでも360°演出を取り入れた作品がありますね。手書きアニメでもこんな表現できるの凄い。
総評としては、360°音MADは現時点ではいろんなハードルがあってニッチなジャンル止まりな印象です。 ただ、音MADにインタラクティブ性や没入感を加えたものとしてみると演出手法としてはまだまだ未開拓でポテンシャルがあると思うので、作品単位では今後想像しえないような動画が作られる可能性は十分にあると思います。 個人的にはテーマパークのアトラクションみたいな演出ができたらかなり面白いと思うのでいつか見てみたいです。
音MADで360°的な演出をやろうと考えている人にとって、この記事の情報が多少なりとも役に立てばいいなと思います。
【新感覚】360°音MADを作ってみた!〜音も映像も全方位で楽しめる世界〜

音MADといえば、"音を素材にして遊ぶ"文化の代表格。
でも、もしその音MADが、「360°全方位」に広がっていたら──?
そんなちょっとクレイジーな発想から生まれたのが、今回紹介する【360°音MAD】です!
普通の音MADは、画面の正面だけを見れば楽しめます。
しかし今回作った作品は違います。
映像が、前後左右上下、あらゆる方向に飛び交い、音も方向によって聴こえ方が変わる。
まるで音と映像の中に自分が飛び込んだような、没入感たっぷりの体験を味わえます!
制作には、After EffectsのVR機能を駆使しました。
通常の編集に加えて、360°空間上に素材を配置するという一手間……いや十手間かけたことで、"見る方向によって全く違う景色が見える"音MADになっています。
しかも、ただ映像が飛び交うだけではありません。音も向きに合わせて細かく定位を設定。
上を向けばあの声が、後ろを振り向けば別の音が。
どこを見ても、どこを聴いても、新しい発見がある。そんな仕掛けをたっぷり詰め込みました!
正直、作っている最中は「これ本当に完成するのか…?」と何度も思いました(笑)。
360°という制約は自由であると同時に、すべての方向に気を配る必要があるので、通常の何倍も頭を使います。
それでも、「こんな音MAD、誰も見たことがないはず!」というワクワク感だけで、最後まで作りきりました。
スマホを動かしたり、PCならマウス操作でぐるぐる回したりして、自由に探索できるこの作品。
"正面を見ているだけでは気づかない演出"もたくさん仕込んでいるので、ぜひいろんな方向に視点を動かしてみてください。
一度見ただけでは味わいきれない、360°ならではの楽しみ方がきっと見つかるはずです。
音MADファンにも、VR好きにも、ちょっと変わった映像作品が見たい人にも──。
ぜひ一度体験してみてください!
(作品リンクはこちら↓)
こんな感じで書いてみました!
もう少し「遊び心を入れたバージョン」や、「真面目でカッコよくまとめたバージョン」なども作れます。
もしトーンや、もう少し足したい要素があれば教えてください!どんどんブラッシュアップできます。
どうしますか?
らしいです。胃もたれする文章だけど内容は「上を向けば~」ってところ以外は大体あってると思います(真上には何も配置してないので)
ちゃんとした360°音MADの作り方の記事はそのうち出そうと思ってるので気長にお待ちください
↓出しました
個人用サイトを作りました
このブログや各種SNSとは別に個人用のページを作りました。
まだ簡素な作りですが、これまでに作ったプログラムへのリンク集的な用途と、今後ブラウザ上で動かせるツールを公開するための場所として使っていきたいなと考えています。
GitHub Pagesなのでドメインの管理とか気にしなくていいの助かる。
ついでにニコニコ動画のリンクを取得するブックマークレットのやつはGitHubにも公開しました。
HTML/CSS/JSあたりのフロントエンド系はほとんど触ったことなかったしGithubでソースコード管理して公開するのも初めてだったので、作法とかよく分かってないことだらけですが、ChatGPTに頼りまくれば最低限のものが作れるようになるのはいい時代ですね。 Webデザインはこだわり出したら大変なんだろうなという雰囲気だけ感じてます。
今このブログにリンクを貼ってからアイコンを用意してなかったことにも気づきました。そのうち整備します。
勉強目的でも今後何かしら思いついたら更新していきたい(モチベが続けば)。
歌詞の文字列から人力ボカロに必要な音素を検出する
- 人力VOCALOID音声制作の準備にちょっと役立つかも?という感じのツールです。
- 文字列をひらがなにして入力すると、その中に含まれている音素を抽出してくれます。
概要
人力VOCALOIDの音声を作るとき、素材集めはできるだけ楽したいですよね。
このプログラムは、歌わせたい歌詞の文字列をひらがなで入力すると、その中に含まれている(日本語の)音素を教えてくれるというものになります。促音(っ)は無視されて拗音(きゃ、ふぁ など)は二文字で一音として扱われます。

やってることはシンプルな文字列処理です。
この歌詞を歌わせるには最低限どの音の素材を集めればいいのか、ということが分かるので、せっかく音素を切り出したけどこの音は使わなかった…みたいな徒労感がなくなると思います。
使い方
以下のリンクからアクセスできます。Google Colaboratoryで作っています。 colab.research.google.com
1.ひらがな変換(任意)
LYRIC_TEXTの欄に歌詞を入力してセルを実行。
※たまに誤変換もあるので注意。

ちっちゃな私 のラスサビの部分でテスト。
配布されている歌詞テキストなどからコピペできると楽。
2.音素検出
HIRAGANA_TEXTの欄にひらがなの文字列を入力してセルを実行。
ひらがな以外の文字が入っていてもエラーにはならないが、音素検出はされない。

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