![]() |
|
Модераторы: Akina |
![]()
|
|
| ProgramerForever |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 15.11.2006 Где: Новосибирск Репутация: 2 Всего: 5 |
Добрый день! С праздником! Я хочу сделать цветомузыку. Мне нужен код (идеально) или алгоритм (как вариант) для анализа аудиосигнала. На выходе - спектр по частотам. (как,скажем в WinAmp'е). В принципе, устроит по трём частотам: низкие, средние, высокие (соответственно - RGB).
|
|||
|
||||
| Dexx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: 5 Всего: 7 |
Попробуй библиотеку Bass (для проигрывания звука) http://un4seen.com/
Там есть примеры. Визуализации музыки. (ну там осцилограф и т.д.) Глянь в примерах там и на VB и на C++ и на Delphi, на чем приятней на том и кодь!! -------------------- |
|||
|
||||
| ProgramerForever |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 15.11.2006 Где: Новосибирск Репутация: 2 Всего: 5 |
Вроде что-то скачал, поразбираюсь, НО тему не закрываю...
|
|||
|
||||
| Dexx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: 5 Всего: 7 |
Незнаю!!
Но мне кажется прикольная библиотека! Плеер для себя написал с её использованием на С#. В примерах, помоему, всё есть! -------------------- |
|||
|
||||
| ProgramerForever |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 15.11.2006 Где: Новосибирск Репутация: 2 Всего: 5 |
Мы тут с преподом по математике посидели и придумали 2 варианта:
1.)Считать определённые значения уровней громкости (изначально у нас - массив чисел, уровней громкости за какой-то определённый промежуток времени). Например, насчитали значения "22334" 24 раза - прибавляем единичку к 24 Hz насчитали значения "22234" 125 раз - прибавляем единичку к 125 Hz насчитали значения "2434" 300 раз - прибавляем единичку к 300 Hz и т.д. Потом рисуем столбчатую диаграмму по частотам. 2.)анализируем функцию так: когда она пошла на спад(или подъём) с максимального(или минимального) значения, считаем количество значений до локального минимума(максимума). Теперь делим общее количество значений (мощность массива) на это значение - получаем частоту. Округляем до целого (или любого другого необходимого порядка точности) и прибавляем единичку к этой частоте. потом, как в прошлом случае, рисуем столбчатую диаграмму или что душа пожелает. Вот. Это сообщение отредактировал(а) ProgramerForever - 8.2.2008, 13:34 |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 5 Всего: 10 |
А остальные ничего не придумывают, просто используют преобразование Фурье (в поиск по FFT). -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |