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


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

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

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

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