■必要な環境
ffmpegがインストールされていることを確認。subprocessで呼び出しています。
pydubとその依存関係(ffmpeg)が必要。
まだインストールしていない場合は、以下でインストールできます。
まだインストールしていない場合は、以下でインストールできます。
[ffmpegのインストール]
・MacOSやLinuxではbrew install ffmpegまたはsudo apt install ffmpegでインストールできます。
・Windowsの場合では、ffmpeg公式サイトからインストールしてください。
[pydubのインストール]
・pip install pydub
これで、ffmpegを使って.aacファイルを.wavに変換し、その後pydubで.mp3に変換する一貫したプロセスが実行できます。
----
import subprocess
from pydub import AudioSegment
import os
# 入力と出力のファイルパスを設定
input_file = "sample.aac" # 変換したいAACファイルのパス
wav_file = "sample.wav" # 一時的なWAVファイルのパス
output_file = "sample.mp3" # 変換後のMP3ファイルのパス
# 1. ffmpegでAACからWAVに変換
subprocess.run(['ffmpeg', '-i', input_file, wav_file])
# 2. WAVファイルをMP3に変換
audio = AudioSegment.from_file(wav_file, format="wav")
audio.export(output_file, format="mp3")
print("変換が完了しました:", output_file)
# 一時的なWAVファイルを削除
os.remove(wav_file)
----
[学習のまとめ]
subprocess.run()を使うことで、Pythonから外部のコマンドラインツール(例えば、ffmpegやlsコマンドなど)を実行することができます。これにより、Pythonコード内でシステムのコマンドを直接呼び出すことができます。
----
[学習のまとめ]
subprocess.run()を使うことで、Pythonから外部のコマンドラインツール(例えば、ffmpegやlsコマンドなど)を実行することができます。これにより、Pythonコード内でシステムのコマンドを直接呼び出すことができます。
[ffmpegの活用例]
1)ffmpeg -i input.aac output.wav
2)ffmpeg -i input.aac output.mp3
3)ffmpeg -i input.aac -map 0 output.wav -map 0 output.mp3
1),2)を1行で行う。
4)ffmpeg -i input.aac -map 0 output.wav -map 0 output.mp3 && rm output.wav
3)ffmpeg -i input.aac -map 0 output.wav -map 0 output.mp3
1),2)を1行で行う。
4)ffmpeg -i input.aac -map 0 output.wav -map 0 output.mp3 && rm output.wav
1),2)を1行で行い、output.wavを削除する。