|
Модераторы: Rickert, Alexeis, BorisVorontsov |
|
SashaVinnica |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2005 Репутация: нет Всего: нет |
Хочу сделать светомузыку управляемую с компьютера через LPT порт, но для этого нужно розложить звук на частоты (высокие, средние и низкие), да ещо желательно и в RealTime, а вот как это сделать я не знаю.
Если вдруг ктото знает как это сделать, или знает ссылки по которым можно найти такую информацию, подскажите пожалуста или напишите мне на мыло. Зарание всем благодарен |
|||
|
||||
maxim1000 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
сделать три фильтра:
1. пропускает только высокие частоты 2. пропускает только средние 3. пропускает только низкие после фильтрации сигнала одним из фильтров взять его энергию, она и будет являться чем-то вроде модуля спектра (точнее, квадрата) для соответствующей полосы частот... -------------------- qqq |
|||
|
||||
SashaVinnica |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2005 Репутация: нет Всего: нет |
Это я понял, но я не знаю как сделать это програмно
Это сообщение отредактировал(а) SashaVinnica - 21.3.2005, 18:39 |
|||
|
||||
maxim1000 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
задача делится на две:
1. разработать коэффициенты фильтра 2. отфильтровать сигнал в какой части проблема? -------------------- qqq |
|||
|
||||
AlexeyZ |
|
|||
Unregistered |
О!Значит я не одинок в этом мире с такой же проблемой!Привет всем!
Maxim1000, подскажите, пожалуйста, как получить частоту звука в числовом виде? Т.е. напишите(если вас не затруднит ) на С++ или на Pascal (под Windows NT/XP) подробный код . Я даже не знаю, под что программировать: под DirectSound или под WinApi(или под что-то другое). И еще, подскажите, please, как на С++ (под WinXP)отправить число на port 378(LPT). Сколько ни мучился - ничего не получается(под MS-DOS все нормально!). Хочу заметить,что я спаял плату, к которой подключены 4 цветовые группы лампочек, и все это работает! Но увы ,только под MS-DOS(прога написана на Turbo Pascal 7.0 for MS-DOS, а звук воспроизводится на PC-Speaker ). Заранее всем благодарен. |
|||
|
||||
maxim1000 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
понял немного обновлю список
1. найти коэффициенты подходящего фильтра 2. получить сигнал 3. отфильтровать 4. вывести сигнал 5. помигать лампочками (1), (3) - надо искать описание цифровой фильтрации, можно попробовать поискать среди ссылок здесь (2),(4) - есть два варианта: 1. выводить файл средствами Windows и перехватывать его для анализа своей программой (можно до зв.карты программно, можно после - просто завести его на выход) 2. пропускать файл "через себя" (читать, анализировать и выводить), тогда надо разбираться в формате используемых файлов и посмотреть на форуме примеры вывода звука на зв.карту (где-то должны быть, сам я особо этим не занимался) (5) - по работе с портами тоже есть куча тем (вот недавно проскакивала тема про работу с параллельным портом, скорее всего, где-то в системном программировании) -------------------- qqq |
|||
|
||||
SashaVinnica |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2005 Репутация: нет Всего: нет |
Попытаюсь подробней описать проблему:
1. Нужно написать програму которая проигрывает музикальный файл, розделить звуковой поток на три диапазона частот и найти коэфициэнт каждого. Полученый результат отправить на какой небудь порт (я собираюсь делать на LPT) 2. Спаять схему которая принимает сигнал с порта и управляет тремя лампочками Так вот у меня проблема в том что выделено красным цветом. Способ решения вопроса значения не имеет, Главное результат! |
|||
|
||||
Guest |
|
|||
Unregistered |
Найди в инете AntFFTd.dll, описание к ней, там все не сложно. В примере использования есть разложение в спектр и и нахождение частоты с максимальной амплитудой. Делишь весь спектр на 3 или больше или меньше группы, находишь амплитуду наибольшей спектральной составляющей в группе - это твоя интенсивность свечения лампочки. Если
хочешь писать в LPT : выдумываешь алгоритм преобразования амплитуды спектральной составляющей в напряжение для твоей лампочки, например: амплитуда-> код ->LPT1->преобразователь код-амплитуда-> лампочка. Пишешь код в Buf и : HANDLE hFile=CreateFile("LPT1", ........ ); WriteFile(hFile, Buf,...............); |
|||
|
||||
SashaVinnica |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2005 Репутация: нет Всего: нет |
Сдаюсь, 5 часов в нете просидел, но так эту библиотеку не нашол
Может ктото ссылочку подкинет , а то у меня уже крыша по чучуть уезжает |
|||
|
||||
chipset |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 4067 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 164 |
Найди описание формата *.wav на wotsit.org, и мигай в зависимости от текущей высоту волны.
--------------------
|
|||
|
||||
Guest |
|
|||
Unregistered |
"Текущая высота волны" не ставит зависимость амплитуды составляющих сигнала(гармоник) от частоты, т.е. не раскладывает сигнал в спектр.
Вот ссылка http://www.websound.ru/programming/libs/antfft/Readme.htm |
|||
|
||||
SashaVinnica |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2005 Репутация: нет Всего: нет |
Был там, на все нужные ссылки закрыт доступ, а с приведенного на сайте краткого описания практически ничего понять нельзя
|
|||
|
||||
Guest |
|
|||
Unregistered |
Действительно, уже закрыты. А я скачивал. Если хочешь, пришлю на мыло dll и пример использования
|
|||
|
||||
SashaVinnica |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2005 Репутация: нет Всего: нет |
||||
|
||||
BBC |
|
|||
Unregistered |
Приеду домой, сегодня вышлю.
|
|||
|
||||
Вы можете найти полезным что... | |
|
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |