Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/9106
Title: Генерація гітарних табулатур з аудіофайлу
Authors: Заспа, Григорій Олександрович
Мовсесян, Віталій Юрійович
Keywords: гітарні табулатури;нейронні мережі;аудіоаналіз;guitar tablature;neural networks;audio analysis
Issue Date: 19-Dec-2023
Abstract: АНОТАЦІЯ Мовсесян В.Ю., кваліфікаційна робота магістра на тему: «Генерація гітарних табулатур з аудіофайлу» Спеціальність: 121 «Інженерія програмного забезпечення», ЧДТУ, Черкаси, 2023. Ця робота присвячена розробці інноваційної системи для автоматичного перетворення аудіофайлів у гітарні табулатури за допомогою нейронних мереж. Метою проекту є створення ефективного інструменту, який би полегшив процес створення музичних нотацій. Система призначена для використання як індивідуальними музикантами, так і музичними навчальними закладами, спрощуючи процес навчання та композиції. Отримані результати демонструють значний потенціал використання глибокого навчання для перетворення аудіосигналів у гітарні табулатури, відкриваючи нові перспективи для розвитку цифрових музичних технологій.
ANNOTATION Movsesian V.Y. master’s qualification thesis on the topic: “Generate guitar tablature from an audio file”. Speciality: “121 Software engineering”, ChSTU, Cherkassy, 2023. This work is devoted to the development of an innovative system for automatically converting audio files into guitar tablature using neural networks. The goal of the project is to create an effective tool that would facilitate the process of creating music notation. The system is intended to be used by both individual musicians and music schools, simplifying the learning and composition process. The results demonstrate the significant potential of using deep learning to convert audio signals into guitar tablature, opening up new prospects for the development of digital music technologies.
URI: https://er.chdtu.edu.ua/handle/ChSTU/9106
Appears in Collections:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)

Files in This Item:
File Description SizeFormat 
Кваліфікаційна робота магістра Мовсесян Віталій Юрійович.pdf
  Restricted Access
1.19 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
Факультет інформаційних технологій і систем 
Кафедра програмного забезпечення автоматизованих систем 
 
 
 
 
ПОЯСНЮВАЛЬНА ЗАПИСКА 
до кваліфікаційної роботи 
магістра 
 
на тему:  Генерація гітарних табулатур з аудіофайлу 
 
Виконав: студент 2 курсу, групи МПЗ-2204 
Спеціальність 121 «Інженерія програмного забезпечення» 
 
Студент Мовсесян В.Ю.  ___________________ 
 
Керівник Заспа Г.О.    ___________________ 
 
Рецензент Тулуб В.О.      ___________________ 
 
 
 
 
 
 
 
Черкаси 2023 
 Черкаський державний технологічний університет  
(повне найменування вищого навчального закладу) 
Факультет інформаційних технологій і систем  
Кафедра програмного забезпечення автоматизованих систем  
Освітній рівень магістр  
Спеціальність 121 «Інженерія програмного забезпечення»  
Освітня програма Інженерія програмного забезпечення  
 
 ЗАТВЕРДЖУЮ 
 Зав. кафедри ПЗАС, професор 
 ________________ Голуб С.М. 
 «___» ____________ 2023 року 
 
З А В Д А Н Н Я 
НА КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ 
 Мовсесян Віталій Юрійович  
(прізвище, ім’я, по батькові) 
1. Тему проекту (роботи): Генерація гітарних табулатур з аудіофайлу  
Керівник проекту (роботи): доцент кафедри ПЗАС Заспа Григорій Олександрович  
 (прізвище, ім’я , по батькові, науковий ступінь, вчене звання) 
Затверджені наказом Черкаського державного технологічного університету від «06» жовтня 2023 
року №267/04  
2. Строк подання студентом проекту (роботи): 18 грудня 2023 року  
3. Вхідні дані до проекту (роботи): стандарти програмного забезпечення; моделювання системи; 
вимоги до проекту;  
4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно розробити):   
Вступ; Існуючі методи і засоби розв’язання поставлених задач; Теоретичні та експериментальні 
дослідження; Впровадження результатів досліджень у парктику проектування програмного 
забезпечення інформаційних систем; Розробка та тестування програмного комплексу; Висновки; 
Список використаних джерел; Додатки. 
  
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових робіт проекту):   
Г.1. Слайд 1, Г.2. Слайд 2, Г.3. Слайд 3, Г.4. Слайд 4, Г.5. Слайд 5, Г.6. Слайд 6, Г.7. Слайд 7, Г.8. 
Слайд 8, Г.9. Слайд 9, Г.10. Слайд 10, Г.11. Слайд 11, Г.12. Слайд 12, Г.13. Слайд 13, Г.14. Слайд 
14, Г.15. Слайд 15.  
  
  
  
  
  
 
6. Консультанти розділів проекту (роботи): 
Прізвище, ініціали та посади Підпис, дата 
Розділ 
консультанта Завдання видав Завдання прийняв 
1    
2    
3    
7. Дата видачі завдання: 04 вересня 2023 року  
КАЛЕНДАРНИЙ ПЛАН 
Строк 
виконання 
№ 
Назва етапів випускної роботи етапів Примітки 
п/п 
випускної 
роботи 
1 Постановка задачі 06.09.2023 виконано 
2 Підготовка завдання 13.09.2023 виконано 
3 Погодження завдання 20.09.2023 виконано 
4 Затвердження завдання 27.09.2023 виконано 
 Основна стадія   
1 Підбір матеріалів 04.10.2023 виконано 
2 Аналіз шляхів вирішення поставленої задачі 11.10.2023 виконано 
3 Розрахунок основних параметрів роботи 18.10.2023 виконано 
4 Вибір кінцевого варіанту проектного рішення 25.10.2023 виконано 
5 Оформлення первісної редакції роботи 01.11.2023 виконано 
 Заключна стадія   
1 Узгодження прийнятих проектних рішень з керівником 08.11.2023 виконано 
Оформлення пояснювальної записки роботи в кінцевій 
2 15.11.2023 виконано 
редакції 
3 Попередній захист роботи 22.11.2023 виконано 
4 Затвердження роботи 29.11.2023 виконано 
5 Рецензування роботи 06.12.2023 виконано 
6 Захист роботи 18.12.2023 виконано 
 
Студент:   Мовсесян В.Ю.  
 (підпис)  (прізвище та ініціали) 
 
Керівник проекту (роботи):   Заспа Г.О.  
 (підпис)  (прізвище та ініціали)
АНОТАЦІЯ 
Мовсесян В.Ю., кваліфікаційна робота магістра на тему: «Генерація гітарних 
табулатур з аудіофайлу» Спеціальність: 121 «Інженерія програмного 
забезпечення», ЧДТУ, Черкаси, 2023. 
Ця робота присвячена розробці інноваційної системи для автоматичного 
перетворення аудіофайлів у гітарні табулатури за допомогою нейронних мереж. 
Метою проекту є створення ефективного інструменту, який би полегшив процес 
створення музичних нотацій. Система призначена для використання як 
індивідуальними музикантами, так і музичними навчальними закладами, 
спрощуючи процес навчання та композиції. 
Отримані результати демонструють значний потенціал використання 
глибокого навчання для перетворення аудіосигналів у гітарні табулатури, 
відкриваючи нові перспективи для розвитку цифрових музичних технологій. 
Ключові слова: гітарні табулатури, нейронні мережі, аудіоаналіз. 
 
ANNOTATION 
Movsesian V.Y. master’s qualification thesis on the topic: “Generate guitar 
tablature from an audio file”. Speciality: “121 Software engineering”, ChSTU, 
Cherkassy, 2023. 
This work is devoted to the development of an innovative system for automatically 
converting audio files into guitar tablature using neural networks. The goal of the project 
is to create an effective tool that would facilitate the process of creating music notation. 
The system is intended to be used by both individual musicians and music schools, 
simplifying the learning and composition process. 
The results demonstrate the significant potential of using deep learning to convert 
audio signals into guitar tablature, opening up new prospects for the development of 
digital music technologies. 
Keywords: guitar tablature, neural networks, audio analysis. 
ЧДТУ 232215.019 ПЗ 
 
ЗМІСТ 
ПЕРЕЛІК УМОВНИХ СКОРОЧЕНЬ ........................................................................ 5 
ВСТУП .......................................................................................................................... 6 
Розділ 1. Існуючі методи та засоби розв’язання поставлених завдань .................. 9 
Розділ 2. Теоретичні та експериментальні дослідження ....................................... 18 
2.1 Теоретичні дослідження .................................................................................. 18 
2.2 Експериментальні дослідження ...................................................................... 22 
Розділ 3. Впровадження результатів досліджень у практику проектування 
програмного забезпечення інформаційних систем ................................................ 32 
3.1 Модель предметної області ............................................................................. 32 
3.1.1 Предметна область моделювання. Модель предметної області. 
Словник предметної області .............................................................................. 32 
3.1.2 Елементи моделювання предметної області ........................................... 34 
3.1.3 Робоча область моделювання ................................................................... 36 
3.2 Формування та аналіз вимог ........................................................................... 37 
3.2.1 Формування вимог до програмного забезпечення. Первинні і детальні 
вимоги. Вимоги замовника і розробника. Функціональні і нефункціональні 
вимоги. ................................................................................................................. 37 
3.2.2 Формування вимог за допомогою діаграми прецедентів ...................... 38 
3.2.3 Проектування логічної структури програмного комплексу .................. 39 
3.2.3.1 Діаграма класів. ............................................................................. 39 
3.2.3.2 Діаграма пакетів ............................................................................ 40 
3.2.4 Архітектурне проектування ...................................................................... 41 
3.2.4.1 Діаграма компонентів ................................................................... 41 
3.2.4.2 Розгортання програми системи на апаратних засобах. Діаграма 
розгортання .................................................................................... 42 
3.2.5 Моделювання поведінки системи ............................................................ 43 
3.2.5.1 Діаграма діяльності ....................................................................... 43 
3.2.5.2 Діаграма послідовності................................................................. 43 
3.2.5.3 Діаграма комунікації .................................................................... 44 
3.2.5.4 Діаграма скінченного автомата ................................................... 45 
Розділ 4. Розробка та тестування програмного забезпечення .............................. 47 
4.1 Розробка програмного комплексу .................................................................. 47 
3 
ЧДТУ 232215.019 ПЗ 
 
4.1.1 Обґрунтування вибору засобів реалізації ................................................ 47 
4.1.2 Опис структурної (функціональної) схеми ............................................. 52 
4.1.3 Опис логічної схеми системи ................................................................... 52 
4.1.4 Розробка бази даних .................................................................................. 53 
4.1.5 Розробка інтерфейсу користувача ............................................................ 53 
4.1.6 Опис розробки програмних компонентів ................................................ 54 
4.2 Тестування системи ......................................................................................... 55 
4.2.1 Модульне тестування ................................................................................ 55 
4.2.2 Інтеграційне тестування ............................................................................ 57 
4.2.3 Системне тестування ................................................................................. 58 
4.2.4 Приймальне тестування ............................................................................ 59 
4.3 Приклади впровадження програмного комплексу ....................................... 60 
ВИСНОВКИ ............................................................................................................... 62 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ................................................................. 63 
ДОДАТОК А .............................................................................................................. 66 
ДОДАТОК Б .............................................................................................................. 68 
 
4 
ЧДТУ 232215.019 ПЗ 
 
ПЕРЕЛІК УМОВНИХ СКОРОЧЕНЬ 
Скорочення Розшифрування 
CQT абревіатура від constant-Q transform – перетворення 
аудіосигналу з часової області в частотно-часову область, 
дозволяючи аналізувати зміни в частоті залежно від часу. 
CNN абревіатура від Convolution neural network – тип нейронної 
мережі, який зазвичай використовується в галузях, 
пов’язаних з обробкою зображень, а також розпізнаванні 
образів 
ПЗ абревіатура від Програмне забезпечення 
UML абревіатура від Unified Modelling Language – це 
стандартизована мова візуального моделювання, яка 
використовується для опису, специфікації, проектування та 
документування програмного забезпечення, особливо в 
контексті об'єктно-орієнтованого програмування. 
 
5 
ЧДТУ 232215.019 ПЗ 
 
ВСТУП 
Актуальність роботи. У сучасному світі швидкого розвитку цифрових 
технологій та зростання популярності обробки аудіо сигналів, існує значний 
попит на розробку інструментів, які можуть спрощувати та автоматизувати 
процес музичної транскрипції. Гітара, будучи одним із найпопулярніших 
інструментів у світі, часто використовується музикантами різних жанрів. Однак, 
процес перекладу мелодій у табулатури залишається довготривалим та складним 
завданням, особливо для не професіоналів. 
Дана робота, яка фокусується на створенні моделі, здатної автоматично 
генерувати гітарні табулатури з аудіофайлів, має важливе значення у контексті 
цифровізації музичної освіти та виробництва. Використання технік машинного 
навчання та аналізу аудіо сигналів, таких як CQT спектрограми, відкриває нові 
можливості для розширення доступу до музичної освіти, зменшення бар'єрів для 
новачків, та підтримки професійних музикантів у їх творчих зусиллях. 
Крім того, розробка такої системи вносить важливий внесок у музичну 
галузь та автоматичної обробки музики, демонструючи потенціал і можливості 
сучасних технологій машинного навчання у сфері мистецтва. Таким чином, дана 
робота має велике практичне значення, сприяючи розвитку цифрових 
інструментів у музиці та розширенню можливостей для музикантів та 
дослідників. 
Мета і завдання дослідження. Мета даної роботи полягає у розробці 
інноваційної та ефективної моделі машинного навчання, здатної автоматизувати 
процес перетворення мелодій  у вигляді аудіофайлів у відповідні гітарні 
табулатури. Ця модель має на меті значно спростити та прискорити процес 
створення гітарних табулатур, що є тяжким процесом для новачків та вимагає 
значних музичних знань та навичок. 
Поставлена мета досягається розв’язком таких завдань: 
1 Вибір набору даних, що містять заготовлені аудіо файли а також 
відповідні анотації для кожного файлу. 
6 
ЧДТУ 232215.019 ПЗ 
 
