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

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

Модератор: BV

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

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

Сообщение The trick » 06.04.2014 (Вс) 17:45

Mikle, я так понял ты предлагаешь октавы размещат вдоль линии радиуса, интенсивность - цветовая компонента, угол - частота между двух соседних октав?
UA6527P

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

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

Сообщение Mikle » 07.04.2014 (Пн) 8:26

Кривоус Анатолий писал(а):я так понял ты предлагаешь октавы размещат вдоль линии радиуса

Да, у тебя почти так и есть, только убрать секторы и отцентровать, плюс - превратить набор окружностей в спираль, чтобы между нотой СИ первой октавы и нотой ДО второй не было перескока.
Кривоус Анатолий писал(а):интенсивность - цветовая компонента

Нет, яркостная. Куда девать цвет - у меня есть супер идея, но пока обдумываю, потом поделюсь.
Кривоус Анатолий писал(а): угол - частота между двух соседних октав

Не понял фразу.
Хакер писал(а):Прочитал твой текст, но увы, не понял, почему нужно переходить от 2D к 1D-отрезку?

Я не сказал "нужно", я сказал, что, если интенсивность мы отображаем яркостью, то нам уже не нужна Y координата, то есть ею можно воспользоваться для других целей. В декартовском варианте это не требуется, но в полярном (это уже не Y, а R) это номер октавы - на мой взгляд, это очень полезная информация.
Хакер писал(а): то ты говорил, что измерений не хватает (и нужно 10-мерное пространство для 10 октав), но так и не объяснил, почему. Теперь же ты предлагаешь отказаться от одного измерения.

Нет, я предлагаю отказаться от использования радиуса для отображения одного скалярного параметра для того, чтобы использовать радиус для полноценного отображения 10D. У тебя радиус (то есть длина лепестка) показывает интенсивность на данной ноте - скаляр. Точнее, ты предлагаешь использовать разные цвета для разных частот, то есть всё-таки не скаляр, а 3D-вектор, уже лучше. Но нота содержит информацию в десяти октавах, 10 независимых уровней, то есть 10D вектор, полноценно это отобразить через 3D невозможно, можно получить только некоторый вариант проекции 10D на 3D. Ты пишешь, что это не так и важно, главное - видеть гармонию. Но ведь в моём варианте мы её видим точно так же, мы это не теряем.

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

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

Сообщение The trick » 07.04.2014 (Пн) 8:50

Не понял фразу.

Да, у тебя почти так и есть, только убрать секторы и отцентровать, плюс - превратить набор окружностей в спираль, чтобы между нотой СИ первой октавы и нотой ДО второй не было перескока.

Ну как у меня значит. Угол выражает частоту относительно двух оседних октав, например от C1 до С2.
UA6527P

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

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

Сообщение Mikle » 07.04.2014 (Пн) 9:18

Нет, угол отображает музыкальный интервал, и совершенно без разницы, в каких октавах.

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

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

Сообщение Mikle » 09.04.2014 (Ср) 15:20

Кривоус Анатолий
Вот я сделал набросок графической части визуализатора, массив заполняется случайными числами и визуализируется в виде спирали, 48 выборок на октаву, 10 октав. Для наглядности в массив добавлена белая полоса.
Всё делается с максимально возможной скоростью, в заголовок выводится FPS чтобы контролировать потери производительности на период отладки.
Можешь объединить это со своим спектроанализатором? Я код максимально дифференцировал, чтобы тебе не пришлось разбираться в ненужных деталях, всё нужное тебе находится в Form_Load, это:
D3DInitв начале работы.
GeometryInitпри удачном старте.
Далее главный цикл, в котором массив заполняется цветами и отправляется в текстуру: UpdateTexи визуализируется: Render.
D3DTerminateпо окончании работы.
У вас нет доступа для просмотра вложений в этом сообщении.

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

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

Сообщение The trick » 09.04.2014 (Ср) 18:28

Ага. Сделал, прикольно. FFT - 16384.
Изображение
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось The trick 09.04.2014 (Ср) 22:13, всего редактировалось 1 раз.
UA6527P

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

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

Сообщение Хакер » 09.04.2014 (Ср) 18:29

Ну и что это? Бессмысленные кольца.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

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

Сообщение The trick » 09.04.2014 (Ср) 18:57

Ну и что это? Бессмысленные кольца.

Почему бессмысленные? Это не кольца, а спираль.
UA6527P

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

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

Сообщение Хакер » 09.04.2014 (Ср) 18:59

Потому что из них можно извлечь ноль информации. Ты шум что-ли какой-то там на пол-октавы слушал?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

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

