ColorMusic

ColorMusic история создания и модификации.

ColorMusic - программа управления цветомузыкой. Блок цветомузыки представляет собой устройство подключаемое к параллельному порту компьютера. Блок позволяет управлять 8 лампами, со средней мощностью 500-600 вт.
Начало проекта лето 2000 года.
Разработчик аппаратной части Панфилов Александр Владимирович.
Разработчик программной части Панфилов Павел Владимирович.
Адрес почты: nscalp@mail.ru

     Схема одного канала цветомузыки (из восьми) показана ниже, наиболее дефицитной деталью является опто-резистор (AOP124A 3OP124A), чем заменить не знаю. Гальваническая развязка держит около 1200 V. Для индикации светодиоды желательно подобрать. Два тиристора в канале(народные КУ202Н) позволяют не делать выпрямитель. Питания нет. Входной резистор в цепи управления можно увеличить до 1-1.5 кОм. При увеличении мощности тиристоры надо ставить на радиаторы. Ниже приведена отсканированная схема с чертежа, по которому собирался первый вариант цветомузыки.

     Первый клон. Многие пользователи не могут найти опторезисторы AOP124A. Посмотрел справочник по импортным оптопарам и нашел MOC3041 фирмы Motorola. Прекрасная микросхема позволяющая сопрячь логический уровень и сетевое напряжение. Нужно использовать именно MOC3041, не рекомендуется использовать 3042, 3043. Возможные аналоги: Toshiba TLP3041. Подключается по стандартной схеме, в качестве управляющего элемента используется симистор BT136 фирмы Philips Semiconductors (можно использовать BT136-500E BT136-600E BT136-800E). Возможные аналоги: TLC228 или отечественный 2ТС 122-25-8 (максимальный ток 25А) .Максимальный ток 4 А, мощность нагрузки 200-300 Bт. Нагрузку можно включать как в фазу так и в 0. Симисторы можно при соответствующим подключении посадить на один радиатор. Ниже приведена схема одного канала собранного с использованием MOC3041.

     Клон №2. Схему прислал Виталий Бутурлин(vit-but@nm.ru), схема похожа на предыдущий клон и также используется оптопара MOC3041 фирмы Motorola. Ниже приведена схема всех восьми каналов. Для усиления сигналов используется шинный формирователь с инвертированием сигнала, по этому в программу был введен флаг <Инвертирование данных>на странице <Настройки>, который позволяет инверировать все данные записываемые в порт. Все вопросы по данной схеме к нему пожалуйста.

      Программа управления написана на Delphi 4 (ну нравится она мне), реализованы все режимы которые мне приходили в голову. Обязательно должен быть доступен (свободен) канал записи звука, и звуковая карточка должна поддерживать полный дуплекс (одновременное воспроизведение и запись). Работает даже на моем ноуте (AMD K6-2 300 32 мега Win 98) весьма шустро. При работе глюков я не обнаружил, если что пишите.
Загрузить программу ColorMusic версии 1.5.2.11: http://www.nscalp.narod.ru/install.exe

1.0.1.05
 28/05/01

Первая версия программы. Реализован только режим "Бегущих огней" Установлена возможность задавать произвольную конфигурацию подключенных ламп.

1.0.1.11
 30/05/01

      Добавлен модуль работы со звуком. Для его активизации необходимо в Windows"Настройках->Панель управления" "Мультимедиа" вызвать окно (кнопка "Запись")"Уровень записи" и установить флаг Общая громкость, а также установить соответствующий ползунок на максимум.
     Есть вероятность, что на некоторых музыкальных картах это работать не будет.

1.0.1.21
 01/06/01

Добавлен виртуальный драйвер управления параллельным портом. Сделана программа инсталляции.

1.0.1.34
 04/06/01

Добавлена инструментальная панель, сохранение и восстановление настроек программы, и этот файл. В настройках введен параметр AutoConst (по умолчанию равен 19), который определяет режим Auto для музыки. С его уменьшением сигнал от музыки поступает чаще.

1.0.1.35
 05/06/01

Добавлено " Пасхальное яйцо" Shift+Ctrl+Alt+Тильда..

1.0.1.41
 06/06/01

Добавлено: Установка настроек по умолчанию, Выключение всех ламп при включении и выключении программы, Перестроена нумерация ламп, Переделан дизайн основной панели.

1.0.2.11
 18/06/01

Добавлено: Установка цветов для каждого индикатора лампы и сохранения этих настроек. Для этого надо нажать на соответствующий индикатор лампы.

1.0.2.25
 20/06/01

Добавлено: Нестандартные курсоры. Для их включения в соответствующем INI файле в секции Setup поставить строку AniCursors=1.

1.0.2.32
 23/06/01

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

1.0.3.1
 30/06/01

Начато программирование цветомузыки, добавлен стрелочный индикатор уровня.

1.0.3.25
 01/07/01

Реализована установка максимальной яркости каждой лампы. Число градаций 10 (1-10). Добавлено стартовое окно и блок проверок при старте. Программа протестирована под Windows 2000

1.0.3.40
 03/07/01

