[Mac] コマンドラインで音声ファイルを2倍速変換

Mac で音声ファイルを2倍速変換してみた。

環境:macOS Ventura 13.3.1(a)(英語環境)

(1)Homebrew で ffmpeg をインストール。

$ brew install ffmpeg
$ ffmpeg -version
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
[...]

(2)以下のコマンドで2倍速にできる。m4a ファイルを mp3 に変換した。

$ ffmpeg -i {input}.m4a -af atempo=2 {output}.mp3

あるいは以下のコマンド。

$ ffmpeg -i {input}.m4a -filter:a "atempo=2" -vn {output}.mp3

(3)さらにディレクトリ内のすべての m4a ファイルに対して mp3 に変換したい。そしてファイル名の末尾に _x2 と付けたい。

まず Homebrew で rename をインストール。

$ brew install rename

その上で以下のコマンドを実行する。

$ find . -maxdepth 1 -name '*.m4a' -exec ffmpeg -i {} -af atempo=2 {}_x2.mp3 \; && rename -s .m4a_x2.mp3 _x2.mp3 *

単純に ffmpeg で変換するとファイル名が {ファイル名}.m4a_x2.mp3 となってしまうので、続けて rename コマンドを使うことで .m4a の部分を取り除いている。-maxdepth 1 でカレントディレクトリのみ探している。

ついでに wav ファイルでも同じことをしてみよう。

$ find . -maxdepth 1 -name '*.wav' -exec ffmpeg -i {} -af atempo=2 {}_x2.mp3 \; && rename -s .wav_x2.mp3 _x2.mp3 *

参考:
HomebrewでMacにFFmpegをインストールする方法と使い方|新卒エンジニアの開発日記
https://fukatsu.tech/install-ffmpeg

FFMPEGで音声ファイルの再生速度を変更する方法 -英語のリスニング音声を1.5倍速、2倍速に簡単に変換- | 技術的特異点
https://tecsingularity.com/ffmpeg/speedchangeaudio/

find - 指定した基準に合致するファイルを検出する - IBM Documentation
https://www.ibm.com/docs/ja/zos/2.3.0?topic=descriptions-find-find-file-that-meets-specified-criteria

Mac で rename コマンドを使ってファイル名の先頭、末尾を一括変換する - Qiita
https://qiita.com/ucan-lab/items/9fbe67aab20086b381f1

rename コマンドでよく使うオプションのメモ。 - 全力で怠けたい
https://ebc-2in2crc.hatenablog.jp/entry/2020/04/11/185137

findコマンドで検索する階層を指定(maxdepth) | ubuntu | マイノリティでいこう
https://blog.be-dama.com/2015/01/20/find%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E6%A4%9C%E7%B4%A2%E3%81%99%E3%82%8B%E9%9A%8E%E5%B1%A4%E3%82%92%E6%8C%87%E5%AE%9Amaxdepth/

シェルコマンド1行で複数コマンドや条件に応じた実行をする - Qiita
https://qiita.com/wwwaltz/items/9ee247ee8fe3ab63fd27


この記事が気に入ったらサポートをしてみませんか?