Strobe декодер своими руками

Общение для желающих сделать что-то своими руками.
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Strobe декодер своими руками

Сообщение Лайтмен »

Всем привет ! Начну издалека... =)
Покупать очки за 2000+ рублей, когда их можно сделать самостоятельно за вечер - не хочется. Сделал.
Покупать машинку, когда вместо неё можно подавать соотв.сигналы с компа (например, BrainWave Generator или генерить самому) или с CD/MP3-плеера, ИМХО, тоже смысл не велик. К тому же, возможности машинки, как ни крути, более ограничены.
Остаётся только один узел, без которого ну совсем не обойтись - Strobe декодер.

Кто-нибудь собирал самостоятельно ? Если да, поделитесь, пожалуйста, схемой ! Если нет - буду раз любым идеям по проектированию/сборке такой схемки. Основные вопросы:
1. Как я понял, строб-сигнал имеет несущую частоту 19200 Гц (странно, почему не 22050 ? Ведь при частоте дискретизации 44100 сигнал 19200 Гц будет слегка "кривоват"; выходит, частота 19200 сложилась исторически ?).
2. Какова амплитуда этого сигнала ? Скажем, в процентах от макс.громкости (простите, в дБ я плохо понимаю :( ).
3. Строб-сигнал дискретный или нет ? Т.е. свет либо выключен, либо включен - или яркость регулируется плавно в завивисомти от амплитуды сигнала ?

Заранее всем спасибо за ответы/комментарии !
Андрей Патрушев
Автор сайта
Сообщения: 10613
Зарегистрирован: Вт май 30, 2006 19:17
Откуда: Екатеринбург
Контактная информация:

Re: Strobe декодер своими руками

Сообщение Андрей Патрушев »

Лайтмен писал(а):Всем привет ! Начну издалека... =)
Покупать очки за 2000+ рублей, когда их можно сделать самостоятельно за вечер - не хочется. Сделал.
Покупать машинку, когда вместо неё можно подавать соотв.сигналы с компа (например, BrainWave Generator или генерить самому) или с CD/MP3-плеера, ИМХО, тоже смысл не велик. К тому же, возможности машинки, как ни крути, более ограничены.
Остаётся только один узел, без которого ну совсем не обойтись - Strobe декодер.

Кто-нибудь собирал самостоятельно ? Если да, поделитесь, пожалуйста, схемой ! Если нет - буду раз любым идеям по проектированию/сборке такой схемки. Основные вопросы:
1. Как я понял, строб-сигнал имеет несущую частоту 19200 Гц (странно, почему не 22050 ? Ведь при частоте дискретизации 44100 сигнал 19200 Гц будет слегка "кривоват"; выходит, частота 19200 сложилась исторически ?).
2. Какова амплитуда этого сигнала ? Скажем, в процентах от макс.громкости (простите, в дБ я плохо понимаю :( ).
3. Строб-сигнал дискретный или нет ? Т.е. свет либо выключен, либо включен - или яркость регулируется плавно в завивисомти от амплитуды сигнала ?

Заранее всем спасибо за ответы/комментарии !
Здравствуйте.
Схема стробдекодера где-то болталась на ЮгЗоне. На форуме это уже обсуждалсь - поищите (там есть и прямые ссылки).
1. Не знаю, с какого плеера Вы бы стали брать сигнал в 22050Гц... :)
2. Уровень сигнала -36дБ.
3. Стробсигнал может быть любым по форме.
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Сообщение Лайтмен »

1. Разве их ЦАПы такое не выдадут ?.. С компа всё нормально (даже ужасная, встроенная в материнку, звучка нормально выдаёт), а МП3-плеера у меня никогда не было =)
2. Приблизительно понял: это довольно тихо; наверное, около 10..20% от макс.громкости.
3. Т.е. яркость пропорциональна амплитуде сигнала, ясно.

Схемку продолжаю искать, если что найдётся, выложу здесь, чтобы следующим искателям было проще найти =)
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Сообщение Лайтмен »

Кое-что накопал:

AudioStrobe декодер своими руками (гуглевский кэш страницы сайта astral.com.ru), внутри даны такие ссылки:
http://www.bwgen.com/magicjim/audio-strobe.jpeg - схема AudioStrobe декодера на чипе LM 567 (упоминалась в каком-то другом топике этого форума).
http://www.bwgen.com/magicjim/ - схема подключения к LPT. Минусы: а) не факт, что хватит мощи на несколько диодов на канал - ИМХО желательно включать их через транзисторные ключи, и б) только вкл/выкл, без яркости.
Такое же сообщение есть на работающей странице: http://forum.qrz.ru/thread5951.html

