Я пытаюсь написать программу для отображения данных PCM. Я был очень разочарован, пытаясь найти библиотеку с правильным уровнем абстракции, но я нашел библиотеку волн Python и уже использовал ее. Однако я не уверен, как интерпретировать данные.
Функция wave.getparams возвращает (2 канала, 2 байта, 44100 Гц, 96333 кадра, Без сжатия, Без сжатия). Все это кажется веселым, но затем я попытался напечатать один кадр: '\ xc0 \ xff \ xd0 \ xff', который составляет 4 байта. Я предполагаю, что возможно, что кадр имеет 2 сэмпла, но неоднозначности на этом не заканчиваются.
96333 кадра * 2 сэмпла / кадр * (1 / 44,1 к / с) = 4,3688 с
Однако iTunes сообщает, что время ближе к 2 секундам, а расчеты, основанные на размере файла и битрейте, находятся в пределах 2,7 секунды. Что здесь происходит?
Кроме того, как мне узнать, подписаны ли байты или нет?
Большое спасибо!