2 Аналіз аудіо файлів з використанням CQT спектрограм для 
перетворення у придатний, для обробки моделі, формат. 
3 Створення правильної табулатури для кожного аудіо файлу, з набору 
даних, для навчання моделі. 
4 Розробка та навчання моделі на підготовлених даних. 
5 Тестування моделі на різних аудіо файлах, а також оцінка її точності, 
надійності та універсальності. 
6 Проектування та розробка програмного забезпечення 
Об’єкт дослідження. Процеси та методи перетворення музичних 
аудіофайлів у гітарні табулатури з використання алгоритмів машинного 
навчання. 
Предмет дослідження. Методи та алгоритми розробки програмного 
забезпечення та аналізу аудіофайлів для визначення музичних нот та ритмів, що 
є необхідними для генерації гітарних табулатур. 
Методи дослідження. Для досягнення поставленої мети застосовано такі 
методи: аналіз та порівняння – вивчення існуючих технік і методів генерації 
гітарних табулатур з аудіофайлу; абстрагування, ідеалізація, моделювання та 
формалізація – при побудові моделі та дослідженні її властивостей. 
Наукова новизна. Вперше розроблено модель побудови програмного 
забезпечення на основі машинного навчання, яка використовує CQT 
спектрограми для автоматизованого перетворення мелодій у вигляді аудіо 
файлів у табулатури, інтегруючи новітні методики в області обробки 
аудіосигналів. Цей підхід не лише відкриває нові перспективи для автоматизації 
музичної транскрипції, але й сприяє міждисциплінарному розвитку, з'єднуючи 
комп'ютерні науки, музичні дослідження та обробку цифрових сигналів. 
Практичне значення отриманих результатів. Розроблене програмне 
забезпечення значно спрощує та автоматизує процес, що відкриває нові 
можливості для музикантів. Також полегшує навчання гри на гітарі, дозволяючи 
швидше та ефективніше вивчати і відтворювати музичні твори, а також сприяє 
7 
ЧДТУ 232215.019 ПЗ 
 
креативності, надаючи музикантам зручний інструмент для експериментування 
з власними музичними ідеями. 
Особистий внесок автора. Усі наукові результати, описані в даній роботі, 
одержані здобувачем особисто. 
Апробація результатів. Опубліковано тези доповіді «Генерація гітарних 
табулатур з аудіофайлу» в ІІ Міжнародній науково-практичній Інтернет-
конференції «Інновації та перспективні шляхи розвитку інформаційних 
технологій (ІПШРІТ-2023)» 
8 
ЧДТУ 232215.019 ПЗ 
 
Розділ 1. Існуючі методи та засоби розв’язання поставлених завдань 
Сучасний світ оцифровує та трансформує безліч аспектів нашого життя, і 
музика не є винятком. Однією з ключових задач у цій сфері є перетворення 
музичних творів, які представлені у аудіоформаті, на нотації, зокрема на гітарні 
табулатури. Табулатура – це форма музичної нотації, яка вказує 
інструменталістам, де розміщувати пальці на інструменті, замість того, щоб 
просто вказувати, які ноти грати. Це робить табулатури особливо популярними 
серед гітаристів, як професіоналів, так і аматорів. 
Автоматизація процесу перетворення аудіозаписів у гітарні табулатури 
відкриває широкі можливості. Вона не тільки спрощує процес навчання гри на 
гітарі, але й підтримує музикантів у творчому процесі, дозволяючи їм швидко 
перенести свої музичні ідеї з аудіоформату в нотацію. Більше того, така 
технологія має потенціал стати незамінним інструментом в індустрії музичного 
освіти та виробництва. 
Проаналізувавши матеріали у відкритому доступі, було виявлено низку 
важливих аспектів та проблем, які виникали у дослідників при дослідженні у 
цьому напрямку. Одним з ключових відкриттів стало те, що, не дивлячись на 
значний прогрес у розробці технологій, пов'язаних з обробкою аудіо, специфіка 
генерації гітарних табулатур все ще містить ряд невирішених питань та потребує 
подальших досліджень. Зокрема, це стосується питань ефективного визначення 
акордів, обробки поліфонічних звуків та адаптації алгоритмів під специфічні 
музичні жанри. 
В контексті цього загального аналізу, особливо актуальними та 
інформативними виявилися три наукові статті. В [1], розглядається застосуваня 
можливостей алгоритмів глибокого навчання з використанням аріхтектури 
Transformer-XL. В [2], розглядається застосування технік обробки аудіо для 
створення гітарних табулатур у жанрі важкого року. В [3], зосереджується на 
використанні згорткових нейронних мереж для автоматичного визначення 
акордів з аудіозаписів. Ці статті пропонують новаторські підходи та рішення, які 
мають велике значення для розв'язання вищезазначених проблем. Детальне 
9 
ЧДТУ 232215.019 ПЗ 
 
розглядання цих статей дозволить мені глибше зрозуміти сучасний стан 
досліджень у цій галузі, виявити ключові виклики, з якими стикаються 
дослідники, та оцінити можливості, які вони відкривають для майбутніх 
розробок. 
В [1] досліджується можливість застосування глибоких навчальних 
алгоритмів для автоматичного створення табулатур гітари, зосереджуючись на 
використанні архітектури Transformer-XL. Автори ставлять за мету розглянути 
такі ключові аспекти: 
- адаптація Deep Learning для табулатур: автори розглядають 
використання глибокого навчання, зокрема Transformer-XL, для 
створення табулатур гітари. Важливо, що вони фокусуються на 
фінгерстайл гітарі, яка має свої унікальні ритмічні та мелодійні 
особливості. 
- особливості табулатур: табулатури відрізняються від MIDI, оскільки 
вони вказують на розташування пальців на грифі, а не просто на 
музичні ноти. Автори підкреслюють, що навчання нейронної мережі 
створювати музику безпосередньо з табулатур може бути більш 
ефективним для гітари, ніж використання MIDI файлів як джерела 
даних. 
- досліджувані питання: у статті розглядаються три основні питання: чи 
може нейронна мережа генерувати послідовності нот разом з 
розміщенням пальців на грифі, створювати композиції з послідовним 
ритмічним грувом, і як музика, створена мережею, порівнюється за 
якістю з музикою, створеною людьми 
- аудіо рендеринг та оцінка: автори статті надають аудіо версії прикладів 
згенерованих табулатур, використовуючи гітарний синтезатор, а також 
відеозапис, на якому гітарист грає одну зі створених табулатур. Це 
дозволяє оцінити якість та ефективність нейронної мережі у 
моделюванні гітарної музики. 
10 
ЧДТУ 232215.019 ПЗ 
 
Стаття є доволі цікавою, так як тут розглядається один із найскладніших стилів 
гри на гітарі – фінгерстайл. Також автори використовують інноваційний підхід 
Transformer-XL для обробки музичних дани, що може надати нові перспективи 
та методи для вирішення поставлених мною задач. 
В [2], зосереджується на застосуванні технік обробки аудіофайлу для 
генерації гітарних табулатур у жанрі важкого року. Основна ідея полягає у 
використанні авторегресивних моделей машинного навчання для створення 
табулатур, що відображають музичні ноти і ритм важкої рок-музики. В статті 
розглядається ряд проблем: 
- висока розмірність і довгострокові залежності в аудіо: аудіофайли 
мають високу розмірність і складні залежності між даними, що 
ускладнює їх обробку. 
- брак стандартизованих наборів даних: відсутність уніфікованих і 
стандартних наборів даних для тренування моделей. 
- специфіка жанру: потреба у моделі, яка ефективно відображає 
особливості і стиль важкого року. 
Автором було запропоновані певні вирішення поставлених проблем: 
- Моделювання музики як послідовності дискретних нот: це дозволяє 
використовувати техніки обробки аудіофайлу для генерації табулатур. 
- Розробка специфічного набору даних і нейронної мережі: автор 
створює спеціальний набір даних для музики важкого року та 
архітектуру нейронної мережі, що використовує техніки моделювання 
послідовностей для генерації нових табулатур. 
Ця стаття надає цінний внесок у вивчення та розробку методів генерації 
гітарних табулатур з аудіофайлів, особливо в контексті специфічного музичного 
жанру. Це буде дуже корисним для моєї роботи. 
В [3], зосереджено на використанні згорткових нейронних мереж (CNN) 
[5][6][7][8] та методів трансферного навчання для автоматичного розпізнавання 
акордів гітари з аудіофайлів. Основна увага приділяється визначенню 
послідовностей акордів і нот з аудіозаписів сольних гітарних виступів. 
11 
ЧДТУ 232215.019 ПЗ 
 
Автоматичне визначення акордів із аудіозаписів гітари є складним завданням, 
що включає в себе аналіз поліфонічних звуків. Особливу складність представляє 
варіативність способів гри на гітарі, коли однакові ноти можуть бути зіграні в 
різних місцях на грифі. Це ускладнює процес автоматичного розпізнавання і 
класифікації акордів. Серед основних проблем, автори виділяють такі: 
- автоматичне визначення акордів: це завдання є складним через 
поліфонічну природу гітарних звуків, а також через можливість грати 
однакові ноти в різних положеннях на грифі гітари. 
- висока розмірність даних: аудіозаписи мають високу розмірність, що 
ускладнює їх аналіз та обробку. 
Також автори надають певні вирішення проблемам: 
- використання CNN [9][10][11] і трансферного навчання: автори статті 
використовують CNN для аналізу спектрограм аудіофайлів, що 
дозволяє виявляти акорди і ноти в аудіозаписах. 
- підхід з константним-Q перетворенням: аудіофайли перетворюються в 
спектрограми за допомогою константного-Q перетворення перед 
подачею на вхід CNN. 
Отже автори статті використовують згорткові нейронні мережі (CNN) для 
аналізу спектрограм аудіозаписів. Спектрограми створюються за допомогою 
константного-Q перетворення [4], що дозволяє перетворити аудіо в короткочасні 
спектрограми, які є вхідними даними для CNN. Такий підхід дозволяє ефективно 
виявляти акорди і ноти в аудіозаписах. Ключові особливості: 
- Висока точність: модель, розроблена авторами, досягає точності 88.7%, 
що є значним досягненням в автоматичному визначенні акордів. 
- Трансферне навчання: автори використовують трансферне навчання, 
що дозволяє адаптувати вже натреновані моделі під специфіку задачі, 
тим самим підвищуючи ефективність і точність моделі. 
- Обробка специфічних властивостей гітари: модель здатна враховувати 
унікальні властивості гітарних звуків, що робить її особливо корисною 
для цільового завдання. 
12 
ЧДТУ 232215.019 ПЗ 
 
Ця стаття демонструє глибокий аналіз специфіки обробки гітарних звуків 
та підходів до їх автоматичного розпізнавання, що робить її важливою для 
розуміння поточного стану досліджень у цій області. Використання CNN і 
трансферного навчання буде корисним для моєї задачі. Методи, описані в статті, 
демонструють високу точність у розпізнаванні акордів, що може бути ключовим 
фактором для успішної реалізації мого проекту. 
Одже, основна складність автоматичної музичної транскрипції, особливо у 
випадку таких інструментів як гітара, полягає у різноманітності способів, якими 
можуть бути відтворені одні й ті ж ноти на гітарі. Цей факт суттєво ускладнює 
процес автоматизованої транскрипції, оскільки одна й та ж нота може звучати 
по-різному залежно від того, де вона зіграна на грифі гітари. 
Чинники, що ускладнюють транскрипцію: 
1 Багатовимірність гітарного звуку: гітара може одночасно відтворювати 
кілька нот, що створює складні акустичні узори. Транскрибувати ці 
звуки в однозначну нотну послідовність або табулатуру є непростим 
завданням. 
2 Варіативність виконання: на гітарі можна зіграти одну й ту ж ноту на 
різних струнах і ладах. Це означає, що для одного звуку існує кілька 
можливих місць на грифі, де він може бути зіграний. 
3 Специфічність звучання: навіть коли одна й та ж нота зіграна на різних 
струнах, вона може мати різні тембри, що ускладнює точне визначення 
її позиції та відповідного зображення у табулатурі. 
4 Комбінаторика Акордів та Мелодій: На гітарі можливо одночасне 
звучання мелодії та акордів, що створює складність у розпізнаванні 
індивідуальних нот та їх послідовностей. 
Для вирішення проблем, пов'язаних із складністю автоматичної музичної 
транскрипції гітарних звуків, існують декілька методів та засобів: 
1 Розширений спектральний аналіз: використання константного-Q 
перетворення (CQT), яке надає більш детальний аналіз частотних 
13 
ЧДТУ 232215.019 ПЗ 
 
