Одно значение выборки в 16 битах 11025 моно-данных WAVE - PullRequest
2 голосов
/ 17 марта 2019

Я делаю запись поступающих необработанных волновых данных с микрофона. FORMAT поддерживается WebCamera и составляет 16 бит на семпл, 11025 семплов в секунду, моно.

Уровень микрофона очень низкий ... просто для того, чтобы убедиться, что нулевые значения поступают. Также в комнате тихо. но .. данные .. Это слишком далеко, чтобы быть на очень низком уровне. Просьба посмотреть выстрел. [! [Выстрел] [1]] [1] То же самое с 8 битами работает нормально. Байт из 8 битов равен середине (значение Byte.Max = 255) - 127-128, когда тихо, и это уровень шума. Затем верхний и нижний - уровни входящего дискретизированного сигнала с амплитудой> 0. Сейчас 16 .. нет никакой логики значений, или, может быть, есть какая-то логика, но я ее не вижу?

Должен быть точно таким же, только размер буфера в два раза больше, чем для 8-битного сигнала, и это точно 22050 байт. Пожалуйста, помогите мне понять значение.

1 Ответ

2 голосов
/ 17 марта 2019

Похоже, ваши данные на самом деле имеют подписанные короткие значения, которые вы неправильно интерпретируете как неподписанные короткие. Если мы заново интерпретируем значения, превышающие среднюю точку 32128 в вашем образце, в короткую со знаком (используя формулу number-65536), вместо этого вы получите:

[6] -19
[7] -175
[8] -184
[9] -134

Эти значения примерно на 50 децибел тише максимальной амплитуды. Для сравнения, младший значащий бит в 8-битном аудио соответствует на 42 децибела тише, чем максимальный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...