여러개의 오디오 파일을 하나의 파일로 합치고 싶을 때가 있다.
그 경우에는 pydub 패키지를 이용해서 이를 합칠 수 있다.
일단 pip를 이용해 pydub을 설치하자
pip install pydub
예를 들면 a.mp3 파일과 b.mp3 파일을 combined.mp3 파일로 합치고 싶을때 아래와 같은 코드를 사용한다.
from pydub import AudioSegment
def combine_mp3_files(input_files, output_file):
combined_audio = None
for file in input_files:
audio = AudioSegment.from_mp3(file)
if combined_audio is None:
combined_audio = audio
else:
combined_audio += audio
combined_audio.export(output_file, format="mp3")
input_files = ["a.mp3", "b.mp3"]
output_file = "combined.mp3"
combine_mp3_files(input_files, output_file)
하지만 가끔 파일을 찾을 수 없다며 WinError2 를 반환할 때가 있는데, 이럴 때를 위해 이 포스트를 작성하였다.
다음 과정을 체크하자.
1. 파일 경로가 정확한지
2. ffmpeg 가 PC에 존재하고 환경변수에 이를 등록하였는지
1의 경우, 당연히 파일의 경로가 정확하지 않으면 아래와 같은 에러가 발생할 것이다.
하지만 경로가 정확한데도 불구하고 실행이 되지 않는다면 ffmpeg가 존재하는지 확인해보자.
pydub은 ffmpeg 혹은 avconv 라는 미디어 변환 오픈소스를 기초해 만들어져 있어 사용자의 pc에 둘 중 하나가 없을 시,
ffmpeg 혹은 avconv 프로그램의 파일을 찾을 수 없어 WinError2를 반환할 때가 있다.
FFmpeg
Converting video and audio has never been so easy. $ ffmpeg -i input.mp4 output.avi News February 28th, 2023, FFmpeg 6.0 "Von Neumann" A new major release, FFmpeg 6.0 "Von Neumann", is now available for download. This release has many new encoders an
ffmpeg.org
위 사이트에서 ffmpeg를 다운받고 bin까지 의 경로를 환경변수의 PATH에 추가 후 재부팅을 하면 해결될 것이다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 파이썬 아두이노 연동법 ( feat. Serial 통신, Firmata ) (1) | 2022.06.24 |
---|---|
[Python] 주식 자동거래 시스템 만들기 - 1 (퀀트 투자, Python 셋업) (1) | 2022.06.23 |
[Python] 주식 자동거래 시스템 만들기 - Prologue (0) | 2022.06.23 |