Модераторы: Rickert, Alexeis, BorisVorontsov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите розложить звук 
:(
    Опции темы
SashaVinnica
  Дата 16.3.2005, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.3.2005

Репутация: нет
Всего: нет



Хочу сделать светомузыку управляемую с компьютера через LPT порт, но для этого нужно розложить звук на частоты (высокие, средние и низкие), да ещо желательно и в RealTime, а вот как это сделать я не знаю.

Если вдруг ктото знает как это сделать, или знает ссылки по которым можно найти такую информацию, подскажите пожалуста или напишите мне на мыло. Зарание всем благодарен smile
PM MAIL ICQ   Вверх
maxim1000
Дата 17.3.2005, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



сделать три фильтра:
1. пропускает только высокие частоты
2. пропускает только средние
3. пропускает только низкие
после фильтрации сигнала одним из фильтров взять его энергию, она и будет являться чем-то вроде модуля спектра (точнее, квадрата) для соответствующей полосы частот...


--------------------
qqq
PM WWW   Вверх
SashaVinnica
Дата 21.3.2005, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.3.2005

Репутация: нет
Всего: нет



Это я понял, но я не знаю как сделать это програмно smile

Это сообщение отредактировал(а) SashaVinnica - 21.3.2005, 18:39
PM MAIL ICQ   Вверх
maxim1000
Дата 21.3.2005, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



задача делится на две:
1. разработать коэффициенты фильтра
2. отфильтровать сигнал

в какой части проблема?


--------------------
qqq
PM WWW   Вверх
AlexeyZ
Дата 22.3.2005, 13:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











О!Значит я не одинок в этом мире с такой же проблемой!Привет всем!
Maxim1000, подскажите, пожалуйста, как получить частоту звука в числовом виде?
Т.е. напишите(если вас не затруднит smile ) на С++ или на Pascal (под Windows NT/XP) подробный
код smile. Я даже не знаю, под что программировать: под DirectSound или под WinApi(или под что-то другое).
И еще, подскажите, please, как на С++ (под WinXP)отправить число на port 378(LPT).
Сколько ни мучился - ничего не получается(под MS-DOS все нормально!).
Хочу заметить,что я спаял плату, к которой подключены 4 цветовые группы лампочек, и все это работает! Но увы smile ,только под MS-DOS(прога написана на Turbo Pascal 7.0 for MS-DOS, а звук воспроизводится на PC-Speaker smile ). Заранее всем благодарен.

  Вверх
maxim1000
Дата 22.3.2005, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



понял немного обновлю список
1. найти коэффициенты подходящего фильтра
2. получить сигнал
3. отфильтровать
4. вывести сигнал
5. помигать лампочками

(1), (3) - надо искать описание цифровой фильтрации, можно попробовать поискать среди ссылок здесь
(2),(4) - есть два варианта:
1. выводить файл средствами Windows и перехватывать его для анализа своей программой (можно до зв.карты программно, можно после - просто завести его на выход)
2. пропускать файл "через себя" (читать, анализировать и выводить), тогда надо разбираться в формате используемых файлов и посмотреть на форуме примеры вывода звука на зв.карту (где-то должны быть, сам я особо этим не занимался)
(5) - по работе с портами тоже есть куча тем (вот недавно проскакивала тема про работу с параллельным портом, скорее всего, где-то в системном программировании)


--------------------
qqq
PM WWW   Вверх
SashaVinnica
Дата 22.3.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.3.2005

Репутация: нет
Всего: нет



Попытаюсь подробней описать проблему:
1. Нужно написать програму которая проигрывает музикальный файл, розделить звуковой поток на три диапазона частот и найти коэфициэнт каждого. Полученый результат отправить на какой небудь порт (я собираюсь делать на LPT)
2. Спаять схему которая принимает сигнал с порта и управляет тремя лампочками

Так вот у меня проблема в том что выделено красным цветом. Способ решения вопроса значения не имеет, Главное результат!
PM MAIL ICQ   Вверх
Guest
Дата 26.3.2005, 10:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Найди в инете AntFFTd.dll, описание к ней, там все не сложно. В примере использования есть разложение в спектр и и нахождение частоты с максимальной амплитудой. Делишь весь спектр на 3 или больше или меньше группы, находишь амплитуду наибольшей спектральной составляющей в группе - это твоя интенсивность свечения лампочки. Если
хочешь писать в LPT :
выдумываешь алгоритм преобразования амплитуды спектральной составляющей в напряжение для твоей лампочки, например: амплитуда->
код ->LPT1->преобразователь код-амплитуда->
лампочка. Пишешь код в Buf и :
HANDLE hFile=CreateFile("LPT1", ........ );
WriteFile(hFile, Buf,...............);
  Вверх
SashaVinnica
Дата 29.3.2005, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.3.2005

Репутация: нет
Всего: нет



Сдаюсь, 5 часов в нете просидел, но так эту библиотеку не нашол smile

Может ктото ссылочку подкинет smile , а то у меня уже крыша по чучуть уезжает smile
PM MAIL ICQ   Вверх
chipset
Дата 29.3.2005, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4067
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 164



Найди описание формата *.wav на wotsit.org, и мигай в зависимости от текущей высоту волны.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Guest
Дата 29.3.2005, 15:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











"Текущая высота волны" не ставит зависимость амплитуды составляющих сигнала(гармоник) от частоты, т.е. не раскладывает сигнал в спектр.
Вот ссылка http://www.websound.ru/programming/libs/antfft/Readme.htm
  Вверх
SashaVinnica
Дата 31.3.2005, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.3.2005

Репутация: нет
Всего: нет



Был там, на все нужные ссылки закрыт доступ, а с приведенного на сайте краткого описания практически ничего понять нельзя smile
PM MAIL ICQ   Вверх
Guest
Дата 31.3.2005, 18:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Действительно, уже закрыты. А я скачивал. Если хочешь, пришлю на мыло dll и пример использования
  Вверх
SashaVinnica
Дата 31.3.2005, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.3.2005

Репутация: нет
Всего: нет



Буду очень благодарен

[email protected]
PM MAIL ICQ   Вверх
BBC
Дата 31.3.2005, 20:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Приеду домой, сегодня вышлю.
  Вверх
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.1452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.