Приложение тюнера: как найти частоту? - PullRequest
0 голосов
/ 17 февраля 2011

Привет,

В настоящее время я занимаюсь разработкой приложения для настройки с использованием Silverlight / c # для проекта класса. Проблемы, которые у меня возникают, кажется, задаются довольно многими людьми, но на самом деле не решаются. Я читал много форумов и часами гуглил, но до сих пор не могу понять код и математику. То, что я имею до сих пор, таково:

Mic => аудиовход => аудиосэмплы записываются в поток памяти => байты преобразуются в двойные значения, а затем в комплексные числа => FFT (), который возвращает массив комплексных чисел ...

Я читал о БПФ, ДПФ, автокорреляции и т. Д. Мне кажется, что FFT - это путь, которым я хочу идти на скорости. По сути, я превращаю хроматический тюнер, используемый в оркестре / оркестре / и т.д., в онлайн-приложение, поэтому все должно быть сделано в режиме реального времени. Сейчас я просто пытаюсь понять весь процесс.

Вопросы:

  1. Как правильно преобразовать записанные байты в поток памяти в комплексные числа? На это частично здесь ответят Преобразовать аудиосэмплы из байтов в комплексные числа? , но я не знаю, какой правильный метод для каждого из них приводит к различным значениям.

  2. Я понимаю основы БПФ, но не совсем уверен, что цифры представляют на разных этапах. Например, что именно представляет массив комплексных чисел при входе в алгоритм fft, и что они представляют при выходе?

  3. Какая другая обработка требуется для определения частоты воспроизводимой ноты после расчета БПФ?

Я ценю всю помощь, этот проект оказался более сложным, чем то, что я первоначально исследовал! : /

Ура и спасибо!

Josh

1 Ответ

2 голосов
/ 17 февраля 2011

1) Ничего не получилось

2) БПФ возвращает массив значений. Каждый элемент массива содержит уровень сигнала в этой полосе частот.

3) Сначала найдите член массива с самым сильным значением. Чтобы набрать точную частоту, вам, вероятно, придется выполнить некоторую интерполяцию между элементами массива вокруг самого сильного сегмента.

РЕДАКТИРОВАТЬ: Найдено эта статья . Похоже, это сломает его для вас.

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