Формат файла NN-XT Propellerheads: проблемы с блоком REFE - PullRequest
0 голосов
/ 10 февраля 2012

Я читаю формат файла Propellerheads NN-XT, но у меня проблемы с блоком REFE .В спецификациях NN-XT указано, что блок структурирован следующим образом:


Для каждого семпла, на который ссылается патч NN-XT, имеется блок REFE.(Если патч не имеет сэмплов, он не имеет фрагментов REFE.)

  • Имя куска
  • Размер куска
  • Версия
  • Относительный путь к образцу
  • База данных Путь к образцу
  • Абсолютный путь к образцу
  • Имя образца
  • Имя повторного заполнения
  • Повторное заполнение URL
  • Зарезервировано (контрольная точка)
  • Имя пакета

Имя пополнения - это имя пополнения, которое отображается в браузере причин, а не имя файла,Пакет представляет собой ReFill, файл REX или файл SoundFont.Если файл REX или SoundFont находится внутри ReFill, имя пакета должно содержать имя файла REX или SoundFont.


Чтение этого фрагмента работает нормально ,но после прочтения имени пакета все еще остаются байты, которые принадлежат этому чанку (я знаю это, потому что этот чанк появляется несколько раз, а следующий «REFE» находится на расстоянии около 378 байт от текущей позиции вфайл [в данном конкретном случае, конечно]].

В документации ничего не сказано о байтах, которые в конечном итоге последуют, и т. д. У вас есть идея, какими могут быть эти дополнительные байты?

Я обрабатываю файл NN-XT, используя Python.Ниже приведен пример выходных данных вышеупомянутой структуры чанка.

size:                   832
version:                NNXTVersion(1, 3, 0)
relative path:          NNXTRelativePath(NNXTVersion(1, 1, 0), False)
database path:          NNXTDatabasePath(NNXTVersion(1, 2, 0), True, 'Reason Factory Sound Bank')
absolute path:          NNXTAbsolutePath(NNXTVersion(1, 4, 0), True, 11, NNXTVolume(, 15), True)
sample name:            PianoC23.wav
ReFill name:            Reason Factory Sound Bank
ReFill Url:             www.propellerheads.se
Project name:           Reason Factory Sound Bank

Байты, которые я не могу обработать, следующие (Escaped, max-line width: 80):

 \x00\x00\x00\x0cPianoC23.wav\xbc\x01\x05\x00\x00\x00\xbc\x01\x05\x00\x00\x01\x00\x00\x00\x19Reason Factory Sound Bank\x00\x00\x00
\x06\x00\x00\x00\x19Reason Factory Sound Bank\x00\x00\x00\x15NN-XT Sampler Patches\x00\x00\x00\x05Piano\x00\x00\x00\rPiano samples
\x00\x00\x00\nGrandPiano\x00\x00\x00\x0cPianoC23.wav\x01\xbc\x01\t\x00\x00\x01\x00\x00\x00\x00\x0f\x00\x00\x00\x0b\x00\x00\x00\x08
Computer\x00\x00\x00\x0cwindows (C:)\x00\x00\x00\x0fProgramme (x86)\x00\x00\x00\rPropellerhead\x00\x00\x00\x06Reason\x00\x00\x00\x
16Factory Sound Bank.rfl\x00\x00\x00\x15NN-XT Sampler Patches\x00\x00\x00\x05Piano\x00\x00\x00\rPiano samples\x00\x00\x00\nGrandPi
ano\x00\x00\x00\x0cPianoC23.wav\x01G\x00\x00\x00\x00\x00

После этого байта начинается следующий блок REFE .

Я не думаю, что мне разрешено распространять спецификации, но если вы действительно заинтересованы, вы можете загрузить его после простая регистрация на домашней странице Propellerheads.

Большое спасибо, Niklas R

PS: Если у вас нет идей, возможно, выЯ знаю адрес электронной почты, на который разработчики могут написать, но я не смог его найти.

1 Ответ

0 голосов
/ 19 февраля 2012

Я получил ответ от официальной поддержки devloper (development@proppellerheads.se) .Они сказали мне, что я, очевидно, использую устаревшую спецификацию формата файла, однако я загрузил ее с их серверов совсем недавно.Они сказали мне, что исправят эту проблему и сделают доступной новейшую документацию.

В Причины 4 новые данные были добавлены в этот блок.Если Версия равна или позже (1, 3, 0), дополнительные 4 значения следуют, если нет, то конец чанка был достигнут.

  • Физическое имя образца (строка)
  • Относительный путь к выборке (относительный путь)
  • Относительный путь к выборке (путь к базе данных)
  • Относительный путь к выборке (абсолютный путь)
...