Звук из картинки. Оптический синтезатор Look Modular

    Привет GT!
    4 июня в Москве пройдёт очередной фестиваль музыкальных технологий Synthposium. На нём соберутся любители синтезаторов, чтобы крутить ручки, собирать патчи, нажимать на клавиши и восхищаться звуками.
    Нас тоже пригласили сделать для фестиваля что-нибудь прикольное.
    И мы собрали аналоговый оптический синтезатор.


    (Осторожно, трафик!)

    Сейчас вы увидите лучший в мире аналоговый синтезатор с мото-о-о-ором… И MIDI.
    Ладно, ладно. Лучшим аналоговым с мотором был Hammond Organ, но MIDI у него точно не было.


    VCO




    Знаете, как воспроизводят звук с киноплёнки в кинотеатре? В самом простом варианте звук записан на ту же киноплёнку в виде двух дорожек — левый и правый канал. Вот на этой картинке — стерео звук слева, в виде двух белых дорожек. Там рядышком ещё куча цифровой информации, но сейчас не об этом.
    Свет проходит через плёнку и попадает на фототранзистор.
    Если очень грубо, фототранзистор превращает попавшие в него фотоны в электрический ток и усиливает его.
    Чем больше фотонов попало на транзистор, тем меньше его сопротивление, и, соответственно, меньше напряжение на Vout. Если освещённость фототранзистора меняется в диапазоне слышимых частот, то при подаче сигнала с Vout на усилитель с динамиком, мы услышим звук.

    Я решил сделать синтезатор на том же эффекте.
    В качестве звукоснимателя использовал вот такой датчик линии:

    image

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

    Теперь возьмём какую-нибудь картинку и моторчик:



    Крутанём мотор — яркость под датчиком начнёт циклически меняться. Вот такая форма волны у меня получилась из этой картинки:



    Если крутить картинку с частотой не в пару герц, а, скажем, где-нибудь в 440 Гц, получим ноту ля первой октавы. С тембром, напоминающим тембр какой-то периодической функции. А если взять картинку посложнее? Получим тембр… посложнее.

    Pitch


    Наш аналоговый синтезатор должен уметь вращать картинку с частотой ноты, которая пришла к нему по MIDI. По высоте звука хотелось захватить хотя бы пятую октаву. В соответствии с таблицей нот и частот это где-то под 1 кГц.
    Значит нам нужен очень шустрый мотор, который сможет обернуться 1000 раз в секунду. Я взял подходящий от радиоуправляемого вертолёта.

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



    У CD-привода есть своя микросхема-драйвер, которая управляет двигателем. Достаточно подпаяться к нужным пинам, и мы получим возможность управлять скоростью вращения двигателя и узнаем частоту, с которой он вращается. В моём случае это была микросхема M63044FP. Даташита на неё я так и не нашёл. Зато нашёл даташит на очень похожую M63022FP. Она отличалась распиновкой, поэтому пришлось искать нужные ножки методом тыка.


    Скорость вращения регулируется подачей аналогового напряжения на ножку SPIN. Я взял резистор на 220 Ом, подпаял к нему проводок. Включил питание. Тыкнул одним концом резистора в шину 5 В CD-привода, а проводком протыкал все ножки микросхемы. При контакте с нужной ножкой движок запустился. Я удивлён, но в процессе ничего не сгорело.
    Для контроля частоты вращения осталось найти пин OSC, который выдаёт меандр при переключении обмоток двигателя. Тут уж пришлось расчехлить осциллограф, запустить двигатель и искать.

    Дальше просто. Следим за дорожкой от ножки и ищем — куда бы припаяться?
    Заодно припаяем LM7805 к пину 5V питания, чтобы питать всю конструкцию одним источником напряжения в 12 В.
    Припаяны проводки на SPIN, OSC. И земля, чтобы все девайсы были на одной волне:


    Картинка кликабельна

    Регулятор, кстати, при работе очень горячий. Обжечься вполне реально. Но во время DIY-запоя меня такие вещи не особо напрягают. Работает.
    Движок от CD-привода позволил разгонять картинку до 250 Гц. Стало быть, малая октава — максимум. Ничего не поделаешь, в таком случае у нас басовый монофонический аналоговый синтезатор. Совсем как Moog Minitour.

    ADSR envelope


    Звук синтезатора определяется, ко всему прочему, низкочастотной модуляцией по громкости и/или частоте среза фильтра (ADSR envelope). Мне тоже хотелось такую штуку в своём синтезаторе. Как это сделать?
    Следите за руками:
    Так как постоянная составляющая сигнала с нашего звукоснимателя срезается входным конденсатором усилителя, громкость звука в нашем случае — это разница между самым тёмным и самым светлым участками картинки. Чем дальше датчик от картинки — тем меньше эта разница, поскольку всё меньше фотончиков долетает до фототранзистора от самых светлых участков. Чем ближе датчик — тем больше эта разница, а значит больше и амплитуда сигнала.
    Если датчик поднести очень близко к картинке, в светлых местах транзистор откроется на полную катушку. Гладкие участки звуковой волны от этого срежутся. Результат — эдакий distortion-эффект с резким увеличением количества высоких гармоник. Это сильно украсит звук. Поэтому я посадил датчик на сервопривод.



    При MIDI-событии NoteOn он будет быстро приближаться к картинке тем ближе, чем больше скорость нажатия клавиши MIDI-клавиатуры (velocity). С течением времени можно медленно поднимать датчик. Вот такой вот механический ADSR.

    Аналоговый тракт


    Аналоговый тракт не должен пересекаться с силовой и цифровой частью, чтобы не ловить оттуда помехи. Поэтому я просто впаял ещё один LM7805 с электролитическим и керамическим конденсаторами в Troyka Shield. На вход подал 12 В с Vin, а выход отправил на датчик линии и модуль-усилитель звука. Выход датчика линии припаял напрямую ко входу усилителя. Всё, теперь у нас отдельный аналоговый контур питания.




    MIDI


    MIDI-вход пришлось колхозить на оптопаре 6N137. Можно было обойтись и одним транзистором с парой резисторов, но так не по стандарту.


    Сборка


    Электроника

    Сборка конструктива со #Структором — это просто. Из электроники у нас будет:
    • IskraJS — попробую наконец-то микроконтроллерный JavaScript. Кроме того, у неё есть 12-битный ЦАП. Он как раз пригодится для управления ножкой SPIN драйвера мотора;
    • Troyka Shield — мимимизируем пайку;
    • Микросервопривод FS90 — механический ADSR;
    • Датчик линии — наш звукосниматель;
    • Troyka-аудиоусилитель — секретные разработки нашего КБ. Пока дефицит, но уже в производстве;
    • Troyka-MIDI IN — TODO нашего КБ. Пришлось паять на макетке.

    Все эти детали имеют специальную оснастку из #Структора, поэтому сборка это:
    1. Одеть электронику в #Структор;
    2. Ножом и линейкой вырезать из мегапанели площадку для творчества под размер CD-привода;
    3. Закрыть глаза и натыкать электронику, куда влезет. У меня получилось вот так (кликабельно):



    Механика

    Для того, чтобы прикрепить картинку на вал моторчика нужен какой-то крепёж. Я пробовал приклеивать картинку сразу на шпиндель двусторонним скотчем, но картинки быстро отлетали. Да и менять их неудобно.
    Хорошо, что в самом CD-приводе есть такое крепление. Этот кружок живёт в верхней крышке CD-привода, и фиксирует компакт-диски на шпинделе. В нём есть магнитик, поэтому его легко снимать со шпинделя и размещать обратно. Ну а картинку можно клеить на двусторонний скотч уже к нему.

    Здесь же видно и супер-лайфхак для снижения времени портаменто при изменении частоты вниз. Моторчик от CD-привода не умеет тормозить. Поэтому портаменто вниз становится настолько неприлично длинным, что это уже прямо глиссандо какое-то. Поэтому был добавлен тормоз из сложенной бумажки.

    Ставим электронику на CD-привод

    Последний штрих. Электроника просто ставится в CD-привод. Если что, в любой момент можно вытащить.



    Электрические соединения

    • MIDI-in — P0;
    • SPIN — A4;
    • OSC — P2;
    • Микросервопривод — P13.
    • Питание CD-привода — Vin


    Код


    Код доступен на github.com

    Демонстрация


    Мы, как всегда, записали про этот проект видео. Послушать, как этот синтезатор звучит можно с 10:36.


    Как можно улучшить?


    С огибающими из сервопривода получилось забавно, но всё-таки лучше было бы для этой цели обойтись без механики. Атака слишком длинная. Острую атаку можно было бы получить, если использовать вместо светодиода подсветки лампу накаливания и ШИМ.

    Эпилог


    В общем, если интересно поиграть на Look Modular, приходите 4 июня на Synthposium. Я в 16:30 буду его показывать. Принесу много бумаги, ножницы, двусторонний скотч, журналы и фломастеры. Поэкспериментируем вместе.

    UPD


    Вот и прошёл Синтпозиум. Спасибо организаторам и участникам, было очень интересно.
    Спасибо всем, кто экспериментировал со звуком из картинок вместе со мной. Я не ожидал такого тёплого приёма. По результатам экспериментов, лучше всего звучит вот этот пресет:
    image

    Видео из инстаграма с мероприятия
    Амперка
    Компания

    Похожие публикации

    Комментарии 36

      +3
      Забавная штука.
        +2
        Спасибо. Идей про оптический синтез ещё куча. Время бы найти)
        +1
        «Свет проходит через плёнку и попадает на»

        Обычно ФЭУ.
          +1
          Спасибо, не знал. Почитаю про него — вроде интересная штука.
          +2
          С частотами малость напутали: 250 Гц- это где-то между СИ малой октавы и ДО первой. В третьей октаве частоты начинаются с 1 КГц. Т.е. диапазон вашего инструмента получился ДО субконтроктавы до СИ малой. Вообще-то можно частоту «разогнать» много выше если применить датчик с более высоким разрешением (скажем в киноаппарате для считывания фонограммы помимо фотодатчика есть еще и оптическая система).
          Забавная машинка вышла… А что если фотодатчик повесить не на серве, а на чем-то подобном механизму фокусировки в CD/DVD- приводе?
            +2
            Для увеличения частоты высоких гармоник оптическая система была бы очень кстати. С микроскопом — вообще идеально. Механизм фокусировки как в cd-приводе в таком случае сработал бы как низкочастотный фильтр. Расфокусировали — низкие частоты, сфокусировались — высокие.
            По частотам — спасибо, исправлю. Можно увеличить октаву, повторив картинку несколько раз, как в калейдоскопе
            0
            Как вижу — усилитель класса D. Ну и зачем тогда понт с теплым аналоговым звуком?)))
            Надо было запилить простейший усилитель на транзисоре =)
              +1
              Извините, не понимаю. Где усилитель класса D? На Troyka-усилителе стоит сдвоенный операционник. А больше усилителей и нет.
              На транзисторе тоже можно было, но усилитель под рукой уже был, а лишнюю работу делать не хотелось)
                +1
                А, ну тогда дргое дело )))
              +1
              Единственное, что я только не понял из видео: Можно ли использовать не cd-привод? А то старый сидюк не у всех есть, а, скажем, дешевенькие бесколлекторные моторые можно точно купить, вместе с контроллером.

              Пойду, короче сделаю такой же, только с ШИМом и подсветочкой.
                +1
                Да конечно можно. Хоть от старого кассетного магнитофона.
                  +3
                  Но если вы действительно будете его делать, не поскупитесь и возьмите диск побольше, чтобы поместилось несколько фотодиодов. У каждого из них будет свой тембровый рисунок. Потом микшером объедините и получите возможность изменять звук на ходу.
                    +2
                    А еще можно схитрить и сделать то же самое программно. Т.е. записать рисунок в память контроллера и циклически воспроизводить его с разной скоростью. Но это будет уже не так наглядно.
                      +1
                      Можно, только ЦАП нужен хороший
                      +1
                      А если к ним ещё и светофильтры цветные добавить...:)
                        0
                        Если взять диск побольше, очень сильно вырастет требование к мощности мотора. Скорости достаточно большие, а осевой момент инерции растёт с квадратом радиуса. Нужно иметь это ввиду.
                          +1
                          Зато проще уменьшить частоту вращения без потери частоты звука за счёт повторяющегося рисунка, или подключить фотодиоды к сумматору — получим гармоники, двигая не только верх вниз, но и вправо влево, можно менять фазу гармоник, в общем копать не перекопать.
                            0
                            Кстати да… Отличная идея, можно сдвигом фаз поиграть.
                      +1
                      Можно любой, хоть коллекторный) Главное, чтобы частота была большая, и контроль частоты был, хотя бы с энкодера. Вот такой движок (правда со снятым передаточным узлом) до 180 Гц вполне разгоняется
                      –1
                      Пусть это побудет здесь: http://m.youtube.com/watch?v=IvUU8joBb1Q
                        0
                        Конечно. Пусть побудет — я не против)
                        0
                        Запилите еще парочку таких и го лабать аккордами =)
                          +1
                          Точняк, 8 CD-приводов достаточно всем) Но, по опыту, игра аккордами с портаменто от которого невозможно избавится, звучит не очень)
                          0
                          Синтеза́тор «АНС» — фотоэлектронный оптический музыкальный инструмент, сконструированный советским инженером Евгением Мурзиным.
                            0
                            У АНС другой прикол. По сути, АНС — большая электронная шарманка, с очень большим разрешением. Если на рояле 88 клавиш, то у АНС более 700 на тот же диапазон частот.
                            +1
                            Если разделить кружок на 4 равных сектора — 2 белых, 2 чёрных — получим частоту, вдвое большую исходной моторчика, и т.д.
                            Апгрейд: добавить 2-3 датчика так, чтобы у каждого была своя дорожка — можно будет составлять аккорды, или управлять гармониками в тембре, или играть с противофазой, или экспериментировать с панорамой)
                            Напомнило хаммонд
                              0
                              Так и есть)
                              +1
                              А еще можно на диске рисовать узоры, добиваясь различных звуковых эффектов. Не так давно здесь была статья, как это делали советские инженеры…
                                0
                                чем это лучше программных синтезаторов звука?
                                имхо какаято неоправданная трата времени да же если просто потешить свое ЧСВ
                                  0
                                  Только для демонстрации эффектов
                                    0
                                    Так можно сказать про любой хардварный синтезатор. И развязать тем самым священную войну) Мне воевать не интересно. Вот придумывать что-то — совсем другое дело.
                                      +1
                                      некоторые вещи в хардваре всё таки проще сделать, что то типа хаотических атракторов, правда насчёт музыкальности таких синтезаторов не уверен.
                                        0
                                        Хм… Если программа уже написана, то использовать её для своей музыки новому пользователю гораздо проще, чем сделать новый хардварный синтезатор.
                                        Но вопрос был — чем это лучше софтварных синтезаторов? И вот эта тема — очень холиварная.
                                        Вчера был на Синтпозиуме. И там один парень (представитель фирмы, продающей ламповые усилители) пытался на такую войну меня вывести. Я объяснил, что если он не прекратит, то я специально стану вслух сомневаться в полезности ламп в усилителях. Война кончилась не начавшись:)
                                        Понятия «лучше» и «хуже» при разговоре о синтезаторах очень часто лежат в области эмоций конкретных людей. И эмоции эти часто очень сильны, сродни любви. Поэтому лучше и не начинать)
                                          +1
                                          Немного промахнулся, веткой =) насчёт ламп в усилителях у меня например тоже сомнения, поднять выходное сопротивление усилка и вот вам тёплый ламповый. конечно лампы можно делать чутьли не в домашних условиях с помощью газовой горелки и шприца.
                                          Хоть с музыкой связан только как потребитель, но если для 4 дума брали совесткий синтезатор, а не про в програмке сбацали, значит на то были причины, как минимум с удобством работы.
                                            0
                                            Тут дело скорее в том, что ламповые усилители сами по себе вызывают положительные эмоции. Всегда есть некое внутреннее «вау», когда о них говоришь. Железные синтезаторы тоже — они вызывают положительные эмоции сами по себе. Все эти тумблеры, лампочки, клавиши. И волшебная «неонка», которая у них внутри. Советский синтезатор в Doom использовали из тех же соображений, как мне кажется. Это вызывает положительные эмоции:)
                                            Кстати о эмоциях. Знаете, каким был самый популярный «пресет» для Look Modular на Синтпозиуме? Вот он:



                                            По мнению опрошенных ребят — звучали шикарно)
                                              0
                                              Тут даже без звука смешно до слёз.

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое