diff options
Diffstat (limited to 'tde-i18n-ru/docs/kdemultimedia/artsbuilder/midi.docbook')
-rw-r--r-- | tde-i18n-ru/docs/kdemultimedia/artsbuilder/midi.docbook | 526 |
1 files changed, 526 insertions, 0 deletions
diff --git a/tde-i18n-ru/docs/kdemultimedia/artsbuilder/midi.docbook b/tde-i18n-ru/docs/kdemultimedia/artsbuilder/midi.docbook new file mode 100644 index 00000000000..651330d574e --- /dev/null +++ b/tde-i18n-ru/docs/kdemultimedia/artsbuilder/midi.docbook @@ -0,0 +1,526 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> +To validate or process this file as a standalone document, uncomment +this prolog. Be sure to comment it out again when you are done --> + +<chapter id="midi"> +<title +>&MIDI;</title> + +<sect1 id="midi-overview"> +<title +>Обзор</title> + +<!-- what-to-say-here: aRts has three roles + * moving midi events around between applications + * abstracting the hardware + * synthesizer --> + +<para +>Поддержка &MIDI; в &arts; обширна. Она разрешает <emphasis +>обмен</emphasis +> данными между приложениями, генерирующими &MIDI;-события, и получателями этих событий. К примеру, если вы используете синтезатор и сэмплер, поддерживающие &arts;, вы можете посылать &MIDI;-события от синтезатора сэмплеру. </para> + +<para +>С другой стороны, &arts; позволяет приложениям <emphasis +>взаимодействовать с оборудованием</emphasis +>. Если какое-то приложение (сэмплер, к примеру) работает с &arts;, оно сможет получать &MIDI;-события со внешней &MIDI;-клавиатуры. </para> + +<para +>Наконец, &arts; - это замечательный <emphasis +>модульный синтезатор</emphasis +>. Он был разработан именно для использования в таком качестве. То есть вы можете создавать инструменты из небольших модулей, используя artsbuilder. В &arts; есть и модули-сэмплеры. Таким образом, &arts; - это мощный сэмплер и синтезатор, он состоит из отдельных модулей, поэтому его легко расширять. </para> +</sect1> + +<sect1 id="midi-manager"> +<title +>Менеджер &MIDI;</title> +<!-- what-to-say-here: + * how to use artscontrol - view midimanager + * what does autorestore do? (not yet implemented - so not yet documented) --> + +<para +>Главный компонент &arts; - это Менеджер &MIDI;, он знает, как связаны приложения и как должна пересылаться информация. Чтобы посмотреть, что он делает или настроить его, выберите <menuchoice +><guilabel +>Вид</guilabel +><guilabel +>Показать midi-менеджера</guilabel +> </menuchoice +> в меню &artscontrol;. </para> + +<para +>Слева вы видите <guilabel +>Входные каналы MIDI</guilabel +>. Там перечислены все объекты, которые могут производить &MIDI;-события: внешний &MIDI;-порт, к которому подключена &MIDI;-клавиатура, синтезатор и т. д. Справа - <guilabel +>Выходные каналы MIDI</guilabel +>. Это, к примеру, приложение-сэмплер или внешний &MIDI;-порт, к которому подключен сэмплер. Новые приложения, например, синтезатор, регистрируются сами, поэтому список будет меняться. </para> + +<para +>Входные и выходные каналы можно соединить, щелкнув по соответствующим объектам и нажав на кнопку <guilabel +>Соединиться</guilabel +> внизу. Аналогично работает кнопка <guilabel +>Разъединиться</guilabel +>. Если два устройства подключены, между ними будет нарисована линия. Заметьте, что к одному входу можно подключить несколько выходов и наборот. </para> + +<para +>Приложения (вроде синтезатора Brahms) будут автоматически добавляться в список при запуске и удаляться при выходе. Однако вы можете самостоятельно добавить их в меню <guilabel +>Добавить</guilabel +>: </para> + +<variablelist> +<varlistentry> +<term +><guimenuitem +>Порт MIDI на эту систему (OSS)</guimenuitem +></term> +<listitem> +<para +>Создаст новый объект &arts;, который будет посылать данные на внешний MIDI-порт. </para> + +<para +>Внешние MIDI-порты могут как получать, так и посылать данные. Эта операция позволяет создаьт входной и выходной каналы MIDI. Для работы вам необходима <acronym +>OSS</acronym +> (или <acronym +>OSS</acronym +>/Free, она идёт с ядром &Linux;) или драйвер звуковой карты <acronym +>ALSA</acronym +>. Имя устройства обычно такое: <filename class="devicefile" +>/dev/midi</filename +> или <filename class="devicefile" +>/dev/midi00</filename +>. </para> + +<para +>Однако, если у вас более одного MIDI-устройства или установлен драйвер, имитирующий MIDI-устройство, выбор становится шире. Чтобы получить дополнительную информацию о ваших портах MIDI, запустите &kcontrolcenter; и зайдите в <menuchoice +><guilabel +>Информация</guilabel +> <guilabel +>Звук</guilabel +></menuchoice +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenuitem +>Синтезированный вывод MIDI aRts</guimenuitem +></term> +<listitem> +<para +>Будет создан новый &MIDI;-выход синтезатора &arts;. Если вы выберете соответствующий пункт в меню, откроется диалоговое окно, в котором можно будет указать инструмент. Вы можете создавать новые инструменты, используя artsbuilder. Все файлы с расширением <literal role="extension" +>.arts</literal +> и именем, начинающимся с <filename +>instrument_</filename +>, будут отображены здесь. </para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> + +<sect1 id="brahms"> +<title +>Использование &arts; и Brahms</title> + +<para +>Запустить &brahms; достаточно просто, вам нужна версия &brahms; для &kde; 2.1,которую можно найти в модуле <literal +>kmusic</literal +><acronym +>CVS</acronym +>. Также есть информация о том, где взять &brahms; на <ulink url="http://www.arts-project.org/" +>Домашней странице aRts</ulink +> в разделе <quote +>Download</quote +>. </para> + +<para +>При запуске вызывается Менеджер &MIDI;. Если вы хотите получить синтезатор, просто добавьте &MIDI;-инструмент в <menuchoice +><guilabel +>Добавить</guilabel +><guilabel +>Синтезированный вывод MIDI aRts</guilabel +></menuchoice +>. </para> + +<para +>Выберите инструмент (к примеру, <guilabel +>organ2</guilabel +>). Подключите его, нажав на кнопку <guilabel +>Соединиться</guilabel +>. Теперь вы можете писать музыку в &brahms;, а играть её будет &arts;. </para> + +<para +>Очень удобно держать открытым окно &artscontrol;, чтобы контролировать громкость (качество звука теряется, когда уровень звука выше определённых границ). Сейчас вы можете начать работу над новой композицией в &arts;, а когда закончите, сможете опубликовать её на aRts-project.org ;-). </para> + +<!-- TODO: how to do more than one instrument in Brahms (hm, not implemented + yet, not documented yet), how to use samples, mapping and so on. These + things need to be implemented, too. --> + +</sect1> + +<sect1 id="midisend"> +<title +>midisend</title> + +<para +><command +>midisend</command +> - это небольшое приложение, позволяющее отправлять &MIDI;-события из оболочки. Оно регистрирует себя как клиента. Самый простой способ использования: <screen +><prompt +>%</prompt +> <userinput +><command +>midisend</command +> <option +>-f</option +> <parameter +> <replaceable +>/dev/midi00</replaceable +></parameter +></userinput +> </screen +>, результат будет почти таким же, как если бы вы добавили &MIDI;-порт в &artscontrol; (<quote +>почти</quote +> потому, что <command +>midisend</command +> только отправляет события). Разница в том, что <command +>midisend</command +> гораздо проще запустить на разных компьютерах. </para> + +<para +>Также есть возможность с помощью <command +>midisend</command +> посылать данные из <filename class="devicefile" +>stdin</filename +>, которые могут использоваться для переноса данных из приложений, не поддерживающих &arts;, в &arts;. К примеру: <screen +><prompt +>%</prompt +> <userinput +><command +><replaceable +> applicationwhichproducesmidieventsonstdout</replaceable +></command +> | <command +>midisend</command +> <option +>-f</option +> <option +><replaceable +>-</replaceable +></option +></userinput +></screen> +<!-- TODO: document all options --> +</para> + +</sect1> + +<sect1 id="midi-creating-instruments"> +<title +>Создание инструментов</title> + +<para +>В &arts; синтезатор работает следующим образом: со входных портов структур получаются данные о частоте, громкости и устанавливается параметр нажатия клавиши. Затем структура синтезирует необходимую ноту заданной громкости, а также считывает параметр нажатия (где 1 значит, что клавиша ещё нажата, а 0 - отпущена). </para> + +<para +>Когда &MIDI;-событие получено, &arts; создаёт новую структуру для необходимых нот и передаёт ей параметры. После завершения процесса структура удаляется. </para> + +<para +>Чтобы создать и использовать структуру, необходимо сделать следущее: </para> + +<itemizedlist> +<listitem> +<para +>Самый удобный способ запуска: открыть <filename +>template_Instrument.arts</filename +> в &arts-builder;. </para> + +<para +>Это может быть сделано так: <menuchoice +><guimenu +>Файл</guimenu +><guimenuitem +>Открыть пример</guimenuitem +></menuchoice +> и выбрать <guimenuitem +>template_Instrument</guimenuitem +>. Таким образом будет создана пустая структура с необходимыми параметрами, которую вам нужно только <quote +>заполнить</quote +>. </para> +</listitem> + +<listitem> +<para +>Для обработки параметра нажатия удобно использовать Synth_ENVELOPE_ADSR или, если идёт воспроизведение wav с ударными, просто игнорируйте его. </para> +</listitem> + +<listitem> +<para +>Структура должна отображать, нужна ли она. Если done содержит значение <returnvalue +>1</returnvalue +>, &arts; удаляет структуру. Для удобства оболочка ADSR предоставляет такой параметр, вам нужно только подключить его к выходу структуры. </para> +</listitem> + +<listitem> +<para +>Вам нужно переименовать структуру, начиная имя файла с <filename +>instrument_</filename +>, к примеру, <filename +>instrument_piano.arts</filename +>, и сохранить её в каталоге <filename class="directory" +>$<envar +>HOME</envar +>/arts/structures</filename +> (это стандартный каталог для сохранения файлов). </para> +</listitem> + +<listitem> +<para +>Теперь, когда вы её сохранили, вы сможете использовать её в &artscontrol; в Менеджере &MIDI;.</para> +</listitem> + +<listitem> +<para +>И, конечно, ваша структура должна уметь проигрывать сгенерированные аудиоданные, которые будут потом воспроизводиться Менеджером аудио (это можно увидеть в &artscontrol;) и которые вы сможете обработать с помощью эффектов. </para> +</listitem> +</itemizedlist> + +<para +>Хороший способ поучиться созданию инструментов - это открыть уже существующие в <menuchoice +><guilabel +>Файл</guilabel +><guilabel +>Открыть пример</guilabel +> </menuchoice +> и посмотреть, как они работают ;) </para> +</sect1> + +<sect1 id="mapped-instruments"> +<title +>Карты инструментов</title> + +<para +>Карты инструментов - это такие инструменты, звучание которых меняется в зависимости от высоты, программы, канала или скорости. К примеру, вы можете создать пианино с пятью октавами, и оно будет звучать намного лучше, чем просто один сэмпл. </para> + +<para +>Также вы можете создать карту ударных инструментов, тогда при нажатии на определённую клавишу будет проигрываться соответствующий сэмпл. </para> + +<para +>Очень удобно помещать разные звуки на одну карту, но с разными программами. В этом случае вы сможете использовать синтезатор, внешнюю &MIDI;-клавиатуру или что-нибудь ещё для переключения звуков. </para> + +<para +>Хороший пример этого инструмента - <filename +>arts_all</filename +>, в котором собраны все инструменты &arts; на одной карте. С ним вам нужно только настроить его в &artscontrol; на использование <quote +>инструмента</quote +>, а потом писать музыку на синтезаторе, не думая об &arts;. Понадобился другой звук? Поменяйте программу синтезатора. </para> + +<para +>Создать такую карту очень просто. Нужно создать текстовый файл и записать туда правила, которые выглядят примерно так: </para> + +<programlisting +>ON <replaceable +>[ условия ...]</replaceable +> DO structure=<replaceable +>какая-то структура</replaceable +>.arts +</programlisting> + +<para +>Условий может быть и более одного: </para> + +<variablelist> + +<varlistentry> +<term +><option +>pitch</option +></term> + +<listitem> +<para +>Высота проигрываемой ноты. Это нужно, если вы хотите создать зависящий от высоты инструмент. В одном из наших примеров для разных октав пианино используются разные сэмплы с этим условием. Вы можете задать одну высоту: <userinput +><option +>pitch</option +>=<parameter +>62</parameter +></userinput +> или диапазон: <userinput +><option +>pitch</option +>=<parameter +>60</parameter +>-<parameter +>72</parameter +></userinput +>. Допустимый диапазон: от <parameter +>0</parameter +> до <parameter +>127</parameter +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>program</option +></term> +<listitem> +<para +>Если на канал, который использует какая-то программа, посылается нота, программа становится активной. Обычно <quote +>инструмент</quote +> можно указать в настройках программы, которых может быть и несколько: <userinput +><option +>program </option +>=<parameter +>3</parameter +></userinput +> или <userinput +> <option +>program</option +>=<parameter +>3</parameter +>-<parameter +>6 </parameter +></userinput +>. Диапазон номеров программ: от <parameter +>0</parameter +> до <parameter +>127</parameter +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>channel</option +></term> +<listitem> +<para +>Канал, на который посылается нота. Возможен выбор одного или нескольких каналов: <userinput +><option +>channel</option +>=<parameter +>0</parameter +></userinput +> или <userinput +><option +>channel</option +>=<parameter +>0</parameter +>-<parameter +>8</parameter +></userinput +>. Допустимые каналы: от <parameter +>0</parameter +> до <parameter +>15</parameter +>. </para> +</listitem> + +</varlistentry> +<varlistentry> +<term +><option +>velocity</option +></term> +<listitem> +<para +>Это скорость (громкость) ноты. Вы можете выбрать одну (кому она только нужна?) или диапазон: <userinput +><option +>velocity</option +>=<parameter +>127</parameter +></userinput +> или <userinput +><option +>velocity</option +>=<parameter +>64</parameter +>-<parameter +>127</parameter +></userinput +>. Диапазон: от <parameter +>0</parameter +> до <parameter +>127</parameter +>. </para> +</listitem> +</varlistentry> +</variablelist> + +<para +>Законченный пример карты (взят из текущего <filename +>instrument_arts_all.arts-map</filename +>): </para> + +<programlisting +>ON program=0 DO structure=instrument_tri.arts +ON program=1 DO structure=instrument_organ2.arts +ON program=2 DO structure=instrument_slide1.arts +ON program=3 DO structure=instrument_square.arts +ON program=4 DO structure=instrument_neworgan.arts +ON program=5 DO structure=instrument_nokind.arts +ON program=6 DO structure=instrument_full_square.arts +ON program=7 DO structure=instrument_simple_sin.arts +ON program=8 DO structure=instrument_simple_square.arts +ON program=9 DO structure=instrument_simple_tri.arts +ON program=10 DO structure=instrument_slide.arts +ON program=11 pitch=60 DO structure=instrument_deepdrum.arts +ON program=11 pitch=61 DO structure=instrument_chirpdrum.arts +</programlisting> + +<para +>Как вы видите, структура выбирается в зависимости от программы. В программе 11 задана <quote +>карта ударных</quote +> (с двумя входами), которая будет играть <quote +>deepdrum</quote +> C-5 (высота=60) и <quote +>chirpdrum</quote +> C#5 (высота=61). </para> + +<para +>Чтобы карты появлялись в &artscontrol; как вариант инструмента, их нужно вызвать так: <filename +>instrument_<replaceable +>что-то</replaceable +>.arts-map</filename +> и перенести в домашний каталог <filename class="directory" +>$<envar +>HOME</envar +>/arts/structures</filename +>или в каталог &kde; <filename class="directory" +>$<envar +>KDEDIR</envar +>/usr/local/kde/share/apps/artsbuilder/examples</filename +>. Используемые картами структуры могут иметь как полный путь, так и путь до каталога карты. </para> + +<para +>Расширение карты arts_all или даже создание законченной общей &MIDI;-карты для &arts; поможет сделать &arts; проще. Подумайте над опубликованием своих интересных инструментов, которые мы можем включить в следущую версию &arts;. </para> +</sect1> + +<!-- TODO: Maybe helpful + * using an external keyboard + * loopback midi device + +<sect1 id="quick-start"> +<title +>Quick Start</title> + +</sect1> +<sect1 id="internal-details"> +<title +>More Internal Details</title> + +</sect1> + +<sect1 id="other-considerations"> +<title +>Other Considerations</title> + +</sect1> +--> + +</chapter> |