Делаю цветомузыку как описано тут - http://www.microsyl.com/index.php/2010/03/29/mood-light/
Только шо-то я никак понять не могу как оно работает. С аналоговой частью понятно - это просто фильтры, а также отдельный детектор уровня сигнала дабы быть независимым от громкости. Но вот шо в цифре потом происходит я понять не могу:
Если на классическую цветомузыку подать например сигнал частотой 200 Гц, то будет гореть красная лампочка с яркостью пропорциональной уровню сигнала. Тут же лампочка либо горит, либо не горит, причем при высоком уровне AGC они просто тухнут. Если же на эту схему подать сигнал определенной частоты, то к примеру красная лампочка включится и погаснет, если сигнал будет продолжаться. Кто-то может объяснить идею как оно работает? Насколько я понял, оно мигает не на уровень сигнала а на его изменение, но почему при высоком уровне AGC лампочки тухнут?Код:if (AGC < 85) { CapBass = (int)(Bass + (9 * CapBass)) / 10; CapMiddle = (int)(Middle + (9 * CapMiddle)) / 10; CapTreble = (int)(Treble + (9 * CapTreble)) / 10; if (Bass > (CapBass + 10)) RealRed = 255; else RealRed = 0; if (Middle > (CapMiddle + 10)) RealGreen = 255; else RealGreen = 0; if (Treble > (CapTreble + 10)) RealBlue = 255; else RealBlue = 0; } else { RealRed = 0; RealGreen = 0; RealBlue = 0; }
Социальные закладки