Тема "Аудиостроб диски" на этом форуме (админам: может, переименуете тему ?), там нерабочий линк на ту же схему на чипе LM 567, что приведена выше.

Ещё вспомнил: как-то видел, что один из форумчан говорил, что может поделиться схемой strobe-декодера при условии некоммерческого её использования. Однако найти этот пост мне так и не удалось.

Как что спаяю и затестю - отпишусь...
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Сообщение Лайтмен »

Схема для подключения очков к LPT:
Изображение
Конечно, не Strobe декодер, но и не оффтоп =), т.е. в помощь тем, у кого декодера нет.
Собрал, всё прекрасно работает ! Правда, с программой "FutureMind" с упомянутого там сайта ещё не ковырялся. Пока подключал очки только для теста, управлял своей Pascal-прогой. Для последователей: из-под любой NT-винды (NT, XP, 2000, 2003 и тем более Vista) работать не будет, система не позволит программе писать напрямую в LPT-порт. Либо грузимся под DOS, либо надо писать свой драйвер и работать с LPT-портом через него.
Подводные камни и прочие особенности:
1) т.к. диоды подключены не последовательно, а параллельно, брал питание с USB (крайние контакты), 5 вольт вместо 9-ти;
2) 5 вольт на диоды - много, надо последовательно с диодами (очками) подключать резистор где-то на 10 Ом, мощностью 0.25 (или лучше даже 0.5) Вт - разумеется, на каждый канал;
3) Если хочется регулировать яркость диодов в очках, но на них нет встроенного регулятора (т.е. очки-самопал), пользуемся переменным резистором номиналом примерно 3.5 кОм. Правда, на большой яркости реулироваться будет резко, на малой - плавно. Мощность резистора около 0.5 Вт, меньше не брать, сдохнет.
Рисую печатку для схемы, когда соберу, выложу фоты.
денден
Сообщения: 16
Зарегистрирован: Пн мар 17, 2008 4:58

Сообщение денден »

Привет Лайтмен,

Занимаюсь тем же самым, то есть делаю самостоятельно строб-очки.
Очки собрал, сейчас пишу софт.

Я взял вот эту схему - http://www.discolitez.com/pmwiki/pmwiki ... rdware.LED

и вот это описание -
http://www.hackcanada.com/homegrown/wetware/brainwave/

В итоге, очками можно управлять через Winamp плугин DiscoLitez (cветомузыка для развлечений) либо своим софтом.

Для того чтобы писать в LPT под XP есть много решений, например вот этот драйвер -
DriverLynx Port IO - http://www.driverlinx.com/DownLoad/DlPortIO.htm

Сейчас пишу софт, который будет анализировать звук из виндовз миксера на наличие аудиостроба и посылать в LPT строб нужной частоты.
денден
Сообщения: 16
Зарегистрирован: Пн мар 17, 2008 4:58

Сообщение денден »

Вопрос Андрею Патрушеву,

Я собираюсь написать программный аудиостроб декодер, но не смогу гарантировать точную фазу для аудиостроба. Параметры которые я смогу определить это частота, скважность и относительная фаза (левый-правый каналы).

Скажите пожалуйста, насколько важна синхронизация света, и звука для
общего эффекта. Спасибо!
Андрей Патрушев
Автор сайта
Сообщения: 10613
Зарегистрирован: Вт май 30, 2006 19:17
Откуда: Екатеринбург
Контактная информация:

Сообщение Андрей Патрушев »

денден писал(а):Вопрос Андрею Патрушеву,

Я собираюсь написать программный аудиостроб декодер, но не смогу гарантировать точную фазу для аудиостроба. Параметры которые я смогу определить это частота, скважность и относительная фаза (левый-правый каналы).

Скажите пожалуйста, насколько важна синхронизация света, и звука для
общего эффекта. Спасибо!
Эти параметры специально подбираются в программах для индукции различных состояний, поэтому очень важна начальная синхронизация каналов по фазе.
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Сообщение Лайтмен »