компонентів звуку, особливо корисний для музичних сигналів. CQT 
дозволяє краще розділяти окремі ноти та акорди в поліфонічному аудіо. 
2 Конволюційні нейронні мережі (CNN): CNN є потужними у 
розпізнаванні візуальних патернів і можуть бути адаптовані для роботи 
з аудіо спектрограмами. Вони можуть вчиться ідентифікувати 
характеристичні особливості нот і акордів в спектрограмах. 
3 Методи машинного навчання з підкріпленням даних: використання 
навчальних датасетів, які включають різноманітність гітарних технік та 
звучань, дозволяє моделям краще адаптуватися до складностей 
гітарного звучання. 
4 Алгоритми пост-обробки та нормалізації: застосування алгоритмів для 
виправлення помилок та невідповідностей, які можуть виникнути під 
час автоматичного розпізнавання нот. 
Існують також і інші складнощі, але їх вирішення вимагає більш 
масштабного підходу для розробки даного проекту. Далі представлений список 
із іншими можливими складнощами: 
- Обробка звуку низької якості. Ця проблема особливо актуальна, 
оскільки аудіо файли можуть містити шум, спотворення, або бути 
записані за умовами, що не відповідають стандартам студійної якості. 
Аспекти цієї проблеми є шум та перешкоди у записі. Аудіо файли, 
особливо записані не в студії, часто містять фоновий шум, перешкоди 
або інші небажані звуки, які можуть перекривати або спотворювати 
музичні сигнали. Низька якість запису може призводити до втрати 
деталей у звуці, що ускладнює визначення точних нот та акордів. 
Записи низької якості часто мають недостатню роздільну здатність, що 
додає складнощів при виконанні завдання. 
- Варіативність гітарних технік також становить значну складність, 
оскільки різні способи гри на гітарі можуть радикально змінювати 
звучання нот та акордів. Гітаристи використовують широкий спектр 
технік, таких як бендів, слайдів, палм-мьютінгу, що кожна з них 
14 
ЧДТУ 232215.019 ПЗ 
 
впливає на тембр, гучність, та тривалість ноти. Наприклад, бенд змінює 
висоту звуку ноти, в той час як слайд вносить плавний перехід між 
нотами. Палм-мьютінг зменшує гучність та резонанс, додаючи більш 
глухий звук. Ці техніки можуть ускладнити визначення точної ноти або 
акорду, особливо коли вони використовуються одночасно або в 
складних музичних фрагментах. Автоматична транскрипція повинна 
враховувати не тільки основні ноти, але й вплив цих технік на загальне 
звучання. Це вимагає високої точності аналізу та здатності системи 
розпізнавати тонкі нюанси в гітарному звучанні. Ще одним важливим 
аспектом є варіативність у використанні технік між різними 
гітаристами. Навіть одна й та ж музична фраза може бути зіграна 
різними способами, в залежності від індивідуального стилю гітариста. 
Це створює додаткові виклики для автоматичної транскрипції, оскільки 
необхідно враховувати не тільки музичні ноти, але й специфіку 
виконання. 
- Ідентифікація специфічних ефектів є значним викликом, оскільки 
гітаристи часто використовують різноманітні ефекти обробки звуку, 
які впливають на характеристики та сприйняття нот і акордів. Ці ефекти 
можуть включати реверберацію, ехо, дисторшн (спотворення) та багато 
інших, кожен з яких змінює оригінальний звук гітари на свій 
унікальний спосіб. Реверберація та ехо, наприклад, додають 
просторовий ефект і післязвучання, які можуть ускладнити точне 
визначення початку та кінця ноти. Спотворення може зробити звучання 
нот більш агресивним і насиченим, що ускладнює розпізнавання 
окремих нот у акордах або мелодіях. В результаті, система 
автоматичного генерування табулатур повинна бути здатною не лише 
розпізнавати основні музичні ноти, але й ефективно обробляти ці 
специфічні звукові ефекти. Це вимагає високої точності аналізу 
звукових характеристик і здатності системи розрізняти між основними 
нотами та спотвореннями, внесеними ефектами. 
15 
ЧДТУ 232215.019 ПЗ 
 
Постановка математичної задачі. 
1 Опис задачі – розробка системи, яка перетворює мелодії з аудіофайлів 
у гітарні табулатури. Даний процес включає аналіз мелодії з метою їх 
перетворення у формат зрозумілий для гітаристів. Основною задачею є 
автоматичне розпізнавання нот та акордів та їх подальше перетворення 
у відповідний формат, що вказує як саме грати мелодію на гітарі. 
Перетворення аудіофайлу у візуальний спектр за допомогою CQT 
спектрограми і використання навченої нейронної мережі для 
інтерпретації цих спектрограм у табулатури. 
2 Вхідні дані – в якості вхідних даних в даній роботі це є аудіофайли, що 
являють собою певну мелодію, вони можуть бути представлені у різних 
форматах: WAV, MP3 та ін.. Також CQT спектрограми є вхідними 
даними для нейронної мережі, вони являють собою спектральне 
представлення аудіосигналу. 
3 Вихідні дані – гітарні табулатури представлені у форматі PDF. 
Табулатура – це спосіб представлення мелодії призначений для гітари, 
в якій вказується на яких ладах і струнах грати кожну ноту. Зазвичай 
вона представлена у текстовому форматі де горизонтальні лінії 
відображають струни гітари, а числа на цих лініях вказують на яких 
ладах ці струни необхідно затискати. 
4 Математичні операції – спектральний аналіз, обробка даних, навчання 
нейронної мережі, оптимізація. 
Висновок до розділу 
Завершуючи аналіз існуючих методів та складнощів, пов'язаних з 
автоматичним генеруванням гітарних табулатур з аудіо файлів, можна 
підкреслити значну необхідність додаткових досліджень у цій галузі. Сучасні 
технології, такі як машинне навчання та аналіз аудіо сигналів, відкривають нові 
можливості для розвитку цієї сфери, проте вони також виявляють ряд викликів, 
які потребують глибокого розуміння та інноваційних підходів. 
16 
ЧДТУ 232215.019 ПЗ 
 
Складнощі, як-от обробка звуку низької якості, варіативність гітарних 
технік, ідентифікація специфічних ефектів, та інші, вимагають ретельного 
аналізу та розробки нових методів обробки та аналізу даних. Оскільки гітара 
залишається одним з найпопулярніших музичних інструментів, здатність точно 
транскрибувати її музику має велике значення для музикантів, композиторів, 
викладачів музики та музичних ентузіастів. 
Враховуючи вивчені статті було обрано в своїй роботі застосовувати CQT 
перетворення аудіофайлів для того щоб навчати модель, а також використання 
CNN нейромережі, так як вона чудово підходять для поставленої задачі. Таким 
чином, подальші дослідження та розробки в цій області не лише сприятимуть 
технологічному прогресу, але й відкриють нові можливості для музичної 
креативності, освіти, та доступності музики. Розвиток ефективних, точних і 
надійних систем автоматичного генерування гітарних табулатур має потенціал 
значно вплинути на спосіб, яким ми взаємодіємо з музикою та її навчанням. 
17 
ЧДТУ 232215.019 ПЗ 
 
Розділ 2. Теоретичні та експериментальні дослідження 
2.1 Теоретичні дослідження 
Аналіз сутності процесів та явищ. У сфері обробки музичних даних 
ключову роль займає процес перетворення аудіофайлів у гітарні табулатури. 
Аудіофайли як засіб зберігання музики містять складні звукові хвилі, які 
кодують ноти, акорди, тембр, гучність та інші музичні характеристики. Однак, 
вони не містять прямої інформації про спосіб виконання цих нот на музичному 
інструменті, зокрема на гітарі. Гітарні табулатури, в свою чергу, надають 
детальну інструкцію щодо розміщення пальців на грифі гітари для відтворення 
певних нот і акордів. Відмінність табулатур від звичайних нотних записів 
полягає у специфічному способі представлення музичної інформації, що 
оптимізований під особливості гітари. Процес перетворення аудіо в табулатури 
передбачає етапи визначення та аналізу музичних компонентів, таких як висота 
тону, темп, ритмічні патерни, та їх переведення у відповідність до конкретних 
позицій на грифі гітари. Це вимагає використання складних методів обробки 
сигналів та алгоритмів машинного навчання, оскільки потрібно не тільки 
розпізнати музичні елементи, але й адекватно інтерпретувати їх у контексті 
гітарної техніки. 
Процес перетворення аудіофайлів у гітарні табулатури має ряд складнощів 
та особливостей, які значно впливають на підходи та методи, що 
використовуються в даній області: 
1 Розпізнавання музичних елементів: 
18 
ЧДТУ 232215.019 ПЗ 
 
- аудіофайли містять складні звукові сигнали, які включають в себе 
ноти, акорди, ритми та тембр. Розпізнавання цих елементів з 
неструктурованого аудіо є великим викликом. 
- потрібно точно визначити висоту тону, гучність, та тривалість 
кожної ноти, а також визначити ритмічні візерунки і структуру 
композиції. 
2 Перетворення музичних елементів у табулатури: 
- після визначення музичних елементів, наступним кроком є їх 
перетворення у відповідні табулатури. 
- табулатури відрізняються від звичайних нотацій, оскільки вони 
вказують не на музичні ноти, а на конкретні позиції пальців на грифі 
гітари. 
3 Врахування стилів гри на гітарі: 
- різні стилі гри на гітарі (наприклад, фінгерстайл, ритм-гітара) 
вимагають різних підходів до генерації табулатур. 
- потрібно враховувати особливості кожного стилю, включаючи 
техніку виконання та характерні ритмічні патерни. 
4 Точність і реалістичність: 
- важливо забезпечити високу точність перетворення, щоб 
табулатури були зручними для гри та максимально наближені до 
оригінального виконання. 
- виклик полягає в тому, щоб автоматично створені табулатури 
звучали природно і були технічно виконуваними для гітаристів. 
19 
ЧДТУ 232215.019 ПЗ 
 
Ці аспекти підкреслюють складність задачі генерації гітарних табулатур та 
необхідність глибокого розуміння як музичної теорії, так і особливостей гри на 
гітарі. Розвиток ефективних методів у цій області вимагає комплексного підходу 
та інноваційних рішень. 
Формування гіпотези дослідження. Розробка моделі побудови 
програмного забезпечення на основі машинного навчання, яка використовує 
CQT спектрограми для автоматизованого перетворення мелодій у вигляді аудіо 
файлів у табулатури,  дає змогу покращити автоматизацію музичної 
транскрипції, а також сприятиме міждисциплінарному розвитку, з'єднуючи 
комп'ютерні науки, музичні дослідження та обробку цифрових сигналів 
Побудова (розробка) моделі.  Розробка ефективної моделі для генерації 
гітарних табулатур з аудіофайлів вимагає комплексного підходу, що включає 
інтеграцію математичних принципів та комп'ютерних алгоритмів: 
1 Структура моделі: 
- модель має бути здатною аналізувати аудіо сигнали, вилучати з них 
музичні елементи (ноти, акорди, ритм) та перетворювати ці дані у 
відповідні гітарні табулатури. 
- важливо, щоб модель враховувала особливості гітарної гри, такі як 
розміщення пальців та гітарні техніки. 
2 Ключові параметри та алгоритми: 
- включення алгоритмів для точного визначення висоти тону та 
ритму. 
- розробка механізмів для адекватної інтерпретації музичних 
послідовностей у термінах гітарних позицій. 
3 Технології машинного навчання: 
- інтеграція методів машинного навчання, таких як нейронні мережі, 
для моделювання складних музичних структур та патернів. 
20 
ЧДТУ 232215.019 ПЗ 
 
- використання тренувальних даних, що містять як аудіофайли, так і 
відповідні їм гітарні табулатури, для навчання моделі. 
4 Оцінка та налаштування моделі: 
- ретельна оцінка якості табулатур, що генеруються моделлю. 
- постійне налаштування та вдосконалення моделі на основі 
зворотного зв'язку та тестування. 
Розробка такої моделі вимагає глибокого знання як у музичній теорії, так і 
в області обробки аудіо та машинного навчання. Це дасть можливість створити 
інструмент, який може ефективно та точно генерувати гітарні табулатури, 
забезпечуючи високу якість та реалістичність відтворення. 
Проведення математичного дослідження. При поданні вхідних даних 
для моделі генерації гітарних табулатур з аудіофайлів, важливим вибором є 
метод перетворення аудіо: Константне-Q Перетворення (CQT) або Перетворення 
Фур'є (FFT). 
FFT розбиває аудіоспектр на однорідні частотні смуги, забезпечуючи 
однакову роздільну здатність по всьому спектру. Це може бути менш 
оптимальним для виявлення низькочастотних нот. Перетворення Фур'є є 
стандартним методом для аналізу частотних характеристик сигналів, але воно 
пропонує однакову роздільну здатність по всьому частотному спектру. У 
музичних аплікаціях, особливо при аналізі комплексних мелодій і гармоній, 
стандартне перетворення Фур'є може бути менш ефективним через свою 
однорідну частотну роздільну здатність. FFT базується на розкладанні сигналу 
на синусоїди та косинусоїди: 
 
��−1 2����
���� = ∑ ���� × ��− ����
��  (2.1) 
��=0
 
де ���� є результатом FFT, 
 ���� – вхідні часові дані,  
N – кількість відліків. 
21 
ЧДТУ 232215.019 ПЗ 
 
CQT розбиває аудіоспектр на логарифмічну шкалу, що відповідає 
музичному сприйняттю. Це забезпечує більшу роздільну здатність на низьких 
частотах, що корисно для аналізу складних мелодій та акордів. Це перетворення 
надає більш високу роздільну здатність на нижніх частотах. Це важливо для 
точного розпізнавання низькочастотних нот, що є характерними для гітари. 
Також використовує логарифмічне розділення частот, що відповідає музичному 
сприйняттю тонів та інтервалів, роблячи його більш адекватним для аналізу 
музичних сигналів. Краще відображає музичні характеристики, такі як гармонії 
та мелодії, завдяки своїй здатності відокремлювати індивідуальні ноти та акорди. 
CQT можна описати наступною формулою: 
 
���� ����
�� = =  (2.2) 
∆�� ����+1 − ����
 
