しばらく時間が空いてしまいましたが、皆さんお元気ですか?僕は原稿もなかなか書けないほど忙しくしてました、、、
しか~し、前回の原稿でも書いたような自作プラグインの制作はその後も続き僕の制作環境は着々と改善されております。プラグインの製作以外にも、Nuendoから書き出したWAVファイルをProToolsにインポートする前にファイル名をAIにチェックさせて、Claude Coworkにやらせて似たようなファイル名があった場合、例えばStrings Ens AとStrings Ens A 01というファイルがあった場合はSTR Ens AとSTR Ens Bに書き直すとか、Vln1 Spiccato-01というファイル名があった場合はVln1 Spicc_01とアンダーバー(英語だとアンダースコア)に変換するとか、そういう雑用をCoworkのスキルにやらせてます。ちょっとしたことなんだけど、映画だとProToolsのセッションが90超えることは珍しくないので、このちょっとした準備でProToolsのセッションを整える時間の効率が相当上がります。
さて、今回からHomebrewを解説します。前回までの自作プラグインの前に説明するべきだったのかもしれませんが、Homebrewとは、Macの中に「開発道具専用の管理人」を入れるようなものです。ハンマーやドライバーを毎回別々のお店で探すのではなく、「この道具ください」と管理人に言えば、探して入れてくれる。いらなくなったら片付けてくれるし、新しい版が出たら更新もできる。プログラミングを始める人にとっては、自分で全部探す手間を減らしてくれる便利な仕組みです。Macのターミナルからコマンドを打ってコントロールするので、自己責任で扱う必要があるし誰かのNoteやブログからコピペして使う場合はそのコンテンツの信頼性には十分気をつけてください。
今週はHomebrewでffmpegというプログラムをインストールして、Mac内のWAVファイルをmp3に簡単に変換する流れを説明します。Macの「ミュージック」appでWAVファイルをmp3に変換している人もいるみたいだけど、恒久的にMac内にストレージしておく必要がなければ右クリックでさくっとWAVをmp3に変換したい時ってあるでしょ?そういう時にはとても重宝します。
ポイントは以下の2つ。
1)ffmpegが実際にmp3ファイルへ変換する道具
2)Homebrewはその道具をMacに入れるための管理係
ではffmpegって何?というところから解説します。
FFmpegはFabrice Bellard氏が2000年に始めたオープンソースのプロジェクトで、現在はFFmpegチーム/コミュニティによって開発が続けられています。Homebrewは、Macにこうしたツールを入れるためのパッケージ管理ツールです。
ここで使う ffmpeg は、WAVファイルをMP3に変換するためのプログラムです。
ffmpegは、どこかの会社のMac用アプリというより、世界中の開発者たちによって作られているオープンソースのソフトウェアです。もともとはフランスのプログラマー、Fabrice Bellard氏が2000年に始めたプロジェクトで、現在も多くの開発者によって改良が続けられています。
少し分かりやすく言うと、ffmpegは「音声や動画ファイルを別の形式に変換するための道具」です。WAVをMP3に変換したり、動画から音声だけを取り出したり、動画の形式を変えたりすることができます。
ただし、ffmpegは通常のMacアプリのように、アイコンをダブルクリックして使うタイプのソフトではありません。ターミナルでコマンドを打って使う、いわゆる「コマンドラインツール」です。たとえば、WAVファイルをMP3に変換する場合は、ターミナルで次のような命令を出します。
ffmpeg -i input.wav output.mp3
上記の命令はターミナルで、「ffmpegを使ってinput.wav というWAVファイルを読み込んで、output.mp3 というMP3ファイルとして書き出してください」という意味です。
ではその ffmpeg をどうやってMacに入れるのか。ここで登場するのがHomebrewです。実は、ffmpeg自体はHomebrewが作ったものではありません。ffmpegはffmpegという別のオープンソースプロジェクトが作っているソフトで、Homebrewは、そのffmpegをMacにインストールしやすくしてくれるための道具です。
ffmpegのようなコマンドラインツールは、公式サイトから手作業で入れようとすると、どのファイルをダウンロードすればよいのか、どこに置けばよいのか、ターミナルからどうやって呼び出せるようにするのか、初心者には少し分かりにくい場合があります。
Homebrewを使うと、その作業をかなり簡単にできます。
brew install ffmpeg
と入力するだけで、HomebrewがffmpegをMacにインストールし、ターミナルから ffmpeg というコマンドで使えるようにしてくれます。
つまり、Homebrewはffmpegそのものではありません。
ffmpegは「音声や動画を変換する道具」
Homebrewは「その道具をMacに入れて、使える状態にしてくれる道具」
と考えると分かりやすいかな。
今回のようにMac内でWAVファイルをMP3に変換したい場合、実際に変換作業をするのはffmpegです。そして、そのffmpegを簡単にインストールするためにHomebrewを使います。
そして、少しMac環境に馴染んで、GitやPythonやNode.jsを使うようになると、それらの開発に必要なものを、ターミナルから簡単にインストール・更新・削除できます。
僕は2011か2012年くらいにffmpegを使いたくて、Homebrewを使い始めたと思います。当時はCubaseを使っていましたが、当時からCubaseの内部に自分でスクリプトを書いてカスタマイズできる部分があったので、デモのWAVを書き出すと同時にそのWAVをmp3に変換して同じフォルダに収めるという作業をスクリプトで処理してました。
MacのFinderで .wav ファイルを選択して右クリック →「クイックアクション」→「MP3に変換」で、同じフォルダに320kbpsのMP3が⽣成されます。複数ファイルの⼀括変換にも対応します。サンプリングレートは元のWAVを保持します(48kHzのWAVは48kHzのMP3になります)。
まずはターミナルを開きます。Spotlight(⌘+スペース)で「ターミナル」と検索すれば出てきます。
Homebrew が未インストールの場合
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ターミナルにこれをコピペしてエンターしてください。途中でパスワードを聞かれたら、Macのログインパスワードを⼊⼒してください。インストール完了まで数分かかると思います。
次にffmpeg を⼊れます。
brew install ffmpeg
これができたらパスの場所を確認します。
which ffmpeg
これを実行して間違った場所にインストールされることはまずないと思いますが、一応下記を確認してください。
Apple Silicon Mac(M1/M2/M3/M4): /opt/homebrew/bin/ffmpeg
Intel Mac: /usr/local/bin/ffmpeg
次に右クリックで一連の変換を実行させるために、クイックアクションを作成します。
Automator を起動します。
※Automatorについて気になる方はこちらのApple公式ページをご覧ください