Привет, денден,
1) Линки посмотрел, лично мне 8-LED'овая схема не понравилась, ИМХО проще всё-таки взять два транзистора и два резистора, но подключать практически любые LED'ы, в т.ч. суперяркие...
2) Драйвер LPT для XP всё ещё сливаю =)
3) Свой софт - это рулез ! Могу взять на себя бремя бета-тестирования продукта =) Но есть одно "но" (да, я тоже кодер): если будешь брать звук через WaveIn или даже DirectX, то в любом случае будет некоторое запаздывание между строб-сигналом и самим миганием, а это не есть гуд. Возможно, если написать декодер как плагин к винампу, этого удастся избежать - но точно не уверен. Или написать свой простенький плеер с встроенным декодером - тогда точно будет синхронно...
Кстати, ты случайно не на Delphi кодишь ? А то может вместе прогу замутили бы... ;)
денден
Сообщения: 16
Зарегистрирован: Пн мар 17, 2008 4:58

Сообщение денден »

К сожалению, точно декодировать аудиостроб программно не удасться.
Между тобой и звуковой картой всегда будет буфер (либо виндовый миксер либо винамп миксер либо твой-плеер-миксер) иначе звук будет рваться.
Можно минимизировать задержку используя ASIO драйвера, но там все равно есть буфера. Это значит ты не сможешь гарантировать фазу строба, то есть строб будет отставать от звука.

В обшем, перелопатив кучу материала решил купить нормальный декодер =)


Пишу на Visual C
Саин
Сообщения: 52
Зарегистрирован: Вт июн 26, 2007 20:30
Откуда: Украина
Контактная информация:

Сообщение Саин »

Действительно, лучше купить нормальный. Хотя ЕСТЬ программные аудиостроб декодеры (выпускает одна немецкая фирма). Ссылку тут давать не буду, так как это будет рекламой и её все равно удалят. 8)
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Сообщение Лайтмен »

2 денден:
а кто мешает анализировать звук "наперёд" ? Если реализовывать вывод звука самостоятельно, можно применить двойную буферизацию. Например: пока играет буфер А, декодируем буф.Б, потом играем Б, попутно выдавая уже декодированные строб-сигналы в LPT-порт и анализируя уже следующий блок в буфере А, и т.д.

Поковырялся с упомянутой выше прогой FutureMind - порадовала, но не всем. Минусы: в комплекте всего около 8-10 "сценариев", очень мало. Плюсы: 1) поддержка "железа": отлично видит даже Yamaha'овскую звучку ноута из-под ДОСа без всяких дров, 2) довольно удобный интерфейс, 3) можно легко "застопорить" текущие параметры, приостановив выполнение "сценария", что оч.удобно.

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

Сообщение Кузьма »

На ЛМ567 - ничерта не декодирует. Моргает в такт амплитуде.
Гость

Сообщение Гость »

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

В лучшем случае можно получить управление стробом с задержкой на длину звуковых буферов + буферов виндовз миксера, то есть с потерей синхронизации звук-свет.
денден
Сообщения: 16
Зарегистрирован: Пн мар 17, 2008 4:58

Сообщение денден »

Гость - это я был :)
Кузьма

Сообщение Кузьма »

А не проше ли написать простенький бинауральный генератор по типу astral.exe?
Три диалоговых окошка: длина сессии, несущая частота, частота строба(биений) и окошко с графиком изменения частоты биений во времени (как в BWgen)? Ну и естественно вывод строба на LPT.
Мастера программеры, как считаете?
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Сообщение Лайтмен »

2 денден:
в DirectSound есть такая штука как Buf.GetCurrentPosition, где Buf: IDirectSoundBuffer (названия по памяти, могу ошибиться). Эта ф-я возвращает смещение в буфере на ту выборку, которая играет именно в текущий момент времени. Через неё синхронизироваться не трудно. Могу взять эту часть на себя, если ты напишешь процедуру детектирования строб-сигнала =) Потом состыкуем.
2 Кузьма:
Вообще, это очень просто. Но фишка в другом: получится только световое воздействие, без звука. Как следствие, совсем не так эффективно. Если генерить ещё и звук - проще воспользоваться описанной выше прогой FurureMind.
Насчёт LM567: ты уверен, что всё правильно спаял ?.. (Кстати, я вот как раз допаиваю эту схемку, может, у меня получится...)
Кузьма

Сообщение Кузьма »

2 Лайтмен

Я имел в виду СО звуком. Генератор биноуральных звуков + мигание светодиодов.
Я просто подумал, что написать СВОЙ генератор гораздо проще, чем синхронизировать всю эту байду через буфера и т.п. Хотя могу ошибаться.

