\documentclass{lomonosov}
 
\begin{thesis}  % Сам тезис должен быть полностью помещен внутри окружения thesis
  
% Один автор
\Title{Разработка программного обеспечения для редактирования тегов ID3}{{Семенов\,С.\,А.}} 

%	Команда авторства. Выберете ту, что отвечает вашему тезису, и, если надо, раскомментируйте ее; остальные --- удалите или закомментируйте. 
%

% Один автор 
\Author{Семенов~Семен~Александрович}{Студент}{ФМИАТ УлГУ}{Ульяновск}{Россия}{usersem70@gmail.com}{}

Для большого количества людей с популяризацией музыкальных онлайн-сервисов отпала необходимость в содержании музыкальных файлов на локальном хранилище, и, следовательно, их самостоятельной организации. Тем не менее, использование онлайн-сервисов обладает существенными недостатками по сравнению с непосредственным хранением музыкальных файлов на личном устройстве:
список доступной музыки полностью определяется политикой сервиса, что приводит к отсутствию непопулярных исполнителей или заставляет пользоваться несколькими сервисами сразу, что также неудобно;
зачастую онлайн-сервисы воспроизводят музыку в низком качестве;
умышленные ограничения функционала ради продажи платных опций;
опасность потери всей музыкальной библиотеки в случае потери доступа к аккаунту или его блокировки сервисом.

Таким образом, мы видим причины, по которым некоторые люди отказываются от музыкальных сервисов в пользу музыки на локальном хранилище, к тому же современные объёмы памяти как в ПК, так и в мобильных устройствах позволяют разместить практически неограниченных размеров музыкальные библиотеки.

Вместе с этим встает вопрос организации музыкальных файлов. Одним из самых распространенных в данный момент является формат ID3 – формат метаданных, наиболее часто используемый в звуковых файлах в формате MP3. В ID3 содержатся данные о названии трека, альбома, имени исполнителя и т. д., которые используются медиаплеерами и другими программами для отображения информации о файле и автоматического упорядочивания аудиоколлекции [1].
Проблема в том, что треки, полученные из разных источников, не всегда имеют правильно отредактированные метаданные, что может вызывать путаницу при их воспроизведении в специализированном ПО.

Цель работы состояла в разработке программы для редактирования тегов ID3. Главным условием разработки было сохранение исходного кода открытым, чтобы каждый пользователь мог изменить программу под свои нужды, а также свободно модифицировать и дополнять ее новыми функциями.
Следует отметить, что последняя версия программы всегда доступна для скачивания и просмотра кода на моем аккаунте GitHub: 
\url{github.com/UserSem/mp3meta}
 
В качестве языка программирования был выбран Python 3 как популярный и имеющий большой набор библиотек язык.
Далее встал вопрос о непосредственно средствах доступа к метаданным MP3. На выбор было несколько библиотек: eyeD3 [2], mp3-tagger [3], mutagen [4]. После тестирования предпочтение было отдано mutagen из-за скорости работы и простоты в изучении.

Следующей задачей ввиду объектной ориентированности Python стала разработка главного класса для работы с MP3 (файл \verb|main.py|, class Mp3File). Его главный атрибут – tags, экземпляр класса EasyID3 библиотеки mutagen, содержащий все метаданные, доступные для изменения (перечислены в секции Features файла \verb|README.md|). Mp3File содержит методы для всех доступных вариантов взаимодействия с файлом (установка/очистка тега, получение и вывод списка тегов, автоматическая установка тегов на основании названия файла).

Далее последовала разработка средств пользовательского взаимодействия с вышеописанными методами – создание консольного приложения с использованием модуля argparse (файл \verb|no_gui.py|). Результат – консольный интерфейс, описанный в \verb|README.md|, секция Usage.

Таким образом, была разработана готовая к распространению и использованию программа, позволяющая просто редактировать ID3 теги в MP3 файлах.

В докладе обсуждаются используемые в разработке алгоритмы и особенности созданного программного продукта, проводится сравнение с существующими аналогами [5-9] по ряду параметров.
 

%
%   Список литературы, если он есть
%
\begin{references}
\Source ID3: 
\url{ru.wikipedia.org/wiki/ID3_}\verb|(метаданные)|

\Source Welcome to eyeD3: \url{eyed3.readthedocs.io/en/latest/} 

\Source mp3-tagger 1.0: \url{pypi.org/project/mp3-tagger/} 

\Source mutagen: \url{mutagen.readthedocs.io/en/latest/}  

\Source Mp3tag: \url{mp3tag.de/en/} 

\Source ID3 Editor: \url{pa-software.csom/id3editor/}

\Source ID3 Tag Editor: \url{id3tageditor.com/}

\Source Kid3 Tag Editor: \url{sourceforge.net/projects/kid3/}

\Source ID3 Editor: \url{macupdate.com/app/mac/21456/id3-editor} 
\end{references}

\end{thesis} % Сам тезис должен быть полностью помещен внутри окрежения thesis