Сообщение The trick » 09.04.2014 (Ср) 19:05

Хакер писал(а):Потому что из них можно извлечь ноль информации. Ты шум что-ли какой-то там на пол-октавы слушал?

На скриншоте я просто включил музыку и заскринил.
UA6527P

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

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

Сообщение Хакер » 09.04.2014 (Ср) 19:16

Кривоус Анатолий писал(а):На скриншоте я просто включил музыку и заскринил.

Это что-то меняет?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

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

Сообщение The trick » 09.04.2014 (Ср) 19:29

Изображение
Это что-то меняет?

Я не считаю что 0 информации, даже судя по скринам.
UA6527P

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

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

Сообщение Mikle » 09.04.2014 (Ср) 20:03

Хакер
На последних скринах очень даже неплохо, наглядно. Естественно, нужно сделать поверх разметку, подписать ноты, там по внешнему виду много чего можно сделать.
Кривоус Анатолий
Не пускается, исходник не находит файл modGDIPlus, EXE-шник даёт это:
У вас нет доступа для просмотра вложений в этом сообщении.

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

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

Сообщение Хакер » 09.04.2014 (Ср) 20:14

Почему все делают что угодно, только не кошерные лепестки?

А уж почему что ты, что Анатолий — начинаете не с разметки. Ведь это база для самоконтроля на всю оставшуюся часть работы. Неразумный и нерациональный подход.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

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

Сообщение Mikle » 09.04.2014 (Ср) 20:30

Хакер писал(а):Почему все делают что угодно, только не кошерные лепестки?

Какую информацию, которую дают лепестки, не даст этот вариант?
Хакер писал(а):почему что ты, что Анатолий — начинаете не с разметки

Накинуть разметку - дело 15 минут, она понадобится при пользовании утилитой, а при тестах и без неё всё ясно.

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

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

Сообщение Хакер » 09.04.2014 (Ср) 20:39

Mikle писал(а):Какую информацию, которую дают лепестки, не даст этот вариант?

Воспринимать тяжело. Радиусы надо строить в голове, чтобы оценивать углы.
Нет наложения цветов, чтобы получить белые сердцевины лепестков.
Принципом синергии, о котором я писал, не пахнет.

Слёзы наворачиваются на глазах смотреть, как искажена моя идея.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

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

Сообщение Mikle » 09.04.2014 (Ср) 20:44

Хакер писал(а):Радиусы надо строить в голове, чтобы оценивать углы.

Разметка поможет.
Хакер писал(а):Нет наложения цветов, чтобы получить белые сердцевины лепестков.

Для цвета есть более полезное применение. Ты же не думаешь, что это так и останется красным?
Хакер писал(а):Слёзы наворачиваются на глазах смотреть, как искажена моя идея.

Ну так возьми и сделай. Из твоих идей взята одна - "октава на оборот". Действительно стоящая идея, и её никто не исказил. А остальное - это уже не твои идеи, твоих идей никто не искажает.

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

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

Сообщение Хакер » 09.04.2014 (Ср) 21:16

Mikle писал(а):Ну так возьми и сделай.

Совершенно не имею возможности.

Mikle писал(а):Для цвета есть более полезное применение. Ты же не думаешь, что это так и останется красным?

Всякий раз ты игнорируешь тот факт, что цвет — не функция одной переменной частоты, а функция многих переменных от многих параметров.

Mikle писал(а):Из твоих идей взята одна - "октава на оборот". Действительно стоящая идея, и её никто не исказил. А остальное - это уже не твои идеи, твоих идей никто не искажает.

Это тоже искажение. Идея — это цельное представление о том, как каким должен получиться продукт.

Это как если ты придумал новый дизайн для Порше, и показал его кому-то. А потом выходит ВАЗ, где от твоего дизайна взяты фары и передним бампер. На этот ВАЗ смотреть обидно, но даже если потом ты сделаешь Порше по своему проекту, народ скажет: «Прикольно, фары как у прошлогодней модели ВАЗА».
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

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

Сообщение Mikle » 09.04.2014 (Ср) 21:31

Хакер писал(а):если ты придумал новый дизайн для Порше, и показал его кому-то. А потом выходит ВАЗ, где от твоего дизайна взяты фары и передним бампер

А если выходит ВАЗ, у которого тоже 4 колеса? Понимаешь, из твоей идеи взята принципиальная конструктивная часть, взята без искажений.

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

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

Сообщение Хакер » 09.04.2014 (Ср) 21:40

