Wav 파일 헤더정보 보기
반응형
def wav_print(file_path):
    # 파일 읽어오기
    file = open(file_path, "rb")
    
    # 44바이트의 헤더정보 가져오기
    data = file.read(44)

    # 44바이틔 헤더 정보를 Dictionary 형태로 저장하기
    file_header = {"name": file_path,
                   "ChunkID": data[0:4],
                   "ChunkSize": int.from_bytes(data[4:8], byteorder='little'),
                   "Format": data[8:12],
                   "Subchunk1ID": data[12:16],
                   "Subchunk1Size": data[16:20],
                   "AudioFormat": int.from_bytes(data[20:22], byteorder='little'),
                   "Numchannel": int.from_bytes(data[22:24], byteorder='little'),
                   "SampleRate": int.from_bytes(data[24:28], byteorder='little'),
                   "ByteRate": int.from_bytes(data[28:32], byteorder='little'),
                   "Blockalign": int.from_bytes(data[32:34], byteorder='little'),
                   "BitsPerSample": int.from_bytes(data[34:36], byteorder='little'),
                   "Subchunk2ID": data[36:40],
                   "Subchunk2Size": int.from_bytes(data[40:44], byteorder='little')
                   }

    # for문 돌면서 Dictionary 표출하기
    for i in file_header.keys():
        print(f"{i} : {file_header[i]}")

 

Wave파일은 항상 정해져있는 44바이트의 Header정보가 있다.

 

헤더정보 보는 Python 코드이다.

 

뭐 이거가지고 C#이든 자바든 컨버팅은 쉬울듯..정해져있는 위치의 바이트 읽어서 표출하는거니까..

(엔디안 정보 확인필수!)

반응형