де Q - якість фільтра (стала величина),  
����  – центральна частота кожного фільтра. 
Обираючи між CQT та FFT для подання вхідних даних, важливо 
враховувати специфіку музичних сигналів, які аналізуються. Для музичних 
творів, особливо тих, що включають багато низькочастотних елементів, CQT 
може бути більш відповідним через його логарифмічну шкалу та вищу роздільну 
здатність на цих частотах. 
2.2 Експериментальні дослідження 
Принцип дії і характеристики розробленої дослідницької програмної 
системи.  
Основним елементом дослідження є розроблена програмна система, яка 
використовує алгоритми машинного навчання для перетворення аудіозаписів у 
гітарні табулатури. Система базується на комплексному підході до аналізу 
аудіосигналів, включаючи їх перетворення, обробку та інтерпретацію. Процес 
починається з завантаження аудіофайлу користувачем. Після завантаження, 
система використовує бібліотеку Librosa для перетворення аудіосигналу на 
22 
ЧДТУ 232215.019 ПЗ 
 
Constant-Q Transform (CQT), що дозволяє визначити частотні компоненти 
музичного твору з високою точністю. Цей крок критично важливий, оскільки він 
забезпечує перетворення аудіосигналу в такий формат, де кожен тон або нота 
представлена зі сталою частотною шириною на кожній октаві. Таке 
представлення дозволяє більш точно аналізувати музичні сигнали, особливо для 
складних поліфонічних композицій, де різні ноти можуть звучати одночасно. 
Ключовою перевагою CQT є його здатність забезпечити високу частотну 
роздільність на низьких частотах, що важливо для визначення низьких нот, 
характерних для гітарних композицій. Водночас, воно дозволяє підтримувати 
достатню роздільну здатність на вищих частотах, необхідних для високих нот. 
Це робить CQT особливо придатним для розробленої системи, оскільки воно 
дозволяє збалансувати потреби у точності частотного аналізу для різних 
діапазонів звуків. Далі, використовуючи моделі машинного навчання, система 
аналізує CQT-дані, виявляючи індивідуальні ноти та акорди.  
 
 
Рисунок 2.1 – CQT спектрограма 
 
23 
ЧДТУ 232215.019 ПЗ 
 
Моделі були попередньо навчені на великій кількості музичних даних, що 
дозволяє їм ефективно розпізнавати різноманітні музичні елементи. Цей процес 
включає в себе не лише визначення висоти нот, але й їх тривалості, що є 
важливим для точного відтворення мелодій. У розробленій системі 
використовується конволюційна нейронна мережа (CNN) для аналізу 
аудіосигналів. CNN є відмінною технологією для виявлення складних шаблонів 
у великих наборах даних, що робить її ідеальною для обробки аудіо. У контексті 
аналізу музики, CNN ефективно виявляє та класифікує різні музичні елементи з 
аудіозаписів. Це досягається завдяки здатності CNN до глибокого вчитування в 
структуру аудіоданих, виокремлюючи характеристики, які визначають кожну 
ноту та її тривалість. Після того, як ноти та акорди виявлені, система перетворює 
цю інформацію на гітарні табулатури. Табулатури представляють собою 
візуальну нотацію, що показує, де та як розміщувати пальці на грифі гітари для 
відтворення певних нот. Цей процес вимагає не тільки точності у визначенні нот, 
але й розуміння специфіки гри на гітарі, щоб забезпечити зручність та 
інтуїтивність для кінцевого користувача. 
Конволюційні нейронні мережі є центральним елементом цього процесу, а 
їх особливість полягає в здатності ефективно обробляти та аналізувати візуальні 
дані, що в даному випадку є спектрограмами CQT. CNN працює шляхом 
застосування серії фільтрів до вхідних даних, що дозволяє ідентифікувати різні 
характеристики в спектрограмі. Ці фільтри, часто називані ядрами згортки, 
переміщуються по всій спектрограмі, виявляючи особливості такі як ноти та їх 
тривалість. Важливість цього полягає в тому, що вона дозволяє моделі розуміти 
структуру музики у вигляді зображення, роблячи CNN ідеально підходящим для 
завдань, які включають аналіз зображень або. Після виявлення основних 
особливостей, наступний етап моделі полягає у використанні повнозв'язних 
шарів, які допомагають в класифікації та інтерпретації цих особливостей. Ці 
шари обробляють дані, отримані від шарів згортки, і перетворюють їх у кінцеві 
вихідні, які є гітарними табулатурами. Процес навчання CNN включає 
використання великої кількості лейблів з даними, де кожен аудіофрагмент має 
24 
ЧДТУ 232215.019 ПЗ 
 
відповідну табулатуру. Використовуючи ці дані, мережа навчається розпізнавати 
зв'язок між спектрограмою та відповідною табулатурою. Протягом цього 
навчання, функція втрати використовується для оцінки того, наскільки точно 
модель відтворює вихідні дані, дозволяючи точно налаштувати параметри 
мережі для покращення її точності. Окрім основного моделювання за допомогою 
CNN, можливо також застосувати інші техніки для покращення результатів.  
Елементи моделі. 
Дана робота включає кілька ключових елементів, кожен з яких відіграє 
важливу роль у загальному процесів. 
1 Вхідні дані (аудіофайли) 
Вхідними даними для системи є аудіофайли. Ці файли містять музичні 
записи, які потрібно перетворити в гітарні табулатури. Важливо, щоб 
ці аудіофайли були високої якості та мали достатню чіткість звучання 
гітари, оскільки це безпосередньо впливає на точність та якість 
кінцевих табулатур. Формати аудіофайлів можуть варіюватися 
(наприклад, MP3, WAV). 
2 Перетворення аудіо в CQT спектрограми 
Ключовим кроком є перетворення аудіофайлів в CQT спектрограми. 
Константна Q-трансформація (CQT) перетворює аудіосигнал з часової 
області в частотно-часову, де кожна частота має константний фактор 
якості (Q). Це дає більш детальне представлення музики, особливо на 
нижчих частотах, яке є важливим для ідентифікації нот та акордів. 
Спектрограми візуалізують, як різні частоти з'являються та змінюються 
протягом часу в запису, що є критично важливим для наступного 
аналізу CNN. 
3 Конволюційна нейронна мережа (CNN) 
CNN є серцем системи, відповідаючи за аналіз спектрограм та 
ідентифікацію музичних особливостей, які відповідають нотам і 
акордам на гітарі. CNN використовує шари згортки, що автоматично 
виявляють важливі особливості в спектрограмі. Пулінгові шари 
25 
ЧДТУ 232215.019 ПЗ 
 
зменшують розмірність даних, виділяючи найбільш важливі 
характеристики. Повнозв'язні шари, які йдуть після згорткових та 
пулінгових шарів, використовуються для класифікації та виведення 
кінцевого результату. Під час навчання мережі використовується набір 
даних із спареними аудіофайлами та табулатурами, щоб мережа могла 
вчитися відповідностям між ними. 
4 Вихідні дані (гітарні табулатури) 
Кінцевим продуктом цієї системи є гітарні табулатури. Після обробки 
спектрограми CNN, мережа генерує табулатури, які відображають 
музичні ноти та акорди, виявлені в аудіофайлі. Ці табулатури 
представляють собою текстове представлення музики, де кожна строка 
відповідає струні на гітарі, а числа вказують лади, на яких потрібно 
натискати струни для відтворення ноти. Важливо, щоб ці табулатури 
були точними, зрозумілими та легкими для читання для гітаристів. 
Аналітичний метод 
Аналітичний метод моделювання в даній роботі фокусується на 
використанні конволюційних нейронних мереж (CNN) для обробки CQT 
спектрограм отриманих з аудіофайлів. 
1 Аналіз аудіоданих. 
Спочатку аудіофайли перетворюються у CQT спектрограми. Цей 
процес є фундаментальним, оскільки він переводить часовий сигнал у 
частотно-часове представлення, яке є більш інформативним для 
подальшого аналізу. CQT спектрограми ефективно відображають 
відносини між різними частотами в аудіо, що є критично важливим для 
ідентифікації музичних нот та акордів. 
2 Використання конволюційних нейронних мереж. 
CNN в цьому контексті використовується для аналізу спектрограм. 
Модель, містить кілька шарів згорток, які автоматично виявляють та 
навчаються розпізнавати важливі особливості в спектрограмах, що 
відповідають певним нотам чи звукам. Цей процес включає в себе 
26 
ЧДТУ 232215.019 ПЗ 
 
визначення відповідності між візуальними особливостями 
спектрограми та музичними елементами, які вони представляють. 
3 Обробка та інтерпретація даних. 
Після отримання особливостей зі спектрограм, наступним кроком є їх 
аналіз та інтерпретація. Це означає перетворення виявлених 
особливостей у конкретні ноти та акорди, які відтворюються на гітарі. 
Оцінка ефективності системи 
Оцінка ефективності системи –  це процес, який дозволяє визначити, 
наскільки добре система досягає своїх цілей та виконує задані функції. Цей 
процес включає аналіз різних аспектів роботи системи, таких як її 
продуктивність, точність, надійність та користувацький досвід. Під час оцінки 
ефективності збираються та аналізуються дані про роботу системи, що дозволяє 
виявити сильні сторони та області, які потребують покращення. Основна мета 
цього процесу - забезпечити, що система ефективно виконує свої завдання, 
відповідаючи потребам користувачів та цілям організації. 
Інформаційна складова: 
Безпосередньо на точність та якість вихідних гітарних табулатур впливає 
якість вхідних аудіофайлів. Основними факторами тут є: 
- чіткість запису: чим краща якість запису, тим легше ідентифікувати 
ноти та акорди. Шуми, перешкоди та низька роздільна здатність 
можуть ускладнювати розпізнавання нот. 
- формат аудіо: використання стандартних, високоякісних форматів 
(наприклад, WAV) може забезпечити кращу точність аналізу порівняно 
зі стиснутими форматами (наприклад, MP3). 
Різноманітність даних також є критичним аспектом: 
- жанрова різноманітність: навчання на широкому спектрі музичних 
жанрів забезпечує більшу гнучкість моделі. 
- різноманітність стилів гри: Різні стилі гри на гітарі (наприклад, перебір, 
бій) можуть впливати на якість генерації табулатур. 
27 
ЧДТУ 232215.019 ПЗ 
 
Важливим також є передобробка даних. Правильна обробка вхідних даних 
є дуже важливою, основним етапами являються: 
- фільтрація та нормалізація: фільтрація фонового шуму та нормалізація 
гучності можуть покращити якість вхідних даних. 
- сегментація: розбивання довгих аудіозаписів на коротші фрагменти 
може полегшити обробку. 
Середовище та його вплив: 
Ще одним важливим аспектом, для забезпечення надійності та точності, є 
середовище та його вплив. Ключовими елементами є: 
1 Умови запису аудіо. 
Умови, в яких було зроблено аудіозапис, можуть істотно впливати на 
якість вхідних даних і, відповідно, на результати моделі: 
- фоновий шум: наявність шуму в запису може ускладнити 
ідентифікацію нот і акордів. Важливо розробити методи для мінімізації 
або врахування фонового шуму. 
- акустика приміщення: реверберації та інші акустичні ефекти, залежні 
від приміщення, де було зроблено запис, можуть впливати на якість 
аудіосигналу. 
2 Обладнання для запису. 
Якість обладнання, яке використовується для запису аудіо, також є 
важливим фактором: 
- мікрофон та записуюча апаратура: високоякісні мікрофони та 
професійна записуюча апаратура можуть значно покращити якість 
вхідного аудіосигналу. 
- формат запису: вибір формату запису (наприклад, аналоговий проти 
цифрового) може впливати на характеристики аудіосигналу. 
3 Апаратні ресурси: 
Також важливо розглянути, як обмеження апаратних ресурсів можуть 
впливати на роботу системи: 
28 
ЧДТУ 232215.019 ПЗ 
 
- обчислювальні ресурси: достатність процесорного часу та пам'яті для 
обробки аудіоданих. 
- сумісність з різними платформами: Здатність системи працювати на 
різноманітному обладнанні. 
Фактори прямої та непрямої дії: 
Розглядаючи фактори прямої та непрямої дії, потрібно фокусуватись на 
тих аспектах, які безпосередньо або опосередковано впливають на її 
ефективність і якість. 
Фактори прямої дії. Ці фактори мають безпосередній вплив на результати, 
які генерує система: 
1 Алгоритми конволюційних нейронних мереж: 
- архітектура мережі: специфіка архітектури CNN, включаючи 
кількість та типи шарів, безпосередньо впливає на здатність 
системи адекватно обробляти аудіодані. 
- функції втрати: вибір функції втрати впливає на те, як система 
оптимізує своє навчання. 
2 Якість та різноманітність навчальних даних: 
- репрезентативність та обсяг даних: кількість і різноманітність 
навчальних даних впливають на загальну спроможність системи 
узагальнювати і вирішувати нові задачі. 
- мітки та анотації: точність міток і анотацій, використаних при 
навчанні, впливає на ефективність моделі. 
3 Точність перетворення CQT: 
- роздільна здатність спектрограми: висока роздільна здатність 
спектрограми забезпечує краще розпізнавання і класифікацію 
музичних елементів. 
Фактори непрямої дії. Ці фактори впливають на систему опосередковано, 
часто через зовнішні умови або контекст використання: 
1 Вплив апаратного забезпечення: 
29 
ЧДТУ 232215.019 ПЗ 
 
- обчислювальні ресурси: швидкість та потужність обчислювальних 
ресурсів можуть вплинути на час обробки аудіоданих та на 
складність моделей, які можуть бути використані. 
2 Операційне середовище: 
- умови використання: сценарії використання, включаючи 
професійні студії або домашнє використання, можуть мати різні 
вимоги до точності та швидкості обробки. 
- адаптація до змін: здатність системи адаптуватися до змін умов, 
наприклад, до різних типів аудіофайлів або зміни обладнання. 
Комплексний аналіз цих факторів дозволив більш ширше зрозуміти, як 
забезпечити ефективність системи та які аспекти потребують додаткової уваги 
та оптимізації. 
Ефективність рішень: 
Самим основним є ефективність системи. Для навчання моделі було 
використано понад 40828 навчальних CQT спектрограм. Нижче наведено 
таблицю з результатами точності для кожної струни. 
Таблиця 2.1 
Результати точності для кожної струни 
Струна Точність визначення 
e 0.933 
B 0.852 
G 0.828 
D 0.783 
A 0.805 
E 0.851 
 
