[Mac] コマンドラインで音声ファイルを2倍速変換
Mac で音声ファイルを2倍速変換してみた。
(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
この記事が気に入ったらサポートをしてみませんか?