やりたいこと
- MacでMIDIファイルを動画化したい
- Synthesiaのようなピアノロール動画を作りたい
- YouTubeに投稿する「弾いてみた」動画の素材を作りたい
環境
以下の環境で試しています。
- Mac mini 2024 (Apple M4 Pro)
- macOS Tahoe (バージョン26.0.1)
- Homebrew 4.6.16
構築手順
Rustをインストールする
brew install rust
rustc --version
rustc 1.90.0 (1159e78c4 2025-09-14) (Homebrew)
cargo --version
.rustc 1.90.0 (1159e78c4 2025-09-14) (Homebrew)
FFmpegをインストールする
brew install ffmpeg
ffmpeg -version
ffmpeg version 8.0 Copyright (c) 2000-2025 the FFmpeg developers
built with Apple clang version 17.0.0 (clang-1700.3.19.1)
Neothesiaのソースコードをクローンする
git clone https://github.com/PolyMeilex/Neothesia.git
cd Neothesia
neothesia-cliをビルドする
cargo build --release -p neothesia-cli
以下のようになってしまった。
error[E0425]: cannot find value `SWS_BICUBIC` in crate `ffmpeg`
--> ffmpeg-encoder/src/ff.rs:477:25
|
477 | ffmpeg::SWS_BICUBIC,
| ^^^^^^^^^^^ not found in `ffmpeg`
|
help: consider importing this unit variant
|
1 + use ffmpeg::SwsFlags::SWS_BICUBIC;
|
help: if you import `SWS_BICUBIC`, refer to it directly
|
477 - ffmpeg::SWS_BICUBIC,
477 + SWS_BICUBIC,
|
For more information about this error, try `rustc --explain E0425`.
error: could not compile `ffmpeg-encoder` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
ffmpeg-encoder/src/ff.rs を以下のように修正する
- ffmpeg::SWS_BICUBIC,
+ ffmpeg::SwsFlags::SWS_BICUBIC as i32,
再度ビルド
cargo build --release -p neothesia-cli
使い方
./target/release/neothesia-cli test.mid test.mp4
4Kで出力したい場合
./target/release/neothesia-cli test.mid test.mp4 --width 3840 --height 2160