Задать вопрос
@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);


Мне надо получить частоту звука, который поступает в микрофон.
Я не пойму, как это реализовать?
  • Вопрос задан
  • 4109 просмотров
Подписаться 8 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Начнем с того что звук в микрофон поступает не одной частоты. Это целый спект частот. Метод getByteFrequencyData этот спектр и возвращает, точнее... он делит спектр на части, каждый элемент которого определяет, проще говоря, среднюю громкость звука на этих частотах.

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

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

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