ワークフローが受け取る現在の項目: → ファイルまたはフォルダ
検索対象: → Finder.app
画像: → 好きなアイコン(音符やオーディオっぽいマークなどわかりやすいもの)


シェル: /bin/zsh
⼊⼒の引き渡し⽅法: 引数として

for f in "$@"
do
dir=$(dirname "$f")
base=$(basename "$f" .wav)
/opt/homebrew/bin/ffmpeg -i "$f" -codec:a libmp3lame -b:a 320k "$dir/$base.mp3"
done

注意: Intel Mac の場合は、スクリプト内の /opt/homebrew/bin/ffmpeg を /usr/local/bin/ffmpeg に書き換えてください(ステップ1の which ffmpeg の結果に合わせる)。
ここまでできたら⌘S で保存。名前は「MP3に変換」など分かりやすいものを。これで ~/Library/Services/ に⾃動的に保存されます。
1. Finder で .wav ファイルを選択(複数選択も可能)
2. 右クリック →「クイックアクション」または「サービス」→「MP3に変換」
3. 同じフォルダに .mp3 が⽣成されます
これでWAVをDAWやアップルのMusic.appに入れてmp3に変換しなくても良いので時短になります。特にMusicに入れちゃうとストレージに保存されちゃうので、まあず~っと使うWAVやmp3ならそれでもいいかも知れないけど、資料で扱うような一時的なファイルであれば、このクイックアクションを使ってmp3にしちゃった方がいいかなと思います。そうじゃなくてもいつのまにかストレージって減っていきますからね、、、