Programming/Python

[Python] wav 파일 읽는 방법

notesfromyoungdeveloper 2024. 12. 27. 12:51
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