728x90
음악관련 개인 프로젝트 진행 중
MP3 파일의 키를 변환시키는 작업을 하고있었다.
노래의 키를 변환 후 재생을 하니
가사라던지 기타 노래에 대한 정보가 홀랑 없어지더라
찾아보니 'ID3 태그를 유지시키는 작업을 해줘야한다'라고 하더라
이것에 대해 기술해보려 한다
이 작업에서 나는
- librosa- soundfile (sf)- mutagen.mp3- mutagen.id3- pydub
라이브러리를 사용했다
먼저 필요한 모듈 import 하기
import os
import librosa
import soundfile as sf
from mutagen.id3 import ID3, TIT2
from mutagen.mp3 import MP3
from pydub import AudioSegment
그 다음, ffmpeg 경로를 추가해야한다
os.environ["PATH"] += os.pathsep + r'ffmpeg의 bin폴더 경로'
❓
ffmpeg란, 무료로 제공되는 Open Source 소프트웨어로,
다양한 포맷의 동영상 및 오디오 변환, 스트리밍 등에 사용됨.
여기서는 .wav 파일을 .mp3 파일로 변환하는 과정에 사용함
오디오 파일 로드 및 ID3 태그 정보 로드
y, sr = librosa.load('./file.mp3')
audio = MP3('./file.mp3')
audio_info = audio.tags
추가 작업 진행 후
wav 파일로 남아있어서 mp3로 변환시키는 작업
audio = AudioSegment.from_wav('./file.wav')
audio.export('./file.mp3', format='mp3')
남아있는 wav파일 삭제해주기
os.remove('./file.wav')
ID3 태그 정보를 새로운 파일에 적용하기
audio = MP3('./file.mp3', ID3=ID3)
audio.tags = audio_info
audio.save()
이렇게 하면 ID3 태그 정보가 유지된다
728x90
'Application > VS-Code' 카테고리의 다른 글
초보자를 위한 VSCode 한국어 설정 - 한글 설정 (0) | 2024.01.22 |
---|---|
초보자를 위한 VSCode 설치 가이드 - 단계별 설명서 (0) | 2024.01.21 |
TypeError: load() got an unexpected keyword argument 'source' 에러 관련 (0) | 2023.12.07 |
VS-Code Button 태그 무반응 or 새로고침 될 때 해결법 (0) | 2023.07.13 |
VS-Code 웹페이지 하얀색 화면 뜨는 경우 (0) | 2023.07.10 |