Формат файлов GUITAR PRO v4.06 Версия: 1.0RC1 Русский Автор: Laurent Vromman Переводчик на английский: Avery Ceo, Matthieu Wipliez Переводчик на русский: Бажуков Георгий aka Helios
Оглавление
I. Основы II. Версии III. Структура файла IV. Заголовки 1. Версия 2. Информация об отрывке 3. Текст 4. Другая информация об отрывке V. Тело файла 1. Измерения 2. Треки 3. Пары мер-треков 4. Удары 5. Диаграммы аккордов 6. Эффекты на ударах 7. Смешение таблиц изменения событий 8. Ноты 9. Эффекты для нот a. Эффекты для нот b. Украшение нот 10. Изгибы VI. Диаграммы аккордов
I. Основы
Значение типа 'int' занимает 4 байта. Значение типа 'short int' - 2 байта. Значение типа 'byte' - 1 байт. Значения типа “integer” и “byte” представленные в этом документе пишутся с лева не право с LSB (младшего байта) к MSB (старшему байту). Цвета хранятся в 4х байтах следующим образом, данные записываются слева направо с LSB (младший байт), к MSB (старший байт): __ 3 |__| <- Белый, он всегда 0x00 (альфа-канал?); 2 |__| <- Синий; 1 |__| <- Зелёный; 0 |__| <- Красный. Когда в этом документе используется термин "строка символов", это означает, пара первый байт количества 'n' символов в строке (а следовательно строка не должна превышать 255 символов) затем 'n' самих символов. Ноты хранится в значении типа целое. Значение C(до) = 0. Значение увеличивается на 1 при увеличении ноты на пол тона: - C#(0) = 1; - C (1) = 12; - E (2) = 28 ... К оглавлению
II. Версии
Guitar Pro формат развивался вместе с программой. Интегрировались новые функции, которые он должен был поддержать. Этот документ описывает структуру только Guitar Pro версии 4.06. К оглавлению
III. Структура файла
_______________________________________________________ | | | | | Версия | | |_______________________________________________| | | | | | Табулатура | | |_______________________________________________| |Заголов| | | | Текст | | |_______________________________________________| | | | | | Другая информация о табулатуре | |_______|_______________________________________________| | | | | | Меры | | |_______________________________________________| | | | | | Дорожки | | |_______________________________________________| | | | | | | | | | нота 1 | |Тело | | Удар 1 |_______________| | | | | | | | | | нота i ... | | | Меры пар |_______________|_______________| | | дорожек | | | | | | | нота 1 | | | | Удар i ... |_______________| | | | | | | | | | нота i ... | |_______|_______________|_______________|_______________| | | | Диаграмма аккордов | |_______________________________________________________| К оглавлению
IV. Заголовки
Трудности с чтением о Guitar Pro файлов хранится в переменной размер заголовка файла (?). Чтение файла должно быть сделано последовательно. Структура _ | | Версия |_ | | Информация о табулатуре |_ | | Текст |_ | | Другая информация о табулатуре |_ К оглавлению
1. Версия
0x00000000: 30 букв строки (не считая байт, объявляющий реальную длину строки , который описывался в I. Основы) указывают номер версии. Только первые n букв (n определялось ранее) рассматриваются как символы. Возможные значения: FICHIER GUITARE PRO v1 FICHIER GUITARE PRO v1.01 FICHIER GUITARE PRO v1.02 FICHIER GUITARE PRO v1.03 FICHIER GUITARE PRO v1.04 FICHIER GUITAR PRO v2.20 FICHIER GUITAR PRO v2.21 FICHIER GUITAR PRO v3.00 FICHIER GUITAR PRO v4.00 FICHIER GUITAR PRO v4.06 FICHIER GUITAR PRO L4.06 * Примечание переводчика: "Fichier" с французского означает "файл". Это осталось не переведённым. Программа ожидает строки на французском языке. Спецификация только "FICHIER GUITAR PRO v4.06" описывается здесь. После этого адреса (0x0000001F), данные записываются последовательно, без точного адреса. Summary
2. Информация об отрывке
Далее информация предоставлена в виде блоков данных, содержащих: - целые указывающие размер информации + 1; - Строки символов, представляющих данные. Структура требует, чтобы нулевая строка была записана как 01 00 00 00 00. Информация по порядку в файла: - Заголовок отрывка; - Подзаголовок отрывка; - Интерпретация отрывка; - Альбом, из которого был взят отрывок; - Автор отрывка; - Копирайты; - Имя автора табулатуры; - Инструкции по использованию. Следующий раздел содержит информацию об "оповещения" (обратите внимание) в поле свойства отрывка. Он начинается целым , указывающим число линий Nb_Notice указаний, тогда Nb_Notice экземпляров структуры прежде описанной, каждая из которых содержит линии записей. Файл будет содержать байт, определяющий атрибут "тройки чувств" отрывка. Если "тройка чувств" активна, то значение = 1. Если нет, то целое значение = 0. Summary
3. Текст
Следующая часть файла содержит текст, связанный с каким-то отрывком. Внимание! Строки, описываемые здесь (и только здесь) не соответствуют формату, описанному в "I. Основах", а записываются непосредственно. В этой секции всё начинается с целого, описывающего номер трека к которому относится текст. Так для каждой из 5 строк, сгенерированных Guitar Pro 4, файл содержит целое представляющее число символов в строке с последующей строкой. К оглавлению
4. Другая информация об отрывке.
Следующие данные: Темп: целое Ключ: Байт Это значение - кодирующий ключ (подпись) в начале отрывка. Он закодирован как: - 0: C - 1: G (#) - 2: D (##) - -1: F (b) ... Октава: Байт Стандартное значение = 0. Он становится 8, если будет сыгран на одну октаву выше. Эта функция пока не используется, но сделана на будущее. Midi канал: Таблица миди канала. В ней 4 порта и 16 каналов, каналы хранятся именно в таком порядке: port1/channel1 - port1/channel2 ... port1/channel16 - port2/channel1 ... Каждый элемент таблицы имеет следующий вид: Инструмент: Integer Громкость: Byte Баланс: Byte Хор: Byte Отражение: Byte Фазовращатель: Byte Тремоло: Byte blank1: byte => Обратная совместимость с версией 3.0 blank2: byte => Обратная совместимость с версией 3.0 Число измерений: Integer Число треков: Integer К оглавлению
V. Тело файла
_________________________________ | | Меры |_________________________________ | | Дорожки |_________________________________ | | | | | | Нота 1 | | Удар 1 |_ | | | | | | Нота i ... | Пары мер - |_______________|_ | дорожек | | | | | Нота 1 | | Удар i ... |_ | | | | | | Нота i ... |_______________|_______________|_ К оглавлению
1. Меры
Меры написаны одна за другой, их число было указано ранее. Первый байт - заголовка этой меры. В нем перечислены все данные, указанные в текущей мере. __ 7 |__| <- Наличие двойного бар; 6 |__| <- Тональность меры; 5 |__| <- Наличие маркера; 4 |__| <- Количество альтернативных окончаний; 3 |__| <- Конец повторения; 2 |__| <- Начало повторения; 1 |__| <- Знаменатель в (ключе) подписи; 0 |__| <- Числитель (ключа) подписи. Каждый из этих элементов присутствует, только если соответствующий бит 1. Различных элементов письменной форме (если они есть) от низшего к высшему немного. Exceptions are made for the double bar and the beginning of repeat whose sole presence is enough, complementary data is not necessary. Numerator of the (key) signature: Byte Numerator of the (key) signature of the piece Denominator of the (key) signature: Byte Denominator of the (key) signature of the piece End of repeat: Byte Number of repeats until the previous Beginning of repeat. Nombre de renvoi jusqu'au début de renvoi précédent. Number of alternate ending: Byte The number of alternate ending. Marker: The markers are written in two steps. First is written an integer equal to the marker's name length + 1, and then a string containing the marker's name. Finally the marker's color is written. Tonality of the measure: Byte This value encodes a key (signature) change on the current piece. It is encoded as: - 0: C - 1: G (#) - 2: D (##) - -1: F (b) ... Summary
Поделиться заметкой:
Реклама