Нужен Spectrum analyzer...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Нужен Spectrum analyzer...

Сообщение BV » 18.02.2005 (Пт) 23:25

Здравствуйте.
Возможно, кто-то уже догадался - я пишу свой MediaPlayer, и уже достиг стадии готовности 80%. Но мне очень нужен UserControl с визуализацией типа частотной характеристики. Может кто знает, где достать такой?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 18.02.2005 (Пт) 23:30

Вот целый пример ;)

KiloGraf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 142
Зарегистрирован: 21.10.2004 (Чт) 7:37
Откуда: берутся такие глупые вопросы?

Сообщение KiloGraf » 18.02.2005 (Пт) 23:58

Чёта я в примере, ничего относящегося к анализу спектра, не нашел.
Nonsense in BASIC. © 1982 ...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 19.02.2005 (Сб) 0:18

Ну как же? Визуализация типа частотной характеристики... Не в виде .ocx'а, правда, но переписать ведь никто не запрещал?

KiloGraf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 142
Зарегистрирован: 21.10.2004 (Чт) 7:37
Откуда: берутся такие глупые вопросы?

Сообщение KiloGraf » 19.02.2005 (Сб) 0:24

В данном примере графически отображается отношение уровня сигнала ко времени. А спектр – это отношение уровня к частоте сигнала.
Спектр звука

-------
Вот можно здесь посмотреть: http://www.fullspectrum.com/deeth
Nonsense in BASIC. © 1982 ...

KiloGraf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 142
Зарегистрирован: 21.10.2004 (Чт) 7:37
Откуда: берутся такие глупые вопросы?

Сообщение KiloGraf » 19.02.2005 (Сб) 0:54

Nonsense in BASIC. © 1982 ...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 19.02.2005 (Сб) 20:40

Спасибо за ответы.

2 KiloGraf

Я в этом примере только одного не пойму - как собственно его использовать :)

2 Amed

Ну это не совсем то, что мне нужно. Я имел ввиду 10-100 канальный частотный индикатор...

KiloGraf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 142
Зарегистрирован: 21.10.2004 (Чт) 7:37
Откуда: берутся такие глупые вопросы?

Сообщение KiloGraf » 19.02.2005 (Сб) 23:06

Как использовать?...
...Подаешь на вход звуковой карты исследуемый сигнал, и исследуешь его частотно-спектральную составляющую...

(посмотри, каким образом анализируются данные, взятые со входа... в твоем случае, их не нужно получать со звуковой карты... они у тебя уже в файле...)
Nonsense in BASIC. © 1982 ...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 19.02.2005 (Сб) 23:42

KiloGraf писал(а):в твоем случае, их не нужно получать со звуковой карты... они у тебя уже в файле...


То-то и оно - как мне получать сигнал из файла?

P.S.

Я никогда не связывался со звуком дальше чем mciSendString, поэтому прошу прощения за "тупость", но...

KiloGraf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 142
Зарегистрирован: 21.10.2004 (Чт) 7:37
Откуда: берутся такие глупые вопросы?

Сообщение KiloGraf » 19.02.2005 (Сб) 23:51

Коротко:
...сигнал со звуковой карты, это непрерывный массив данных, поступающий с АЦП, с определенной разрядностью.

...к промеру в WAV файле, тот же массив, но статический, и тоже с определенной разрядностью.
Nonsense in BASIC. © 1982 ...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 21.02.2005 (Пн) 22:15

2 KiloGraf

…непрерывный… массив данных… статический… разрядностью...

И что всё это значит :shock: :roll:
Мне бы хоть к.л. код или часть из примера (изменённая)…

Задача: при воспроизведении файлов MP3, WMA, WAV показывать частотную индикацию (например, от 100 Hz до 15 KHz) такую, как у Winamp’а, JetAudio или Windows Media Player>Visualization>Bars and Waves>Bars.

Сам, наверное, я сейчас не справлюсь, потому и нужен мне уже готовый UserControl.

KiloGraf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 142
Зарегистрирован: 21.10.2004 (Чт) 7:37
Откуда: берутся такие глупые вопросы?

Сообщение KiloGraf » 22.02.2005 (Вт) 2:12

Вот, чуть-чуть не вовремя... Я пока временем свободным не располагаю.

А в примере DeethSA, тебе внимательно рассмотреть надо процедуру Visualize.
Там есть буфер InData(), который заполняется данными через waveInAddBuffer.
Так вот, вместо waveIn..., тебе надо его заполнять из... допустим из файла, или еще каким-либо wav-потоком.
Далее, этот буфер уходит в процедуру FFTAudio, и возвращается уже обработанным для визуализации в виде OutData(). И далее, идет все своим чередом...
И все это в цикле. Только имей ввиду, что цикл там организован по условию DevHandle (хендл waveIn...)!

Вот, только одно, и самое главное – не известно как у тебя организованно воспроизведение! А то, с данным примером, может ничего и не получиться!
Nonsense in BASIC. © 1982 ...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 22.02.2005 (Вт) 20:02

2 KiloGraf

1. Всё равно ничего не понятно (лучше кодом)...

2. Я всё делаю через mciSendString ("Open xxx Alias xxx ...

3. Может кто-то подскажет, где мне найти готовый контрол...

Mongoose
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 29.03.2004 (Пн) 17:03
Откуда: Московский зоопарк

Сообщение Mongoose » 22.02.2005 (Вт) 21:12

Немного не в тему, но вот такой вопрос: А можно на основе DeethSA написать функцию "извлечения" ритма? Я пишу нечто вроде MP3dancer (www.mp3dancer.com). Я пытался сравнивать минимумы и максимумы уровней звука на различных частотах, но не всегда работает правильно. Подскажите, как такое сделать?
I Wish I Had An Angel For One Moment Of Love.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 25.02.2005 (Пт) 3:49

Ну неужели никто не поможет :(

Мне бы хоть небольшой пример для общей идеи, что-ли...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 31

    TopList  
cron