Спецификация RTTTL
RTTTL (Ringing Tones Text Transfer Language) принят на вооружение фирмой
Nokia, и используется для передачи рингтонов (мелодий для мобильных
телефонов) с передающего устройства на мобильный телефон. В качестве
передающего устройства могут быть использованы как и другие мобильные
телефоны фирмы Nokia, так и различные SMS гейты использующие оборудование
Nokia. Передача рингтонов на телефон возможна и с компьютера, с помощью
различных программ типа LogoManager, подсоединённого к телефону через
специальный кабель или через инфракрасный порт.
Рассмотрим теперь спецификацию языка RTTTL, в том виде, в котором его
сейчас используют различные программы и гейты. Она, правда, может несколько
отличаться от официальной, но для повседневных нужд представляет для
нас большую ценность.
Типичный рингтон в формате RTTTL выглядит обычно так:
Melody:d=4,o=2,b=125:8c2, 4d1, 16p, 8a3, 16p ...
Он состоит из трёх частей, отделяемых друг от друга символами двоеточия
Melody:d=4,o=2,b=125:8c2, 8d1, 16p, 8a3, 16p ...
1 2 3
1 - название рингтона на латиннице не более 11 символов
2 - служебная информация отвечающая за стиль игры рингтона
3 - сам код мелодии
С названием вроде всё ясно, именно оно будет отображаться в телефоне
в списке доступных мелодий. Остановимся подробнее на служебной информации.
Параметры, отвечающие за то, как будет играться мелодия, состоят из
символа в виде латинской буквы (d, o, b, v, s), знака равно '=', и числового
выражения. Разделяются параметры запятыми без пробелов.
Параметры:
- d= - (duration) длительность принимаемая
в коде по умолчанию. Допустим если d=8, то в коде мелодии можно
писать не 8d1, а d1 Если параметр d не указан, то он телефоном берётся
по умолчанию равным 4.
- o= - (scale) шкала, а проще говоря, октава
принимаемая по умолчанию, т.е. в этом случае для сокращения кода,
если в нём много нот октавы 2, можно задать o=2, и не указывать
их в коде мелодии. Тогда 4e2 будет выглядеть как 4e, а если ещё
и указать d=4, тогда просто как 'e'. По умолчанию, в случае если
параметр o= не указывается, телефоном берётся значение o=5.
- Данные параметры d и o, правильное использование
которых существенно уменьшает длину кода мелодии за счёт сокращений,
нужны, главным образом, для сокращения SMS траффика гейтов, ну и
самих внутрисетевых SMS потоков. При повседневном использовании
в RTTTL коде они, как правило, пишутся "для галочки" и код мелодии
никак не сокращается, во всех нотах указывается и длительность и
октава, для большей наглядности и возможности обработки различными
конверторами.
- b= - (beats per minute) проще говоря темп
мелодии, или, как любят говорить продвинутые музыканты 'BPM' число
ударов в минуту. В случае если не указывать параметр b= то телефоном
он будет воспринят как b=63, что для любой современной мелодии является
уж очень низким темпом, поэтому во многих рингтонах в RTTTL он указывается
в два раза большим, т.е. примерно b=125. Поэтому все мелодии для
Nokia написанные в кодах RTTTL и Nokring (коды которые отображаются
на дисплее телефона при забивке мелодии вручную с клавиатуры) сейчас
по умолчанию подразумевают игру в темпе 125. Если мелодия требует
другого темпа, то это надо указывать явно. Диапазон параметра 'b'
лежит в пределах 25 ... 900. Сверхвысокий темп может пригодиться
для реализации специальных звуковых эффектов, например pitch'а (плавного
изменения тона), или для реализации например эффекта щебетания птичек
:).
- v= - (volume) громкость звучания мелодии.
Т.к. сам телефон позволяет вручную настроить этот параметр, то в
коде RTTTL сейчас он практически не применяется. Параметр 'v' лежит
в пределах от 0 (нет звука) до 15 (максимум). По умолчанию равен
7.
- s= - (style) стиль исполнения. 1 - normal
(нормальный, по умолчанию), 2 - continuous (тягучий, когда переходы
между нотами не столь явные), 3 - staccato (отрывистый, когда переходы
очень заметны).
Коды мелодии:
Ноты в коде RTTTL со всеми необходимыми параметрами пишутся через разделитель:
запятую после которой ставится пробел (в отличие от формата Nokring,
где запятые ставить не принято).
[длительность] нота [дополнительные значки] [октава] разделитель
В квадратных скобочках указаны параметры, которые можно опустить, но,
как я уже говорил, не рекомендуется.
Длительность:
- "1" | 1/1 (целая нота)
- "2" | 1/2
- "4" | 1/4
- "8" | 1/8
- "16"| 1/16
- "32"| 1/32
Также длительность можно изменить ещё и специальным
дополнительным значком в виде точки '.' указываемым после буквы ноты,
и после значка диеза, если он есть, но перед числом октавы. В этом случае
нота будет обладать длительность в полтора раза большей, чем указано
цифрой перед значком ноты, т.е. 2d#.4 будет не 1/2, а 3/4. Использовать
эту возможность телефона Nokia пока не рекомендуется, для адекватной
конвертации рингтонов в коды для других телефонов. В записи Nokring
дополнительный значок '.' ставится не после ноты, а перед ней, сразу
после основного числа длительности. Нота:
- "p" | пауза
- "c" | до
- "c#" | до-диез
- "d" | ре
- "d#" | ре-диез
- "e" | ми
- "f" | фа
- "f#" | фа-диез
- "g" | соль
- "g#" | соль-диез
- "a" | ля
- "a#" | ля-диез
- "b" | си
Буквы нот могут быть как маленькими, так и большими,
хотя принято писать маленькими. В качестве ноты 'си' может также применяться
буква 'h', но это тоже не принято. Также можно позволять себе такие
вольности, как писать, допустим, 'e#', что будет воспринято телефоном
как нота 'f'.
В записи Nokring диезы ставятся перед буквой ноты, и после дополнительного
символа точки, увеличивающего длительность.
Дополнительные значки:
- . - увеличение длительности ноты в полтора
раза
- ; - в два раза
- & - в 2.5 раза
Как уже говорилось, из этих параметров иногда
используют только '.'
Октава:
В начале следует сказать, что поскольку секвенсор телефона не располагает
всей гаммой более 7ми октав, как фортепиано, то в коде RTTTL приняты
некоторые допущения, или скорее дублирования. Проще это будет понять,
взглянув на табличку:
- "0" | Нота A = 440 Герц (самая низкая октава)
- "1" | Нота A = 880 Герц
- "2" | Нота A = 1.76 КилоГерц
- "3" | Нота A = 3.52 КилоГерц (самая высокая
октава)
- "4" | Нота A = 440 Герц (самая низкая октава)
- "5" | Нота A = 880 Герц
- "6" | Нота A = 1.76 КилоГерц
- "7" | Нота A = 3.52 КилоГерц (самая высокая
октава)
Т.е., проще говоря, нота 16b1 будет играться так
же, как 16b5. По умолчанию принято писать октавы в кодах по первой половине
этой таблицы, т.е. от 0 до 3, т.е. так, как это принято в коде Nokring,
хотя по стандартам, конечно надо писать по второй части от 4 до 7, что
признается, например, конвертором MIDI в RTTTL "Iguana Ring". Хотя для
большей наглядности кода RTTTL в повседневном использовании делать это
не рекомендуется, и в RTTTL применяется запись "аля Nokring".
|