Реализованы дополнительные настройки интерфейса программы.

1.0.4.10
 05/07/01

Реализован режим "Микропрограмма" - чтение последовательности из файла (расширение mco)

1.0.4.26
 06/07/01

Добавлен редактор микропрограмм, позволяющий составлять свои последовательности.

1.0.3.40
 09/07/01

      Добавлено: Плавающие панели. Если мышкой надавить на правый, верхний угол панели и не отпуская ее передвинуть курсор мыши, то будет создано дочернее окно на основе активной панели. Таким образом можно растащить любые три панели из четырех. На панели инструментов создана специальная кнопка для обратной сборки. Также можно закрывать плавающие окна обычным способом

1.0.4.45
 12/07/01

В файл INI в секцию Debug добавлена переменная LogFileOn. Если она равна 1 то формируется log файл (LogFile.txt) в котором записываются все события записи в порт (отладка режима яркости). Переменная устанавливается только в ручную, с помощью редактирования соответствующего INI файла. По умолчанию равна 0 - log файл не создается.

1.1.1.20
 11/04/02

К новому сезону, новое обновление программы. Улучшена работа таймера яркости, теперь его разрешение (минимальный интервал) 5 мкс. OC Windows не является системой реального времени, и по этому получение интервалов менее 50 мсек. проблема.

1.1.1.35
 27/04/02

Изменен механизм получения уровня сигнала для цветомузыки. Место устройства записи, теперь используется миксер Windows и свойство mixerGetLineControls MIXERCONTROL_CONTROLTYPE_PEAKMETER. Программа получилась более простой и требует меньше ресурсов. Функции миксера выделены в отдельную DLL spectro.dll

1.1.2.12
 03/05/02

      Добавлено: Спектроанализатор. Отдельное окно, которое показывает спектр сигнала. Для анализа спектра используется LoopBack, по этому устройство записи не должно быть занято и должно быть включено. Включение - смотри комментарий к версии 1.0.1.11.

