P. 1
MaxWorkshops1. MIDI OSC

MaxWorkshops1. MIDI OSC

|Views: 5,721|Likes:
Published by oscii
Презентация с первого воркшопа из серии Max Workshops.
Презентация с первого воркшопа из серии Max Workshops.

More info:

Categories:Topics, Art & Design
Published by: oscii on Mar 04, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPTX, PDF, TXT or read online from Scribd
See more
See less

03/04/2012

pdf

text

original

Max Workshops #1.

MIDI
и OSC
Евгений Черный (pattr.ru, cnmrg.org)
24.02.12
Musical Instrument Digital Interface
(MIDI)
• Создан в 1983 году.
• Наиболее распространенный протокол
для обмена данными между цифровыми
музыкальными инструментами.
• "Клавишно-ориентированный".
• Основная цель: иметь возможность
управлять одним синтезатором с другого.
Предпосылки к созданию (1/2)
Синтезаторы тех времен имели следующие
недостатки:

• CV/Gate - сложность создания
полифонии.
• Для нового звука приходилось делать
долгую перенастройку инструмента.
• У каждого синтезатора было собственное
звучание и музыканты зачастую играли
одновременно на двух инструментах.
Предпосылки к созданию (2/2)
История создания (1/2)
• Задача: разработать стандарт передачи
действий исполнителя в цифровой форме
между всеми типами электромузыкальных
инструментов.
• В разработке принимали участие:
Sequencial Circuits, Roland, Yamaha,
KORG, Kawai, Oberheim.
История создания (2/2)
• Июнь 1981 - первые разговоры о стандарте на
выставке NAMM.
• Осень 1981 - первая версия интерфейса под
названием UMI (Universal Musical Interface).
• Июнь 1982 - на выставке NAMM представлены
плоды международной разработки. От UMI
отказались в пользу MIDI.
• Декабрь 1982 - выпушен первый синтезатор c MIDI-
интерфейсом - Sequencial Circuits Prophet 600.
• 1983 - Выпущена спецификация MIDI 1.0.
Основы
MIDI - это протокол последовательной
передачи данных между главным и
подчиненным устройством.

Протокол состоит из трех частей:
• Спецификация формата данных.
• Аппаратная спецификация интерфейса.
• Спецификация хранения данных.
Типы сообщений
Пример Note On сообщения
Сообщения канала
Сообщение Статус-байт Байт данных 1 Байт данных 2
Note Off 1000nnnn Номер ноты Velocity
Note On 1001nnnn Номер ноты Velocity
Polyphonic Key Pressue 1010nnnn Номер ноты Давление
Control Change 1011nnnn Номер контроллера Значение
Program Change 1100nnnn Номер программы -
Channel Pressure 1101nnnn Давление -
Pitch Wheel Change 1110nnnn LSB MSB
Системные сообщения 1111nnnn ... ...
Сообщение Статус-байт Байт данных 1 Байт данных 2
System Exclusive (SysEx)
System Exclusive 11110000 (240) ID ...
System Common
MTC Quater Frame 11110001 (241) Тайм-код -
Song Position Pointer 11110010 (242) LSB MSB
Song Select 11110011 (243) Номер песни -
Не определено 11110100 (244)
Не определено 11110101 (245)
Tune Request 11110110 (246) - -
End Of Exclusive (EOX) 11110111 (247) - -
Real time
Timing Clock 11111000 (248) - -
Start 11111010 (250) - -
Continue 11111011 (251) - -
Stop 11111100 (252) - -
Не определено 11111101 (253)
Active Sensing 11111110 (254) - -
System Reset 11111111 (255) - -
Недостатки MIDI
• Протокол имеет фиксированную скорость
31 250 бит/с.
• 7-битных значений (0-127) параметров
иногда бывает мало.
• Для отправки более точных значений
контроллера требуется передать три
сообщения Control Change.
Open Sound Control (OSC)
• "Open Sound Control - это новый
оптимизированный для современных
сетевых технологий протокол для
взаимодействия компьютеров, звуковых
синтезаторов и других мультимедиа
устройств" - ICMC 1997.
• Фактически, OSC - это формат данных, в
этом плане он ближе к XML или JSON,
нежели к MIDI.

История Open Sound Control (1/2)
• Разработчики: Adrian Freed, Mattew
Wright.
• Berkey University of California.
• CNMAT - Center of New Music and Audio
Technologies.
• 1997 год.
История Open Sound Control (2/2)
Причины создания:
• Разработчики хотели использовать
современные сетевые технологии в
интерактивной компьютерной музыке.
• Принципы MIDI не подходили для
управления разрабатывающимся тогда в
CNMAT синтезатором CAST (CNMAT
Additive Synthesis Toolkit).
Где используется
• Языки программирования: C/C++, Java,
Php, Python, Ruby.
• Среды визуального программирования и
синтеза: Bidule, Chuck, Common Music
CPS, Intakt, Max/MSP, Open Sound World,
Pd, SuperCollider, Reaktor, VVVV.
• Устройства для работы с сенсорами:
EtherSense, Gluion, IpSonLab Kroonde,
Lemur, Smart, Controller, Teabox, Toaster.
• Другие программы: EyesWeb, Picker,
SonART, SpinOSC.
Особенности
• Можно использовать практически с
любым протоколом передачи данных,
например, TCP/IP или UDP;
• Интуитивные url-like адреса
параметров:/mixer/channel/4/volume
100
• Возможность передавать несколько типов
данных в одном сообщении;
• Time-tags;
Анатомия OSC сообщения
TCP/IP vs. UDP
• UDP не гарантирует доставку сообщений.
• При отправке нескольких сообщений,
протокол UDP также не гарантирует, что
они будут доставлены в изначальном
порядке

/synth1/noteoff 54
/synth1/noteon 60

• UDP создает меньшую задержку по
сравнению с TCP/IP.
/synth1/noteon 60
/synth1/noteoff 54
может прийти как:
Pattern matching
• ? соответствует любому одному символу
• * соответствует последовательности символов
длиной ноль или больше.
• Символы в квадратных скобках соответствует
любому символу, присутствующему в строке.
[string]
- Дефис между символами - диапазон ASCII
символов. [a-z]
- Восклицательный знак - значение "кроме". Может
стоять только самым первым символом. [!string]
• Конструкции типа {first,second} сответствует
любой из последовательностей символов,
написанных через запятую.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->