티스토리 뷰
#이 글 자꾸 'mp3 wav 파일 변환'이라고 검색 유입이 있어서 써놓는데 mp3 <-> wav파일 변환 가장 쉬운 방법은 이딴 복잡한 방법이 아니라 인터넷에 mp3 wav converter치면 수상한 사이트 잔뜩나오니까 그중에 덜수상한데 들어가서 그냥 파일올리고 변환버튼 누르시면 됩니다(광고차단애드온 켜놓고 들어가셈)
import pydub
sound = pydub.AudioSegment.from_wav("D:/example/apple.wav")
sound.export("D:/example/apple.mp3", format="mp3")
파이썬으로 mp3파일 wav로 변환하기
-pydub 패키지 필요
pip install pydub
-ffmpeg 설치 필요
윈도우
http://blog.gregzaal.com/how-to-install-ffmpeg-on-windows/
리눅스/우분투
apt-get install ffmpeg
레퍼런스
convert-mp3-to-wav
https://pythonbasics.org/convert-mp3-to-wav/
파이썬 wav파일 mp3로 바꾸기
위와 같이 pydub, ffmpeg 필요
from os import path
from pydub import AudioSegment
# files
src = "transcript.mp3"
dst = "test.wav"
# convert wav to mp3
sound = AudioSegment.from_mp3(src)
sound.export(dst, format="wav")
레퍼런스
Python convert wav to mp3
https://stackoverflow.com/questions/10287683/python-convert-wav-to-mp3
파이썬 Wav파일을 numpy float 배열로 읽기
from scipy.io.wavfile import read
inwav = read("input.wav")
wavarr = np.array(inwav[1],dtype=float)
레퍼런스
Python: write a wav file into numpy float array
https://stackoverflow.com/questions/16778878/python-write-a-wav-file-into-numpy-float-array
파이썬 Mp3파일을 numpy float 배열로 읽기
import pydub
import numpy as np
def read(f, normalized=False):
"""MP3 to numpy array"""
a = pydub.AudioSegment.from_mp3(f)
y = np.array(a.get_array_of_samples())
if a.channels == 2:
y = y.reshape((-1, 2))
if normalized:
return a.frame_rate, np.float32(y) / 2**15
else:
return a.frame_rate, y
x = read('test.mp3')
16-bit mp3파일용
레퍼런스
Python: write a mp3 file into numpy float array How to read a MP3 audio file into a numpy array / save a numpy array to MP3?
https://stackoverflow.com/questions/53633177/how-to-read-a-mp3-audio-file-into-a-numpy-array-save-a-numpy-array-to-mp3?noredirect=1&lq=1