Scientific journal
Научное обозрение. Педагогические науки
ISSN 2500-3402
ПИ №ФС77-57475

IMPLEMENTATION OF DIGITAL COMPETENCIES IN MUSIC EDUCATION OF UNIVERSITY STUDENTS ON THE EXAMPLE OF USING PYTHON SOUND LIBRARIES IN THE COURSE “INFORMATION TECHNOLOGIES IN PROFESSIONAL ACTIVITY”

Gerasimov A.D. 1 Firsova S.A. 1
1 Ogarev Mordovian State University
2916 KB
In accordance with the requirements of the professional standard “Teacher of additional education for children and adults”, which entered into force in 2021, an essential condition for the performance of labor actions for such a specialist is the possession of information technologies. Therefore, there was a need for future teachers, including music teachers, to develop competencies related to the use of digital technologies, the so-called “digital competencies”. In addition, due to the widespread use of artificial intelligence and machine learning methods, as well as the Python programming language, which implements these methods with the help of numerous freely distributed libraries, their study and application in practice by students of humanities has become available. The purpose of the study: to develop a block of laboratory classes on the discipline “Information technology in professional activity” based on the use of sound libraries of the Python programming language to solve typical tasks of professional activity of future specialists in the field of music education. In particular, the article considers an example of automated compilation of a guitar score based on sound analysis of an audio file. The use of mathematical modeling methods, musical computer technologies, modern programming languages will increase the level of students’ digital competencies, and will also allow them to actively apply the mastered methods in their future professional activities.
music education
mathematical modeling in music
musical computer technologies
audio file sound analysis
automated score formation
Python programming language

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

Особую роль в формировании так называемых цифровых компетенций следует отвести практическим занятиям по дисциплине «Информационные технологии в профессиональной деятельности» [2], которые являются важнейшим звеном в процессе профессиональной подготовки как профессиональных музыкантов, так и будущих педагогов-музыкантов в рамках реализации основной профессиональной образовательной программы по различным профилям направления подготовки 53.00.00 «Музыкальное образование», а также по направлению 44.03.01 «Педагогическое образование», профиль «Музыка».

С применением компьютерных информационных технологий стали доступны почти все известные методы моделирования, например имитационное, математическое, аналоговое, алгоритмическое моделирование [3]. В профессиональном обучении музыке разнообразное моделирование звуковой среды особенно ценно, так как не только воссоздает ранее недоступные процессы и явления, но и позволяет активно участвовать в них [3].

Получили широкое распространение методы искусственного интеллекта и машинного обучения при решении различных задач, связанных с обработкой и анализом звуковых файлов, например определение жанра музыки [4], генерация музыкальных композиций [5; 6], распознавания аккордовой последовательности [7]. Кроме того, в связи с широким распространением языка программирования Python, благодаря его простому синтаксису и множеству доступных библиотек, музыканты, не являющиеся программистами, могут использовать многочисленные аудиомодули этого языка для своей профессиональной работы при решении вышеперечисленных и других задач.

Целью данной работы является демонстрация возможностей библиотек Python при решении задачи автоматизированного формирования партитуры для гитары на основе анализа аудиофайла. Данная работа может быть использована при разработке блока лабораторных занятий по дисциплине «Информационные технологии в профессиональной деятельности», как пример решения типовых задач профессиональной деятельности будущих специалистов в области музыкального образования с помощью современных информационных и интеллектуальных технологий.

Материалы и методы исследования

В качестве материалов для проведения данного исследования выступили рабочие программы дисциплины «Информационные технологии в профессиональной деятельности», где приведен набор компетенций, в том числе и «цифровых», освоение которых должно носить системный характер. Также при подготовке приведенной в статье лабораторной работы по вышеуказанной дисциплине использовались описания функций звуковых библиотек языка программирования Python, приведенные в различных интернет-источниках.

Методами исследования, которые применялись в рамках данной работы, являются: математическое моделирование звуковой волны с помощью дискретного преобразования Фурье, алгоритмическое моделирование процесса преобразования аудиофайла в нотную запись с помощью поэтапного выполнения необходимых алгоритмов и соответствующих им функций языка Python.

Результаты исследования и их обсуждение

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

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

Анализ спектра не является самостоятельным методом, он служит основой для других способов звукового анализа, которые работают с полученной спектрограммой.

Другим методом звукового анализа является метод вейвлет-анализа. Этот метод основан на представлении звукового сигнала в виде суммы вейвлетов – математических функций, которые имеют свойства анализировать сигналы в различных масштабах и частотах. Метод широко используется для анализа сложных составных звуковых сигналов, таких как музыкальные композиции, и позволяет выделить различные характеристики звука, например высоту, длительность, громкость и тембр. При изменении параметров вейвлет-анализа можно получить информацию о разных составляющих первоначального звукового сигнала, например только информацию о высоких частотах, составляющих звуковую волну, либо только о низких.

Наиболее популярным методом звукового анализа спектра является Фурье-анализ, который основывается на преобразовании дискретных значений звуковой волны из амплитудно-временной зависимости в амплитудно-частотную зависимость и позволяет анализировать спектральный состав звукового сигнала. С этой целью в обработке звука используется дискретное преобразование Фурье (ДПФ).

Результатом ДПФ будет преобразование дискретного ряда звуковой волны в ряд фундаментальных частот, образующих эту волну. По вертикали этого ряда откладывается частота гармоники, составляющей звуковую волну, а по вертикали – относительная амплитуда. Имея данные о составляющих гармониках и их амплитудах, можно выявить главную частоту, она будет наиболее выраженной среди других.

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

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

