Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2012, 16:25   #1
Pasha_Sh
Форумчанин
 
Аватар для Pasha_Sh
 
Регистрация: 16.05.2010
Сообщений: 137
По умолчанию Считать частоту с микрофона

Такой вопрос, как при помощи библиотеки bass.dll получить частоту звука, получаемого с микрофона.
Спасибо
osu
Pasha_Sh вне форума Ответить с цитированием
Старый 04.10.2012, 16:51   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

В общем случае, вы не получите чистую гармонику, будет набор спектральных составляющих вместе с шумом. Если на вход подается чистый синус вы получите минимум три гармоники, одна основная. В случае речи будет целый набор, формант.

Цитата:
как при помощи библиотеки bass.dll
в комплекте с BASS с официального сайта идет и демка спектроанализатора, готового с исходниками.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 05.10.2012, 14:24   #3
Pasha_Sh
Форумчанин
 
Аватар для Pasha_Sh
 
Регистрация: 16.05.2010
Сообщений: 137
По умолчанию

Мне нужно сделать что-то вроде тюнера для гитары.
Цитата:
в комплекте с BASS с официального сайта идет и демка спектроанализатора, готового с исходниками.
Видел. Частоту звука получить не смог
osu
Pasha_Sh вне форума Ответить с цитированием
Старый 05.10.2012, 17:21   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Видел. Частоту звука получить не смог
мне это ни о чем не говорит. Как пробовали, что значит видел...

На основе моего БПФ-модуля

Вот как выглядит спектр чистого синуса:


Вот спектр реального двухтонового сигнала:


Cпектр хлопка в ладоши http://www.youtube.com/watch?v=ewUUcXYjDFA

==========================

Без BASS (с тырнета)

Держите на БПФ (во вложении):


======================

ТЕМЫ В ПОМОЩЬ (в них уже был один создающий гитарный тюнер)

- Частота WAV http://programmersforum.ru/showthread.php?p=759781
- Спектроанализатор на BASS http://programmersforum.ru/showpost....06&postcount=4
- Работа со звуком помогите разобраться http://programmersforum.ru/showthread.php?p=370845
- Разложение сигнала на гармоники http://programmersforum.ru/showthread.php?t=161271
- Спектр сигнала в Delphi http://programmersforum.ru/showthread.php?p=451491
- Расчет амплитудной диаграммы для всего спектра частот http://programmersforum.ru/showthread.php?p=937366
- Построение кривой звука и приём с микрофона http://programmersforum.ru/showthread.php?t=70159
Вложения
Тип файла: zip прямое и обратное FFT.zip (216.4 Кб, 86 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 05.10.2012, 19:15   #5
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Pasha_Sh Посмотреть сообщение
Мне нужно сделать что-то вроде тюнера для гитары.
Проблема в том, чтобы суметь сделать хоть что-то связанное со звуком, нужно достаточно хорошо знать физику и математику явления.
Цитата:
Видел. Частоту звука получить не смог
А потому что ее нет.
Ну в принципе нет в звуке того, что Вы хотите получить.
Это примерно то же самое, что получить длину световой волны для картинки.
s-andriano вне форума Ответить с цитированием
Старый 06.10.2012, 23:41   #6
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Цитата:
Сообщение от Pasha_Sh Посмотреть сообщение
Такой вопрос, как при помощи библиотеки bass.dll получить частоту звука, получаемого с микрофона.
Спасибо
Под частотой звука вы, наверное, предполагаете спектр?
Тогда для этого вам необходимо преобразование Фурье (ДПФ или БПФ).
Вот почитать:
  • Койнов Стас Быстрое преобразование Фурье (реализация на языке Free Pascal)
  • Тим Кинтцель - Руководство программиста по работе со звуком


Может и есть готовые методы для преобразования данных в bass.dll, сам работаю с DirectX и пишу сам.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 10.10.2012, 17:34   #7
alex4321
Пользователь
 
Регистрация: 23.07.2012
Сообщений: 77
По умолчанию

смотри исходники анализатора. Если я всё верно понял, то тебе нужна частота исходного сигнала - его амплитуда должна быть выше таковой у гармоник
alex4321 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить частоту звука с микрофона Pasha_Sh Общие вопросы Delphi 4 03.09.2012 08:59
Получить частоту внешнего генератора ShadowNecros Помощь студентам 0 01.06.2012 20:54
Увеличил частоту процессора и.... sS888Ss Компьютерное железо 25 02.08.2009 20:26
Найти частоту встречаемости символов jython Общие вопросы C/C++ 1 09.04.2009 23:31
Как изменять частоту железа?? UnD)eaD)Snake Общие вопросы Delphi 6 30.07.2007 15:06