Звідси можна розрахувати середню точність, яка складає – 84.23%. 
Висновок до розділу 
Було проведено дослідження, яке охоплювало як теоретичні, так і 
експериментальні аспекти розробки системи для генерації гітарних табулатур з 
30 
ЧДТУ 232215.019 ПЗ 
 
аудіофайлів. Теоретичні дослідження зосереджувались на розумінні та аналізі 
ключових концепцій та методологій, що становлять основу системи, включаючи 
принципи роботи конволюційних нейронних мереж та їх застосування в аудіо 
обробці. Це дало міцний фундамент для практичної частини дослідження. 
Експериментальні дослідження були спрямовані на валідацію теоретичних 
концептів через практичне впровадження системи. Це включало розробку, 
навчання та тестування моделі, оцінку якості вхідних даних, аналіз впливу 
середовища на результати, а також оцінку ефективності прийнятих технічних 
рішень. Отримані результати підтвердили значну точність системи у генерації 
табулатур. 
Значна увага була приділена якості вхідних аудіофайлів, оскільки вона 
безпосередньо впливає на ефективність системи. Аналіз і розуміння середовища, 
у якому система використовується, виявились ключовими для адаптації та 
оптимізації її роботи. Водночас, врахування факторів прямої та непрямої дії 
допомогло нам глибше зрозуміти вплив зовнішніх та внутрішніх умов на 
продуктивність моделі. 
Загалом, теоретичні та експериментальні дослідження забезпечили 
глибоке розуміння розробленої системи та її потенціалу. Виявлені області для 
подальших покращень та оптимізацій вказують на напрямки майбутнього 
розвитку. Ця робота підкреслює можливості використання штучного інтелекту в 
області музичної обробки та створює основу для майбутніх інновацій у цій 
захоплюючій галузі. 
31 
ЧДТУ 232215.019 ПЗ 
 
Розділ 3. Впровадження результатів досліджень у практику проектування 
програмного забезпечення інформаційних систем 
3.1 Модель предметної області 
Для виконання проектування інформаційної системи було використано 
програмне забезпечення Rational Rose і мова UML (Unified Modeling Language). 
3.1.1 Предметна область моделювання. Модель предметної області. 
Словник предметної області 
Модель предметної області відображає взаємозв'язки та взаємодії між 
ключовими компонентами системи. Початковим кроком є завантаження 
аудіофайлу користувачем. Цей аудіофайл, що може містити будь-яку музичну 
композицію, є основою для подальшого аналізу. Після завантаження, система 
використовує алгоритм Constant-Q Transform (CQT) для перетворення 
аудіосигналу в спектрограму. Спектрограма CQT перетворює аудіо в візуальний 
формат, який відображає частотний спектр звуку, дозволяючи виділити 
індивідуальні ноти та акорди. Отримана спектрограма CQT подається на вхід 
конволюційної нейронної мережі (CNN). CNN використовується для аналізу 
візуальних даних спектрограми, виявляючи шаблони, що відповідають 
музичним нотам та акордам. Цей процес включає розпізнавання та класифікацію 
різних музичних елементів у композиції, які є необхідними для створення 
табулатури. На основі аналізу, проведеного CNN, система трансформує 
розпізнані музичні елементи в гітарні табулатури. Табулатури представляють 
собою деталізовані інструкції, які показують, де і як гітарист повинен 
розміщувати пальці на грифі гітари, щоб відтворити мелодію композиції. Цей 
вихідний продукт надається користувачу для подальшого використання. 
Користувач є центральною фігурою у цій системі. Він завантажує аудіофайли та 
отримує згенеровані табулатури. Процес має бути інтуїтивно зрозумілим та 
зручним, щоб користувач міг легко отримувати та використовувати табулатури 
для навчання або відтворення музики. 
 
32 
ЧДТУ 232215.019 ПЗ 
 
Таблиця 3.1. 
Словник предметної області 
Це цифровий формат зберігання звукової інформації. 
Аудіофайли можуть бути різних форматів (наприклад, WAV, 
Аудіофайл MP3, FLAC) та містити музичні композиції або інші 
аудіозаписи. У контексті роботи, аудіофайл є вихідним 
пунктом для процесу генерації гітарних табулатур. 
Спектрограма, отримана за допомогою Constant-Q Transform 
(CQT), візуалізує частотний спектр звукового сигналу в часі. 
CQT 
Ця техніка особливо корисна для музичних сигналів, оскільки 
спектрограма 
забезпечує постійну частотну роздільність на всіх октавах, що 
дозволяє точно відображати ноти та акорди у композиції. 
CNN - це тип нейронних мереж, який ефективно 
Конволюційна використовується для аналізу візуальних даних. У моїй роботі, 
нейронна CNN застосовується для обробки спектрограм CQT, 
мережа (CNN) аналізуючи і виявляючи музичні патерни, які 
використовуються для створення гітарних табулатур. 
Це форма музичного запису, яка показує розташування 
пальців на грифі гітари, замість традиційних музичних нот. 
Табулатура Гітарні табулатури є кінцевим продуктом у моїй системі, 
надаючи гітаристам візуальне представлення того, як грати 
мелодію композиції. 
Це основний елемент музичного запису, який представляє 
собою звук  
певної висоти та тривалості. Висота ноти визначається 
Ноти частотою звукових хвиль і сприймається як наскільки високим 
або низьким є звук. Ноти можуть бути записані на нотному 
стані, де їх положення та тривалість визначаються через 
музичні символи.  
Це звучання двох або більше нот одночасно. Акорди є 
фундаментальними для багатьох музичних стилів. Вони 
формують основу багатьох композицій і часто 
Акорд використовуються для створення музичного фону або 
підкреслення мелодії. У гітарній музиці акорди граються 
шляхом затисканням пальцями на різних струнах в певних 
позиціях на грифі. 
Це послідовність музичних нот, яка сприймається як єдиний 
музичний мотив. Мелодія є одним з найважливіших аспектів 
Мелодія 
музичної композиції, може мати різні ритмічні та мелодійні 
характеристики. 
33 
ЧДТУ 232215.019 ПЗ 
 
3.1.2 Елементи моделювання предметної області 
Для моделювання предметної області були задіяні наступні елементи 
UML: 
- актор (дійова особа) 
- клас 
- відношення 
Розглянемо кожен елемент окремо: 
Актор (дійова особа). Являється ключовим елементом, який визначає роль 
або зовнішню сутність, яка взаємодіє з системою або об’єктом. Актор може бути 
фізичною особою, групою людей, іншими програмними системами, або 
зовнішніми подіями, які впливають на систему. Основні аспекти актора в 
діаграмі UML включають: 
1 Взаємодія з системою: актори представляють зовнішніх користувачів 
або системи, які взаємодіють з розглянутою системою. Вони 
визначають ролі, які можуть виконувати дії в межах системи. 
2 Роль у системі: кожен актор виконує певну роль або функцію у 
відношенні до системи. Це може бути наприклад, роль адміністратора, 
користувача тощо. 
3 Не задається внутрішнім станом: у контексті діаграм UML актори не 
визначаються своїм внутрішнім станом чи поведінкою. Вони служать 
лише для визначення зовнішньої взаємодії. 
4 Можливість взаємодії між акторами: у деяких випадках може існувати 
взаємодія між різними акторами, що також може бути відображено на 
діаграмах UML. 
5 Позначення на діаграмі: актори зображуються на діаграмах UML у 
вигляді піктограм людини або системного блоку. Лінії асоціації 
 показують напрямок взаємодії між акторами та системою. 
34 
ЧДТУ 232215.019 ПЗ 
 
 
 
Рисунок 3.1 – Позначення Актора на діаграмах UML 
 
Клас є основною будівельною одиницею для моделювання системи. Клас 
визначає структуру та поведінку об’єктів у системі і включає атрибути (змінні) 
та методи (функції). Основні аспекти класу включають: 
- ім’я класу: це ім’я, яке ідентифікує клас. Зазвичай розташовується у 
верхній частині прямокутника, представляючи клас. 
- атрибути: атрибути представляють характеристики класу або змінні, 
які зберігають стан об’єктів цього класу. 
- методи: методи визначають операції або функції, які можна викликати. 
- взаємозв’язки між класами: стрілки асоціації вказують на 
взаємозв’язки між класами.  
 
 
Рисунок 3.2 – Позначення Класу на діаграмах UML 
 
35 
ЧДТУ 232215.019 ПЗ 
 
Відношення. Визначає взаємозв'язки між різними елементами моделі, 
такими як класи, об'єкти, інтерфейси тощо. Відношення вказують на те, як один 
елемент взаємодіє чи асоціюється з іншим. Основні види відношень включають: 
- асоціація: відображає зв'язок між двома чи більше класами. Це може 
вказувати на взаємодію між об'єктами або наявність певного 
відношення між класами. 
- агрегація: вказує на часткову або цілковиту власність, де один клас є 
частиною іншого.  
- композиція: подібно до агрегації, але з більшою ступенем залежності.  
- відношення: вказує на те, що один клас використовує інший, але не має 
прямого асоційованого зв'язку.  
 
 
Рисунок 3.3 – Позначення Відношення на діаграмах UML 
 
3.1.3 Робоча область моделювання 
Модель предметної області включає в себе:  
- користувач: головний актор який керує системою 
- інтерфейс: дає можливість керувати процесом, вибирати аудіофайл, 
запускати процес і т.д. 
- аудіофайл: основний компонент який містить з якого отримується 
результат 
- табулатура: основний компонент який отримує користувач в результаті 
виконання програми 
36 
ЧДТУ 232215.019 ПЗ 
 
 
Рисунок 3.4 – Модель предметної області  
 
3.2 Формування та аналіз вимог 
3.2.1 Формування вимог до програмного забезпечення. Первинні і детальні 
вимоги. Вимоги замовника і розробника. Функціональні і нефункціональні 
вимоги.  
Первинні і детальні вимоги. 
Програмне забезпечення має бути реалізоване таким чином, щоб 
задовільнити потреби користувача у отриманні гітарних табулатур з аудіофайлу. 
Також програма має бути простою у використанні і зрозумілою на перший 
погляд. 
Вимоги замовника 
1 Підтримка різних форматів аудіофайлів: програмне забезпечення 
має бути сумісне з різними аудіоформатами. 
2 Швидкість обробки: система має обробляти аудіофайли швидко, 
забезпечуючи користувачам швидку генерацію табулатур після 
завантаження файлу. 
3 Інтуїтивно зрозумілий інтерфейс: інтерфейс користувача має бути 
простим і зрозумілим, що дозволяє легко завантажувати аудіофайли та 
отримувати згенеровані табулатури. 
37 
ЧДТУ 232215.019 ПЗ 
 
4 Функціональність перегляду: користувачі повинні мати можливість 
отримати згенеровані табулатури у форматі який підтримується 
програмами для перегляду. 
5 Можливість оновлення та розширення функціоналу: програма 
повинна бути гнучкою для оновлень та додавання нових функцій, щоб 
відповідати зростаючим потребам користувачів. 
Вимоги розробника 
1 При виборі користувачем піктограми для вибору файлу, має відкритись 
вікно з можливістю вибору файлу. 
2 Користувач повинен мати можливість завантажувати аудіофайли 
різних форматів, наприклад: MP3, WAV. 
3 При виборі користувачем піктограми для збереження файлу, має 
відкритись вікно з можливістю вибору місця для збереження, а також 
введення назви файлу. 
4 Користувач повинен мати можливість зберігати згенеровані 
табулатури у форматі PDF для можливості перегляду. 
Функціональні вимоги 
1 Система повинна вміти аналізувати аудіофайли. 
2 Система повинна вміти генерувати гітарні табулатури. 
Нефункціональні вимоги 
1 Система повинна ефективно та швидко працювати, забезпечуючи 
гарний результат. 
2 Система повинна бути масштабованою. 
3 Система повинна бути стійкою до помилок та забезпечувати адекватне 
повідомлення про помилки користувачеві. 
3.2.2 Формування вимог за допомогою діаграми прецедентів 
 Діаграма прецедентів 
Згідно поставлених вимог будується діаграма прецедентів, вона включає в 
себе певні ключові компоненти системи і їхню взаємодію: 
- користувач: основний актор, який взаємодіє з системою 
38 
ЧДТУ 232215.019 ПЗ 
 
- запис мелодії: сценарій використання де користувач може записати 
мелодію. Цей процес залучає використання мікрофона або іншого 
пристрою для запису 
- завантаження аудіофайлу до програми: основний процес, за допомогою 
якого користувач завантажує файл до програми для подальшої 
обробки. Цей процес використовує інтерфейсний елемент, що дозволяє 
користувачу вибрати шлях до файлу 
- запуск процесу: запускає сам процес обробки аудіофайлу, визначення 
нот, акордів і генерацію табулатур 
- отримання результату: сценарій використання, який відбувається після 
завершення процесу обробки і генерування. Результат роботи 
зберігається в окреме місце, яке вибере користувач за допомогою 
інтерфейсного елементу, у відповідному форматі для відкриття або 
редагування у спеціалізованій програмі. 
 
 
Рисунок 3.5 – Діаграма прецедентів 
3.2.3 Проектування логічної структури програмного комплексу 
3.2.3.1 Діаграма класів.  
На рисунку нижче зображено діаграму класів яка має два граничних класи, 
це - «DownloadAudioFile» і «ProgramManager» . Дані класи забезпечують повну 
взаємодію між системою та користувачем. Розберемо їх детальніше: 
39 
ЧДТУ 232215.019 ПЗ 
 
