Pastebin / Спецификация формата iMelody (2013)

Ethicist 28 июня 2018

На момент написания нижеприведённой статьи, в 2013 году, формат iMelody уже был устаревшим и не поддерживался большинством устройств, а сам автор текста учился в школе. 😅

iMelody — монофонический формат музыкального файла, созданный для мобильных устройств компанией Sony Ericsson. (Википедия. На мой взгляд, весьма исчерпывающе). Формат iMelody поддерживается некоторыми моделями телефонов от таких производителей, как Sony Ericsson, Alcatel, Motorola и Siemens. iMelody содержит в себе минимальный набор тоновых (монофонических) сигналов устройства. Данный формат можно передавать через Системму Коротких Сообщений (SMS), Системму Мультимедийных Сообщений (MMS), а также через Инфракрасный Порт, Голубой Зуб и так далее…

Ну, думаю что на этом уже пора прекращать столь скучную и бесполезную теорию. Пожалуй не будем долго тянуть, и с головой окунёмся в столь скучный и унылый мир Высокоуровневого Некропрограммирования. Для начала попробуем разобраться с самим *.imy файлом. По сути iMelody можно смело открывать “Блокнотом” или любым другим текстовым редактором, дабы в дальнейшем внести в него небольшие изменения. Итак, что же мы видим? Весьма и весьма примитивный код, напоминающий какой-нибудь “HelloWorld”:

BEGIN:IMELODY
VERSION:1.2
FORMAT:CLASS1.0
NAME:IMELODYEXAMPLE
COMPOSER:THERUNNINGMAN
BEAT:120
STYLE:S1
VOLUME:V7
COPYRIGHT:FREE
MELODY:
END:IMELODY

А вот теперь давайте разберёмся что к чему, ну и попробуем вникнуть в суть происходящего. Начнём по традиции, с первой строки:

BEGIN:IMELODY

Думаю тут даже незнающий человек догадается, что речь идёт о начале мелодии. Устройство получает команду “Начать” , после двоеточия, означающего присвоение значения, устройство получает информацию о формате файла, собственно который будет в дальнейшем им считываться. (Обожаю нести всякий бред, подобный этому).

Итак, объявлено начало мелодии. Далее следует очень важная информация, которая впринципе не играет особо важной роли в мелодии, но к сожалению, без этого у нас вряд ли что-нибудь получится…

VERSION:1.2

Как бы странно это бы не было, но альтернативных вариантов “Версии”, судя по всему нет. Версия “1.2” указывается абсолютно во всех iMelody, что навевает лёгкие приступы паранойи и небоснованного приступа агресии в адрес всех мобильных устройств. (Нередко подобные явления несут в себе деструктивный характер.)

FORMAT:CLASS1.0

В природе существует два вида “Классов формата мелодии” - “CLASS1.0” и “CLASS2.0”. Отличаются они друг от друга лишь немного расширенным набором функций. Стоит оговориться, что наличие данного поля в IMY файле является обязательным. потому, что именно FORMAT Field отвечает за спецификацию метода разбора последующей кода файла.

NAME:IMELODYEXAMPLE

Самое простое - имя нашего “Шедевра”. Естественно, пишем только на инглише и только заглавными буквами, без пробелов. Например “MYFREAKINGMELODY”

COMPOSER:THERUNNINGMAN

Наверное самое приятное для авторов поле в этом файле. В значении можно указать свой творческий псевдоним или настоящее имя, В крайнем случае в поле можно указать любую другую информацию, каким-либо образом говорящую о Вас, как о композиторе данного музыкального произведения. Значение вводится точно так же, как и в случае с названием.

BEAT:120

В этой строке указывается темп вашей мелодии… Эммм… Забегая вперёд, хочу сказать что при написании мелодии нам понадобится немного чуства ритма, стиля, капелька музыкального слуха, что не так уж и обязательно. Кстати, наличие серого вещества в черепной коробке так же приветствуется. Но тут уже на ваше усмотрение )) Для тех, кто не в курсе - темп это скорость проигрывания мелодии. Темп измеряется в “Ударах в Секунду” в переводе на инглиш “Beat per Seconds”, ну или “BPS”, как более распространённое среди музыкантов. По умолчанию выставляется значение “120”. Но его в любой момент можно изменить - сделать мелодию быстрее, или же наоборот медленнее. Для этого меняем значение от самого медленного, до самого быстрого - тут уже на ваше усмотрение. Минимальное значение темпа - “25”, максимальное значение - “900”

