Finder上で右クリックするだけ。大量のオーディオファイルをmp3へ一括変換する方法

MacのショートカットアプリとDockerを組み合わせて、オーディオファイルをFinder上から一括でmp3へ変換するMacショートカットを作りました。

Macでは標準アプリの「ミュージック」を使用することでさまざまなフォーマットのオーディオファイルをmp3に変換することができます。 しかし都度アプリを開いてファイルを登録する作業が必要なので積み重なるとなかなか面倒です。

そんな時はMacのショートカットアプリと、変換作業を代わりにやってくれる「Docker」を組み合わせることで、 Finder上で右クリックするだけのスマートな変換フローを作ることができます。

Docker Desktopを用意する

Dockerはアプリケーションを実行するための、必要な時だけサッと用意できる小さな作業部屋(コンテナ)を作ってくれるツールです。 MacでDockerを利用したい場合、Docker Desktopをインストールするのが手っ取り早いです。(個人利用は無料)

なのでまずはDocker Desktopをインストールしておきましょう。 インストールしたら、バックグラウンドで起動しておくだけでOKです。
(初回起動時にアカウントでのサインインを求める画面が表示されますが、スキップして構いません。)

Docker Desktopのダウンロードはこちら

Dockerを使ったmp3変換ショートカットの作り方

まず事前にインストールしたDocker Desktopを立ち上げておきます。

次にショートカットアプリを開き、右上の+ボタンから新規ショートカットを作成し、右サイドメニューの検索窓からアクションを検索して以下の通り追加していきます。

  1. 「Finderで選択されたファイルを取得」を追加

  2. 「通知を表示」を追加し、変換開始の表示メッセージを設定

  3. 「シェルスクリプトを実行」を追加し、以下を設定

    for f in "$@"
    do
      dir=$(dirname "$f")
      base=$(basename "$f")
      name="${base%.*}"
      docker run --rm -v "$dir":/data linuxserver/ffmpeg:9.0-cli-ls78 \
        -y -i "/data/$base" "/data/$name.mp3" 2>&1
    done
    • シェル:「zsh」
    • 入力:「ファイル」
    • 入力を渡す方法:「引数として」
  4. 「通知を表示」を追加し、完了後の表示メッセージを設定

  5. 右サイドメニューの詳細から以下をチェック

    • クイックアクションとして使用
    • Finder

完成イメージ

ショートカットの完成イメージ

使い方はFinderで右クリックするだけ

Finderで複数のwavファイルを選択して右クリック→クイックアクション→作成したショートカット名を選びます。 初回はイメージのダウンロードが必要なので少し時間がかかります。

Finderの右クリックからクイックアクションを実行

選んだファイルすべてがmp3に変換され、同じフォルダ内に出来上がりました。

クイックアクションでのmp3変換が完了

Docker + FFmpegによる変換

Dockerにはイメージという、動作環境を定義しておけるテンプレートみたいな機能があります。 この仕組みを使うことによって、一時的で再現可能な動作環境を利用することができるのです。 自身でDockerイメージを作成することもできますが、 今回はDocker Hubに公開されているFFmpegを内包した「linuxserver/ffmpeg」というイメージを利用しています。

FFmpegは動画や音声のさまざまな処理に使える無料のコマンドラインツールです。 今回はオーディオファイルのフォーマット変換に利用しましたが、他にも動画・音声の圧縮やリサイズ、トリミングなど動画・音声ファイルに係るさまざまな処理がおこなえる強力なオープンソースのソフトです。

完了件数を通知するパターンも作成してみた

「数える」アクションで選択したファイル数を取得し、「通知を表示」アクションに変数を追加するだけです。

もう少し凝った作りにするなら、「各項目を繰り返す」アクションを使ってファイルごとに「n/N件完了」のような通知を出すこともできます。ただワークフローがやや複雑になるため今回はシンプルさを優先して、処理前後に通知を出すだけの構成にしました。

まとめ

一度設定してしまえば、あとはFinderで右クリックするだけです。地味な作業ですが、積み重なると意外に時間を取られるものなので、自動化しておくと日々のちょっとしたストレスを減らすことができます。

同じような繰り返し作業があれば、ぜひショートカットアプリを活用してみてください。