- DownloadAudioFile – даний клас отримує завантажений аудіо файл. Як 
видно з діаграми, він має метод «getFile()» .  
- ProgramManager – це основний клас який керує процесом, має два 
методи: «startProcess()» та «saveResult()» . Перший метод відповідає за 
запуск процесу що виконується уже системою. Другий метод 
відповідає за збереження згенерованого файлу. 
- System – клас який виконує всю основну роботу по обробці аудіо файлу 
і генеруванні табулатур. З назива методі зрозуміло, що спочатку йде 
сегментація аудіо файлу на окремі ноти. Потім ідентифікація цих нот, 
ідентифікація струни, розрахунок тривалості ноти, корекція результату 
і форматування у зручний вигляд. 
 
 
Рисунок 3.6 – Діаграма класів 
3.2.3.2 Діаграма пакетів 
Пакети дають можливість групувати будь-які елементи мови UML, сюди 
входять класи, варіанти використань, діаграми тощо. Групування значно 
спрощує саме розуміння проекту а також його підтримку. Основна мета це 
розбиття великої моделі на менші, зрозуміліші, частини які мають деякі 
спільності.  
40 
ЧДТУ 232215.019 ПЗ 
 
 
 
Рисунок 3.7 – Діаграма пакетів 
 
3.2.4 Архітектурне проектування 
3.2.4.1 Діаграма компонентів 
На діаграмі зображені основні компоненти розроблюваної системи: класи, 
методи та інтерфейси і взаємозв’язки між ними. Вона дозволяє візуалізувати 
компоненти системи та їх взаємозв’язки, що сприяє кращому розумінню 
архітектури системи. 
41 
ЧДТУ 232215.019 ПЗ 
 
 
Рисунок 3.8 – Діаграма компонентів 
 
3.2.4.2 Розгортання програми системи на апаратних засобах. Діаграма 
розгортання 
Діаграма розгортання використовується для моделювання розміщення 
компонентів програмної системи на апаратному забезпеченні та їх взаємодії. 
Суть діаграми розгортання полягає в тому, щоб візуалізувати, як різні частини 
програмного забезпечення розміщуються на апаратних пристроях або в 
середовищі виконання. Вона є корисною для архітекторів та розробників. 
 
Рисунок 3.9 – Діаграма розгортання 
42 
ЧДТУ 232215.019 ПЗ 
 
3.2.5 Моделювання поведінки системи 
3.2.5.1 Діаграма діяльності 
На діаграмі діяльностей зображений алгоритм дій, який необхідно 
виконати для успішного отримання табулатур з мелодії. Для початку необхідно 
запустити програму, та завантажити аудіо файл. Він може бути як уже готовим, 
або можна записати його на мікрофон чи диктофон і вже потім завантажити в 
програму. Потім ідуть послідовні дії, як от обробка аудіо файлу, генерування 
табулатур, а також збереження готового файлу. 
 
 
Рисунок 3.10 – Діаграма діяльності 
 
3.2.5.2 Діаграма послідовності 
Після запуску програми, користувачу необхідно завантажити аудіо файл 
для його обробки та генерації табулатур. Після цього необхідно запустити сам 
процес. Наступними діями керує вже система: 
- обробка аудіо файлу 
43 
ЧДТУ 232215.019 ПЗ 
 
- визначення необхідних параметрів 
- генерування табулатур 
Завершальним процесом є збереження файлу. 
 
 
Рисунок 3.11 – Діаграма послідовності 
 
3.2.5.3 Діаграма комунікації 
Діаграма комунікації використовується для моделювання взаємодії між 
об’єктами або компонентами системи через повідомлення. Суть діаграми 
полягає в тому, щоб візуалізувати, як об’єкти обмінюються повідомленнями та 
співпрацюють між собою в конкретному випадку виконання. 
Після запуску програми, користувачу необхідно завантажити аудіо файл 
для його обробки та генерації табулатур, тому повідомлення «Завантаження 
аудіо файлу» позначено номером 1 та надсилається об’єкту «Інтерфейс». Далі 
йде запуск процесу, тому позначено цифрою 2 і надсилається Інтерфейсу, той в 
свою чергу надсилає повідомлення системі і це позначено номером 3. Далі після 
успішної роботи системи (обробки файлу і генеруванню табулатур) вона вертає 
44 
ЧДТУ 232215.019 ПЗ 
 
згенерований файл інтерфесу, що позначено як номер 4. А далі користувач 
зберігає, згенерований системою файл і відправляє повідомлення Інтерфейсу, що 
позначено як номер 5. 
 
 
Рисунок 3.12 – Діаграма комунікації 
 
3.2.5.4 Діаграма скінченного автомата 
Робота розпочинається із завантаженням аудіо файлу, якщо ж користувач 
завантажив файл не того формату, або якийсь не коректний файл то потрібно все 
ж таки обрати правильний файл іначе не буде можливості продовжити роботу. 
Якщо ж на цьому етапі все було зроблено правильно переходим до наступного 
етапу. На другому етапі користувач запускає процес обробки обраного фалу. 
Дальше йду уже процес генерування табулатур. Кінцевим етапом буде 
збереження згенерованого файлу табулатур в окреме місце яке є зручним для 
користувача, з можливістю в наступному мати вже доступ до цього файла і 
використовувати в своїх цілях. 
45 
ЧДТУ 232215.019 ПЗ 
 
 
Рисунок 3.13 – Діаграма скінченного автомата 
 
Висновок до розділу 
Було детально розглянуто структуру та функціональні аспекти системи 
перетворення аудіофайлів у гітарні табулатури за допомогою UML діаграм. 
Кожна діаграма відіграла ключову роль у візуалізації складних взаємозв'язків та 
процесів, що відбуваються у системі. 
Діаграма класів, допомогла визначити основні сутності та їх атрибути в 
системі. Це дало зрозуміти структуру даних, які обробляються, і встановило 
основу для подальшого проектування. Діаграма послідовностей, яка висвітлила 
взаємодію між різними компонентами системи у часі, зосередивши увагу на 
процесі обробки аудіофайлів та генерації табулатур. Діаграма станів забезпечила 
глибокий аналіз станів, через які проходять вхідні дані, від початку обробки до 
отримання кінцевих табулатур. Вона також відобразила можливі переходи та 
умови, які впливають на перехід даних між різними станами. 
В цілому, побудова цих діаграм дозволила глибше зрозуміти внутрішню 
логіку та архітектуру системи. Це надало цінну основу для подальшого розвитку 
та вдосконалення проекту. 
46 
ЧДТУ 232215.019 ПЗ 
 
Розділ 4. Розробка та тестування програмного забезпечення 
4.1 Розробка програмного комплексу 
4.1.1 Обґрунтування вибору засобів реалізації 
Вибір мови програмування.  
Основним фактором у виборі мови програмування є її здатність ефективно 
вирішувати специфічні задачі проекту. В своїй роботі я обрав Python 
[12][13][14][15] бо він має широкі можливості у сфері машинного навчання та 
обробки даних, а також наявність численних бібліотек для аудіо аналізу та 
обробки. Серед основних переваг Python можна виділити наступні: 
- широке використання в наукових та дослідницьких спільнотах: Python 
є однією з найпопулярніших мов у наукових дослідженнях та розробці, 
завдяки своїй здатності легко обробляти великі масиви даних, 
виконувати складні математичні операції та інтегруватися з різними 
інструментами аналізу даних. 
- багата екосистема бібліотек та фреймворків: Python підтримується 
обширною екосистемою бібліотек та фреймворків, які ідеально 
підходять для задач, пов'язаних з аудіо обробкою та машинним 
навчанням. Бібліотеки, такі як TensorFlow для машинного навчання, 
SciPy та NumPy для наукових обчислень, Pandas для обробки даних, і 
Librosa для аудіо аналізу, роблять Python незамінним інструментом. 
- гнучкість та легкість читання коду: Python відомий своєю чистотою та 
читабельністю коду, що робить його легким для вивчення та 
використання. Це важливо для великих проектів, де співпраця та 
підтримка коду є критичною частиною процесу розробки. 
- підтримка спільноти та доступність ресурсів: Як одна з 
найпопулярніших мов програмування, Python має велику і активну 
спільноту. Це означає, що є багато доступних ресурсів, посібників, 
форумів та документації, які можуть допомогти вирішити майже будь-
яку проблему, що може виникнути під час розробки. 
47 
ЧДТУ 232215.019 ПЗ 
 
- підтримка інтеграції та розширення: Python [16][17][18][19] легко 
інтегрується з іншими мовами програмування та системами. Це 
дозволяє використовувати Python, що з'єднує різні частини системи або 
дозволяє використовувати код, написаний на інших мовах, що може 
бути корисним для специфічних задач. 
Вибір середовища розробки 
Для розробки проекту було обрано середовище розробки PyCharm 
[20][21], розроблений компанією JetBrains, він є одним з найпопулярніших 
інтегрованих середовищ розробки (IDE) для Python. Він має деякі ключові 
переваги використання: 
- інтуїтивно зрозумілий інтерфейс: PyCharm має добре організований і 
інтуїтивно зрозумілий користувацький інтерфейс, який робить процес 
розробки більш зручним та ефективним. 
- широкі можливості для розробки Python: PyCharm оптимізований для 
розробки на Python і підтримує всі основні фреймворки та бібліотеки 
Python. Це включає інтеграцію з такими бібліотеками, як NumPy, 
Pandas, Matplotlib, Django, Flask та інші, що є важливим для проектів, 
пов'язаних з обробкою даних та машинним навчанням. 
- ефективне управління проектами: PyCharm надає зручні інструменти 
для управління проектами, включаючи інтеграцію з системами 
контролю версій, такими як Git. 
- вбудовані інструменти для аналізу та дебагінгу: PyCharm має потужні 
інструменти для статичного аналізу коду, які допомагають виявляти 
помилки ще до запуску програми. Також він пропонує ефективні 
можливості для дебагінгу, що спрощує процес виявлення та 
виправлення помилок у коді. 
- підтримка віртуальних оточень: PyCharm дозволяє легко керувати 
віртуальними оточеннями Python, що є важливим для ізоляції 
залежностей проекту та уникнення конфліктів між бібліотеками. 
48 
ЧДТУ 232215.019 ПЗ 
 
- налаштування та плагіни: PyCharm пропонує широкі можливості 
налаштування, включаючи різноманітні плагіни, що дозволяють 
додатково розширити функціональність IDE. Це може включати 
плагіни для підтримки різних фреймворків, інструментів для баз даних, 
інтеграції з іншими сервісами та багато іншого. Ці налаштування і 
плагіни дозволяють адаптувати середовище розробки під специфічні 
потреби проекту та стиль роботи розробника. 
У сукупності, PyCharm [23][24] виявляється надзвичайно потужним і 
гнучким інструментом для розробки на Python, що робить його ідеальним 
вибором для складних проектів. Він не тільки покращує продуктивність 
розробників за рахунок зручного інтерфейсу та інструментів, але й підтримує 
кращі практики програмування, сприяючи створенню якісного, ефективного та 
легко підтримуваного коду. 
Система контролю версій 
В якості системи контролю версій для свого проекту я обрав Git 
[25][26][27][28]. Вона є необхідним інструментом у сучасній розробці 
програмного забезпечення, особливо у великих або динамічних проектах. 
Використання системи контролю версій, як Git, має численні переваги: 
- керування версіями: Git дозволяє зберігати різні версії коду, давати їм 
описові назви та повертатися до попередніх версій, якщо це потрібно. 
Це особливо важливо в процесі розвитку складних систем, де зміни 
можуть вплинути на функціональність в непередбачуваних способах. 
- branching and Merging: Git дозволяє розробникам створювати окремі 
гілки для різних завдань або функцій, забезпечуючи організовану 
роботу над різними аспектами проекту одночасно. Після завершення 
роботи, гілки можна злити, об'єднуючи зміни в основну кодову базу. 
- співпраця в команді: Git оптимізує процес співпраці в команді, 
дозволяючи кільком розробникам працювати над одним проектом 
одночасно. Він забезпечує механізми для вирішення конфліктів, що 
виникають при злитті коду від різних розробників. 
49 
ЧДТУ 232215.019 ПЗ 
 
- відстеження змін та відповідальності: Git дозволяє докладно 
відстежувати, хто і коли зробив певні зміни в коді. Це сприяє 
прозорості та відповідальності всередині команди, а також полегшує 
процес знаходження та виправлення помилок. 
- інтеграція з іншими інструментами: Git легко інтегрується з багатьма 
іншими інструментами та сервісами, використовуваними в процесі 
розробки, включаючи системи неперервної інтеграції, трекери завдань, 
системи рецензування коду тощо. 
- розподілена природа: оскільки Git є розподіленою системою контролю 
версій, розробники можуть працювати навіть без інтернет-з'єднання, 
вносячи зміни у локальні копії. Після відновлення з'єднання, вони 
можуть синхронізувати свої зміни з центральним репозиторієм. Це 
забезпечує додатковий рівень незалежності і гнучкості в робочому 
процесі. 
- бекап та відновлення: Використання Git також забезпечує надійний 
механізм для бекапу проекту. У разі будь-яких проблем або втрати 
даних, ви завжди можете відновити весь проект або його частини з 
репозиторію. 
- зниження ризиків при впровадженні змін: Можливість створення 
окремих гілок для різних завдань або експериментів дозволяє 
розробникам впроваджувати і тестувати нові ідеї без ризику для 
основної кодової бази. Це сприяє інноваційності та креативності в 
команді. 
- підтримка Open Source та спільноти: Git є відкритим інструментом з 
активною спільнотою, що постійно працює над удосконаленням його 
функціональності. Велика кількість ресурсів, документації та спільнота 
користувачів роблять Git доступним і легким для вивчення. 
- сумісність з різними платформами: Git можна використовувати на 
більшості операційних систем, включаючи Linux, MacOS та Windows, 
50 
ЧДТУ 232215.019 ПЗ 
 