STYLE:S1

Строка с этом параметром придаёт мелодии свой “стиль звучания”. Разнообразием тут так и блещет - в вашем распоряжении целых три стиля - “S1”, “S2” и “S3”. Рассмотрим их по-порядку:

“S1” - Стандартный стиль звучания. Звучание стандартное, ноты стандартные. Думаю, что больше про него нечего сказать. “S2” - Продолжительный стиль, то есть проигрываемые ноты играются очень протяжно и медленно. Ну и третий стиль - прямая противоположность передыдущему стилю. “S3” - Стиль Стаккато. “Staccato”, в переводе с итальянского языка обозначает “Коротко, отрывисто” и употребялется в основном, как музыкальный термин. (Три года музыкального образования… Хоть где-то пригодились…)

VOLUME:V7

Этот параметр, как Вы уже наверное догадались, отвечает за громкость всей мелодии. Так же, как и в случае с Темпом, громкость выбирается на Ваше усмотрение. Минимальное значение - “0”, стандартное значение - “7” и максимальное значение - “15”. Кстати, при значении “0”, звука мы уже не услышим. Ну, думаю с этим, думаю проблем ни у кого не возникнет. Переходим к следующей строке.

COPYRIGHT:FREE

Ну, тут на мой взгляд нет ничего сложного. В поле указываем информацию об авторском праве. Значение “FREE” означает, что файл распространяется по “свободному принципу”, а вот значение “PROTECTED” означает, что авторские права на мелодию защищены. Вобще можно не обращать особого внимания на этот параметр, так как особой роли он не играет.

Итак, пожалуй вот здесь мы остановимся и сделаем небольшой привал. Сейчас мы ознакомились только с основными составляюшими IMY файла. Впринципе, этого вполне достаточно, чтобы приступать к процедуре написания самой мелодии… Но, спецификация iMelody гораздо шире - в ней есть ещё довольно-таки большое количество возможностей, которые, как это ни странно, не заслужили особой популярности среди создателей iMelody, и лишь в редких случаях ( учитывая то, что iMemlody уже лет 5-7, как никто не пользуется ), в найденной мелодии может встретиться один из нижеперечисленных параметров… Что может быть прекраснее мёртвых технологий…

Прежде чем написать следующую часть текста, мне пришлось не один раз прочитать документацию по iMelody ( да-да, полноценнуэ документацию ), найденную на каком-то американском ресурсе столетней давности… Поначалу всё было довольно-таки запутанно, но всё же я смог кое-что разобрать, и перевести. Но всё же заранее хотелось бы сказать, что я могу ошибаться и нести всякую чушь, абсолютно не относящуююся ни по смыслу ни по тематике к данному тексту. Опять же, склонен предполагать, что следующие поля и методы предусматриваются только форматом класса 2.0, об этом подробнее написано чуть повыще. Ну что-ж… Думаю теперь можно смело начинать.

VOLUME-MODIFIER:V+

Модификатор громкости мелодии. Тесно связан с параметром VOLUME, собственно, и существует он лишь ради изменения значения данного параметра. При значении “V+”, повышает громкость мелодии на “+1”, при значении “V-“, понижает её на “-1”. Например, если у “VOLUME” стоит значение “V7”, то при “VOLUME-MODIFIER:V+” значение “VOLUME” станет “v8”. И наоборот.

OCTAVE-PREFIX:

Вот тут уже немного посложнее. Изменив значение этого параметра, мы можем перенести мелодию в другую октаву. Именно тут-то нам и понадобятся некоторые знания из курса Сольфеджио 1-2 класс. Итак, октава… Октава – это расстояние от одного звука до его ближайшего следующего повторения. Например, от ноты «До» до следующей ноты «До» - октава. Каждая октава начинается и заканчивается нотой «До». Существует всего 6 полных и 2 неполные октавы. Это: первая октава, вторая октава, третья октава, четвёртая (неполная) октава, малая октава, большая октава, контроктава, и неполная субконтроктава. Разберёмся на простейшем примере.

Допустим, что мы написали мелодию из трёх нот - До, Ми, Соль.

Смотрите также: