Круговой визуализатор спектра

Обсуждение проектов наших жителей.
Вы можете выставить проект на тест или найти помощников для его реализации.

Модератор: BV

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Круговой визуализатор спектра

Сообщение Mikle » 11.04.2014 (Пт) 9:12

Кривоус Анатолий писал(а):По линейной.

Хорошо, а нельзя, к примеру, сделать отдельно 10 FFT таблиц по числу октав? Должно хватить 10 штук FFT128, или это больше нагрузит проц, чем 1 таблица FFT 16384?
Кривоус Анатолий писал(а):Не сильно ли будет грузить проц набор фильтров 10*12?

Не должно, даже 10*48, думаю, вполне потянет. В крайнем случае это вполне воспроизводимо на шейдере, а уж для видеокарты это вообще не нагрузка.

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: Круговой визуализатор спектра

Сообщение The trick » 11.04.2014 (Пт) 9:24

Хорошо, а нельзя, к примеру, сделать отдельно 10 FFT таблиц по числу октав?

Ухх.. Даже не знаю, нужно подумать.
Нужно учесть что нужен фильтр довольно высокого порядка на НЧ чтобы различать близлижайщие ноты.
UA6527P

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Круговой визуализатор спектра

Сообщение Хакер » 11.04.2014 (Пт) 19:25

Mikle писал(а):Хакер, обрати внимание, даже при полном разделении по октавам реальная музыка выглядит почти как беспорядочный шум, боюсь, что в системе лепестков картина станет ещё более невнятной.

Наоборот. Даже засчёт того, что концы лепестков разносятся дальше друг от друга. Плюс «принцип синергии».
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Круговой визуализатор спектра

Сообщение Mikle » 12.04.2014 (Сб) 21:42

Вот мой спектроанализатор на резонаторах, просчитывает 481 полосу, то есть по 4 полосы на ноту в 10 октавах.
В заголовке - условные секунды, чтобы следить за быстродействием. Сейчас, с прорисовкой средствами VB6, вполне успевает в реальном времени по крайней мере на моём компе - секунды в заголовке идут быстрее реальных. Если закоментировать отрисовку (псевдометод Line), то запас быстродействия более, чем десятикратный.
На спектроанализатор поступает меандр - функция (t And 64) = 0, где t - 1/44100 секунды. Можно туда подставить свою функцию, но для просмотра лучше компилировать.
У вас нет доступа для просмотра вложений в этом сообщении.

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: Круговой визуализатор спектра

Сообщение The trick » 12.04.2014 (Сб) 22:34

Хочу уточнить один момент. Для использования в реальном сигнале, нужно будет каждый отсчет сигнала пропускать через фильтры и потом результат усреднять и выводить?
Что-то типа того:
Код: Выделить всё
Public Sub Calc(Dat() As Integer)
    Dim i As Long, p As Long, v() As Long
   
    ReDim v(FilterCount - 1)
   
    DoEvents
   
    For p = 0 To UBound(Dat) Step 2 ' 128
        For i = 0 To FilterCount - 1
            Tick (Dat(p) / 32768)
            v(i) = v(i) + ResVal(i)
        Next i
    Next

    For i = 0 To FilterCount - 1
        p = 256 - v(i) / (UBound(Dat) + 1) * 2
        Line (i, 0)-(i, p), 0
        Line (i, p)-(i, 256), &HFF00&
    Next i

End Sub

Где Dat - массив отсчетов входного сигнала. Если так, то это очень загрузит проц. Я приделал звук, скомпилировал, у меня даже не работает. Загрузка проца на максимуме. Если считать не каждый отсчет, а с шагом, то более или менее считает с шагом в 128 отсчетов, но это уже не те данные, а ускоренный в 64 раза сигнал. Ты говорил что на видеокарте это можно просчитать.
UA6527P

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Круговой визуализатор спектра

Сообщение Mikle » 13.04.2014 (Вс) 8:15

Кривоус Анатолий писал(а):Для использования в реальном сигнале, нужно будет каждый отсчет сигнала пропускать через фильтры и потом результат усреднять и выводить?

Не нужно. Есть две причины:
1. ResValвозвращает значение, пропорциональное не току или напряжению, а энергии в контуре, точнее квадратному корню из энергии. А эта величина и так всегда неотрицательная и имеет более гладкий вид функции.
2. В ResValи так есть фильтр:
Код: Выделить всё
Res(i).p = Res(i).p * 0.98 + (UU * UU + II * II) * 0.02

Процедуру Tick нужно вызывать для каждого семпла, то есть 44100 раз в секунду, но ResValдостаточно вызывать только для отображения на экран, то есть, к примеру, 60 раз в секунду. Если вызывать реже, то константы в фильтре лучше изменить, иначе фильтр будет давать уже заметную задержку сигнала. 0.98 уменьшить, а 0.02, соответственно, увеличить.

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: Круговой визуализатор спектра

Сообщение The trick » 13.04.2014 (Вс) 10:07

Подцепил звук и круговую визуализацию.
У вас нет доступа для просмотра вложений в этом сообщении.
UA6527P

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Круговой визуализатор спектра

Сообщение Mikle » 13.04.2014 (Вс) 10:47

Вижу недостатки в самой верхней части спектра, но это уже недостатки моего фильтра. Интересно, насколько вообще реально передать верно звук на частотах, приближающихся к половине частоты семплирования. Может это недостатки не фильтра, а самой системы модуляции?

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: Круговой визуализатор спектра

Сообщение The trick » 13.04.2014 (Вс) 10:50

Какие недостатки? С FFT они есть? Может сделать половину (НЧ) через фильтры а ВЧ через FFT?
UA6527P

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Круговой визуализатор спектра

Сообщение Mikle » 13.04.2014 (Вс) 13:41

Кривоус Анатолий писал(а):Какие недостатки? С FFT они есть?

Есть, там ещё хуже. Похоже, что это действительно недостатки кодирования, посмотри, как выглядит 19 кГц на графике, и какие точки попадают в аудио данные:
У вас нет доступа для просмотра вложений в этом сообщении.

Пред.

Вернуться в Наши проекты

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList  
cron