що робить його універсальним вибором для розробників, які працюють 
у різних середовищах. 
У сукупності, використання Git [29][30][31][32] у проекті не тільки поліпшує 
управління кодом і співпрацю в команді, але й підвищує загальну ефективність і 
якість процесу розробки. 
Апаратні засоби 
Ефективність і продуктивність розробленого програмного рішення 
значною мірою залежить від апаратної конфігурації, тому що машинне навчання 
та обробка аудіоданих вимагає інтенсивних обчислень. Ключовими 
компонентами являються: центральний процесор (CPU), оперативна пам'ять, 
твердотільний накопичувач (SSD) та графічний процесор (GPU). Кожен з цих 
компонентів має своє значення у вирішенні задач. В своєму проекті я 
використовував ноутбук Lenovo IdeaPad 320-15IKB, він має наступні технічні 
характеристики: 
- процесор (CPU) - Intel i5 7200U: Це двоядерний процесор з частотою 
2.5 ГГц (до 3.1 ГГц у режимі Turbo Boost), що забезпечує достатню 
продуктивність для загальних обчислювальних задач. Він може 
ефективно справлятися з розробкою програмного забезпечення та 
легшими завданнями машинного навчання. 
- оперативна пам'ять - 12 ГБ: 12 ГБ оперативної пам'яті є хорошим 
показником для більшості розробницьких та дослідницьких задач. Це 
дозволить комфортно працювати з більшістю програм та алгоритмів, а 
також забезпечить достатню швидкість для паралельної роботи з 
декількома додатками або інструментами. 
- твердотільний накопичувач (SSD) - 256 ГБ: SSD пропонує значно вищу 
швидкість читання та запису даних порівняно з традиційними HDD, що 
поліпшує загальну продуктивність системи. Об'єм у 256 ГБ є достатнім 
для зберігання основних програм, систем машинного навчання та 
наборів даних. 
51 
ЧДТУ 232215.019 ПЗ 
 
- графічний Процесор (GPU) - nVidia GeForce 920MX: Хоча ця модель 
GPU не є найпотужнішою для завдань глибокого навчання, вона все ж 
може бути використана для підтримки деяких обчислювальних 
завдань, зокрема тих, що вимагають паралельної обробки даних. Вона 
є корисною для базового навчання моделей. 
4.1.2 Опис структурної (функціональної) схеми 
Для генерації гітарних табулатур з аудіофайлу опис структурної 
(функціональної) схеми має такі ключові елементи: 
1 Головний екран: 
- можливість завантаження аудіофайлу 
- можливість вибору типу для вихідного файлу 
- можливість запустити процес 
2 Форма вибору аудіофайлу: 
- можливість вказати шлях до аудіофайлу 
- перевірка на відповідний тип 
3 Форма збереження вихідного файлу: 
- можливість вибору шляху для зберігання згенерованого файлу 
4 Індикатор прогресу: 
- відображення прогресу обробки і генерації табулатур 
4.1.3 Опис логічної схеми системи 
Для генерації гітарних табулатур з аудіофайлу опис логічної схеми 
системи має наступний вигляд: 
1 Компонент «Головна екран»: 
1.1 мета: відображення можливого фукціоналу 
1.2 логіка: обробка натискань на кнопки: 
- при натисканні на кнопку вибору аудіофайлу відображається форма 
для вибору фалу і тим самим вказування шляху до нього 
- при натисканні на кнопку вибору шляху для вихідного файлу 
відображається форма в якій можна вказати шлях 
52 
ЧДТУ 232215.019 ПЗ 
 
- при натисканні на тип вихідного файлу система знатиме в якому 
форматі потрібно зберегти файл 
- при натисканні на кнопку запуску процеса система розпочне процес 
обробки аудіофайлу і генерації табулатур 
2 Компонент «Форма вибору аудіофайлу»: 
2.1 мета: надати можливість вибору необхідного аудіофлу 
2.2 логіка: запуск системного вікна вибору файлу, а також перевірка на 
його формат 
3 Компонент «Форма збереження вихідного файлу» 
3.1 мета: надати можливість вибору шляху для збереження файлу 
3.2 логіка: запуск системного вікна вибору шляху для збереження 
4 Компонент «Індикатор прогресу»: 
4.1 мета: інформування користувача про поточний стан обробки 
аудіофайлу і генерування табулатур 
4.2 логіка: відображення поточного стану процеса 
4.1.4 Розробка бази даних 
В даній роботі не розроблялась база даних, так як тут використовувалась 
нейронна мережа то збереженими даними являються навчені моделі. 
4.1.5 Розробка інтерфейсу користувача 
Розробка інтерфейсу користувача включала багато етапів, але серед них 
основними були наступні:  
- аналіз і формування вимог 
- розробка прототипу 
- розробка дизайну (UI/UX) згідно вимог і прототипу 
- реалізація дизайну у програмному забезпеченні 
- тестування  
- оновлення і виправлення 
Розглянемо кожен етап більше детальніше 
53 
ЧДТУ 232215.019 ПЗ 
 
Аналіз і формування вимог. Даний етап включав у себе аналіз функціоналу 
програмного забезпечення, а також аналіз подібних програмних забезпечень. 
Формування вимог до інтерфейсу користувача: стиль, основні кольора і т.п.. В 
результаті отримано чіткішу картину того, що саме повинно бути, а також в 
якому стилі. 
Розробка прототипу. Метою цього етапу було розробка прототипу по 
якому буде створюватись фінальний дизайн. Цей етап включав в себе орієнтовне 
відображення того які елементи повинні бути, а также як вони повинні бути 
розташовані у продукті. Цей етап є ключовим так як без нього неможливо 
перейти до наступного, він дає абстрактну картину того як все повинно бути, а 
деталі будуть реалізовані вже в наступному етапі. 
Розробка дизайну (UI/UX) згідно вимог і прототипу. На даному етапі 
розробляється дизайн який буде впроваджено у програмного забезпеченні. Він 
ґрунтується  на основі вимог і прототипу.  
Реалізація дизайну у програмному забезпеченні. Даний етап включає в себе 
реалізацію того дизайну який був розроблений на попередньому етапі у 
програмне забезпечення. В результаті отримується майже фінальний вигляд. 
Тестування. Проводиться детальний огляд реалізованого дизайну в 
програмному забезпеченні і порівняння з розробленим дизайном. Також 
проводиться тестування в різних випадках, на екранах з різним розміром. В кінці 
цього етапу формується певний список проблем або виправлень які потрібно 
внести. 
Оновлення і виправлення. Згідно попереднього етапу робляться 
виправлення або оновлення і впроваджуються у програмне забезпечення. В 
результаті отримується готовий продукт. 
4.1.6 Опис розробки програмних компонентів 
Розробка програмних компонентів включає в себе багато етапів, але 
основними є такі: 
1 Формування вимог: 
54 
ЧДТУ 232215.019 ПЗ 
 
- визначення основних задач, які буде вирішувати програмне 
забезпечення 
- визначення функціоналу 
- аналіз подібних програмних забезпечень 
2 Вибір мови програмування, середи розробки, бібліотек і фреймворків: 
- згідно аналізу визначити найбільш підходящу мову програмування. 
Обрано Python 
- згідно вибраної мови програмування підібрати підходяще 
середовище розробки. Обрано PyCharm 
- згідно вибраної мови програмування підібрати бібліотеки. Обрано 
NumPy, librossa, Tenserflow 
3 Розробка основної частини програмного забезпечення: 
- реалізація обробки аудіофайлу 
- реалізація генерування гітарних табулатур у відповідному форматі 
4 Розробка дизайну: 
- розробка прототипу дизайну 
- розробка дизайну у середовищі Figma 
5 Розробка інтерфейсної частини програмного забезпечення: 
- впровадження розробленого дизайну 
6 Тестування: 
- тестування основної частини  
- тестування інтерфейсу користувача 
7 Оновлення та виправлення: 
- виправлення знайдених проблем в ході тестування 
- оновлення або покращення 
4.2 Тестування системи 
4.2.1 Модульне тестування 
Мета модульного тестування є тестування кожного незалежного модуля 
окремо. Тобто робота одного модуля не повинна впливати на роботу іншого 
55 
ЧДТУ 232215.019 ПЗ 
 
модуля і тестування може бути проведено незалежно. В розробленому 
програмному забезпеченні можна виокремити наступні модулі: 
- користувацький інтерфейс 
- CQT перетворення 
- нейронна мережа 
- генерація табулатур 
Протестуємо кожен модуль: 
Користувацький інтерфейс: 
- перевіряю чи всі компоненти відображаються належним чином 
- перевіряю чи працюють всі кнопки 
- перевіряю чи працює можливість вибору вхідного файлу 
- перевіряю чи працює можливість вибору шляху для вихідного файлу 
- перевіряю чи працює можливість вибору типу вихідного файлу 
- перевіряю відображення помилок в разі не вибору вхідного файлу 
CQT перетворення. Для тестування цього модуля було взято декілька 
аудіофайлів з гітарного набору даних «GuitarSet». Даний набір даних містить 
анотації до кожного аудіофайлу в якому описані в який момент часу звучить 
певна нота і її частота. Згідно цієї анотації робиться перевірка CQT спектрограм. 
Нейронна мережа. Для тестування цього модуля були взяті вхідні дані на 
який була натренована нейронна мережа і проводилась перевірка вихідних даних 
із тими які повинні бути. Також було взято вхідні дані на яких нейронна мережа 
не навчалась і проводилась перевірка щодо правильності вихідних даних. 
Генерація табулатур: 
- перевіряю правильність вихідного типу файлу щодо того який вибрав 
користувач 
- перевіряю кожен тип файлу  
- перевіряю щоб в кожному файлі не було незрозумілих символів або 
щось подібного 
Результати: 
- кожен модуль успішно протестовано окремо 
56 
ЧДТУ 232215.019 ПЗ 
 
- модуль «Користувацький інтерфейс» працює коректно, всі кнопки, 
форми вибору файлу працюють належним чином 
- модуль «CQT перетворення» пройшов всі тестування, всі спектрограми 
збігаються з даними представлені в анотаціях 
- модуль «Нейронна мережа» на виході видавав ті ж дані які і повинні 
були бути, а також для нових даних видавав потрібний результат 
- модуль «Генерація табулатур» генерував потрібний тип файлу, а також 
з усіма необхідними даними 
4.2.2 Інтеграційне тестування 
Мета інтеграційного тестування є об’єднання окремих компонентів чи 
модулів задля перевірки і визначення їх взаємодії та правильності інтеграції. 
Тобто переконатися, що різні частини програми працюють як одне ціле. 
Протестую інтеграцію наступних модулів: 
- модуль «Користувацький інтерфейс» з модулем «CQT перетворення» 
- модуль «CQT перетворення» з модулем «Нейронна мережа» 
- модуль «Нейронна мережа» з модулем «Генерація табулатур» 
Інтеграція модуля «Користувацький інтерфейс» з модулем «CQT 
перетворення». Для тестування інтеграції цих двох модулів необхідно вибрати 
відповідний аудіофайл і натиснути на кнопку запуску процесу. Модуль 
«Користувацький інтерфейс» передає модулю «CQT перетворення» дані про 
аудіофайл, а саме його розташування. Модуль «CQT перетворення» отримує цей 
шлях і уже робить перетворення з вибраного аудіофайлу. Основна мета 
тестування інтеграції цих двох модулів заключається в передачі даних щодо 
аудіофайлу, а саме його розташування. 
Інтеграція модуля «CQT перетворення» з модулем «Нейронна мережа». 
Для тестування цих модулів необхідно перевірити передачу створених, модулем 
«CQT перетворення», спектрограм модулю «Нейронна мережа». Так як другий 
модуль потребує вхідні дані в якості спектрограм, то тестування його є дуже 
важливим, адже потрібно впевнитись в правильності передачі даних. 
57 
ЧДТУ 232215.019 ПЗ 
 
Інтеграція модуля «Нейронна мережа» з модулем «Генерація табулатур». 
Для тестування цих модулів потрібно перевірити що модуль «Нейронна мережа» 
передає результати своєї роботи модулю «Генерація табулатур» і що він видає в 
результаті правильну табулатуру. Це тестування також є важливим, так як тут ми 
отримуємо фінальний результат роботи програмного забезпечення. 
Результати: 
- тестування інтеграції модуля «Користувацький інтерфейс» з модулем 
«CQT перетворення» пройшов успішно. Всі тестові аудіофайли що 
були обрані, успішно передавались наступному модулю. 
- тестування інтеграції модуля «CQT перетворення» з модулем 
«Нейронна мережа» пройшов успішно. Всі спектрограми що були 
створені успішно передані наступному модулю. 
- тестування інтеграції модуля «Нейронна мережа» з модулем 
«Генерація табулатур» пройшов успішно. Результати роботи першого 
модуля успішно передаються наступному модулю і в  результаті 
отримується необхідна табулатура. 
4.2.3 Системне тестування 
Метою системного тестування є тестування всієї системи як єдиного 
функціонального блоку. Тобто переконатися працює коректно.  
Так як всі модулі були протестовані, залишається протестувати роботу від 
самого початку і до кінця, а також обробку помилок. 
Тестування повного процесу роботи. Для тестування всього процесу 
необхідно виконати наступні кроки: 
1 Вибрати вхідний аудіофайл 
2 Вибрати шлях де буде зберігатись результат 
3 Вибрати тип вихідного файлу 
4 Запустити процес 
Реакція ПЗ на помилки. Для виконання цього тестування необхідно 
спровокувати ситуацію при якій програма не зможе функціонувати. Для цього 
спробую зробити наступне: 
58 
ЧДТУ 232215.019 ПЗ 
 
