- •Омский государственный технический университет
- •1. Из истории развития систем счисления
- •Пальцевый счет
- •1.2. Древнеегипетская система счисления
- •Вавилонская система счисления
- •1.4. Системы счисления, основанные на позиционном принципе
- •1.5. Системы счисления Древней Греции
- •1.6. Римская система счисления
- •1.7. Древнеславянская система счисления
- •2. Позиционная система счисления
- •2.1. Представление произвольного числа в позиционной системе счисления
- •2.2. Двоичная система счисления
- •2.3. Восьмеричная система счисления
- •2.4. Шестнадцатеричная система счисления
- •2.5. Перевод чисел в систему с кратным основанием
- •2.6. Перевод правильной дроби
- •Задания для самостоятельной работы №1
- •1. Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
- •2. Перевести данное число в десятичную систему счисления.
- •Контрольная работа №1
- •3. Двоичная арифметика
- •3.1. Сложение двоичных чисел
- •3.2. Вычитание двоичных чисел
- •3.3. Умножение в двоичной системе счисления
- •3.4. Деление двоичных чисел
- •4. Формы представления чисел в эвм
- •4.1. Числа с фиксированной запятой
- •4.2. Числа с плавающей запятой
- •4.3. Сложение (вычитание) чисел с плавающей запятой
- •4.4. Умножение чисел с плавающей запятой
- •4.5. Прямой код
- •4.6. Обратный код
- •1 0111111111111111 – Обр. Код второго числа
- •4.7. Дополнительный код
- •4.8. Признак переполнения разрядной сетки
- •4.9. Правило перевода из дополнительного кода в десятичную систему
- •4.10. Модифицированные коды
- •5. Форматы чисел в эвм
- •Задания для самостоятельной работы №2
- •Контрольная работа №2.2
- •Контрольная работа №2.3
- •Контрольная работа №2.4
- •6. Кодирование алфавитно-цифровой информации
- •6.1. Параметры алфавитно-цифровой информации
- •6.3. Стандарты кодирования символов ansi, кои-8 и unicode
- •7. Двоично-десятичные коды
- •7.2. Коды с избытком
- •7.5. Действия над двоично-десятичными числами
- •7.6. Сложение двоично-десятичных чисел
- •7.7. Вычитание модулей двоично-десятичных чисел
- •7.8. Умножение модулей двоично-десятичных чисел
- •8. Код грея
- •8.1. Строение кода Грея
- •8.2. Использование кода Грея
- •8.3. Алгоритмы преобразования кода Грея
- •9. Погрешности вычислений
- •9.1. Источники погрешностей
- •9.2. Абсолютная и относительная погрешности
- •9.3. Десятичная запись приближенных чисел Значащая цифра числа. Верная значащая цифра
- •9.4. Распространение ошибок
- •9.5. Правила подсчета цифр
- •9.6. Общие рекомендации, позволяющие уменьшить погрешность вычислений
- •9.7. Ошибки в программах, связанные с особенностью выполнения арифметических операций
- •10. Представление графической информации
- •10.1. Текстовый режим
- •10.2. Графический режим
- •10.3. Растровое графическое изображение
- •10.4. Векторная графика
- •10.5. Форматы графических файлов
- •11. Представление звуковой информации
- •11.1. Цифро-аналоговое и аналого-цифровое преобразование звуковой информации
- •11.2. Компрессия звука
- •11.3. Формат Microsoft riff
- •11.6. Midi-форма звука
- •11.7. Аппаратные синтезаторы
- •11.8. Альтернативы звука в эвм
- •11.9. Звуковые платы
- •Задачи для самостоятельной работы
- •Приложение 3
- •Содержание
- •Литература
11.6. Midi-форма звука
Musical Instrument Digital Interface – цифровой интерфейс музыкальных инструментов. Создан в 1982 году ведущими производителями электронных музыкальных инструментов – Yamaha, Roland, Korg, E-mu и др. Изначально был предназначен для замены принятого в то время управления музыкальными инструментами при помощи аналоговых сигналов управлением при помощи информационных сообщений, передаваемых по цифровому интерфейсу. Впоследствии стал стандартом де-факто в области электронных музыкальных инструментов и компьютерных модулей синтеза.
Спецификация MIDI состоит из аппаратной спецификации самого интерфейса и спецификации формата данных - описания системы передаваемых сообщений. Соответственно, различается аппаратный MIDI-интерфейс и формат MIDI-данных (так называемая MIDI-партитура); интерфейс используется для физического соединения источника и приемника сообщений, формат данных – для создания, хранения и передачи MIDI-сообщений. В настоящее время эти понятия стали самостоятельными и обычно используются отдельно друг от друга - по MIDI-интерфейсу могут передаваться данные любого другого формата, а MIDI-формат может использоваться только для обработки партитур, без вывода на устройство синтеза.
MIDI-данные представляют собой сообщения или события (events), являющиеся командами для музыкального инструмента. Стандарт предусматривает 16 независимых и равноправных логических каналов со своими собственными режимами работы. Изначально он разрабатывался для однотембровых инструментов, способных в каждый момент времени воспроизводить звук только одного тембра, – конкретному инструменту присваивался определенный номер канала, что и обеспечивало "многотембровость" исполнения. С появлением многотембровых (multi-timbral) инструментов ситуация изменилась: они стали поддерживать некоторое число каналов (современные инструменты поддерживают все 16 каналов и могут иметь два и более MIDI-интерфейсов), поэтому сейчас каждому каналу обычно назначается свой тембр, называемый по традиции "инструментом", хотя возможна и комбинация из нескольких тембров. Канал 10, как всегда, задействуется для ударных инструментов, т.е. различные ноты в нем соответствуют различным ударным звукам фиксированной высоты, а остальные каналы - для мелодических. Здесь ноты уже "привязываются" к высоте тона одного и того же инструмента.
Поскольку MIDI-сообщения образуют поток данных в режиме реального времени, их кодировка позволяет облегчить синхронизацию в случае потери соединения. Первый байт любого сообщения, называемый также байтом состояния (status byte), в старшем разряде содержит единицу, а все остальные – нуль, и называются они байтами данных (data bytes). Если после получения всех байтов данных последнего сообщения на вход приемника поступает байт, не содержащий единицы в старшем разряде, это трактуется как повторение информационной части сообщения (подразумевается тот же первый байт). Такой метод передачи, Running Status, широко применяется для уменьшения объема передаваемых данных: например, посылается один байт команды Controller Change с нужным номером канала, а затем серия байтов данных с номерами и значениями контроллеров для этого канала.
Неудивительно, что MIDI является неотъемлемой частью многих систем музыкального редактирования. MIDI базируется на пакетах (packets) данных, каждый из которых соответствует MIDI-событию (MIDI-events), от нажатия клавиши до простого временного маркера. MIDI разделяет эти события по каналам (channels). Сложная среда MIDI может включать различную аппаратуру, причем каждая часть системы будет отвечать за события на соответствующем канале. Альтернативным вариантом будет одиночный синтезатор, который сам может управлять всеми каналами.
Однако с точки зрения пользователя персонального компьютера MIDI имеет два существенных недостатка. Во-первых, часто требуется ощутимое вложение денег в аппаратное обеспечение. Во-вторых, файл MIDI не определяет в явном виде всех тонкостей воспроизведения звука. MIDI-событие может быть определено как: канал семь должен воспроизвести ноты, базируясь на звуке "сверхсветового пространства", но не указывает конкретно, что это за звук.