PPQ о разрешении. Более конкретно о разрешении по времени.
Каким должен быть (быть?) PPQN, когда я играю ноты в JavScript, и когда я устанавливаю PPQN, почему он должен иметь это значение?
Когда ваша программа воспроизводит ноты, она может использовать любые временные единицы, которые вы хотите или нуждаетесь, например, миллисекунды, наносекунды, кадры mov ie, тики. Абсолютные настенные часы или относительное время. Это зависит от ваших возможностей секвенсора и возможностей вашего программного обеспечения. Только требуется для выбора значения PPQ при сохранении MIDI-последовательностей в виде MIDI-файлов. Конечно, вы должны иметь возможность преобразовывать единицы времени при чтении / хранении файлов MIDI.
Теперь, когда я читаю файл MIDI, я должен просто сравнить время дельты и преобразовать его в текущие воспроизведения моих секвенсоров ?
Конечно, если внутренне ваши события musi c используют другое представление времени, то вам необходимо иметь возможность преобразовать времена дельты из файла MIDI во внутреннее представление.
Вы спрашиваете только о PPQ, но это значение встречается только один раз в заголовке MIDI-файла. Напротив, события tempo могут происходить несколько раз по файлу, и это влияет на преобразование следующих времен дельты в настенные часы до следующего события темпа. Если ваш секвенсор / проигрыватель позволяет пользователю изменять / добавлять события темпа, было бы неплохо использовать относительные единицы вместо единиц настенных часов для внутреннего представления времени (или обоих).
Следует ли использовать PPQN только при экспорте файла MIDI? Если да, то относительно чего мне устанавливать PPQN?
Да, вам необходимо выбрать подходящее значение для PPQ при экспорте файла MIDI. Если ваши внутренние единицы времени являются относительными (как большинство секвенсоров), то используйте разрешение внутренних единиц для PPQ. Если вы конвертируете единицы из настенных часов в дельта-время, вам нужно выбрать разрешение, при котором ваш перевод теряет меньше деталей (путем квантования). Более высокие значения лучше в этом смысле. Rosegarden всегда сохраняет MIDI-файлы с 960 PPQ. Напротив, Cubase Штейнберга использовал 480. Я помню, как долгое время использовал Cakewalk go, имеющий только 120 PPQ, но в более поздних версиях это значение можно было изменить в качестве параметра конфигурации. В общем, вам нужно разместить не только все цифры музыки c короче четверти, включая такие подразделения, как триплеты и т. Д. c. но вам также необходимо учитывать такие эффекты, как swing , основанные на точной настройке времени.