Описание
компьютера Радио-86РК
|
Журнал
РАДИО
|
Музыкальная система для "Радио-86РК".
Предлагаемая вниманию читателей программная музыкальная система (ПМС) позволяет чисто программными средствами (табл.1) реализовать на компьютере "Радио-86РК" исполнение трехголосых музыкальных произведений.
Синтезируемые системой звуки по характеру приближаются к звучанию электрооргана. Звуковой сигнал образуется на выходе разрешения прерывания (INTE) микропроцессора КР580ВМ80А и может быть подан на любое звукоусилительное устройство. Партитура музыкального произведения в ПМС записывается в виде программы на специальном языке, в котором символами обозначаются все основные параметры музыкальных звуков. ПМС позволяет просматривать и редактировать готовые партитуры с помощью встроенного строчного редактора, а также вводить с клавиатуры новые партитуры. Любая партитура, созданная средствами ПМС, может быть сохранена на магнитной ленте, а затем считана для дальнейшей работы.
Работа с системой начинается с ее запуска директивой G0 МОНИТОРа, в результате чего в верхней части экрана появятся сообщение о готовности системы к работе и два шестнадцатеричных числа, указывающих начальный и конечный адреса области ЗУ, используемой для хранения партитуры (в начале работы эти адреса будут совпадать, так как партитуры в памяти нет). Появление символа ">" означает, что система готова к приему вашей команды. При начальном запуске ПМС буферная область для партитуры очищается. Для того чтобы система смогла исполнить какой-либо музыкальный фрагмент, его необходимо сначала ввести.
Для демонстрации работы системы введем текст простой музыкальной программы:Затем подключим выход разрешения прерывания (D6, вывод 16.) к усилителю низкой частоты и дадим системе команду откомпилировать и исполнить введенный отрывок, набрав на клавиатуре R(ВК). Прозвучат сначала восходящая, а потом нисходящая гаммы. Рассмотрим более подробно перечень директив ПМС.
A (AUTO) - Позволяет включить или выключить режим автонумерации строк при вводе партитуры. После ввода директивы приглашающий символ изменится на "+", что означает переход системы в режим автонумерации строк при вводе. Нажатие на клавишу "Пробел" в начале строки будет приводить к выводу номера строки на 10 большего, чем предыдущий. Повторное выполнение директивы "А" приведет к выключению режима автонумерации и восстановлению приглашающего символа в виде ">". При включении режима автонумерации сразу после запуска ПМС или после выполнения директивы очистки программной памяти автонумерация строк начинается со строки 0010. Если в ОЗУ уже находится музыкальная программа, последняя строка которой имеет номер М, автонумерация начнется с номера строки N+10. Предусмотрено и явное задание адреса, с которого должна начаться автонумерация. Для этого после вывода символа "+" необходимо без пробела набрать четырехзначный адрес строки (больший, чем последний номер в текущей программе, если она есть), а затем и саму строку. При нажатии пробела для печати номера следующей строки высветится номер на 10 больший.
D (DELETE) - Позволяет удалить строку или группу строк программы. Для удаления одной строки сразу после символа "D" следует набрать номер удаляемой строки (ведущие нули могут быть опущены) и (ВК). Для удаления группы строк после символа "D" указывают номер первой удаляемой строки, а затем через пробел номер последней удаляемой строки и (ВК).
Е (EDIT) - Позволяет редактировать строку с указанным сразу за символом команды номером (ведущие нули можно опустить). При выполнении этой команды строка с указанным номером вызывается в буфер редактирования, после чего могут быть выполнены следующие команды редактора:
® ИЛИ УС+Х - перемещает курсор на одну позицию вправо по редактируемой строке;G (GET)- Позволяет ввести текст ранее набранной партитуры с магнитной ленты. Ввод начинается сразу после нажатия клавиши ВК, поэтому ее следует нажимать лишь после начала воспроизведения "ракорда" записи. В случае ошибки при чтении с магнитной ленты система выдаст сообщение: ОШИБКА ВВОДА.
L (LIST) - Позволяет просматривать текст введенной партитуры. Ввод команды без параметров вызовет распечатку всей партитуры на экране дисплея. Приостановить вывод можно нажатием на пробел, а повторным нажатием - продолжить его. Возможен просмотр одной строки (указывается номер строки) или строк с "N" по "М" ("N" набирается сразу после команды, а "М" - через пробел).
М (MENU) - Выводит на экран дисплея краткий перечень команд системы.
N (NEW) - Очищает программную память для ввода новой партитуры. Ранее находившаяся в памяти партитура теряется.
R (RUN) - Вызывает компиляцию и исполнение введенной партитуры. При обнаружении ошибки в тексте партитуры система выдаст сообщение об ошибке и автоматически перейдет в режим редактирования строки, содержащей ошибку.
V (VERIFY) -Позволяет определить объем памяти, занимаемой текстом партитуры. При этом распечатываются также начальный и конечный адреса расположения текста партитуры в ОЗУ.
W - Позволяет сохранить текст введенной партитуры на магнитной ленте. После ввода команды система попросит пользователя подготовить магнитофон к записи и нажать клавишу (ВК), что послужит командой машине начать вывод текста партитуры на магнитофон, После окончания вывода партитуры последует запрос на необходимость проверки качества записанной информации. Ввод в ответ на запрос системы символа "N" вызовет переход ПМС в режим ожидания следующей команды, а ввод любого другого символа вызовет сообщение с просьбой подготовиться к проверке качества записи и нажать клавишу (ВК) (после начала воспроизведения ракорда информации).
Рассмотрим теперь элементы языка, на котором в ПМС записывается музыкальное произведение. Первую группу этих элементов можно назвать музыкальными операторами. Они позволяют смещать по высоте весь нотный строй, задавать ключ игры, определять музыкальные такты и выполнять некоторые другие функции. Рассмотрим музыкальные операторы более подробно:
/ Признак комментария. Обозначает, что все символы, находящиеся в строке правее его, являются комментарием и компилятором обрабатываться не будут.
Р (СИМВОЛ) - Признак начала параграфа. Определяет начало участка музыкального произведения, который в дальнейшем может быть использован в партитуре в виде ссылки на имя параграфа, указанное в поле СИМВОЛ. В качестве имени параграфа может быть использована одна любая заглавная буква латинского алфавита от А до Z. Если определено два параграфа с одинаковыми именами, то действительным будет последнее по тексту программы определение.
R (СИМВОЛ) Повтор параграфа. Вызывает включение ранее определенного параграфа с именем, указанным в поле СИМВОЛ, в текст партитуры без его полного повторного описания.
М (СИМВОЛ) Идентификатор такта. Определяет начали музыкального такта. Любой ранее начатый такт заканчивается. В пределах такта партии могут быть записаны в строках с разными номерами, но при исполнении будут проигрываться в одном такте вплоть до строки с определением следующего такта. В поле СИМВОЛЫ могут использоваться символы латинского алфавита от А до Z и цифры от 0 до 9 общим количеством не более четырех.
V (ЦИФРА) Идентификатор "Голоса". Определяет, партия какого из трех голосов будет записана непосредственно за оператором. В ноле ЦИФРА может быть указано одно из чисел 1, 2 или 3 в зависимости от номера описываемого голоса. Максимальное число нот, могущих быть записанными за идентификатором одного голоса, составляет 32. Партии разных голосов в пределах одного такта могут быть записаны в строках с разными номерами.
<(ЦИФРА) Признак понижения строя. Все последующие ноты в данном параграфе смещаются вниз на количество полутонов, указанное в поле ЦИФРА и записанное в виде одной шестнадцатеричной цифры от 1 до F. В пределах одного параграфа может быть определен только один раз.
>(ЦИФРА) - Признак повышения строя. Все последующие ноты в данном параграфе смещаются вверх на количество полутонов, указанное в поле ЦИФРА и записанное в виде одной шестнадцатеричной цифры от 0 до F. В пределах одного параграфа может быть определен только один раз.
* Скрипичный ключ. Определяет, что партия голоса, к которому он принадлежит, будет исполняться в скрипичном ключе. В пределах одного такта для конкретного голоса может быть определен только один раз.
а Басовый ключ. Определяет, что партия голоса, к которому он принадлежит, будет исполняться в басовом ключе. В пределах одного такта для конкретного голоса может быть определен только один раз.
/\<ЗНАК><ЦИФРА> Признак локального смещения строя. Определяет, что все ноты, принадлежащие текущему голосу, будут повышены или понижены, в зависимости от поля ЗНАК (+ ИЛИ -), на количество полутонов, указанное в поле ЦИФРА (0...F). Для данного голоса в пределах одного такта может быть применен только один раз.
К <ЧИСЛО><ТИП> - Ключевой знак альтерации. Музыкальный ключ, задаваемый в виде числа от 0 до 7 в поле ЧИСЛОМ и ТИПА # (ДИЕЗ) или & (БЕМОЛЬ) в поле ТИП. Поле ЧИСЛО определяет количество ДИЕЗов или БЕМОЛей. Если оператор "К" не применяется, то игра будет происходить в до-мажоре. Оператор "К" применяется в начале партитуры только один раз.
N<СИМВОЛ><ЧИСЛО> - Определяет темп, в котором будет исполняться текущий параграф. Задание темпа происходит путем уравнивания длительности звучания нот с числом циклов работы программы задержки, указываемым в поле ЧИСЛО и находящимся в диапазоне от 00 до FF. В поле СИМВОЛ может быть использован один из символов Н, Q, I или S, обозначающих соответственно 1/2, 1/4, 1/8 и 1/16 ноты.
Элементы второй группы, назовем их музыкальными функциями, определяют, как будет играться конкретная нота в музыкальном произведении. Перечислим их:Позиция ноты на нотных линейках определяется относительно среднего ДО. Среднее ДО принимается за 0, и все остальные ноты располагаются в числовом ряду в положительную или отрицательную сторону от него.
Проводимые примеры партитур (табл.2, табл.3, табл.4) помогут вам в написании собственных предложений музыкальных произведений для компьютера "Радио-86РК".
А. АНДРЕЕВ
г. Москва
Описание
компьютера Радио-86РК
|
Журнал
РАДИО
|