Этапы работы алгоритма представлены на рисунке 1.

Каждый этап данного алгоритма подразумевает реализацию на языке программирования Python, при этом в качестве среды разработки удобно использовать сервис Google Colab. Данный сервис предоставляет возможность работать с кодом, написанным на языке Python через Jupyter Notebook, при этом на свой компьютер не нужно устанавливать никаких дополнительных программ. В Google Colab можно подключать различные библиотеки, написанные для Python и расширяющие его возможности, загружать и запускать файлы, проводить анализ данных и получать результаты в браузере.

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

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

Загрузка аудиофайла осуществляется с помощью функции load() (рис. 2), данная функция также позволяет получить значения временного ряда, содержащего значения амплитуды звукового сигнала, которые записываются в массив, и частоту дискретизации, с которой происходит чтение аудиофайла (рис. 2).

missing image file

Рис. 1. Этапы работы алгоритма

missing image file

Рис. 2. Значения временного ряда и частоты дискретизации

missing image file

Рис. 3. Воспроизведение аудиофайла

missing image file

Рис. 4. График звуковой волны

Для воспроизведения аудиофайла необходимо подключить модуль Audio, затем воспользоваться функцией display() (рис. 3).

Вывод графика звуковой волны можно выполнить с помощью функции waveshow() библиотеки Librosa, в качестве параметров функции необходимо указать массив значений временного ряда и частоту дискретизации (рис. 4).

Для получения хроматограммы необходимо применить функцию chroma_stft(), тепловую карту мощностей для каждого из 7 классов нот, а затем функцию specshow() для её графического отображения (рис. 5).

Наложение фильтра высоких частот производится с помощью функции high_pass_filter() модуля AudioSegment, аргументами которой являются: 1) пороговая частота фильтрации, частоты ниже которой будут заглушаться; 2) сила фильтрации. Пример использования этой функции, а также график звуковой волны до и после проведенного преобразования приведены на рисунке 6.

Для нахождения моментов начала звучания нот выделим из аудиофайла массив сегментов с шагом 50 мс, содержащий громкости в децибелах полной шкалы, затем найдем «пики», или максимумы, в этом массиве, используя функцию find_peaks. Данная функция принимает следующие параметры: volume – массив громкостей звучания, height – пороговое значение громкости, prominence – выраженность пиков, distance – минимальное расстояние между двумя пиками. График звуковой волны с найденными моментами начала звучания нот представлен на рисунке 7.

missing image file

Рис. 5. Хроматограмма частот аудиофайла

missing image file

Рис. 6. Наложение фильтра высоких частот

Для каждого фрагмента аудиофайла от момента начала звучания ноты до момента следующей ноты выполняется быстрое преобразование Фурье (БПФ), которое позволяет перейти от амплитудно-временного представления звуковой волны к её частотному спектру.

На рисунке 8 показана звуковая волна первой ноты, а на рисунке 9 – результат проведения БПФ для неё.

missing image file

Рис. 7. Звуковая волна с найденными моментами начала звучания нот

missing image file

Рис. 8. Звуковая волна первой ноты

Для определения ноты и октавы на основе главной частоты в библиотеке Librosa предусмотрены соответственно функции librosa.hz_to_note() и librosa.hz_to_octs(). При нахождении знака октавы необходимо найти, насколько нота ниже или выше, чем вторая октава, и добавить к её записи соответствующее количество запятых либо апострофов, для вычисления доли на основе темпа и длительности используется формула, в которой длительность целой ноты для данного темпа, учитывая что при 60 уд./мин. целая нота длится 4 секунды, делится на фактическую длительность ноты в секундах и округляется к ближайшей степени двойки.

missing image file

Рис. 9. Результат БПФ для первой ноты

missing image file

Рис. 10. Массив найденных нот, их октав и долей

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

Для преобразования созданного массива нот и их долей в партитуру применяется GNU LilyPond, который представляет собой свободно распространяемый нотный редактор со специальным языком разметки. Музыкальная партитура создается путём компиляции из текстового файла, содержащего определенные элементы, размещенные в соответствующих блоках. Например, предусмотрен блок \header, в котором указываются название композиции и её автор, блок \absolute – для задания октав нот в абсолютных значениях, \clef treble – для обозначения скрипичного музыкального ключа, для задания нот применяется формат «нота,октава,длительность» (октава задаётся серией запятых или апострофов, каждый из которых, соответственно, понижает или повышает ноту на одну октаву).

missing image file

Рис. 11. Создание записи для компиляции в LilyPond

missing image file

Рис. 12. Вызов утилиты lilypond и получение музыкальной партитуры в формате PDF

Программа создаёт сначала промежуточный файл (в формате TeX), который затем преобразуется в PDF-файл. На рисунке 11 показано формирование записи полученных нот согласно формату LilyPond для её последующей компиляции в партитуру.

На рисунке 12 показано, как производится запуск утилиты lilypond с правами суперпользователя «sudo», которая обрабатывает файл, содержащий сформированную запись, и выводит результат в файл с нотами формата PDF.

Заключение

Таким образом, в статье рассмотрен пример применения методов математического моделирования, музыкальных компьютерных технологий, современных языков программирования в блоке лабораторных занятий по дисциплине «Информационные технологии в профессиональной деятельности» для будущих специалистов в области музыкального образования. Представленная и подобные ей работы позволят студентам повысить их уровень цифровых компетенций, а также применить освоенные методы и алгоритмы в будущей профессиональной деятельности.