Mikle писал(а):Понимаешь, из твоей идеи взята принципиальная конструктивная часть, взята без искажений.

Вот главный момент в том, что я не хочу, чтобы из моей идеи была взята часть. Я рассказал идею, чтобы получить какой-то фидбек. Фидбек мог иметь мотивирующее воздействие на меня.

Если бы Анатолий спросил: «А можно я возьму и реализую целиком твою идею» — я бы в принципе легко дал согласие. Когда он спросил, можно ли нарушить некоторые положения концепции, я ответил, что если он берётся реализовать мою идею, то нарушать нельзя, если же он делает какой-то свой анализатор для себя, то как я могу запретить ему что-то делать.

Это, как знаешь, лицензия на код. «Разрешено свободное использование, но нельзя вносить изменения в код и распространять модифицированную версию в массы (для личных целей пользоваться модифицированной версией можно)».

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

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

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

Сообщение The trick » 09.04.2014 (Ср) 22:07

Не пускается, исходник не находит файл modGDIPlus, EXE-шник даёт это:

Перезалил
UA6527P

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2751
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 09.04.2014 (Ср) 22:25

Я бы хотел на лепестки посмотреть :)
Но и рабочую версию программы со спиралью тоже было бы неплохо...

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

Работает... Выглядит неплохо, но регулировки чувствительности явно не хватает.

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

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

Сообщение The trick » 09.04.2014 (Ср) 23:26

но регулировки чувствительности явно не хватает.
Правой кнопкой - Gain. Также можно загружать палитру PNG 32ARGB.

Вот видео небольшое, ноты можно различить, если не сильно звук насыщен гармониками.
http://youtu.be/G8W9-1hCl84
У вас нет доступа для просмотра вложений в этом сообщении.
UA6527P

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

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

Сообщение Mikle » 10.04.2014 (Чт) 12:40

Не одно, так другое :)
Не работает на профессиональной звучке - M-Audio Delta 10/10 LT. А на работе у меня именно такая. Просто чёрный экран, я попробовал сменить фон прорисовки в D3D - получается, то есть прорисовка идёт. Другие звуковые программы на этом компе работают без проблем. Попробовал на другом компе с обычной встроенной звучкой - всё нормально, но то чужой комп. Придётся дома разбираться с программой, а там я бываю значительно реже, чем на работе :)

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

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

Сообщение The trick » 10.04.2014 (Чт) 12:44

На запись что выбрано в микшере?
UA6527P

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

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

Сообщение Mikle » 10.04.2014 (Чт) 15:07

На запись выбрано "M-Audio Delta 10/10 Multy", это микс всех линейных входов, других входов там нет.

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

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

Сообщение The trick » 10.04.2014 (Чт) 15:11

Mikle писал(а):На запись выбрано "M-Audio Delta 10/10 Multy", это микс всех линейных входов, других входов там нет.

Какая система? В других программах запись по умолчанию идет? Если была бы ошибка, то выдавалось бы сообщение об этом.
Давай я через DirectSound сделаю?
UA6527P

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

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

Сообщение Mikle » 10.04.2014 (Чт) 15:47

Кривоус Анатолий писал(а):Какая система?

XP SP3
Кривоус Анатолий писал(а):В других программах запись по умолчанию идет?

Все программы, которыми я пользуюсь, позволяют сами выбирать вход, один из восьми, либо тот самый мульти, виндовый микшер вообще не видит во вкладке "Запись" устройств.
Появилась идея - я скомутирую выход на вход, скорее всего запись пойдёт, проверю уже завтра.

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

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

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

Скомутировал, заработало.
Первое отрицательное впечатление - на низах явная нехватка выборок, меньше выборки на ноту, а на верхах - перебор. Зачем-то делается 16384 выборки при том, что для 4-х выборок на ноту хватило бы 480-ти, но по логарифмической частотной шкале. Или FFT работает только по линейной шкале? Я в суть этого алгоритма пока не вникал, когда мне требовалось разделение на N частотных полос, писал эмуляцию резонансных контуров, сложность O(N).
Хакер, обрати внимание, даже при полном разделении по октавам реальная музыка выглядит почти как беспорядочный шум, боюсь, что в системе лепестков картина станет ещё более невнятной.
Последний раз редактировалось Mikle 11.04.2014 (Пт) 9:07, всего редактировалось 1 раз.

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

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

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

Или FFT работает только по линейной шкале?

По линейной. С шагом SampleRate/FFTSize. Не сильно ли будет грузить проц набор фильтров 10*12?
UA6527P

Пред.След.

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

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

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

    TopList