1.1.2.15
 8/05/02

      Получение значение уровня сигнала работает не стабильно, бывает невозможно включить цветомузыку. Для доступа к звуковой карте используется библиотека bass.dll ( http://www.un4seen.com/music). Очень продвинутая библиотека. Но также задействует канал записи для получения информации о сигнале.

1.2.1.26
 10/05/02

      Добавлено. Многофункциональная панель, показывающая снимаемый сигнал со звуковой карты. Три основных режима Peak-Метр, Осциллограф, Спектрометр. Для оформления панели используются sкin, задавая который можно менять внешний облик панели. Загрузка скинов пока не поддерживается.

1.2.1.28.
 16/05/02

      Исправлено: Ошибка в алгоритме управления бегущими огнями от музыки. Ошибка заключалась в неправильном определении момента переключения ламп. Стартовое окно - дополнительные проверки при старте и новый индикатор загрузки программы.

1.2.2.11.
 21/05/02

      Настройка звука переделана на вызов стандартной Windows mmsys.cpl. Спектрометр временно отключен. Начало создания редактора фильтров (для режима цветомузыки).

1.2.1.26
 10/05/02

      Сделан редактор фильтров, с индикацией АЧХ и показом спектра отфильтрованного сигнала. Каждый фильтр описывается тремя параметрами. Сделано сохранение настроек фильтров. Пользователь может смотреть, как работает фильтр с выбранными параметрами.

1.2.2.35.
 25/05/02

      Реализован первый режим цветомузыки - 8 фильтров - 8 ламп. Работает неплохо, но нужно ввести автоматическое регулирование уровня входного сигнала.

1.2.3.5.
 26/05/02

      Добавлено: АРУ -автоматическая регулировка усиления, позволяющая подстраивать порог срабатывания фильтров под уровень входного сигнала. Добавлен режим 3 фильтра на 8 ламп. одновременно горит только одна лампа. Фактически номер лампы в двоичном виде срабатывания фильтров. Например: 6 - 101 - сработал первый и третий фильтр.

1.2.3.6.
 27/05/02

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

1.2.3.12.
 30/05/02

     Добавлено: Загрузка скинов из определенной директории, создан второй скин; регуляция частоты опроса фильтров в режиме цветомузыки.

1.2.3.11.
 30/05/02

      Добавлено: Сохранение всех ранее введенных настроек в INI файл, в INI файл добавлены секции MusicColor и Information. Несколько обновлена графика и "причесан" интерфейс всей программы.

1.2.3.15.
 31/05/02

     Добавлено: В график АЧХ фильтров добавлено PopUP меню (правая кнопка мыши) позволяющая настраивать некоторые функции графика.

1.2.4.2.
 03/06/02

      Переделана таблица отладки, в таблице появилось три новые колонки:
ON - число включений лампы.
'Time On - Время нахождения лампы в включенном состоянии (мсек);
'Time Off - Время нахождения лампы в выключенном состоянии (мсек).
      Эти колонки позволяют более точно подобрать параметры фильтров для цветомузыки. Статистика отражает, как часто активируется фильтр. При малом времени горения лампы надо увеличить или полосу или усиление соответствующего фильтра и наоборот.

1.2.4.6.
 04/06/02

      Найдена ошибка при программировании минимального времени срабатывания лампы (включения и выключения), раньше возможно возникновение ситуации, когда ограничение на минимальное время переключения не выполнялось. Добавлен для отладки и настройки фильтров график статистики.

1.2.4.11.
 06/06/02

      Добавлена возможность выбора источника звука, как в начале работы, так и в процессе.

1.2.4.15.
 12/06/02

      Добавлен режим работы цветомузыки 8 XOR 8. Добавлена обработка пауз в цветомузыке.

1.2.4.18
 13/06/02

      Добавлен Спектрометр, с возможностью изменения палитры и усиления входного сигнала. Два режима показа, настройка палитры, времени развертки. Можно настраивать усиление входного сигнала. работает в независимости от работы цветомузыки.

1.2.4.21.
 14/06/02

      Добавлен в качестве бонуса эмулятор ZX Spectrum (мой первый настоящий компьютер), для его вызова необходимо нажать на картинку в верхнем правом углу программы.

1.2.4.22.
 03/07/02

      Эмулятор ZX Spectrum, добавлена поддержка джойстиков. Добавлено - запуск только одной копии программы. В дистрибутив добавлен пяток игрушек для ZX Spectrum. В интернете их можно найти много, например:
http://www.zx-spectrum.net
http://www.nvg.ntnu.no/sinclair
http://zx-museum.org.ru
http://www.jonlan.demon.co.uk/spectrum
http://www.worldofspectrum.org
http://zxplanet.emuunlim.com
1 сентября 2002 программа ColorMusic размещена на сайте www.download.ru.

1.2.4.29.
 13/09/02

      Переход на версию bass.dll 1.6а. Добавлено: показ версии библиотеки bass.dll, hit-ов для элементов управления.

1.2.5.05.
 30/09/02

      Эмулятор ZX Spectrum встроен в основной модуль, размер дистрибутива уменьшился на 130 кбайт.

1.2.6.03.
 14/10/02

      Придуман еще один режим цветомузыки, на основе нейронных сетей. Используются самоорганизующиеся карты Кохонена.
     Самоорганизующаяся карта (Self-organizing Maps SOM) - это нейронная сеть с прямыми связями, в которой используется алгоритм обучения без учителя. Посредством процесса, называемого самоорганизацией, SOM образует из выходных элементов топологическое представление исходных данных. SOM относится к общему классу нейросетевых методов, которые являются методами нелинейной регрессии. Ее можно обучить узнавать или находить взаимосвязи между входами и выходами или организовывать данные таким образом, чтобы раскрывать в них пока что неизвестные образы или структуры. На вход карты подается информация от фильтров. Пока реализовано только режим отображения карты.
      Элементы карты, или нейроны, обычно образуют двумерную решетку. Таким образом, это отображение является отображением из пространства большой размерности на плоскость. Свойство сохранения топологии означает, что SOM распределяет сходные векторы входных данных по нейронам: точки, которые близки друг к другу в пространстве входов, отображаются на близко расположенные элементы карты в SOM. Таким образом, SOM может служить как средством кластеризации, так и средством визуализации данных большой размерности. Главной идеей Кохонена является интерпретация выходного слоя карты в виде одномерной или двухмерной сетки. Кохонен предложил рассматривать карту, как изображающую панель с лампами для каждого нейрона в выходном слое.

1.2.6.25.
 16/10/02

      Сделан первый нормальный режим цветомузыки с использованием самоорганизующейся карты размером 8x1. Пользователь может определять частоту обучения и скорость обучения. На вход карты подается информация от фильтров. В процессе работы идет постоянное обучение карты, и подстройка под мелодию.

1.2.6.31.
 19/11/02

      Сделан второй режим цветомузыки с использованием самоорганизующейся карты размером 3x3. Добавлена возможность нормировки входов. Переход на версию bass.dll 1.7.

1.3.1.12.
 01/12/02

      Первая публичная версия MColor с использование карт Кохонена. Кажется, большинство ошибок было отловлено, и скорость работы приемлемая.

1.3.2.35.
 10/12/02

      Сделан третий режим цветомузыки с использованием самоорганизующейся карты размером 8x8. Исправлена ошибка при установке скорости обучения карты. Добавлено автосохранение настроек при выходе из программы. Для медленных машин вставлена процедура очистки очереди таймера, позволяющая более правильно работать с таймерами.

1.3.3.9.
 24/12/02

      Добавлен выбор ячейки в SOM. Незначительные переделки в палитре самоорганизующейся карты. Приведена схема клона блока без использования опторезисторов (см. выше).

1.3.4.21.
 12/02/03

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

1.5.2.11.
 14/04/04

      Возобновление проекта.
Переход на версию 2.0 bass.dll. Привожу фотографию блока цветомузыки. Оптимизация работы под Windows XP:
-исправлена ошибка открытия драйвера параллельного порта.
-уменьшена задержка при загрузке.
-корректная загрузка настроек при старте MColor.

.
Сайт создан в системе uCoz