728x90
반응형
Python에서 scipy 라이브러리를 이용해서, wav 파일을 읽는 방법에 대해 알아보겠습니다.
from scipy.io import wavfile
file_name = "sine.wav"
samplerate, data = wavfile.read(file_name)
scipy.io 패키지에서 wavfile 모듈을 import 하고, wavfile의 read 함수를 이용하는 방법입니다.
7초 길이의 16000Hz, 2ch wav 파일이었는데, 잘 읽은 것이 맞는지 확인해 보겠습니다.
print(f"sample rate = {samplerate}Hz")
print(f"data.shape = {data.shape}")
print(f"length = {data.shape[0] / samplerate}s")
print(f"number of channels = {data.shape[1]}ch")
(1) sample rate
read 함수의 return 값으로 sample rate를 확인할 수 있습니다.
(2) 길이
읽은 데이터의 길이로 wav 파일의 길이를 확인할 수 있습니다.
data의 길이가 112000 샘플이므로, sample rate로 나누면 몇 초 길이의 wav 파일인지 확인 가능합니다.
(3) 채널 수
읽은 데이터의 shape을 확인해서, wav 파일의 채널 수를 확인할 수 있습니다.
mono wav 파일에서 채널 수를 확인할 때는 index 에러가 나오니 참고 부탁드립니다.
728x90
반응형
'Programming > Python' 카테고리의 다른 글
[Python] pcm 파일 읽는 방법 (20) | 2024.12.31 |
---|---|
[Python] SciPy 설치 방법 (2) | 2024.12.30 |
[Python] NumPy 설치 방법 (2) | 2024.12.26 |
[Python] 문자열 바꾸기 replace (40) | 2024.12.25 |
[Python] 문자열 나누기 split (46) | 2024.12.24 |