@pilipolya
Node.js Dev

Как получить частоту?

Использую Web Audio API.
Подключаю микрофон к анализатору.
context = new AudioContext();
microphone = context.createMediaStreamSource(stream);
analyser = context.createAnalyser();
analyser.fftSize = 2048;
microphone.connect(analyser);


Потом получаю массивы
fFrequencyData = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(fFrequencyData);


Мне надо получить частоту звука, который поступает в микрофон.
Я не пойму, как это реализовать?
  • Вопрос задан
  • 4067 просмотров
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Начнем с того что звук в микрофон поступает не одной частоты. Это целый спект частот. Метод getByteFrequencyData этот спектр и возвращает, точнее... он делит спектр на части, каждый элемент которого определяет, проще говоря, среднюю громкость звука на этих частотах.

Вы скажите что вам нужно сделать? Спектрограмму вывести?
Ответ написан
Если тон достаточно "чистый", то просто найдите у какой частоты наибольшее значение амплитуды.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы