Інтернет-конференції НУБіП України, ТЕОРЕТИЧНІ ТА ПРИКЛАДНІ АСПЕКТИ РОЗРОБКИ КОМП’ЮТЕРНИХ СИСТЕМ '2023

Розмір шрифту: 
Використання гітари як контролера в веб-додатках з використанням алгоритмів обробки звукового сигналу для створення інтерактивного досвіду гри на гітарі
Максим Владиславович Недьошев

Остання редакція: 24-04-2023

Тези доповіді


УДК 004.02

ВИКОРИСТАННЯ ГІТАРИ ЯК КОНТРОЛЕРА В ВЕБ-ДОДАТКАХ З ВИКОРИСТАННЯМ АЛГОРИТМІВ ОБРОБКИ ЗВУКОВОГО СИГНАЛУ ДЛЯ СТВОРЕННЯ ІНТЕРАКТИВНОГО ДОСВІДУ ГРИ НА ГІТАРІ.

Недьошев М.В. науковий керівник Кириченко В. В.

Одним із цікавих напрямків використання звукового сигналу у розробці програм є використання музичних інструментів як контролерів в інтерактивних додатках. Особливо, гітару, з її широкою популярністю та унікальним звуком, є дуже привабливою для цього застосування.

Об’єктом дослідження є використання гітари як контролера в веб-орієнтованих додатках. Мета полягає в тому, щоб створити інтерактивний досвід гри на гітарі, що буде доступний через веб-браузер.

Методологія дослідження передбачає використання спектру методів та технологій, що дозволять ефективно обробляти звуковий сигнал та створювати веб-додатки з використанням гітари як контролера. Головне завдання інтерфейсу програми полягає у відображенні нот, які потрібно виконати на гітарі.

Для розробки веб-додатка потрібно використовувати такі технології, як HTML, CSS та JavaScript, які забезпечують створення інтерактивних інтерфейсів та для обробки звуку буде використано WebAudio і, можливо, WebGL для тривимірної візуалізації. WebAudio надає можливість зчитувати з звукового сигналу частоти та магнітуду сигналу. Можна використовувати алгоритм ACF2Plus (Auto-Correlation Function 2 Plus), який використовує автокореляційну функцію для визначення основних частот і здатний виявляти артикуляційні точки в мовленні. ACF2Plus може бути використаний для виявлення пікових частот, амплітуди, ширини сигналу і форми сигналу. ACF2Plus не дуже підходить для аналізу складних звуків з багатою кількістю нот, наприклад гітарних акордів. Для аналізу більш складного звуку як акорди вже потрібно використовувати техніки машинного навчання, тобто нейрону мережу або використовувати трансформацію Фур'є, за допомогою якої можна отримати частотні хвилі з яких складається оригінальна аудіо хвиля. Перед використанням трансформації Фур'є потрібно зробити оригінальну хвилю гладкою, щоб видалити шуми. Для забезпечення підтримки гітарних ефектів, таких як дисторшн, овердрайв і т.д., можна використовувати цифрові ефекти, які можуть бути реалізовані з використанням сигнальної обробки в реальному часі (real-time digital signal processing).

Для створення інтерактивного досвіду гри на гітарі, потрібно використовувати такі бібліотеки як WebAudio, VueJS, ChartJS, які дозволяють реагувати на дії гравців та відображати результати їхньої гри на екрані. Для створення навігації по програмі потрібно використовувати інтерфейс, схожий на навігацію по клавіатурі, але оптимізувати їх для гітари. Для цього можна створити адаптер нот у клавішу. Як елементи інтерфейсу використовувати бібліотеку VuesticUI з гарною імплементацією керування з клавіатури. Оскільки це веб додаток варто не забувати, що програма буде використовуватися на будь-якому приладі, будь то комп’ютер, смартфон чи планшет.

За допомогою описаних вище алгоритмів було розроблено такий прототип, який малює на екрані таби зіграної композиції (рис. 1.). Така програма оброблює звук гітари та знаючи гітарний стрій гравця приблизно показує де була зіграна нота. Проблема пошуку місцезнаходження ноти полягає у тому, що одна і та ж сама нота може бути зіграна у двох різних місцях. Наприклад, нота для другої октави (А2 440HZ) може бути зіграна на пустій п’ятій струні, або п’ятому ладу шостої струни. Хоча нота й однакова, але сам звук різний і залежить від інструменту. Для більш точної роботи такої програми потрібно використовувати нейронну мережу навчена на даних з різних гітар.

 

Рис. 1 – програма, яка відображає місцезнаходження зіграної ноти

 

Прикладом інтерактивного веб інтерфейсу є прототип віртуальної клавіатури, за допомогою якої можна набирати текст використовуючи лише гітару (рис 2). Така програма використовує ноти A, C, D, F# як переміщення вверх, вліво, вправо та вниз. Завдяки специфічному місцезнаходженню нот інтерфейс подібний до стрілок на клавіатурі. Гітара у стандартному строї на 24 ладах має 49 унікальних нот, але якщо брати до уваги гучність нот, то кількість можна збільшити до 147 потенційних клавіш.

 

 

Рис. 2 – клавіатура для набору тексту, яка керується звуковим сигналом.

 

Розробка інтерактивних веб-додатків з використанням нестандартних пристроїв вводу можлива за допомогою нових технологій, які додаються та розвиваються у браузерній інфраструктурі. Представлені програмні приклади реалізують потенціал музичного інструменту як контролера у розважальних чи навчальних веб-орієнтованих додатках.

 

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

  1. Josh C. Waveforms [Електронний ресурс] / Comeau Josh. – 2018. – Режим доступу до ресурсу: https://pudding.cool/2018/02/waveforms/
  2. Web Audio API [Електронний ресурс] – Режим доступу до ресурсу: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  3. Thibauld Nion. Autocorrelation functions [Електронний ресурс] / Thibauld Nion. – 2012. – Режим доступу до ресурсу: https://etudes.tibonihoo.net/literate_musing/autocorrelations.html.
  4. Grant S. But what is the Fourier Transform? A visual introduction. [Електронний ресурс] / S. Grant, W. River – Режим доступу до ресурсу: https://www.3blue1brown.com/lessons/fourier-transforms.