Ну а насчет FutureMind, она же вроде триальная? Или есть кряк?

Есть еще подобная прога PCM-MIND, тоже из-под ДОС. У меня не запустилась.

Насчет ЛМ567 уверен. Паяй для начала 1 канал. Разный аудиостроб на каждый глаз - редкость.

Кстати с помощью этой схемки И BWgen я могу за пару секунд сгенерить любую сессию. Точнее "светодиодную" часть, без звука. За счет амплитудной модуляции сигнала.
денден
Сообщения: 16
Зарегистрирован: Пн мар 17, 2008 4:58

Сообщение денден »

[quote="Кузьма"]
Я просто подумал, что написать СВОЙ генератор гораздо проще, чем синхронизировать всю эту байду через буфера и т.п. Хотя могу ошибаться.

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

Лайтмен
Функцию декодирования аудиостроба я тебе напишу, а с DirectSound синхронизацией ничем увы помочь не могу.
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Сообщение Лайтмен »

2 Кузьма и 2 All: схемку на LM567 спаял, всё работает !!! Единственный минус - на выходе (8-я лапа) чипа имеем отрицательный сигнал (где-то внутри чипа он инвертируется, зараза), из-за этого ХЗ как подключить транзисторный ключ на выходе - микруха по datasheet'у тянет только 100 мА, на 6 ультраярких белых китайцев может не хватить, но проверю и отпишусь... Консультировался со знакомыми электронщиками насчёт этого транзисторного ключа - говорят, вообще ХЗ, сами не знают...
Настройка схемы: запускаем тест AudioStrobe в BWGen. подключаем осциллограф к 8-й лапе (выход) и крутим резистор P1, пока не увидим наиболее чёткого разграничения "единичного" выхода от "нулевого". Увидите - поймёте, о чём я. Если нет осциллографа - просто тупо подключаем диод на выход (с резюком около 100-150 Ом для советского диода и питания 5V) и аналогично настраиваем резистор P1.
Пока не разобрался: возможно, strobe-сигнал на AudioStrobe-дисках как-то отличается от BWGen'овского (амплитуда, форма сигнала, etc.) - так что желательно подобрать P1 так, чтобы схема идеально работана и на BWGen, и на strobe-дисках. Уточню - отпишусь.

FutureMind - Freeware, с этим без проблем.

