[Python] PCM 파일 길이 측정

Koowater·2023년 1월 1일

Python에서 PCM 파일의 길이를 측정하고 wav 파일로 저장하는 코드를 알아보겠습니다.

import soundfile as sf
import numpy as np
import os
from os.path import join

# --- pcm file duration ---
sample_pcm_path = join('sample_data', 'sample.pcm')
pcm_size = os.path.getsize(sample_pcm_path) # byte 단위로 파일 크기를 알 수 있다.

# 이 pcm 파일은 하나의 sample은 2byte, sample rate는 8000로 저장되어 있습니다.
sample_size = 2
sample_rate = 8000
duration = pcm_size / sample_rate / sample_size

# --- pcm to wav --- 
with open(sample_pcm_path, 'rb') as f:
    binary = f.read()
    waveform = np.frombuffer(binary, dtype=np.int16)
    sf.write(join('sample_data', 'sample_from_pcm.wav'), 
   	         waveform, sample_rate, 'PCM_16')
profile
Speech to Text를 공부하고 있습니다.

0개의 댓글