非圧縮で音質が良い特徴を持つ、音声フォーマットのwavファイルですが、その分データサイズも大きく、容量を圧迫してしまうのが難点です。
レコーディングやミックス等で扱われる音源はwav形式である必要がありますが、デモの確認等の用途であれば軽いmp3形式にしたいところです。
mp3変換ができるWEBアプリもたくさんありますが、都度アップロードするのは結構手間だったりしますよね。
今回はMacのショートカットアプリを使って、Finder上から複数のwavファイルを一括でmp3に変換するショートカットの作成方法をご紹介します。
この記事がおすすめな人
- Google Driveなどのクラウドストレージで音源管理している人
- wavからmp3に変換する作業を自動化したい人
ショートカット完成までの流れ
- Homebrewを使用して、soxコマンドのインストール(ターミナル使用)
- ショートカットアプリでFinderから選択ファイルを取得し、soxを実行するシェルスクリプトを設定
- 作成したショートカットをFinderのクイックアクションから実行できるように設定
使用するパッケージ管理ツール
今回使用するソフトのインストールにHomebrewというパッケージ管理ツールを使用します。まだインストールされていない方は適宜インストールを済ませてから次に進んでください。
インストールの方法については以下で解説しています。
soxのインストール
sox(Sound eXchange)は音声ファイルを処理するための強力なコマンドラインツールです。音声ファイルの形式の変換、トリミング加工、エフェクト処理など様々な音声操作を簡単に行うことができます。
STEP
soxのインストール
Homebrewを使用してsoxをMacにインストールします。
まずターミナルアプリを開き、下記のコマンドを実行します。
brew install sox
STEP
正常にインストールされているか確認
インストールが完了したら試しに下記のコマンドを実行してみましょう。オプションなどの説明のテキストが大量にずらっと表示されたら正常にインストールされています。
sox -h
ショートカットアプリの設定
次にショートカットアプリを開いて、新規ショートカットを作成していきます。ショートカット名には「MP3変換」などわかりやすい名前を任意でつけてください。
そしてショートカットにアクションを追加していきます。
完成イメージ

STEP
新規ショートカットの作成
ショートカットアプリを開いて、上部メニューの右側の+ボタンをクリックして新規ショートカットを作成します。
ショートカット名には適宜わかりやすい名前をつけましょう。
STEP
「Finderで選択されたファイルを取得する」を追加
アクション検索欄に「Finder」と入力して、表示された検索結果から「Finderで選択されたファイルを取得」を選択してワークフローへ追加

STEP
シェルスクリプトを追加
- アクションの検索窓に「シェル」と入力し、「シェルスクリプトを実行」をワークフローに追加
- 追加したスクリプトの入力欄に以下のコードを貼り付ける
source ~/.zprofile #必要に応じて調整
for selectFile in "$@"
do
sox ${selectFile} ${selectFile:r}.mp3
done
その他の設定項目
シェル:使用しているシェル(最近のMac OSではデフォルトで「zsh」)
入力:「ファイル」(マジック変数にて設定)
入力を渡す方法:「引数として」

STEP
変換完了後の通知を設定
- アクション検索欄に「通知」と入力して、表示された検索結果から「通知を表示」を選択して追加
- ワークフロー完了後に表示する任意の通知メッセージを入力

STEP
クイックアクションに追加
- サイドメニューのパラーメーターアイコンをクリック
- 「詳細」タブの「クイックアクションとして使用」にチェック
- 「Finder」にチェック

以上の設定で、Finder上の右クリックから実行できるショートカットの作成が完了しました。
TIPS
- 「キーボードショートカットを追加」を設定することでキーボードコマンドから実行することも可能です。
シェルスクリプトの詳細
source ~/.zprofile #必要に応じて調整
for selectFile in "$@"
do
sox ${selectFile} ${selectFile:r}.mp3
done
まずはsource ~/.zprofileでHomebrewのパスを通す設定をしているファイルを読み込み、Homebrewでインストールしたコマンドを使えるようにしています。こちらのコードは環境によって変わる可能性があるので、~/.zprofile部分を適宜調整してください。
(Catalina以降のMacOSでは普通にHomebrewをインストールしていれば.zprofileにパスを通す設定が書き込まれるので、上記で問題ないでしょう。)
次にfor文でループ処理を作り、引数で受け取ったファイル全て"$@"を一つづつmp3へ変換し、同じディレクトリに保存しています。
${selectFile}が選択したファイルで、${selectFile:r}が選択したファイルの拡張子を除いたものになります。
実際に使ってみる
Finderからファイルを選択して右クリックをすると、メニューのクイックアクションに今回作成したショートカットが追加されています。
複数のwavファイルを選択して、実行してみましょう。

設定した完了メッセージが通知センターから通知されたら変換完了です。
以下のように同じ名前でmp3ファイルが追加されていると思います。

ものにもよりますが、wavからmp3に変換することで、データサイズは約1/10程度まで削減することができます。また、こちらのショートカットですが、元フォーマットはwav以外でも、soxで対応している音声フォーマットであれば変換が可能です。
代表的なものだと、mp3、wav、flac、aiffなどに対応していて、aacには未対応のようです。
詳しくはsox -hコマンドを実行し、AUDIO FILE FORMATSの部分を参照してみてください。
まとめ
DropboxやGoogleDriveなどのクラウドストレージを使用してwavデータを共有していると、ストレージを圧迫してしまいます。デモ確認などのためのデータはmp3に変換して管理すると余裕できますので、是非とも試してみてください。