2 денден: Ok, жду исходника ф-ии. Но тока на дельфе - с сями не знаком, а DLLки подключать пока не умею :-[
Кузьма

Сообщение Кузьма »

Лайтмен писал(а):2 Кузьма и 2 All: схемку на LM567 спаял, всё работает !!!
Конечно работает. От амплитуды.
Лайтмен писал(а):Единственный минус - на выходе (8-я лапа) чипа имеем отрицательный сигнал (где-то внутри чипа он инвертируется, зараза), из-за этого ХЗ как подключить транзисторный ключ на выходе - микруха по datasheet'у тянет только 100 мА, на 6 ультраярких белых китайцев может не хватить, но проверю и отпишусь... Консультировался со знакомыми электронщиками насчёт этого транзисторного ключа - говорят, вообще ХЗ, сами не знают...
PNP транзистор
Лайтмен писал(а):Настройка схемы: запускаем тест AudioStrobe в BWGen. подключаем осциллограф к 8-й лапе (выход) и крутим резистор P1, пока не увидим наиболее чёткого разграничения "единичного" выхода от "нулевого". Увидите - поймёте, о чём я. Если нет осциллографа - просто тупо подключаем диод на выход (с резюком около 100-150 Ом для советского диода и питания 5V) и аналогично настраиваем резистор P1.
Естественно, когда есть ТОЛЬКО аудиостроб схема работает идеально. Попробуйте сделать нормальную сессию в BWgen с ярко выраженным стробом, не совпадающим по ритму с основным звуком, например 0,1 - 0,2 Гц.
Лайтмен писал(а):Пока не разобрался: возможно, strobe-сигнал на AudioStrobe-дисках как-то отличается от BWGen'овского (амплитуда, форма сигнала, etc.) - так что желательно подобрать P1 так, чтобы схема идеально работана и на BWGen, и на strobe-дисках. Уточню - отпишусь.
Этот потенциометр (Р1) не подстроечный. Как пишет сам автор схемы - для баловства.
P1 potentiometer is used to adjust freqency less then 19200Hz, I found it usefull when listening to
"regular" music.
Лайтмен писал(а): FutureMind - Freeware, с этим без проблем.
"File - Save" and "File - Save As..." functions are disabled
L/S playback is limited to 10 min., after which it automatically stops
only 8 selected L/S sessions from our standard library are included
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Сообщение Лайтмен »

2 Кузьма: читаем внимательно всё ниже написанное... Кстати, пункт 1) я проверил первым делом ещё до твоего поста, благо не дурак.
2 All:
1) Работает не "от амплитуды", а как надо. Проверял так: запускаю BWGen -> Configuration wizard, из него подбираю zero level и max brightness. Одновременно в винампе на макс.громкости играет Pain - On and On (музыка, по звучанию приближающаяся к белому шуму =) ), при этом схема лишь совсем слегка реагирует на музыку (яркость процентов до 10 от максимума) и прекрасно детектит строб-сигнал (выдавая 100% яркость), хотя амплитуда strobe-сигнала не превышает 10-15% от амплитуды музыки. Проверить элементарно - включаем запись с Wave out и смотрим.
2) Выход чипа, лапа №8. Из питания в схеме у нас есть 0 (земля) и есть +5V (питание). На 8-й лапе, по данным осциллографа и мультиметра, имеем сигнал около -0.2V (минус!), что не есть гуд. Но всё оказалось весьма просто - подключил напрямую 6-диодный модуль (все белые ультра-яркие из китайского фонарика) - при тестировании строба на макс.яркости и скважности испульсов 50% мультиметр показал всего около 20 мА (не верю !), а чипы совершенно не грелись даже при длительном испытании. Вывод: никакой транзисторный ключ нафиг не нужен - по крайней мере, для таких самопальных очков, как у меня. Яркость же их более, чем впечатляет - ИМХО больше незачем.
3) Резистор P1. Кузьма, я умею читать, и прекрасно знаю, что P1 - не подстроечный резистор. Однако у Вас схема работает неправильно, а у меня - правильно, так что предлагаю послушать меня. Напомню: я задался целью сделать строб-декодер, а не хрень, мигающую диодами в такт музыке. Итак, при увеличении сопротивления P1 снижается детектируемая чипом частота, он начинает "ловить" не только строб-сигнал, т.е. становится менее устойчивым к высокочастотным звукам в музыке. Однако при R(P1)~=0 схема не всегда ловит строб-сигнал. Т.о., я предлагаю покрутить P1 и подобрать такое сопротивление, при котором будет лучше всего детектиться именно strobe-сигнал, а не всякая ерунда. Результат для своих условий сообщу чуть позже, как подберу - пока некогда.
4) Примеси к сигналу. При эксплуатации схемы обратил внимание на посторонний писк в наушниках. Его основная частота снижается при увеличении сопротивления P1, т.о., это помехи от LM 567. По питанию у меня стоят два кондёра на 1 мкФ, как и на схеме, но этого мало, т.к. от этого же напряжения мы питаем светодиоды. Кстати, когда они начинают светить/мигать, искажения сигнала удесятеряются - к ним примешивается хрип от включения/выключения светодиодов. Думаю, нужен кондёр где-нибудь на 220 мкФ, но пока не проверял. Подберу/проверю - обязательно отпишусь.
5) FutureMind. Брр, да, верно, он триальный, но работает. ИМХО его даже такого вполне достаточно, чтобы "пропереться" по AudioStrobe-теме и собрать/нарыть нормальный strobe-декодер =)
Гость

Сообщение Гость »

У кого нет осцила тяним здесь http://xgurux.ucoz.ru/tester.rar
осцилограф+ генератор+ спектрограф
в качестве ацп используется звуковая карта поэтому частота ограничена
20кгц.
Р.S. ну с подключением думаю разобраться можно
:)
Аватара пользователя
Лайтмен
Сообщения: 17
Зарегистрирован: Сб мар 08, 2008 11:38

Сообщение Лайтмен »

2 All: при использовании программного "осциллографа" имеем в виду, что "земля" на компе общая для всего, т.е. земля питания = земля всех аудио-входов/выходов = "земле" питания USB и т.д. Т.о., на вход можно подключать вообще всего один провод - сигнальный; однако подключать к "земле" LineIn что-либо, отличное от земли, как правило, приведёт к замыканию.
Кстати, надо и самому эту прогу слить, пригодится ;)...
Гость

Сообщение Гость »

В чем проблема?
поставь конденсатор
Ответить

Вернуться в «Делаем сами»