- не вибираючи аудіофайл намагаюсь запустити процес. Отримую 
попередження про необхідність вибору вхідного файлу. 
- не вибираючи шлях для вихідного файлу намагаюсь запустити процес. 
Отримую попередження про необхідність вибору шляху для вихідного 
файлу. 
- не вибираючи формат вихідного файлу намагаюсь запустити процес, 
отримую попередження про необхідність вибору формату для 
вихідного файлу. 
- вибираю в якості вхідного файлу непідходящий формат, наприклад 
PDF. Отримую попередження про необхідність вибору формату який 
відноситься до аудіофайлу. 
Результати:  
- програмне забезпечення успішно пройшло повний процес тестування 
від початку до кінця. 
- Всі спровоковані помилки були оброблені, а також відображається 
вікно з попередженням, що саме сталось не так і що потрібно виконати 
для продовження.  
4.2.4 Приймальне тестування 
Метою приймального тестування є переконання того, що програма 
відповідає поставленим вимогам і готова для випуску. Для цього використовую 
наступний план: 
1 Перевірка відповідності поставленим вимогам 
2 Тестування людьми які не знайомі з ПЗ 
Перевірка відповідності поставленим вимогам. Розглядаю поставлені 
вимоги, а також відповідність їх реалізації: 
- підтримка різних форматів аудіофайлів. ПЗ підтримує різні формати 
аудіофайлів починаючи з популярного .MP3 і закінчуючи .WAV 
- швидкість обробки. ПЗ виконує роботу доволі швидко, звичайні 
аудіофайли з середньою тривалістю до двох хвилини обробляються 
швидко. 
59 
ЧДТУ 232215.019 ПЗ 
 
- інтуїтивно зрозумілий інтерфейс. ПЗ має зрозумілий інтуїтивний 
інтерфейс, це було перевірено користувачами які не були знайомі з 
даним ПЗ. 
- функціональність перегляду та редагування. ПЗ має можливість 
збереження у форматі PDF. Він забезпечує перегляд згенерованих 
табулатур. 
Тестування людьми які не знайомі з ПЗ. Пропоную трьом своїм друзям, які 
не знайомі з розробленим ПЗ, покористуватись і протестувати. Отримую від них 
наступні відгуки: 
- розроблене програмне забезпечення має зрозумілий користувацький 
інтерфейс. 
- програмне забезпечення виконує всі поставлені цілі. 
- отримані результати влаштовують. 
Результати: 
- програмне забезпечення відповідає поставленим вимогам. 
- успішно пройшло тестування людьми які не знайомі з розробленим 
програмним забезпеченням 
4.3 Приклади впровадження програмного комплексу 
Впровадження програмного комплексу для генерації табулатур описано в 
додатку. 
Висновок до розділу 
Під час розробки програмного забезпечення були прийняті певні обґрунтовані 
рішення. Вибір мови програмування Python був зумовлений його 
універсальністю, багатофункціональністю та широким спектром бібліотек для 
обробки аудіоданих  та нейронних мереж. Використання інтегрованого 
середовища розробки PyCharm сприяло зручності та продуктивності розробки. 
Було проведено тестування розробленого програмного забезпечення 
включаючи модельне, інтеграційне та системне. Це дозволило виявити та 
виправити певні помилки у функціонуванні системи. Приймальне тестування 
60 
ЧДТУ 232215.019 ПЗ 
 
забезпечило перевірку відповідності розробленого програмного забезпечення 
вимогам та очікуванням замовника перед його впровадженням. 
61 
ЧДТУ 232215.019 ПЗ 
 
ВИСНОВКИ 
У даній кваліфікаційній магістерській роботі була поставлена та успішно 
розв'язана наукова задача розробки системи для генерації гітарних табулатур з 
аудіофайлів. Ця задача має значний науковий і практичний інтерес, оскільки 
спрощує процес перетворення музики у нотні записи, що є важливим для 
музикантів, композиторів, та музичних освітніх установ. 
У процесі дослідження було проведено ґрунтовний аналіз існуючих 
методів та підходів у даній області, що дозволило виявити ключові недоліки та 
потенційні можливості для розвитку. На основі теоретичних досліджень були 
обрані та адаптовані методи глибокого навчання, зокрема конволюційні 
нейронні мережі, для розробки ефективної системи обробки аудіо. 
Експериментальна частина роботи включала розробку та тестування 
прототипу системи. Було продемонстровано, що система здатна з доброю 
точністю та ефективністю перетворювати аудіофайли в гітарні табулатури, що 
підтверджує успішність обраного підходу. 
Якісні та кількісні показники, отримані в ході дослідження, свідчать про 
добрий рівень точності та надійності системи. Достовірність результатів 
забезпечується за рахунок використання репрезентативного набору даних та 
ретельного тестування. 
На основі отриманих результатів рекомендується використання 
розробленої системи у музичній індустрії та освіті для автоматизації процесу 
створення табулатур. Система може бути корисною для музикантів у процесі 
навчання та репетицій, а також як інструмент для швидкого перетворення 
музичних творів у нотну форму для подальшого аналізу та виконання. Також, 
результати цієї роботи можуть бути використані як основа для подальших 
досліджень у сфері музичної обробки аудіоданих. 
62 
ЧДТУ 232215.019 ПЗ 
 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
1 Automatic Composition of Guitar Tabs by Transformers and Groove 
Modeling [Електронний ресурс] – Режим доступу до ресурсу: 
https://ar5iv.labs.arxiv.org/html/2008.01431. 
2 Rock Guitar Tablature Generation via Natural Language Processing 
[Електронний ресурс] – Режим доступу до ресурсу: 
https://ar5iv.labs.arxiv.org/html/2301.05295. 
3 Transfer Learning for Audio Waveform to Guitar Chord Spectrograms Using 
the Convolution Neural Network [Електронний ресурс] – Режим доступу 
до ресурсу: https://www.hindawi.com/journals/misy/2022/8544765/. 
4 Constant-Q transform [Електронний ресурс] – Режим доступу до 
ресурсу: https://en.wikipedia.org/wiki/Constant-Q_transform. 
5 Hamed H. A. Guide to Convolutional Neural Networks / H. A. Hamed, J. H. 
Elnaz., 2017. – 282 с. – (1). 
6 Goodfellow I. Deep Learning (Adaptive Computation and Machine Learning 
series) / I. Goodfellow, Y. Bengio, A. Courville., 2016. – 800 с. 
7 Khan S. A Guide to Convolutional Neural Networks for Computer Vision / 
S. Khan, H. Rahmani., 2022. – 187 с. 
8 Ciaburro G. Neural Networks with R / G. Ciaburro, B. Venkateswaran., 
2017. – 270 с. 
9 Millstein F. Convolutional Neural Networks In Python / Frank Millstein., 
2020. – 118 с. 
10  Publishing P. Neural Network Projects with Python / Packt Publishing., 
2019. – 308 с. 
11  Priddy K. Artificial Neural Networks / K. Priddy, P. Keller., 2005. – 165 с. 
12 Васильєв О. М. Програмування мовою Python / Олексій Миколайович 
Васильєв., 2022. – 504 с. 
13  Moroney L. AI and Machine Learning for Coders: A Programmer’s Guide 
to Artificial Intelligence / Laurence Moroney., 2020. – 392 с. 
63 
ЧДТУ 232215.019 ПЗ 
 
14  Мізюк О. Путівник мовою програмування Python [Електронний 
ресурс] / Олександр Мізюк. – 2020. – Режим доступу до ресурсу: 
https://pythonguide.rozh2sch.org.ua/. 
15  Zelle J. Python Programming / John Zelle., 2004. – 517 с. 
16  Lutz M. Programming Python / Mark Lutz., 2001. – 1255 с. 
17  O\'Reilly D. Python Programming / Daniel O\'Reilly., 2021. – 292 с. 
18  Raschka S. Python Machine Learning / Sebastian Raschka., 2015. – 454 с. 
19  Python Dpcumentation [Електронний ресурс] – Режим доступу до 
ресурсу: https://docs.python.org/3/. 
20 Atef G. Learn PyCharm IDE for Kids / Ghada Atef., 2023. – 94 с. 
21  Nafiul Q. Mastering PyCharm / Quazi Nafiul., 2015. – 232 с. 
22  Harrison M. Effective PyCharm: Learn the PyCharm IDE with a Hands-on 
Approach / M. Harrison, M. Kennedy., 2019. – 222 с. 
23  Dale M. PyCharm for Power-Developer / Melissa Dale., 2018. 
24  PyCharm Documentation [Електронний ресурс] – Режим доступу до 
ресурсу: https://www.jetbrains.com/help/pycharm/getting-started.html. 
25  McQuaid M. Git in Practice / Mike McQuaid., 2014. – 272 с. 
26  Santacroce F. Git Essentials / Ferdinando Santacroce., 2017. – 238 с. 
27  Git: Mastering Version Control / F.Santacroce, A. Olsson, R. Voss, J. 
Narebski., 2016. – 861 с. 
28  Laster B. Professional Git / Brent Laster., 2016. – 480 с. 
29  Gandhi R. Head First Git / Raju Gandhi., 2022. – 508 с. 
30  Swicegood T. Pragmatic Guide to Git / Travis Swicegood., 2010. – 160 с. 
31  Loeliger J. Version Control with Git / Jon Loeliger., 2009. – 330 с. 
32  Git Documentation [Електронний ресурс] – Режим доступу до ресурсу: 
https://git-scm.com/doc. 
33  Sidwell J. The Complete Guitar Manual / J. Sidwell, J. Dickson., 2020. – 
352 с. 
34  Wade G. A Concise History of the Classic Guitar / Graham Wade., 2010. – 
224 с. 
64 
ЧДТУ 232215.019 ПЗ 
 
35  Papenburg M. How to Read Guitar Tabs [Електронний ресурс] / Michael 
Papenburg. – 2023. – Режим доступу до ресурсу: 
https://www.wikihow.com/Read-Guitar-Tabs. 
36  Alexander J. How to Read Guitar Tablature / Joseph Alexander., 2018. – 64 
с. 
37  Miles D. H. The MIDI Manual / David Huber Miles., 2012. – 384 с. 
38  Rumpe B. Modeling with UML / Bernhard Rumpe., 2016. – 281 с. 
39  Unhelkar B. Software Engineering with UML / Bhuvan Unhelkar., 2017. – 
426 с. 
40  Roff J. UML: A Beginner\'s Guide / Jason Roff., 2002. – 336 с. 
41  Alhir S. Learning UML / Sinan Alhir., 2003. – 234 с. 
42  Harmon P. Understanding UML / P. Harmon, M. Watson., 1998. – 367 с. 
 
 
65 
 
ДОДАТОК А 
 
 
ЗАТВЕРДЖЕНО: 
Зав. Кафедрою ПЗАС, професор 
_____________ Голуб С.В. 
«_____» _____________ 2023 р. 
 
 
 
 
Генерація гітарних табулатур з аудіофайлу 
 
 
 
Специфікація 
482. ЧДТУ.232215.01 
Листів 2 
 
Розробник    __________ __   Мовсесян В.Ю. 
 
 
 
 
 
2023 
 
  
482. ЧДТУ.232215.01 
 
Позначення Найменування Примітка 
482.ЧДТУ.232215 34 01 Інструкція користувача  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
67 
 
ДОДАТОК Б 
 
 
 
 
Генерація гітарних табулатур з аудіофайлу 
 
 
 
 
Інструкція користувача 
482.ЧДТУ.232215 34 01 
Листів 3 
 
 
 
 
 
Розробник    __________ __   Мовсесян В.Ю. 
 
 
 
 
 
 
 
 
2023 
 
  
482.ЧДТУ.232215 3401  
 
ЗАГАЛЬНІ ПОЛОЖЕННЯ 
Для того щоб запустити програму, необхідно відкрити головний файл з 
розширенням .exe, дальше з’являється вікно яке зображене нижче. 
 
 
Рисунок Б.1 – Початкове вікно 
 
При натисканні на кнопки «Browse» навпроти «Choose audiofile», 
користувач може обрати шлях до того аудіофайлу, з якого хоче отримати гітарні 
табулатури. При натисканні з’являється форма для вибору файлу. 
 
 
 Рисунок Б.2 – Форма вибору файлу  
69 
482.ЧДТУ.232215 3401  
 
Після того як користувач вибрав необхідний аудіофайл, то його шлях 
відразу відображається в програмі. 
 
 
Рисунок Б.3 – Стан коли вибрано аудіофайл 
 
При натисканні на кнопки «Browse» навпроти «Choose output path», 
користувач може обрати шлях де буде збережено вихідний файл. При натисканні 
з’являється форма для вибору файлу. 
 
 
Рисунок Б.4 – Стан коли вибрано аудіофайл і шлях для вихідного файлу 
 
70 
482.ЧДТУ.232215 3401  
 
Коли користувач натисне на кнопку «Start process» то розпочнеться процес 
аналізу та генерування гітарних табулатур з вибраного аудіофайлу. В результаті 
користувач отримає повідомлення про те що процес завершений.  
 
 
Рисунок Б.5 – Повідомлення про успішне завершення процесу 
 
Після цього з’явиться файл у тому місці де вибирав користувач. При 
відкритті вихідного файлу будуть відображені згенеровані табулатури. 
 
 
Рисунок Б.6 – Згенеровані табулатури 
 
71