m4a 파일의 프레임 바이트 스트림은 어떤 데이터 유형으로 변환되어야 합니까?

m4a 파일의 프레임 바이트 스트림은 어떤 데이터 유형으로 변환되어야 합니까?

저는 오디오 처리 연구와 python3의 pydub 모듈을 사용하여 "m4a" 형식의 오디오 파일을 조작하는 초보자입니다. 처음에 pydub를 사용하여 원본 m4a 파일을 읽는 것은 괜찮지만 몇 단계(예: VAD 및 데이터 증대 작업) 작업 후에는 생성된 m4a 파일의 프레임을 numpy.ndarray로 읽을 수 없습니다. 아래와 같은 오류가 발생합니다.

np.array(frames["music_no_silence"].get_array_of_samples())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/user/miniconda/envs/py36/lib/python3.6/site-packages/pydub/audio_segment.py", line 272, in get_array_of_samples
     array_type_override = self.array_type
  File "/home/user/miniconda/envs/py36/lib/python3.6/site-packages/pydub/audio_segment.py", line 277, in array_type
     return get_array_type(self.sample_width * 8)
  File "/home/user/miniconda/envs/py36/lib/python3.6/site-packages/pydub/utils.py", line 43, in get_array_type
     t = ARRAY_TYPES[bit_depth]
  KeyError: 64

무광택 원본 입력이나 최종 출력이 아닌 모든 m4a 파일을 오디오 응용 프로그램에서 성공적으로 열고 스피커에서 합리적인 사운드를 생성할 수 있다는 것은 이상한 일입니다. 문제를 더 자세히 조사한 결과 최종 출력의 프레임은 크기가 8바이트인 반면 원래 입력의 프레임은 크기가 2바이트인 것을 확인했습니다.

원본 입력 파일과 최종 출력 파일을 모두 대담하게 열면 둘 다 "모노 16000Hz 32비트 부동"으로 표시됩니다. 2bytes 크기의 프레임은 32bit-float로 해석할 수 없기 때문에 32bit-float는 Audacity의 정규화 작업의 결과라고 생각합니다.

내 질문은 2, 4, 8 바이트 크기의 프레임에 대한 것입니다. 어떤 데이터 유형(numpy)으로 변환해야 합니까?

그리고 대담하게 정규화 작업을 수행하는 것을 아는 전문가가 있습니까?

정말 감사합니다!

관련 정보