Как записать звук в более высоких частотах, чем 7700 Гц в мобильном Интернете? - PullRequest
0 голосов
/ 02 мая 2019

Я провожу некоторые тесты с некоторыми звуковыми записями в Google Chrome. Я сгенерировал сигнал белого шума в Matlab, который содержит все частоты в диапазоне 0-24 кГц. Чтобы проверить возможности записи в Chrome, я использовал getUserMedia и AudioContext с Web Audio API для записи звука, вот результат: Результаты записи

Кажется, в chrome om mobile выполняется фильтрация низких частот. Я пробовал это на iOS Safari и Chrome и других телефонах Android, и это дает результат. А использование приложений регулярного анализа частоты из Google Play или App Store, похоже, работает для всего спектра, поэтому проблема не может быть с самим телефоном.

Мне интересно, есть ли какое-то решение для этого и почему это происходит? Это как-то задумано?

1 Ответ

0 голосов
/ 02 мая 2019

Полагаю, вы используете автоматическую фильтрацию подавления шума. Значения по умолчанию часто оптимизируются для голоса, что, вероятно, будет выполнять фильтрацию нижних частот. Попробуйте пробиться сквозь ограничения:

var supportedConstraints = navigator.mediaDevices.getSupportedConstraints();

и посмотрите, даст ли кто-нибудь из них то, что вам нужно, например,

var constraints = 
{
  audio: {
      optional: [{ echoCancellation: false },
          { noiseSuppression: false }
      ]
  }
};
navigator.getUserMedia(constraints, gotStream, errorout );
...