Введение
Сегодня компьютерная виртуальная реальность используется во многих сферах – от тренажеров до арт-практик. В ее основе лежат технологии мультитмедиа: формализованное цифровое кодирование информации различных типов и воспроизведение этих кодов специальной аппаратурой. Мультимедийное воздействие формируется в результате синтеза различных типов контактов: в общем случае визуального и звукового.
Использование звука в информационных технологиях, играх различного рода обучающих программах и программах тренажерах требует наличия специальных стандартов, для унификации используемых ресурсов. Так, например, если мы захотим послушать музыку или передать звуковое письмо или сообщение своим друзьям, родственникам, то необходимо быть уверенным, что адресат сможет его воспроизвести.
Для хранения и использования звуковой информации в компьютерах на сегодняшний день существует множество звуковых форматов. В данной работе будет рассмотрен один изз них MP3.
MP3 – это наиболее популярный формат хранения и передачи информации в цифровой форме, использующий компрессию сигнала. Формат MP3, или MPEG Audio Layer-3, был разработан компаниями Fraunhofer IIS и Thomson. По сравнению с WAV-файлами, являющимися копиями треков Audio CD (PCM, 16 bit, Stereo, 44,1 kHz), MP3-композиции занимают намного меньше места на диске. На обыкновенном CD-R/RW-бланке можно сохранить свыше 11 часов музыки вполне пристойного качества.
Для MP3 написано множество отличных программ (кодировщиков, проигрывателей и т. д.), налажено производство аппаратных (стационарных, карманных и автомобильных) плееров, каждый современный телефон поддерживает MP3-мелодии (и даже имеет встроенный плеер для их удобного воспроизведения). По сравнению со многими другими форматами сжатия аудио MP3 обеспечивает лучшее качество звучания и сегодня по своей популярности занимает лидирующее положение.
1 Анализ задания и постановка задач
В ходе решения задачи, поставленной в качестве задания для представленной курсовой работы требуется создать приложение, позволяющее редактировать теги mp3 файлов.
Еще не так много лет назад домашняя аудиотека хранилась преимущественно на твердых носителях — кассетах, CD, виниловых дисках. Такая устоявшаяся традиция существует до сих пор, однако все больше пользователей предпочитают слушать музыку онлайн, даже не загружая ее на устройство. В то же время, многие меломаны выбирают золотую середину: наиболее удобный и недорогой способ хранения – на жестком диске компьютера, в виде файлов различных форматов аудио. У данного подхода есть свои нюансы. В частности, управлять обширной коллекцией, по мере ее разрастания, становится все сложнее. Разнообразие форматов, источников, исполнителей, различное качество звучания – слишком много причин, чтобы задуматься о наведении порядка в домашней аудиотеке.
На самом деле, решение проблемы общеизвестно и лежит на поверхности: для упорядочивания коллекции можно прибегнуть к тегам. Чем более детально данная информация описывает композицию, тем больше шансов обнаружить нужный трек среди музыкальных архивов.
Очевидно, что теги берут на себя информационную роль, и сегодня сложно найти программный или аппаратный медиаплеер без поддержки метаданных или музыкальный сервис без соответствующих возможностей при импорте музыки с компьютера в Интернет.
Результатом выполнения данной работы должно стать приложения для операционной системы Windows, которое должно предоставлять пользователю возможность просмотра, изменения и сохранения MP3 тегов для медиафайлов соответствующего формата.
2 Теоретическая часть
После создания формата MP3 появилась проблема с хранением данных о музыкальном файле. В MP3 это никак не предусматривалось. В 1996 Эрику Кэмпу пришла идея добавить участок памяти в файл, чтобы решить эту проблему.
ID3 (от англ. Identify an MP3) — формат метаданных, наиболее часто используемый в звуковых файлах в формате MP3. ID3 подпись содержит данные о названии трека, альбома, имени исполнителя и т. д., которые используются медиаплеерами и другими программами, а также аппаратными проигрывателями для отображения информации о файле и автоматического упорядочивания аудиоколлекции.
Существует две несовместимых версии ID3: ID3v1 и ID3v2.
Первая версия ID3-тегов занимала всего 128 байт, начинающихся со строки TAG. Тег помещался в конец файла для поддержания совместимости с ранними проигрывателями. Некоторые из них издавали небольшой шум, когда пытались прочесть тег, но большинство игнорировали его. Современные проигрыватели воспринимают эту информацию корректно.
Поскольку для данных отводилось немного места, в таких тегах можно было хранить только базовые сведения о песне: название, альбом, исполнитель, комментарий — по 30 байт на каждое поле, 4 байта для хранения года и один байт под жанр, который можно было выбрать из заранее определённого списка с 80 значениями (позднее Winamp расширил список своими 68 значениями). Если названия песен или альбомов содержали более 30 символов, они обрезались. Конечно, из-за ограничений по размеру ни о каких расширенных возможностях хранения метаданных не могло быть и речи.
Единственное усовершенствование, реализованное в версии 1.1, было предложено Майклом Мутшлером (Michael Mutschler) в 1997 году: так как поле под комментарий всё равно слишком мало для хранения чего-либо полезного, было решено сократить его на два байта, чтобы использовать их для хранения номера трека.
Расширенный тег – это дополнительный блок данных перед тегом ID3v1, который позволяет в три раза расширить некоторые поля ID3(v1-v1.1) и добавить несколько новых полей. Разработчики этого расширения попытались следовать идее наибольшей совместимости, поэтому начало всех тегов хранится в обычном теге ID3v1, что позволяет читать или записывать данные любой программе, понимающей ID3v1, и только если выделенных байтов не хватает, продолжение для каждого поля будет храниться в расширенном блоке (при условии, что программа умеет туда записывать). Расширенный блок занимает 227 байт, находится перед тегом ID3v1 и начинается с метки TAG+. В нём было выделено дополнительно по 60 байт для полей "название песни", "исполнитель" и "альбом", 1 байт под скорость (стиль, тип) музыки (00=unknown, 01=slow, 02=medium, 03=fast, 04=hardcore), 30 байт под свободный ввод жанра, а также по 6 байт под начальное и конечное время музыки в файле (например, для плавного увеличения громкости). Поле комментария расширено не было и осталось равным 28–30 байтам. Если ничего из перечисленного не используется, он автоматически опускается.
Это был неофициальный стандарт, и он поддерживался малым количеством проигрывателей.
ID3v2.2 – первая широко используемая версия ID3v2. Ныне считается устаревшей. Используется трёхсимвольный идентификатор фрейма вместо четырёхсимвольного («TT2» для фрейма с названием произведения вместо «TIT2»).
Форматы фреймов ID3v2.2, ID3v2.3 и ID3v2.4 немного различаются.
3 Проектирование программы
Для реализации приложения используем продукт Visual Studio.
Microsoft Visual Studio – это инструмент разработчика от компании Microsoft, позволяющий создавать приложения, работающие на популярной сегодня платформе .NET и не только.
Microsoft Visual Studio объединяет в себе огромное количество функций, позволяющих осуществлять разработки для Windows всех версий, Интернета, SharePoint, различных мобильных устройств и облачных технологий. В Visual Studio реализуется новая среда разработчика, благодаря которой создавать приложения стало проще. Microsoft Visual Studio – это обновленная и упрощенная программная среда, для которой характерна высокая производительность, причем она не зависит от особенностей оборудования.
Каждая новая версия программы состоит из новейших инструментов и технологий, позволяющих разрабатывать приложения с учетом особенностей и положительных моментов современных платформ. Например, Visual Studio может поддерживать более ранние версии, в том числе Windows XP и Windows Server. При этом разработчикам открыта дорога к созданию новых и модернизации уже существующих приложений, предназначенных для ранних версий ОС Windows. Стоит отметить, что в процессе использования поддерживаемых системой вариантов исходные файлы, проекты и решения в программе Visual Studio будут работоспособными, но исходный код может нуждаться в изменениях.
Visual Studio представляет собой передовую программу, которая дает возможность любым по размеру командам осуществлять проектирование и создание привлекательных приложений. Благодаря инструментам гибкого планирования можно внедрять методы последовательной разработки и применяться гибкие методологии в темпе, удобном для пользователя.
Редактор MP3 тегов не требует достаточно сложных интерфейсных решений, весь его функционал легко поместиться в одной форме приложения.
Для этого в среде разработки создадим проект с одной формой (Рисунок 3.1).
4 Реализация программы
Вначале необходимо получить список файлов для просмотра и редактирования тегов. Для этого у пользователя необходимо запросить расположение каталога с данными и вывести найденный файлы в список, для возможности последующего редактирования.
Код запроса каталога и заполнение списка файлов:
После заполнения у пользователя появляется возможность отредактировать тег. Но для того чтобы не возникало критических ошибок, перед чтением информации требуется проверка на то, что в списке файлов действительно присутствует информация и пользователь выбрал файл для обработки. Для этих целей используем проверку:
После выбора и открытия файла необходимо удостовериться, что тег существует, так как возможна ситуация, когда в файл информация не заносилась. Для этого после открытия файла звукозаписи необходимо прочитать последних 128 байт файла и проверить их на соответствие тегу:
5 Тестирование программы
Для проведения тестов запустим приложение на выполнение (Рисунок 5.1).
Теперь необходимо выбрать каталог со звуковыми файлами (Рисунок 5.2).
После получения списка файлов, становиться возможным получить информацию из информационного тега, если тег в файле отсутствует, программа предложит создать его (Рисунок 5.3).
После чтения тега информация из него будет расшифрована и отображена в информационных полях программы с возможностью ее редактирования (Рисунок 5.4).
Заключение
В ходе реализации данного проекта создано приложение редактор тегов mp3 файла. Приложение предназначено для просмотра информации о музыкальном файле из его информационных тегов. Реализация производилась с использованием языка C++ в системе визуального проектирования и разработки Visual Studio.
В процессе выполнения работы были изучены вопросы истории развития информационных тегов к мультимедийным файлам их разновидности, изучена структура тегов. Полученная информация в ходе изучения и исследования в последствии успешно применена для реализации поставленной задачи.
Как можно было убедиться из проведенных тестов, приложение показывает информацию из тегов и записывает ее обратно, в случае отсутствия информационного тега у файла, программа предложит создать его.
Скриншоты программы


