Оглавление:

Synesthesia Player Piano: 4 шага
Synesthesia Player Piano: 4 шага

Видео: Synesthesia Player Piano: 4 шага

Видео: Synesthesia Player Piano: 4 шага
Видео: SYNESTHESIA | Caroline Scruggs 2024, Июль
Anonim
Image
Image
Synesthesia Player Фортепиано
Synesthesia Player Фортепиано
Synesthesia Player Фортепиано
Synesthesia Player Фортепиано

Этот пианино-плеер воспроизводит музыку с помощью цветового круга и камеры! Изображения фиксируются камерой, обрабатываются и интерпретируются как музыкальные ноты. Прямо сейчас он запрограммирован на воспроизведение детских стишков, которые можно изменить, загрузив новый эскиз Arduino, в котором указано, какие ноты следует воспроизводить (какие цвета должны отображаться на камеру).

Встроенный ПК с Linux запускает службу при загрузке, которая делает снимок камерой, вычисляет функцию значений RGB в изображении и выводит звук на основе возвращаемого значения функции. Перед воспроизведением звука он отправляет сигнал, говорящий Arduino вращать сервопривод, представляя цвет, соответствующий следующей проигрываемой ноте. Затем цикл начинается снова, делается снимок, вращается цветовое колесо и воспроизводится звук до бесконечности.

Этот проект - интересный способ интегрировать музыку, современное системное программирование Linux, программирование микроконтроллеров, рисование в inkscape, лазерную резку и перепрофилирование некоторых картонных коробок.

Весь код и SVG inkscape доступны на github по адресу:

github.com/melvyniandrag/pyMusic

Используемые материалы:

  1. Пустые белые этикетки
  2. Картонная коробка
  3. Вебкамера
  4. Мелки
  5. Ардуино
  6. Биглборд-xM
  7. Провода
  8. Последовательный кабель
  9. Базовые знания в области обработки изображений и музыки

Шаг 1. Компьютерные материалы

Компьютерные вещи
Компьютерные вещи
Компьютерные вещи
Компьютерные вещи
Компьютерные вещи
Компьютерные вещи

На борту вам понадобится небольшой компьютер с поддержкой Linux, например Raspberry Pi. Я использовал старую доску BeagleBoard-xM, потому что она у меня лежала, и у меня уже была операционная система на SD-карте. Вы можете использовать все, что угодно, если оно может работать с веб-камерой, может запускать OpenCV (библиотека компьютерного зрения, используемая для получения и обработки изображений цветового круга) и имеет разъем для аудиовыхода.

Я настроил операционную систему для запуска кода Python, который записывает изображения при загрузке, следуя руководству по systemd. Для запуска сценария вам необходимо выполнить sudo apt-get install python-pyaudio python-opencv, чтобы получить указанные библиотеки. Вам также нужно будет установить numpy pyserial, чтобы получить эти библиотеки. pyaudio используется для воспроизведения звуков, opencv используется для съемки и обработки изображений, numpy также используется для обработки изображений, а pyserial необходим для связи с Arduino.

Arduino используется для вращения серводвигателя, на котором установлено цветовое колесо. Если бы у вас был Raspberry Pi, вы могли бы использовать контакты GPIO и не использовать Arduino, но вам нужно было бы изменить код Python.

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

Шаг 2: Фортепиано

Пианино
Пианино
Пианино
Пианино
Пианино
Пианино

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

Я измерил компьютер, Arduino и сервопривод, чтобы знать, сколько места мне понадобится, нарисовал части пианино чернилами и вырезал их на лазерном резаке. (Правка: у меня закончился картон, чтобы корпус вмещал компьютер и arduino, поэтому я не вставил их. Они находятся снаружи корпуса. Не имеет значения, можно было откуда-то взять другую коробку, но это не так. в конце концов, это не имеет значения.)

Детали были соединены эпоксидной смолой.

Шаг 3: Сборка

сборка
сборка
сборка
сборка
сборка
сборка

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

Шаг 4: Технические проблемы и будущие соображения

Технические проблемы и перспективы на будущее
Технические проблемы и перспективы на будущее
Технические проблемы и перспективы на будущее
Технические проблемы и перспективы на будущее

Сложной частью этого проекта было получение правильных значений RGB для считывания камерой. У меня есть веб-камера с невероятно яркими светодиодами, которые я не знаю, как выключить в Linux. Думаю, есть драйвер для Windows, который позволяет их включать и выключать. Я экспериментировал, заклеивая светодиоды изолентой и оставляя их включенными. Я также протестировал программное обеспечение на надежность, не только показав его цветной бумагой, но и написав небольшой веб-сайт, который показывает цвета.

Звуки, издаваемые компьютером, иногда имеют треск и треск, и это происходит из-за того, что у меня очень мало опыта в программировании аудио для Linux. Библиотека pyaudio выдает массу жалоб на то, что JACK не установлен на ПК, но по умолчанию JACK не хочет работать без головы (без рабочего стола с графическим интерфейсом и монитора). Это задача программирования, которую я считал усовершенствованной, но не необходимой для выражения сущности плейера, который я имел в виду.

Я подумал об использовании рукоятки для изменения цвета и, возможно, о том, чтобы поместить их на скалку, но это вносит свои собственные сложности. Сервопривод немного шумит, но пока работает нормально.

Пианино плейера в настоящее время запрограммировано только на воспроизведение 4 нот. Это связано с тем, что сервопривод перемещается только на 180 градусов, большинство детских стишков можно воспроизводить только с 3-4 нотами, и я не хотел, чтобы цветовое колесо было загромождено цветовыми областями, что могло бы сбить с толку камеру. Итак, благодаря сочетанию музыкальной удачи и технических ограничений, 4 ноты - это нормально.

Рекомендуемые: