Приложение Г
(справочное)
Непосредственно соединенный MIDI и управление микрофоном оркестра
Г.1 Введение
Живое управление MIDI оркестра позволяет использовать в реальном времени структурированное аудиоустройство декодера в качестве музыкального инструмента в ситуациях с записью или воспроизведением. Качество звука и гибкость структурированных аудиоинструментов улучшается по сравнению с фиксированными аппаратными синтезаторами, используемыми в таких ситуациях.
Г.2 Методы для MIDI-контроллера
Поскольку формат потока битов MIDI подобен управляющей информации MIDI, сгенерированной живым MIDI устройством (это точно инкапсулирует байты данных, сгенерированные таким устройством в MPEG-4 устройстве доступа), то не должно быть доступа к структурированному аудиодекодеру для включения управления оркестром такими устройствами. Должно быть выполнено соединение между вводом MIDI терминала и вводом планировщика, так чтобы события с меткой времени от ввода MIDI были переданы непосредственно к планировщику.
Рекомендуются следующие методы:
Ввод MIDI не должен быть преобразован в структурированный аудиопоток битов и должен генерировать события непосредственно в планировщике.
Любое разрешение на события, сгенерированные с живым MIDI-устройством, не должно быть оформлено в порядке, предписанном глобальными правилами упорядочивания. Инстанцирование примечания и первый k цикл для инструментов должны быть выполнены в текущей передаче оркестра, как можно скорее, после того, как они получаются оркестром. На втором k цикле они проходят через инструмент, и он начинает обрабатывать их согласно глобальным правилам упорядочивания. Задержка между временем инициирования живым исполнителем и временем первого k цикла, в котором звук является слышимым, должно быть не больше 5 мс.
Живые события MIDI не должны подвергнуться управлению темпом оркестра.
Живые события MIDI должны быть обработаны оркестром, как любое другое событие MIDI. Потоковая передача производительности и живого выступления должны быть одновременны.
Если MIDI устройства многократно соединяются с одним и тем же терминалом, то нумерация канала должна быть такой, чтобы номер "MIDI channel 1" от устройства А отличался от номера "MIDI channel 1" от устройства B. С этой целью каждому MIDI-устройству присваиваются номер в возрастающей монотонной последовательности. Значением channel для определенного живого события MIDI будет:
channel = live MIDI event channel 1 + (device number * 16).
Начальный номер устройства должен быть выбран так, чтобы присвоенные значения channel события MIDI не конфликтовали с присвоенными значениями channel события midi_file.
Г.3 Методы для живого микрофона
Аудиоданные, полученные микрофоном, помещаются в специальную шину input_bus, по которой они отправляются другим инструментам для обработки.
Рекомендуются следующие методы:
Определяется специальная шина input_bus. У этой шины есть число каналов, определенных inchannels глобальным параметром. Если inchannels глобальный параметр не определен, то эта шина не может использоваться.
В начале каждого цикла управления ввод микрофона выбирается на частоте дискретизации оркестра и помещается в специальную шину input_bus. Если каналов ввода микрофона больше, чем каналов на input_bus, то используются только первые каналы, а остальные отбрасываются. Если каналов ввода микрофона меньше, то "дополнительные" каналы input_bus устанавливаются в значение 0. Если нет никакого соединенного микрофона, то все каналы input_bus устанавливаются в значение 0.
input_bus обрабатывается, как любая другая шина в оркестре.