Как Жаклин Ли визуализирует звук с помощью машинного обучения

Жаклин Ли учится на пятом курсе Северо-восточного университета, изучает компьютерные науки и дизайн. Недавно она завершила свой ключевой проект Synesthesia Lens, представляющий собой синестетический визуализатор звука с использованием ml5.js и p5.js. Продолжайте читать, чтобы узнать больше о ее работе!

Интервью Озиомы Чуквукеме

Можете ли вы рассказать нам больше о себе?

ДЛ: В настоящее время я учусь на пятом курсе Северо-восточного университета и заканчиваю его в мае. Я вырос в Вирджинии и переехал в Нью-Джерси, чтобы учиться в средней и старшей школе. Я всегда отдавал предпочтение STEM — мне нравилась математика, но у меня не очень хорошо получалось, и мне нравилась физика. Но даже при этом в старшей школе я толком не знал, чем хочу заниматься в колледже. Самое смешное, что я ненавидел информатику в старшей школе и не хотел заниматься ею в колледже. Моя мама продолжала говорить мне: «Ты должен это сделать, это очень просто», но я думал, что это запутанно и сложно, поэтому я подумал, что имеет смысл поступить в колледж незаявленным инженером, так как это все еще царапало этот зуд STEM в моем мозгу. . После семестра я понял, что инженерное дело не для меня. Итак, я решил дать информатике второй шанс; Я сменил специализацию с инженерии и в конце концов остановился на объединенной специализации компьютерных наук и дизайна.

Причина, по которой я выбрал дизайн в качестве второй половины своей специальности, заключалась в том, что я всегда был артистичным ребенком, но никогда не думал об этом как о чем-то, чем я мог бы заниматься профессионально. Изучив немного больше, я понял потенциал, который у него есть для карьеры, такой как UI / UX, дизайн продукта и разработка интерфейса. Что-то, что действительно вызвало мой интерес, было посещение выставки ARTECHOUSE Зака ​​Либермана в Вашингтоне. Я искренне думал и до сих пор думаю: «Это одна из самых крутых вещей, которые я когда-либо видел». Это было прямое пересечение CS и дизайна, о существовании которого я раньше не знал, и это стало нишей, которую я хотел исследовать .

Расскажите нам о вашем завершающем проекте; каково было ваше вдохновение и подход?

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

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

Если вас интересуют мельчайшие детали, я использовал ml5.js, чтобы выяснить частоту аудиоданных. Затем я преобразовал каждую частоту в ноту, которой она соответствует, и визуализировал это с помощью линии с цветом указанной ноты, как это видел Скрябин. Если вы хотите увидеть точное сопоставление нот с цветами, загляните в раздел «О проекте» на моем веб-сайте!

С какими трудностями вы столкнулись при создании этого проекта?

ДЛ: Я вошел в этот проект вслепую, потому что у меня не было большого опыта работы с творческим кодом, так что препятствие за препятствием. Я нашел видео из The Coding Train на Youtube, которые помогли мне начать, когда я не знал, как работают такие вещи, как функция draw(), поскольку я так привык к объектно-ориентированному программированию.

Когда я углубился в проект, одной из самых больших проблем стало выяснить, как получить данные о частоте. Первоначально я использовал библиотеку p5.js FFT (быстрое преобразование Фурье) для получения частот, но у меня возникли проблемы с этим, и я подумал, что должен быть более простой способ. В конце концов, я нашел видео The Coding Train Ukulele Tuner и решил использовать ml5.js.

Что побудило вас использовать ml5.js и p5.js вместо других инструментов?

JL: Я думаю, что это действительно веб-редактор для p5.js — с ним очень весело и легко начать работу. Мой первоначальный план состоял в том, чтобы поработать в p5 и посмотреть масштабы его возможностей, а если бы мне нужно было больше, то я бы заглянул в Processing. Однако я чувствовал, что для этого проекта p5 более чем достаточно. Я даже не знал о существовании ml5, пока не столкнулся с проблемами с частотами — и это была находка!

Был ли у вас предыдущий опыт машинного обучения?

ДЛ: Удивительно, но у меня нет опыта работы с машинным обучением. В моем университете обязательные занятия, которые мы должны были пройти, были посвящены основам. Итак, мой первый урок информатики там был на языке под названием Racket — это функциональный язык программирования, который заставляет вас думать как программист, и его было очень трудно выучить. Некоторые из моих друзей выбрали машинное обучение в качестве факультатива, но в то время меня это не интересовало, потому что я хотел заняться интерфейсом и узнать больше о веб-разработке. Так что у меня не было предыдущего опыта работы с машинным обучением, но ml5.js сделал его очень простым для понимания, и мне интересно узнать больше о машинном обучении и искусственном интеллекте.

Есть ли у вас планы на будущее для этого проекта?

ДЛ: Мой первоначальный план состоял в том, чтобы создать несколько визуализаций для Линзы синестезии, но из-за нехватки времени у замкового камня я не смог этого сделать. Летом я планирую сделать более интерактивные и уникальные визуализации для этого проекта. Я также хочу изучить генеративное искусство и креативный код и надеюсь сделать больше в будущем!

Не забудьте подписаться на социальные сети Жаклин, чтобы быть в курсе ее работы:

Живой проект: https://www.synesthesia--lens.com

Веб-сайт Жаклин: https://www.jacquelineli.com

Инстаграм: @didotfanclub

TikTok: @influenczar