Changes

Jump to: navigation, search

PROTRACKER372 PTDOC W

6,041 bytes removed, 02:49, 25 February 2020
Трек содержит следующие данные:
+0 (13) "ProTracker 3." - идентификационная строка. В модулях от Vortex Tracker отсутствует!
 
+13 (17) "7" (или "6","5","4", или даже "3" ) - номер подверсии.
Следует заметить, что для модулей PTv3.4x и ниже используется другая, "несимметричная" таблица громкости, а в модулях PTv3.3x используется альтернативная частотная таблица "Pro Tracker", не совпадающая с одноимённой современной!
 
+14 (16) " compilation of " (необязательное - любой текст этой длины).
 
+30 (32) название модуля (ASCII, lat, неиспользованные символы забиты пробелами).
 
+62 (4) " by " (необязательное - любые 4 символа)
 
+66 (32) имя автора (ASCII, lat, неиспользованные символы забиты пробелами). (то есть первые 98 байт модуля образуют соответствующую строку)
 
+98 (1) Для обычных AY музонов: код #20.
Если используется TS: число паттернов N (в текущей версии должно быть #30). Паттерны первого AY нумеруются N-1,N-2,... Паттерны второго AY нумеруются 0,1,2,...
+99 (1) номер частотной таблицы: 0=Pro Tracker (она же 1625000), 1=Sound Tracker, 2=1750000 (другое название, не соответствующее содержанию - ASM or PSC), 3=RealSound (она же 1625000+, плохая попытка передвинуть табл. 0 под 1.75MHz). Табличка занимает 192 байта и содержит значения делителей частоты для 96 нот, начиная с C-1 (ДО первой октавы). Делитель частоты - значение, помещаемое в соотвующие регистры AY. Младшие байты (здесь и ниже, за одним исключением, которое будет указано) хранятся первыми.
Компилятор PT3 (текущие версии PT3 собираются без компилятора) сохраняет таблицу, соответствующую модулю, в тело плейера по относительному адресу 512. Таблицу громкости он сохраняет в том же теле плейера по относительному адресу 256.
 
+100 (1) значение темпа.
 
+101 (1) song end (1=в модуле всего одна позиция) - в плейере не используется.
 
+102 (1) song loop (0=зацикливание на начало).
 
+103 (2) Psa_chn=смещение от начала модуля до таблицы паттернов.
 
+105 (32*2) смещения от начала модуля до сэмплов, начиная с нулевого сэмпла. По два байта на сэмпл. Нулевой сэмпл в текущих версиях редактора не используется. Для всех неиспользованных сэмплов смещение равно нулю.
 
+169 (16*2) смещения от начала модуля до орнаментов, начиная с нулевого. По два байта на орнамент.Нулевой орнамент - это отсутствие орнамента,поэтому данные этого орнамента (см.ниже) содержат 0,1,0 (можно использовать этот орнамент по своему усмотрению,НО тогда в сонге нельзя будет использовать сэмплы без орнаментов).Для всех неиспользованных орнаментов смещение равно нулю.
 
+201 (?) список позиций (ордер). Содержит номера паттернов (0...84), умноженные на 3. Таблица завершается кодом #ff. Pro Tracker v3.3x-v3.5x не поддерживает больше 42 паттернов.
Pro Tracker v3.6x не поддерживает больше 46 паттернов.
Pro Tracker v3.69x, v3.7x не поддерживает больше 48 паттернов.
+Psa_chn (?*6) указатель паттернов. Содержит для каждого из имеющихся паттернов смещения:
:++0 (2) до блока данных канала (трека) A :++2 (2) до блока данных канала (трека) B :++4 (2) до блока данных канала (трека) C. 
Данные по смещению шума (отдельная колонка в редакторе) компилируются в канал B.
 
+? (?*?) блоки данных каналов, то есть треки.
==Трек содержит следующие данные:==
 <nowiki>#</nowiki>00 - конец трека. Pro Tracker не работает с модулями, в которых есть треки больше 64 строк. Такие модули можно играть плейерами или редактировать в Vortex Tracker, но в Pro Tracker их загружать нельзя. <nowiki>#</nowiki>01, delay, Lsl, Hsl - эффект Gliss(Slide) вверх или вниз. Delay - время в пятидесятых долях секунды, по истечении которого к периоду ноты будет прибавлена величина Lsl+256*Hsl. Смещение накапливается плейером в соответствующей переменной и прибавляется после формирования частоты ноты, т.е.сначала обрабатывается строчка орнамента, а уже потом... v3.7x: Если delay=0, то указанное смещение прибавляется к ноте на всём её протяжении (смещение тона для подгонки под огибающие и т.п.). <nowiki>#</nowiki>02, delay, Lmax, Hmax, Lsl, Hsl - эффект Tone Portamento вверх или вниз.Delay - время в пятидесятых долях секунды,по истечении которого к периоду ноты будет прибавлена величина Lsl+256*Hsl. Lmax+256*Hmax - максимальное смещение (беззнаковое), после накопления которого следует прекратить Portamento (с PT3.6x не используется, т.к. возможно неправильное указание направления). <nowiki>#</nowiki>03, offset - sample offset. Сэмпл начинает играть не сначала. <nowiki>#</nowiki>04, offset - ornament offset. Орнамент начинает играть не сначала. <nowiki>#</nowiki>05, YEStime, NOtime - vibrate. Нота то звучит, то не звучит. <nowiki>#</nowiki>08, delay, Lsl, Hsl - эффект slide envelope. К значению периода огибающей время от времени прибавляется Lsl+256*Hsl. <nowiki>#</nowiki>09, tempo - указание темпа (в прерываниях на строку). Стандартный плейер (playFAS*.H) меньше tempo=2 не играет. Если в модуле есть tempo=1, используйте медленные плейеры.
NB: параменты эффектов (#0x) лежат не сразу после кода номера эффекта, а ПОСЛЕ КОНЦА СТРОКИ!!! Если используется несколько эффектов на одну ноту (на самом деле так не бывает),то сначала лежат параменты последнего эффекта, потом предпоследнего и так далее...
<nowiki>#</nowiki>10, smp*2 - выключить огибающую, перезапустить орнамент и изменить номер сэмпла. <nowiki>#</nowiki>1x, Henv, Lenv, smp*2 - изменить номер сэмпла, перезапустить орнамент и включить огибающую типа x-1 с периодом Lenv+256*Henv. При включении огибающей она инициализируется, т.е. начинается новый период! <nowiki>#</nowiki>20-#3f - указать смещение шума (бывает только в канале B) <nowiki>#</nowiki>4x - указать орнамент номер x. (огибающая не выключается) <nowiki>#</nowiki>50-#Af - указать высоту ноты и ЗАКОНЧИТЬ анализ текущей строки канала. <nowiki>#</nowiki>B0 - выключить Envelope. <nowiki>#</nowiki>B1, lines - не анализировать канал в течение lines строк. (lines=1 соответствует одной строке). Действует не только на промежуток между этой и следующей нотой, но и далее, пока не указано другое значение lines! <nowiki>#</nowiki>Bx, Henv, Lenv - то же, что #1x, но без сэмпла. То есть просто включить огибающую типа x-1 с указанным периодом. <nowiki>#</nowiki>Cv - указать громкость.(v=0 - пауза и ЗАКОНЧИТЬ анализ строки.) <nowiki>#</nowiki>D0 - ЗАКОНЧИТЬ анализ строки. <nowiki>#</nowiki>D1-#Ef - указать номер сэмпла. <nowiki>#</nowiki>Fx, smp*2 - указать номер орнамента (x) и номер сэмпла. (огибающая выключается) 
================================================================
+? (?*(?*4+2)) - сэмплы.
:++0 (1) - loop :++1 (1) - end (1=сэмпл из одной строчки) :++2 (?*4) - данные: ::+++0 (1) sv +- N4 N3 N2 N1 N0 Em ::+++1 (1) Nm ts ns Tm V3 V2 V1 V0 sv=1 - признак съезжания громкости, +- =1 соответствует её увеличению; N4-0 - частота шума ИЛИ смещение огибающей (зависит от наличия маски шума): смещение огибающей 0-15 - вниз, 16-31 - вверх (N4 интерпретируется как знак); V3-0 - громкость; Tn, Nm, Em - маски тона, шума и огибающей соотв., причём если маска равна единице,то соответствующий элемент звука выключен; ts, ns=1 - признаки того, что текущее смещение тона или шума/огибающей будет запомнено. ::+++2 (2) смещение периода тона (положительное - вверх, от- рицательное отрицательное - вниз).
+? (?*(?+2)) - орнаменты.
:++0 (1) - loop :++1 (1) - end (1=орнамент из одной строчки) :++2 (?) - данные: смещения в полутонах (0=нет смещения, положительное смещение - вверх, отрицательное - вниз).
Alone Coder
18 (08 may 07). Дополнения про PT v3.7x и про Vortex Tracker.��v3.7x и про Vortex Tracker.�acker.��ример, в механических валк
 
================================================================
#00 - конец трека.
Pro Tracker не работает с модулями, в которых есть треки больше
64 строк. Такие модули можно играть плейерами или редактировать
в Vortex Tracker, но в Pro Tracker их загружать нельзя.
#01, delay, Lsl, Hsl - эффект Gliss(Slide) вверх или вниз. Delay
- время в пятидесятых долях секунды, по истечении которого к
периоду ноты будет прибавлена величина Lsl+256*Hsl. Смещение
накапливается плейером в соответствующей переменной и прибавля-
ется после формирования частоты ноты, т.е.сначала обрабатывает-
ся строчка орнамента, а уже потом... v3.7x: Если delay=0, то
указанное смещение прибавляется к ноте на всём её протяжении
(смещение тона для подгонки под огибающие и т.п.).
#02, delay, Lmax, Hmax, Lsl, Hsl - эффект Tone Portamento вверх
или вниз.Delay - время в пятидесятых долях секунды,по истечении
которого к периоду ноты будет прибавлена величина Lsl+256*Hsl.
Lmax+256*Hmax - максимальное смещение (беззнаковое), после на-
копления которого следует прекратить Portamento (с PT3.6x не
используется, т.к. возможно неправильное указание направления).
#03, offset - sample offset. Сэмпл начинает играть не сначала.
#04, offset - ornament offset. Орнамент начинает играть не сна-
чала.
#05, YEStime, NOtime - vibrate. Нота то звучит, то не звучит.
#08, delay, Lsl, Hsl - эффект slide envelope. К значению периода
огибающей время от времени прибавляется Lsl+256*Hsl.
#09, tempo - указание темпа (в прерываниях на строку). Стандарт-
ный плейер (playFAS*.H) меньше tempo=2 не играет. Если в модуле
есть tempo=1, используйте медленные плейеры.
NB: параменты эффектов (#0x) лежат не сразу после кода номера
эффекта, а ПОСЛЕ КОНЦА СТРОКИ!!! Если используется несколько эф-
фектов на одну ноту (на самом деле так не бывает),то сначала ле-
жат параменты последнего эффекта, потом предпоследнего и так да-
лее...
 
#10, smp*2 - выключить огибающую, перезапустить орнамент и
изменить номер сэмпла.
#1x, Henv, Lenv, smp*2 - изменить номер сэмпла, перезапустить
орнамент и включить огибающую типа x-1 с периодом
Lenv+256*Henv. При включении огибающей она инициализируется,
т.е. начинается новый период!
#20-#3f - указать смещение шума (бывает только в канале B)
#4x - указать орнамент номер x.
(огибающая не выключается)
#50-#Af - указать высоту ноты и ЗАКОНЧИТЬ анализ текущей строки
канала.
#B0 - выключить Envelope.
#B1, lines - не анализировать канал в течение lines строк.
(lines=1 соответствует одной строке). Действует не только на
промежуток между этой и следующей нотой, но и далее, пока не
указано другое значение lines!
#Bx, Henv, Lenv - то же, что #1x, но без сэмпла. То есть просто
включить огибающую типа x-1 с указанным периодом.
#Cv - указать громкость.(v=0 - пауза и ЗАКОНЧИТЬ анализ строки.)
#D0 - ЗАКОНЧИТЬ анализ строки.
#D1-#Ef - указать номер сэмпла.
#Fx, smp*2 - указать номер орнамента (x) и номер сэмпла.
(огибающая выключается)
================================================================
 
+? (?*(?*4+2)) - сэмплы.
++0 (1) - loop
++1 (1) - end (1=сэмпл из одной строчки)
++2 (?*4) - данные:
+++0 (1) sv +- N4 N3 N2 N1 N0 Em
+++1 (1) Nm ts ns Tm V3 V2 V1 V0
sv=1 - признак съезжания громкости, +- =1 соответствует её уве-
личению; N4-0 - частота шума ИЛИ смещение огибающей (зависит от
наличия маски шума): смещение огибающей 0-15 - вниз, 16-31 -
вверх (N4 интерпретируется как знак); V3-0 - громкость; Tn, Nm,
Em - маски тона, шума и огибающей соотв., причём если маска ра-
вна единице,то соответствующий элемент звука выключен; ts, ns=1
- признаки того, что текущее смещение тона или шума/огибающей
будет запомнено.
+++2 (2) смещение периода тона (положительное - вверх, от-
рицательное - вниз).
 
+? (?*(?+2)) - орнаменты.
++0 (1) - loop
++1 (1) - end (1=орнамент из одной строчки)
++2 (?) - данные: смещения в полутонах (0=нет смещения, поло-
жительное смещение - вверх, отрицательное - вниз).
 
Alone Coder
 
жду дополнений!

Navigation menu