<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>REAPER крут &#8212; Karamush Blog</title>
	<atom:link href="https://karamush.ru/category/reaper_cool/feed/" rel="self" type="application/rss+xml" />
	<link>https://karamush.ru</link>
	<description>Карамиля Андрей (мини блог)</description>
	<lastBuildDate>Wed, 21 Jan 2026 23:09:05 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://karamush.ru/wp-content/uploads/2015/11/cropped-Ihn6wRKjcbc-32x32.jpg</url>
	<title>REAPER крут &#8212; Karamush Blog</title>
	<link>https://karamush.ru</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>REAPER КРУТ! Показ аккордов и текстов песен в реальном времени в браузере (через веб-сокеты)</title>
		<link>https://karamush.ru/reaper-%d0%ba%d1%80%d1%83%d1%82-%d0%bf%d0%be%d0%ba%d0%b0%d0%b7-%d0%b0%d0%ba%d0%ba%d0%be%d1%80%d0%b4%d0%be%d0%b2-%d0%b8-%d1%82%d0%b5%d0%ba%d1%81%d1%82%d0%b0-%d0%bf%d0%b5%d1%81%d0%b5%d0%bd-%d0%b2/</link>
					<comments>https://karamush.ru/reaper-%d0%ba%d1%80%d1%83%d1%82-%d0%bf%d0%be%d0%ba%d0%b0%d0%b7-%d0%b0%d0%ba%d0%ba%d0%be%d1%80%d0%b4%d0%be%d0%b2-%d0%b8-%d1%82%d0%b5%d0%ba%d1%81%d1%82%d0%b0-%d0%bf%d0%b5%d1%81%d0%b5%d0%bd-%d0%b2/#respond</comments>
		
		<dc:creator><![CDATA[karamush]]></dc:creator>
		<pubDate>Sun, 18 Jan 2026 22:54:27 +0000</pubDate>
				<category><![CDATA[etc]]></category>
		<category><![CDATA[REAPER крут]]></category>
		<category><![CDATA[Изобретения]]></category>
		<category><![CDATA[Проекты]]></category>
		<guid isPermaLink="false">https://karamush.ru/?p=975</guid>

					<description><![CDATA[В ходе подготовки к концерту появилась необходимость показывать тексты песен и аккорды во время репетиций. Конечно, можно было бы всё распечатать, и мы, собственно, так и сделали, но когда новые люди изучают новые песни, порой непонятно сколько времени нужно держать &#8230;<p class="read-more"> <a class="more-link" href="https://karamush.ru/reaper-%d0%ba%d1%80%d1%83%d1%82-%d0%bf%d0%be%d0%ba%d0%b0%d0%b7-%d0%b0%d0%ba%d0%ba%d0%be%d1%80%d0%b4%d0%be%d0%b2-%d0%b8-%d1%82%d0%b5%d0%ba%d1%81%d1%82%d0%b0-%d0%bf%d0%b5%d1%81%d0%b5%d0%bd-%d0%b2/"> <span class="screen-reader-text">REAPER КРУТ! Показ аккордов и текстов песен в реальном времени в браузере (через веб-сокеты)</span> Читать далее &#187;</a></p>]]></description>
										<content:encoded><![CDATA[
<p class="has-normal-font-size">В ходе подготовки к <a href="https://vk.com/dec27event" target="_blank" rel="noreferrer noopener">концерту</a> появилась необходимость показывать тексты песен и аккорды во время репетиций. Конечно, можно было бы всё распечатать, и мы, собственно, так и сделали, но когда новые люди изучают новые песни, порой непонятно сколько времени нужно держать аккорд, какая сейчас строчка (особенно когда вокалиста нет на репе), что будет дальше и т.д. Поэтому было решено разработать небольшую автоматическую систему для показа и текста, и аккордов, и их длительностей. А как бонус, текущую строку текста песни можно выводить зрителям в зале на экран, и зрителям в трансляции в другой позиции и с другим оформлением, и также вокалистам или музыкантам на stage-мониторы перед сценой или на или планшеты/телефоны. И всё это в REAPER, и всё это автоматически! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f92f.png" alt="🤯" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <br>Ниже рассказываю как это реализовано и как этим всем воспользоваться, так что добро пожаловать под кат <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<span id="more-975"></span>



<p>Вот небольшое оглавление для удобства и возможности быстрого перехода:</p>



<ul class="wp-block-list">
<li><a href="#reasons">Причины и что вообще побудило к созданию этой системы</a></li>



<li><a href="#capability">Возможности системы</a></li>



<li><a href="#how-it-works">Как всё работает</a></li>



<li><a href="#how-to-use">Скачать, настроить, использовать</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="reasons">Причины и что вообще побудило к созданию этой системы</h2>



<p>Обычно текст песен на экране показывается совершенно разными способами, начиная от ручного прокручивания первого попавшегося сайта или показа презентации в PowerPoint с заранее заготовленными слайдиками и заканчивая профессиональными программами по типу ProPresenter. Но каждый из этих способов требует наличия человека, причём, довольно-таки внимательного)) А как часто бывает, что человека отвлекут, либо он плохо знает песню и поэтому пропускает момент переключения&#8230; )<br>Более продвинутый вариант &#8212; автоматизировать переключение слайдов и/или фоновых видосов в ProPresenter, передавая миди-сообщения из DAW через midi-loopback или по сети. Такое тоже имеет место быть, и в нашей ситуации я даже начинал создавать тексты песен в том же ProPresenter, и даже настроил переключение слайдов по midi, но всё это как-то не то&#8230; не так эпично что ль <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Да и вопрос с показом аккордов тоже оставался открытым. И не давала покоя мысль ещё больше автоматизировать это дело&#8230; Несколько вечеров, и готово! И самим хорошо, и с остальными поделиться можно, ведь если это понадобилось мне, скорей всего кому-то тоже может понадобиться, как показывает практика )<br>Единственный минус: всё завязано на REAPER, но рипер крут, и как бы почему бы и нет, если у нас (да и у много кого ещё) всё и так работает через него (и плейбэки, и метроном, и гайды, и управление светом, и т.д.).</p>



<h2 class="wp-block-heading" id="capability">Возможности системы</h2>



<p>Ниже небольшое видео (без звука), где:</p>



<ul class="wp-block-list">
<li>запуск скрипта в REAPER (скрипт добавить надо, он в комплекте с программой идёт)</li>



<li>запуск программы проксирования </li>



<li>видно красивое меню, которое &#171;раздаёт&#187; эта самая программа (файлики хранятся в открытом виде, обычные html файлы)</li>



<li>демонстрация показа аккордов, и прокручиваемого текста. Всё открыто в двух сгруппированных вкладках браузера для показа одновременной работы разных разделов (на самом деле весьма удобно видеть и текст, и аккорды сразу)</li>
</ul>



<figure class="wp-block-video"><video height="851" style="aspect-ratio: 1190 / 851;" width="1190" controls muted src="https://karamush.ru/wp-content/uploads/2026/01/demo.webm"></video><figcaption class="wp-element-caption">Небольшая демонстрация работы системы</figcaption></figure>



<p><strong>На входе встречает красивое меню, где можно выбрать нужный раздел:</strong></p>



<figure class="wp-block-image aligncenter size-full"><a href="https://karamush.ru/wp-content/uploads/2026/01/menu.webp"><img fetchpriority="high" decoding="async" width="620" height="416" src="https://karamush.ru/wp-content/uploads/2026/01/menu.webp" alt="" class="wp-image-1084" srcset="https://karamush.ru/wp-content/uploads/2026/01/menu.webp 620w, https://karamush.ru/wp-content/uploads/2026/01/menu-300x201.webp 300w, https://karamush.ru/wp-content/uploads/2026/01/menu-100x67.webp 100w, https://karamush.ru/wp-content/uploads/2026/01/menu-150x101.webp 150w, https://karamush.ru/wp-content/uploads/2026/01/menu-200x134.webp 200w, https://karamush.ru/wp-content/uploads/2026/01/menu-450x302.webp 450w, https://karamush.ru/wp-content/uploads/2026/01/menu-600x403.webp 600w" sizes="(max-width: 620px) 100vw, 620px" /></a></figure>



<ol class="wp-block-list">
<li><strong>Chords &#8212; аккорды</strong>. Показываются как просто списком на экранах побольше, так и просто прокручиваемые аккорды на экранах поменьше. Внизу пишется также название текущего трека (берётся из региона), время на таймлайне и BPM, а также показывается текущий статус: воспроизведение, пауза, стоп. Блоки с аккордами имеют разную высоту, что соответствует их длительности. Сразу наглядно видно как долго держать аккорд, но на всякий случай пишется ещё и время (в секундах) и количество ударов метронома для каждого аккорда, типа 12/4 или 2/4. Имеется возможность приблизить, отдалить, отцентрировать (если прокрутили вдруг) и переключиться в полноэкранный режим.</li>



<li><strong>Lyrics &#8212; текущая строка текста</strong>. Это может пригодиться для вывода на экран в зале или в трансляцию. Обычная веб-страница, которая в реальном времени получает и показывает текущий текст, а при вставке в <a href="https://obsproject.com/" target="_blank" rel="noreferrer noopener">OBS</a>, <a href="https://www.vmix.com/" target="_blank" rel="noreferrer noopener">vMix</a> или другие программы можно подстроить внешний вид, убрать фон, изменить размер и т.д. А если есть возможность подредактировать CSS стили (как в том же OBS), то можно ещё и шрифт поменять и ещё там эффектов на текст накинуть при необходимости. Но вообще, исходный код всех страниц открыт, так что можно менять на своё усмотрение, добавлять свои страницы и пункты в меню, но об этом ниже <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li><strong>Scroll Lyrics &#8212; прокручиваемый текст</strong>. А вот это уже больше подходит для stage-монитора для вокалиста, чтоб не только текущую строчку видел, но и следующие тоже заранее мог подсмотреть. Хотя в любом случае текст нужно показывать не в тот самый момент, когда он пропевается, а чуть заранее, но тут уже по своим нуждам тоже можно настроить всё и располагать тексты где нужно на таймлайне рипера, ведь именно оттуда берётся текст, но об этом позже)<br>В этом режиме можно в URL добавить параметр <code>?vignette</code>, и тогда вокруг текущей подсвечиваемой строки появится виньетка, чтоб сфокусироваться на главном <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br></li>
</ol>



<figure class="wp-block-image aligncenter size-full is-resized is-style-default"><a href="https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1.png"><img decoding="async" width="1124" height="754" src="https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1.png" alt="" class="wp-image-1012" style="width:442px;height:auto" srcset="https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1.png 1124w, https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1-300x201.png 300w, https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1-1024x687.png 1024w, https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1-768x515.png 768w, https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1-100x67.png 100w, https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1-150x101.png 150w, https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1-200x134.png 200w, https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1-450x302.png 450w, https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1-600x402.png 600w, https://karamush.ru/wp-content/uploads/2025/11/2025-11-28_00-55-1-900x604.png 900w" sizes="(max-width: 1124px) 100vw, 1124px" /></a><figcaption class="wp-element-caption">Виньетка, уиии)</figcaption></figure>



<p>А начинается всё с захода на IP адрес или на rc.reaper.fm/ИМЯ, где запущена программа-прокси для рипера, которая и позволяет всей этой системе более оптимально работать без лишних запросов, но подробней об этом в следующем разделе &#8212; как это всё работает)</p>



<p>А позже был создан сервис <a href="https://r.qofa.ru">https://r.qofa.ru</a> &#8212; аналог rc.reaper.fm, только без указания имени, ведь оно не нужно, когда есть единая точка входа с меню</p>



<figure class="wp-block-image aligncenter size-full"><a href="https://karamush.ru/wp-content/uploads/2026/01/image.png"><img decoding="async" width="846" height="335" src="https://karamush.ru/wp-content/uploads/2026/01/image.png" alt="" class="wp-image-1085" srcset="https://karamush.ru/wp-content/uploads/2026/01/image.png 846w, https://karamush.ru/wp-content/uploads/2026/01/image-300x119.png 300w, https://karamush.ru/wp-content/uploads/2026/01/image-768x304.png 768w, https://karamush.ru/wp-content/uploads/2026/01/image-100x40.png 100w, https://karamush.ru/wp-content/uploads/2026/01/image-150x59.png 150w, https://karamush.ru/wp-content/uploads/2026/01/image-200x79.png 200w, https://karamush.ru/wp-content/uploads/2026/01/image-450x178.png 450w, https://karamush.ru/wp-content/uploads/2026/01/image-600x238.png 600w" sizes="(max-width: 846px) 100vw, 846px" /></a><figcaption class="wp-element-caption">r.qofa.ru &#8212; аналог rc.reaper.fm</figcaption></figure>



<h2 class="wp-block-heading" id="how-it-works">Как всё работает</h2>



<p>REAPER крут тем, что поддерживает разные контроллеры, а также управление по <a href="https://ru.wikipedia.org/wiki/MIDI" target="_blank" rel="noreferrer noopener">MIDI</a> и <a href="https://ru.wikipedia.org/wiki/Open_Sound_Control" target="_blank" rel="noreferrer noopener">OSC</a>. Но ещё более крут он тем, что у него есть встроенный веб-интерфейс с неплохими дефолтными страницами, через которые можно и дорожками управлять, и мониторингом, и визуальный клик иметь, и ещё там что-то <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f929.png" alt="🤩" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br>(всё это находится в настройках, в <code>Control/OSC/web</code>)</p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://karamush.ru/wp-content/uploads/2025/11/image.png"><img loading="lazy" decoding="async" width="805" height="530" src="https://karamush.ru/wp-content/uploads/2025/11/image.png" alt="" class="wp-image-1019" style="width:433px;height:auto" srcset="https://karamush.ru/wp-content/uploads/2025/11/image.png 805w, https://karamush.ru/wp-content/uploads/2025/11/image-300x198.png 300w, https://karamush.ru/wp-content/uploads/2025/11/image-768x506.png 768w, https://karamush.ru/wp-content/uploads/2025/11/image-100x66.png 100w, https://karamush.ru/wp-content/uploads/2025/11/image-150x99.png 150w, https://karamush.ru/wp-content/uploads/2025/11/image-200x132.png 200w, https://karamush.ru/wp-content/uploads/2025/11/image-450x296.png 450w, https://karamush.ru/wp-content/uploads/2025/11/image-600x395.png 600w" sizes="auto, (max-width: 805px) 100vw, 805px" /></a><figcaption class="wp-element-caption">Настройки различных способов управления в REAPER</figcaption></figure>



<p>Также есть замечательное расширение <a href="https://reapack.com/">ReaPack</a>, позволяющее прям из рипера ставить дополнительные скрипты, разрабатываемые сообществом, и также можно подключать дополнительные репозитории, и ставить ещё больше всяких скриптов&#8230; В общем, не зря есть шутка, что в рипере пишут не музыку, а скрипты <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f605.png" alt="😅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<figure class="wp-block-image aligncenter size-large is-resized"><a href="https://karamush.ru/wp-content/uploads/2025/11/image-1.png"><img loading="lazy" decoding="async" width="1024" height="443" src="https://karamush.ru/wp-content/uploads/2025/11/image-1-1024x443.png" alt="" class="wp-image-1020" style="width:455px;height:auto" srcset="https://karamush.ru/wp-content/uploads/2025/11/image-1-1024x443.png 1024w, https://karamush.ru/wp-content/uploads/2025/11/image-1-300x130.png 300w, https://karamush.ru/wp-content/uploads/2025/11/image-1-768x332.png 768w, https://karamush.ru/wp-content/uploads/2025/11/image-1-100x43.png 100w, https://karamush.ru/wp-content/uploads/2025/11/image-1-150x65.png 150w, https://karamush.ru/wp-content/uploads/2025/11/image-1-200x87.png 200w, https://karamush.ru/wp-content/uploads/2025/11/image-1-450x195.png 450w, https://karamush.ru/wp-content/uploads/2025/11/image-1-600x260.png 600w, https://karamush.ru/wp-content/uploads/2025/11/image-1-900x389.png 900w, https://karamush.ru/wp-content/uploads/2025/11/image-1.png 1156w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>За основу были взяты <a href="https://www.extremraym.com/en/my-reaper-scripts/">скрипты и интерфейсы от замечательного автора X-Raym</a>, у которого очень много разработок на все случаи жизни:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://karamush.ru/wp-content/uploads/2025/11/image-2.png"><img loading="lazy" decoding="async" width="1023" height="570" src="https://karamush.ru/wp-content/uploads/2025/11/image-2.png" alt="" class="wp-image-1022" style="width:510px;height:auto" srcset="https://karamush.ru/wp-content/uploads/2025/11/image-2.png 1023w, https://karamush.ru/wp-content/uploads/2025/11/image-2-300x167.png 300w, https://karamush.ru/wp-content/uploads/2025/11/image-2-768x428.png 768w, https://karamush.ru/wp-content/uploads/2025/11/image-2-100x56.png 100w, https://karamush.ru/wp-content/uploads/2025/11/image-2-150x84.png 150w, https://karamush.ru/wp-content/uploads/2025/11/image-2-200x111.png 200w, https://karamush.ru/wp-content/uploads/2025/11/image-2-450x251.png 450w, https://karamush.ru/wp-content/uploads/2025/11/image-2-600x334.png 600w, https://karamush.ru/wp-content/uploads/2025/11/image-2-900x501.png 900w" sizes="auto, (max-width: 1023px) 100vw, 1023px" /></a><figcaption class="wp-element-caption">Где-то внизу списка на этой странице как раз то, что касается вывода текста разными способами</figcaption></figure>



<p>Но не было ничего для показа аккордов. Да и изучив работу текущих скриптов и как вообще происходит общение с рипером, я немного поразился&#8230; Только представьте: каждые 10 миллисекунд идёт обращение к риперу за получением информации! Это 10 раз в секунду! А, минутку&#8230; Речь идёт о JS<sup data-fn="4fbef650-d50b-4c6c-bd84-e1d3858a17cc" class="fn"><a href="#4fbef650-d50b-4c6c-bd84-e1d3858a17cc" id="4fbef650-d50b-4c6c-bd84-e1d3858a17cc-link">1</a></sup>, так что это 100 раз в секунду <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f440.png" alt="👀" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br>Со стороны рипера нужно запустить скрипт, который найдёт дорожку с текстом или возьмёт выделенную дорожку, найдёт на ней все текстовые item-ы (это такие специальные элементы в рипере, просто для заметок, в них даже картинки можно засовывать), преобразует это в json формат и сохранит в <a href="https://www.reaper.fm/sdk/reascript/reascripthelp.html#SetExtState">EXTSTATE</a> (ссыль на документацию REAPER API). А затем со стороны веб-интерфейса (который сначала нужно в любом случае настроить, выбрав порт и страницу), идёт обращение к риперу для получения готового JSON с позициями и текстами, а потом 100 раз в секунду запрашивается текущая позиция курсора воспроизведения, чтоб показывать текст, соответствующий нужному времени.</p>



<p>По такому же принципу я сделал Lua-скрипт-модуль для рипера, который ищет дорожку с названием <strong>Chords</strong> (регистр не важен), забирает её текстовые элементы, сохраняет тоже в extstate под своим ключом, и потом это всё красиво рисуется на веб-страничке, но ещё и с компенсацией сетевой задержки, потому что нужно было добиться максимального совпадения кликов метронома в ушах и включения аккордов, это важно!</p>



<p>Именно таким образом вся эта система работала какое-то время, но было замечено, что веб-сервер, встроенный в REAPER, не справляется, если одновременно несколько клиентов пытаются получить данные. Даже уменьшение частоты запросов не сильно помогло, а ещё нужно было для каждой отдельной страницы (для аккордов, текста и прокручиваемого текста) настраивать отдельный веб-интерфейс и давать ему отдельное имя для <code>rc.reaper.fm</code>. Конечно же можно было не настраивать отдельно всё это, и в любом настроенном веб-интерфейсе просто написать имя нужной страницы, но это ещё сложней, ведь названия там непростые&#8230; Ладно, не суть)</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> В голову пришла идея накатать по-быстрому свой прокси-сервер, который с одной стороны будет обращаться к риперу в единственном экземпляре со своим интервалом, а с другой стороны будет раздавать полученную информацию подключенным клиентам, сколько бы их не было. Сказано &#8212; сделано!<br>На Go написан веб-сервер с поддержкой веб-сокетов<sup data-fn="1420d168-e5a3-4cac-b4a8-e1c727b6ac90" class="fn"><a href="#1420d168-e5a3-4cac-b4a8-e1c727b6ac90" id="1420d168-e5a3-4cac-b4a8-e1c727b6ac90-link">2</a></sup>, и получилось довольно универсально, ведь:</p>



<ul class="wp-block-list">
<li>можно переопределить свою главную страницу, в которой теперь красивое меню (на самом деле, можно и в риперовские страницы это засунуть)</li>



<li>можно добавить остальные нужные страницы, подправить их под свои нужды</li>



<li>можно переопределить файл main.js, в котором есть базовые функции для связи с рипером (по AJAX<sup data-fn="7d02d6b1-88c8-4e66-ac40-2043ca2b95e7" class="fn"><a href="#7d02d6b1-88c8-4e66-ac40-2043ca2b95e7" id="7d02d6b1-88c8-4e66-ac40-2043ca2b95e7-link">3</a></sup>), этот файл взят из стандартной поставки рипера и доработан. Удалось поменять всё так, что если есть поддержка веб-сокетов, то будут использованы именно веб-сокеты, а если нет, то будет по-старому работать. Поэтому с точки зрения использования этих функций ничего не изменилось, можно даже не сильно переписывать используемые страницы</li>



<li>веб-сервер работает так: сначала ищет файл по точному пути, переданному в URL, потом пробует <code>имя + .html</code>, потом пробует <code>имя/index.html</code>, а если и это не найдено, то запрос проксируется в рипер без изменений. Таким образом можно накидывать своих красивостей, не теряя при этом возможности дёргать рипер напрямую, вызывая его API-функции или запрашивая какие-то данные</li>



<li>все получаемые от рипера данные этот веб-сервер на Go отправляет всем клиентам. Причём, не просто отправляет всё, а только изменившиеся части, что сокращает количество трафика. Можно было бы заморочиться и следить за тем, кто из клиентов что запрашивает, собирать это в единый запрос для рипера, а потом парсить ответы и отправлять клиентам только то, что нужно, каждому своё, но&#8230; на текущем этапе это уже перебор, к тому же, так уж вышло, что всем клиентам (тут я имею ввиду разные странички с разным функционалом) всегда нужно значение <code>TRANSPORT</code> (отвечает за статус воспроизведения, текущую позицию и т.д.), а все остальные данные подгружаются при старте, поэтому это никак не мешает работе всего остального. Просто и гениально <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li>поддерживается также <code>rc.reaper.fm</code>, можно задать своё имя, и тогда программа при старте отправит на сервера рипера информацию о своём локальном адресе, и тогда остальным клиентам, находящимся в этой же сети, не нужно будет узнавать IP адрес и порт для подключения к интерфейсу, а достаточно будет зайти на <code>rc.reaper.fm/ws</code>, и они попадут в интерфейс независимо от настроек сети и т.д. Вместо <code>ws</code> можно поставить своё имя, но по-умолчанию оно такое. Для реализации этой фичи пришлось немножко отреверсинжинирить общение рипера с этим внешним сервисом. Оказалось ничего сложного тоже, зато теперь как удобно заходить по постоянному адресу в интерфейс <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br>(только для этого интернет нужен, но по IP адресу или внутреннему имени хоста заходить можно и без интернета)</li>



<li>по аналогии с rc.reaper.fm создан сервис <a href="https://r.qofa.ru">https://r.qofa.ru</a>, в котором не требуется указание имени, а в остальном принцип работы идентичен: в той же локальной сети, где запущена программа, можно перейти по адресу r.qofa.ru, а оттуда уже будет редирект на IP и порт, которые слушает программа. УДОБНО!</li>



<li>на будущее сделана публикация в mDNS, чтоб можно было обнаружить этот сервис. Пока не используется, хотя прикольно, что оно есть и работает (ниже скриншот обнаружения с телефона через mDNS Discovery)<br><a href="https://karamush.ru/wp-content/uploads/2026/01/photo_4_2026-01-22_03-05-31.jpg"></a></li>
</ul>



<figure class="wp-block-image aligncenter size-large is-resized"><a href="https://karamush.ru/wp-content/uploads/2026/01/image-2.png"><img loading="lazy" decoding="async" width="461" height="1024" src="https://karamush.ru/wp-content/uploads/2026/01/image-2-461x1024.png" alt="" class="wp-image-1100" style="width:201px;height:auto" srcset="https://karamush.ru/wp-content/uploads/2026/01/image-2-461x1024.png 461w, https://karamush.ru/wp-content/uploads/2026/01/image-2-135x300.png 135w, https://karamush.ru/wp-content/uploads/2026/01/image-2-768x1707.png 768w, https://karamush.ru/wp-content/uploads/2026/01/image-2-691x1536.png 691w, https://karamush.ru/wp-content/uploads/2026/01/image-2-922x2048.png 922w, https://karamush.ru/wp-content/uploads/2026/01/image-2-100x222.png 100w, https://karamush.ru/wp-content/uploads/2026/01/image-2-150x333.png 150w, https://karamush.ru/wp-content/uploads/2026/01/image-2-200x444.png 200w, https://karamush.ru/wp-content/uploads/2026/01/image-2-300x667.png 300w, https://karamush.ru/wp-content/uploads/2026/01/image-2-450x1000.png 450w, https://karamush.ru/wp-content/uploads/2026/01/image-2-600x1333.png 600w, https://karamush.ru/wp-content/uploads/2026/01/image-2-900x2000.png 900w, https://karamush.ru/wp-content/uploads/2026/01/image-2.png 1080w" sizes="auto, (max-width: 461px) 100vw, 461px" /></a></figure>



<p>Программа кроссплатформенная, и если переопределить дефолтные настройки (<code>-reaper-url</code>), то можно подключаться к риперу, запущенному на другом устройстве, если вдруг нужно. Хотя обычно незачем, и работает всё шустро, памяти занимает тоже мало.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://karamush.ru/wp-content/uploads/2026/01/help.webp"><img loading="lazy" decoding="async" width="883" height="741" src="https://karamush.ru/wp-content/uploads/2026/01/help.webp" alt="" class="wp-image-1086" style="width:645px;height:auto" srcset="https://karamush.ru/wp-content/uploads/2026/01/help.webp 883w, https://karamush.ru/wp-content/uploads/2026/01/help-300x252.webp 300w, https://karamush.ru/wp-content/uploads/2026/01/help-768x644.webp 768w, https://karamush.ru/wp-content/uploads/2026/01/help-100x84.webp 100w, https://karamush.ru/wp-content/uploads/2026/01/help-150x126.webp 150w, https://karamush.ru/wp-content/uploads/2026/01/help-200x168.webp 200w, https://karamush.ru/wp-content/uploads/2026/01/help-450x378.webp 450w, https://karamush.ru/wp-content/uploads/2026/01/help-600x504.webp 600w" sizes="auto, (max-width: 883px) 100vw, 883px" /></a><figcaption class="wp-element-caption">&#8212;help для reaper-ws-proxy</figcaption></figure>



<p>Пройдёмся немножко по <em>некоторым</em> настройкам:</p>



<ul class="wp-block-list">
<li><strong>-addr</strong> &#8212; адрес и порт, которые будет слушать программа, куда будут обращаться остальные клиенты</li>



<li><strong>-poll-get-keys</strong> &#8212; тут можно перечислить (через точку с запятой) команды для рипера, которые периодически будут запрашиваться из рипера, а их результат публиковаться по веб-сокетам всем клиентам одновременно (вау!). Можно оставить по-умолчанию, там есть всё, что нужно для работы и аккордов, и текстов.</li>



<li><strong>-poll-interval</strong> &#8212; интервал запросов к риперу. 80 миллисекунд оказалось вполне достаточно и для текстов, и для комфортного показа аккордов (а чтоб аккорды не дёргались, есть небольшая инерция)</li>



<li><strong>-reaper-rc-name</strong> &#8212; имя для <code>rc.reaper.fm</code>. По-умолчанию <code>ws</code>, но можно (и даже нужно) переопределить, иначе в лучшем случае, если кто-то, находясь в другой сети, запустит программу и переопределит свой адрес по этому же имени, то другой не сможет зайти, увидит весёлое сообщение, что сети разные)</li>



<li><strong>-reaper-url</strong> &#8212; адрес настроенного веб-интерфейса в рипере (выбранная страница не важна). Можно на этом же компьютере, можно на другом, где он запущен. Если программа запускается там же, где и рипер, то можно указать <code>http://localhost:PORT</code>, где port &#8212; это порт веб-интерфейса, настроенный в рипере. По-умолчанию указан порт <code>8088</code>, и именно на такой порт у меня настроен рипер, так что я даже не трогаю дефолтные настройки (хотя после публикации этой статьи как минимум дефолтное имя нужно будет переопределять, кажется :D). Если программа не сможет подключиться, она будет каждую секунду об этом упоминать в консоли, пытаясь переподключиться, ну, и работать всё остальное, соответственно, тоже не будет, пока не будет связи с рипером</li>



<li><strong>-ws-path</strong> &#8212; это лучше не менять, это для работы веб-сокетов</li>



<li><strong>-www-root-path</strong> &#8212; указывается путь до статичных файлов из папки www, которая идёт в комплекте с программой. Без необходимости тоже лучше не менять, потому что просто незачем <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>



<p>Теперь можно использовать хоть десяток одновременно работающих клиентов, никто друг другу мешать не будет, главное, чтоб wi-fi сеть выдержала, но как показывает практика, на wi-fi 5 ГГц работает всё просто замечательно <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br>Программа сама обращается к риперу с указанным интервалом, и все клиенты получают данные, не устраивая ddos атаку на рипер <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>Протестирована одновременная работа с нескольких вкладок на компьютере, на планшете, на нескольких телефонах, на проекторе с Android (о, это вообще удобно! Или если телевизор с браузером, тоже да), и всё отработало хорошо)</p>



<p><strong>Ещё немного про скрипты.</strong></p>



<p>Ранее для работы всей системы приходилось запускать три отдельных скрипта в рипере, для чего прям в рипере на панельку были добавлены кнопочки для их запуска. Причём, для аккордов и прокручиваемого текста скрипты были разовые &#8212; запустил, они своё дело сделали и завершились. А для показа текущего текста скрипт работал постоянно в фоне, проверяя текущий элемент с текстом и сохраняя во всё тот же extstate нужные данные. Теперь же всё объединено в один скрипт, немного оптимизировано, поэтому теперь достаточно запускать лишь один единственный скрипт, который также идёт в комплекте. Чуть позже он будет выложен в репозиторий для ReaPack, но пока ручками, ничего сложного в этом нет <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br>Так что теперь можно добавить лишь одну кнопочку для запуска скрипта. А даже если её не добавить, на странице с аккордами есть ссылка, нажатие на которую запускает нужный скрипт и всё начинает работать.</p>



<h2 class="wp-block-heading" id="how-to-use">Как скачать и с чего начать</h2>



<p>Если кратко, то:</p>



<ol class="wp-block-list">
<li>Скачать архив с программой и дополнительными файликами отсюда: <a href="https://github.com/karamush/reaper-ws-proxy/releases/latest" target="_blank" rel="noreferrer noopener">https://github.com/karamush/reaper-ws-proxy/releases/latest</a> (выбираем для своей операционной системы и архитектуры)</li>



<li>Добавить дорожки в рипере (Lyrics и/или Chords). Названия должны совпадать, регистр не важен, но дорожки ищутся именно по названию</li>



<li>Добавить на эти дорожки элементы (<code>Insert -&gt; Empty item</code>) и прописать в них аккорды и тексты на соответствующих дорожках, разместить элементы можно где нужно по времени и растянуть на сколько нужно</li>



<li>Добавить скрипт, назначить кнопку</li>



<li>Запустить скрипт, запустить приложение, зайти по адресу, который выдаст приложение или по <a href="https://r.qofa.ru">r.qofa.ru</a></li>
</ol>



<p>Чуть более полно и наглядно уже написано в описании к репозиторию в пункте <a href="https://github.com/karamush/reaper-ws-proxy?tab=readme-ov-file#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0" data-type="link" data-id="https://github.com/karamush/reaper-ws-proxy?tab=readme-ov-file#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0">установка</a> и ниже, так что можно глянуть там.</p>



<p>На этом пока что всё, но можно изучить страницу репозитория, там и демок побольше, и информации полезной тоже побольше, но статья в будущем ещё будет дополняться тоже)</p>



<p></p>


<ol class="wp-block-footnotes has-small-font-size"><li id="4fbef650-d50b-4c6c-bd84-e1d3858a17cc">js или JavaScript &#8212; такой интересный язык программирования, где в одной секунде 1000 миллисекунд, а 2+2=22, а не 4 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="#4fbef650-d50b-4c6c-bd84-e1d3858a17cc-link" aria-label="Перейти к сноске 1"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="1420d168-e5a3-4cac-b4a8-e1c727b6ac90">веб-сокеты &#8212; классная технология, позволяющая серверу самому отправлять данные клиенту, без необходимости клиенту постоянно дёргать сервер по ajax и спрашивать &#171;ну чё там, есть чё???&#187; <a href="#1420d168-e5a3-4cac-b4a8-e1c727b6ac90-link" aria-label="Перейти к сноске 2"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="7d02d6b1-88c8-4e66-ac40-2043ca2b95e7">AJAX &#8212; Asynchronous Javascript and XML. Тоже классная технология, но не такая классная как веб-сокеты, но позволяет подгружать данные с сервера без перезагрузки страницы <a href="#7d02d6b1-88c8-4e66-ac40-2043ca2b95e7-link" aria-label="Перейти к сноске 3"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li></ol>]]></content:encoded>
					
					<wfw:commentRss>https://karamush.ru/reaper-%d0%ba%d1%80%d1%83%d1%82-%d0%bf%d0%be%d0%ba%d0%b0%d0%b7-%d0%b0%d0%ba%d0%ba%d0%be%d1%80%d0%b4%d0%be%d0%b2-%d0%b8-%d1%82%d0%b5%d0%ba%d1%81%d1%82%d0%b0-%d0%bf%d0%b5%d1%81%d0%b5%d0%bd-%d0%b2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://karamush.ru/wp-content/uploads/2026/01/demo.webm" length="2931770" type="video/webm" />

			</item>
		<item>
		<title>REAPER крут! Настройка своего TouchOSC шаблона, управление DAW удалённо, плейбэки, action-маркеры, мониторинг и метроном</title>
		<link>https://karamush.ru/reaper-%d0%ba%d1%80%d1%83%d1%82-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%81%d0%b2%d0%be%d0%b5%d0%b3%d0%be-touchosc-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%b0/</link>
					<comments>https://karamush.ru/reaper-%d0%ba%d1%80%d1%83%d1%82-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%81%d0%b2%d0%be%d0%b5%d0%b3%d0%be-touchosc-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%b0/#comments</comments>
		
		<dc:creator><![CDATA[karamush]]></dc:creator>
		<pubDate>Sun, 25 Nov 2018 00:02:04 +0000</pubDate>
				<category><![CDATA[REAPER крут]]></category>
		<category><![CDATA[наркомания]]></category>
		<category><![CDATA[Проекты]]></category>
		<category><![CDATA[action-marker]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[marker]]></category>
		<category><![CDATA[osc]]></category>
		<category><![CDATA[playback]]></category>
		<category><![CDATA[reaper]]></category>
		<category><![CDATA[remote control]]></category>
		<category><![CDATA[touchosc]]></category>
		<category><![CDATA[wifi]]></category>
		<guid isPermaLink="false">http://karamush.ru/?p=268</guid>

					<description><![CDATA[Все, кто вокруг меня находятся, уже выучили эту фразу &#8212; &#171;Reaper крут!&#187;. И даже сами её повторяют, когда в очередной раз я восторженно рассказываю про новые открытия или достижения в Reaper-е 😀 В этом первом постике (надеюсь, не в последнем) &#8230;<p class="read-more"> <a class="more-link" href="https://karamush.ru/reaper-%d0%ba%d1%80%d1%83%d1%82-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%81%d0%b2%d0%be%d0%b5%d0%b3%d0%be-touchosc-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%b0/"> <span class="screen-reader-text">REAPER крут! Настройка своего TouchOSC шаблона, управление DAW удалённо, плейбэки, action-маркеры, мониторинг и метроном</span> Читать далее &#187;</a></p>]]></description>
										<content:encoded><![CDATA[
<p>Все, кто вокруг меня находятся, уже выучили эту фразу &#8212; &#171;Reaper крут!&#187;. И даже сами её повторяют, когда в очередной раз я восторженно рассказываю про новые открытия или достижения в Reaper-е <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p><p><a name="begin"></a>В этом первом постике (надеюсь, не в последнем) решил охватить сразу три темы, потому что они связаны между собой. Заодно расскажу, как у нас, у группы <a href="https://vk.com/haven_band">Ha▼en</a>,&nbsp;устроена система playback-ов, ушного мониторинга и управления всем этим делом удалённо, с телефона. Вообще, playback-и &#8212; это очень удобно. Особенно тогда, когда нет возможности возить с собой всю кучу инструментов, либо когда некоторые из музыкантов не могут присутствовать на мероприятии. Один раз заморочился, записал партии нужные, а потом спокойно пользуешься безо всяких заморочек <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <span id="more-268"></span> Для удобства <strong>небольшое&nbsp;</strong><strong>ОГЛАВЛЕНИЕ: </strong></p>
<ol>
<li><a href="#subprojects">Подпроекты как media-item-ы</a></li>
<li><a href="#sound_send">Крутая маршрутизация звука</a> (+Asio4All)</li>
<li><a href="#metronome">Настройки метронома</a></li>
<li><a href="#action_markers">Action-маркеры</a></li>
<li><a href="#first_osc">Поддержка протокола OSC</a> (+TouchOSC)</li>
<li><a href="#web_control">Управление через веб-браузер</a></li>
</ol></p>



<p>Итак! Что у нас имеется:</p>



<ul class="wp-block-list"><li>ноутбук (не важно, какой) с установленным <a href="http://reaper.fm/">REAPER-ом</a> и <a href="http://www.sws-extension.org/">sws-extension</a> (нужно для работы action-маркеров).</li><li>ушной мониторинг Takstar WPM 200 (опять же, можно любой другой)</li><li>миниатюрный, но мощный wi-fi роутер с хардварной доработкой &#8212; внешней антенной&nbsp;<a href="https://mysku.ru/blog/aliexpress/41082.html">Nexx WT3020h</a>, который легко можно заказать на&#8230; сами знаете, где <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> (и да, подойдёт любой другой роутер, как ни странно)</li><li>мобильный телефон с iOS или Android на борту и программой <a href="https://hexler.net/software/touchosc">TouchOSC</a>&nbsp;(программа платная, но денег своих стоит! Не жалко было приобрести её. А если жалко, то можно найти и на 4pda)</li></ul>



<p>Как уже написал, систему ушного мониторинга можно использовать любую доступную. А роутер не обязательно должен быть именно таким, подойдёт любой другой, нам главное, чтоб была связь между ноутбуком и телефоном (можно даже с телефона раздать Wi-Fi или с ноутбука настроить раздачу, как угодно). И, как узнаем дальше, можно будет обойтись даже без приложения на телефоне, а управлять с любого устройства, где есть браузер, но в использовании приложения есть свои плюсы!</p>



<p><a name="subprojects"></a>Начну с организации playback-ов.&nbsp;<strong>REAPER крут</strong> тем, что позволяет вставлять проекты на дорожку так, будто это простой аудио-item. Достаточно просто перенести нужный проект в окно рипера, а он уже спросит, что делать с этим: вставить как медиа-item или открыть. То же можно сделать, нажав на клавишу <strong>Insert.&nbsp;</strong>Таким образом уже готовый проект окажется в виде отрендеренной простой звуковой дорожки.&nbsp; Двойной клик по ней &#8212; проект открывается, можно отредактировать, поменять что-то, а при закрытии он быстренько снова рендерится в специальный PROX-файл, который уже и является audio-item&#8217;ом. Это весьма удобно! К тому же, воспроизводить одну звуковую дорожку в wav-формате намного легче, чем гонять целый проект с кучей элементов и эффектов.&nbsp; (А вдруг из-за какого-то плагина всё на мгновение повиснет?? Хоть и быстро развиснет, но это мгновение уже сбивает с темпа полностью, это просто катастрофа!) Так как нам нужен ушной мониторинг и общий клик, чтоб всё запускалось в нужный момент, нужно подстраиваться под темп каждого трека. Для этого&nbsp;перед каждым треком можно поставить &#171;tempo/time signature marker&#187; (<strong>Shift+C</strong> по дефолту) и вписать правильный темп трека. Вообще, чтоб легче было, можно сначала вписать темп, а потом уже закинуть проект с треком.</p>



<p>Выглядит это всё примерно вот так:</p>



<div class="wp-block-image">
<figure class="aligncenter">
<figure id="attachment_274" aria-describedby="caption-attachment-274" style="width: 432px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/09/1.-tempo_marker.png" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" class="wp-image-274" src="http://karamush.ru/wp-content/uploads/2018/09/1.-tempo_marker.png" alt="1. Темпо-метка для правильного клика метронома и маркер с названием текущего трека." width="432" height="281" srcset="https://karamush.ru/wp-content/uploads/2018/09/1.-tempo_marker.png 432w, https://karamush.ru/wp-content/uploads/2018/09/1.-tempo_marker-300x195.png 300w, https://karamush.ru/wp-content/uploads/2018/09/1.-tempo_marker-100x65.png 100w, https://karamush.ru/wp-content/uploads/2018/09/1.-tempo_marker-150x98.png 150w, https://karamush.ru/wp-content/uploads/2018/09/1.-tempo_marker-200x130.png 200w" sizes="auto, (max-width: 432px) 100vw, 432px" /></a><figcaption id="caption-attachment-274" class="wp-caption-text">1. Темпо-метка для правильного клика метронома и маркер с названием текущего трека.</figcaption></figure>
</figure>
</div>



<p>В настройках метронома был указан обратный отсчёт в 2 такта. Это нужно для того, чтобы знать, когда вступать, когда начинается трек. Условились, что всегда идут 2 такта &#171;клика&#187; до начала любого трека, естественно, в темпе текущего трека, и всё, никаких проблем. Кстати! Удобство использования подпроектов ещё в том, что если в подпроекте есть метки (маркеры), то они будут тоже показаны на этом media-item&#8217;е, как видно на рисунке 1 (там есть Вступление, 1 куплет).</p>



<p><p><a name="sound_send"></a><strong>REAPER крут</strong> тем, что в нём можно делать маршрутизацию звука как угодно, и оно будет работать. Также можно пустить метроном лишь на выбранные устройства или выходы одного устройства! А это значит, что пустить чистые плейбэки мы можем в одну аудиокарту, выход с которой идёт уже в общий микс, а выход на мониторинг через другую карту (встроенную, например), послав туда же ещё и метроном. Можно использовать два разных выхода одной аудиокарты тоже, никто не запрещает этого делать! Таким образом, в левый канал можно пустить плейбэки, а в правый канал клик метронома, а уже через пульт это дело разрулить, послав на мониторинг клик, а в общий микс плейбэки. Но так плейбэки будут в моно, да. Так что вариант не очень, иногда ) Чтобы работать одновременно сразу с несколькими аудиоустройствами, можно установить <a href="http://www.asio4all.org/">Asio4All</a> &#8212; удобную и полезную программу, которая взаимодействует с аудиоустройствами на низком уровне, минуя уровни обработки звука операционной системой, что даёт ещё и маленькую задержку при работе со звуком, вплоть до возможности практически в реальном времени играть и мониторить что-то, но в данном случае она нужна просто для возможности использования сразу нескольких аудиоуйстройств. Для этого, конечно же, нужно будет выбрать в Рипере в настройках аудиоустройств систему ASIO в качестве аудиосистемы, а затем выбрать драйвер ASIO4ALL v2 (на текущий момент).</p>
<figure id="attachment_327" aria-describedby="caption-attachment-327" style="width: 525px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-21.png" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" class="wp-image-327 size-full" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-21.png" alt="" width="525" height="249" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-21.png 525w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-21-300x142.png 300w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-21-100x47.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-21-150x71.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-21-200x95.png 200w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-21-450x213.png 450w" sizes="auto, (max-width: 525px) 100vw, 525px" /></a><figcaption id="caption-attachment-327" class="wp-caption-text">2. Окно настроек ASIO4ALL &#8212; включены две аудиокарты.</figcaption></figure>
<p>&nbsp;</p>
<figure id="attachment_326" aria-describedby="caption-attachment-326" style="width: 634px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-50.png" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" class="wp-image-326 size-full" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-50.png" alt="" width="634" height="456" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-50.png 634w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-50-300x216.png 300w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-50-100x72.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-50-150x108.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-50-200x144.png 200w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-50-450x324.png 450w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-12-50-600x432.png 600w" sizes="auto, (max-width: 634px) 100vw, 634px" /></a><figcaption id="caption-attachment-326" class="wp-caption-text">3. Настройки аудиоустройств в REAPER. Выбираем ASIO и драйвер ASIO4ALL.</figcaption></figure>
<p>После этого можно выбрать нужные входы и выходы, а потом использовать их для записи или для посыла на них звука. Очень удобно! Конечно, разные крутые аудиокарты, как правило, имеют свой аудиодрайвер ASIO, но он позволяет работать только с одной лишь этой картой звуковой. Asio4All позволяет работать одновременно с каким угодно количеством аудиоустройств, задержку для которых можно ещё и отдельно настроить!</p></p>



<p><a name="metronome"></a> Настройки <strong>метронома</strong> выглядят вот так:</p>



<div class="wp-block-image">
<figure class="aligncenter">
<figure id="attachment_276" aria-describedby="caption-attachment-276" style="width: 435px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/09/2.-metronome.png" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" class="wp-image-276 size-full" src="http://karamush.ru/wp-content/uploads/2018/09/2.-metronome.png" alt="4. Настройки метронома. Обратный отсчёт -- это важно!" width="435" height="514" srcset="https://karamush.ru/wp-content/uploads/2018/09/2.-metronome.png 435w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-254x300.png 254w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-100x118.png 100w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-150x177.png 150w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-200x236.png 200w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-300x354.png 300w" sizes="auto, (max-width: 435px) 100vw, 435px" /></a><figcaption id="caption-attachment-276" class="wp-caption-text">4. Настройки метронома. Обратный отсчёт &#8212; это важно!</figcaption></figure>
</figure>
</div>



<div class="wp-block-image">
<figure class="aligncenter">
<figure id="attachment_275" aria-describedby="caption-attachment-275" style="width: 505px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/09/2.-metronome-route.png" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" class="wp-image-275 size-full" src="http://karamush.ru/wp-content/uploads/2018/09/2.-metronome-route.png" alt="5. Маршрутизация вывода метронома. Можно выбрать один или несколько выходов." width="505" height="275" srcset="https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-route.png 505w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-route-300x163.png 300w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-route-100x54.png 100w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-route-150x82.png 150w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-route-200x109.png 200w, https://karamush.ru/wp-content/uploads/2018/09/2.-metronome-route-450x245.png 450w" sizes="auto, (max-width: 505px) 100vw, 505px" /></a><figcaption id="caption-attachment-275" class="wp-caption-text">5. Маршрутизация вывода метронома. Можно выбрать один или несколько выходов.</figcaption></figure>
</figure>
</div>



<p>Но, кстати! Когда мы ставим tempo-метку, там можно менять не только темп метронома, но ещё и размер (это я к тому, что Beat pattern тоже можно менять на ходу, а то вдруг там 3/4 будет).</p>



<p><p>Также для удобства я отключил посыл с трека с плейбэками в мастер-шину, но при этом создал два отдельных трека, куда уже перенаправляю звук с основного трека с плейбэками. А вот выходы с этих треков уже идут на разные физические выходы разных аудиоустройств. Удобство тут в том, что можно легко навесить какой-нибудь корректирующий эквалайзер на линию мониторинга или главный выход (например, мониторинг&nbsp;Takstar WPM 200 захлёбывается, когда присутствуют частоты ниже 80-90 герц, а это не круто), чтоб можно было легко и просто подредактировать звук, учитывая текущую среду, в которой будет воспроизводиться всё это дело. Также удобство в управлении, но об этом поговорим позже, когда речь пойдёт уже непосредственно про удалённое управление рипером с телефона.</p>
<figure id="attachment_329" aria-describedby="caption-attachment-329" style="width: 528px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-20-19.png" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" class="wp-image-329 size-full" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-20-19.png" alt="6. Main Out и Monitoring Out отдельно" width="528" height="493" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-20-19.png 528w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-20-19-300x280.png 300w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-20-19-100x93.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-20-19-150x140.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-20-19-200x187.png 200w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-20-19-450x420.png 450w" sizes="auto, (max-width: 528px) 100vw, 528px" /></a><figcaption id="caption-attachment-329" class="wp-caption-text">6. Main Out и Monitoring Out отдельно</figcaption></figure>
<p><a name="action_markers"></a><strong>REAPER крут </strong>тем, что можно использовать обычные маркеры, а можно делать <strong>action-</strong>маркеры, ставя их в нужное место и вызывая ЛЮБОЕ действие, которое есть в REAPER, включая всякие встроенные скрипты, дополнительные скрипты и даже собственные скрипты тоже! А это именно то, что нужно! Для наших нужд нужен был скрипт, который останавливает воспроизведение, когда заканчивается очередной трек, и сразу же переходит к началу следующего трека, чтоб потом осталось просто его запустить. Делается это просто! Создаём свой скрипт (как это делать, это другая тема, но ничего сложного, тут расписывать не буду), в котором указываем просто три действия, как на скриншоте:</p>
<figure id="attachment_330" aria-describedby="caption-attachment-330" style="width: 552px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-29-50.png" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" class="wp-image-330" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-29-50.png" alt="7. Свой небольшой custom-action script из трёх действий" width="552" height="445" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-29-50.png 759w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-29-50-300x242.png 300w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-29-50-100x81.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-29-50-150x121.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-29-50-200x161.png 200w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-29-50-450x363.png 450w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-29-50-600x484.png 600w" sizes="auto, (max-width: 552px) 100vw, 552px" /></a><figcaption id="caption-attachment-330" class="wp-caption-text">7. Свой небольшой custom-action script из трёх действий</figcaption></figure>
<p>Уже не помню, почему нужно было два раза повторить Action для перехода к следующему маркеру. Возможно, там свои особенности обработки позиции, что воспроизведение останавливалось, но следующим маркером был именно тот, на котором это действие было вызвано, поэтому пришлось ещё на один вперёд переключиться ) В любом случае, оно работает! Теперь нужно скопировать или запомнить Command ID этого созданного custom-action, и чтобы сделать <strong>action-маркер</strong>, нужно просто создать обычный маркер, а потом написать восклицательный знак, а дальше вставить <strong>Command ID</strong> этого созданного custom-action-а.</p>
<figure id="attachment_332" aria-describedby="caption-attachment-332" style="width: 799px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19.png"><img loading="lazy" decoding="async" class="wp-image-332 size-full" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19.png" alt="8. Action-маркер в действии :)" width="799" height="196" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19.png 799w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19-300x74.png 300w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19-768x188.png 768w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19-100x25.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19-150x37.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19-200x49.png 200w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19-450x110.png 450w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-36-19-600x147.png 600w" sizes="auto, (max-width: 799px) 100vw, 799px" /></a><figcaption id="caption-attachment-332" class="wp-caption-text">8. Action-маркер в действии <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></figcaption></figure>
<p>Когда позиция воспроизведения доходит до Action-маркера, то воспроизведение тут же останавливается, а курсор переходит уже к следующему треку, ожидая следующей команды. Конечно, можно написать какие угодно действия и вызывать их в нужный момент в заданной позиции. Можно делать всё, что доступно. Даже писать свои скрипты, взаимодействующие с операционной системой на внешних языках (Lua, python поддерживаются) или сетью или чем угодно, а это значит, что можно сделать вообще ВСЁ, что угодно, но сейчас не об этом речь <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p></p>


<p>&nbsp;</p>


<p><a name="first_osc"></a><strong>REAPER крут</strong> тем, что он из коробки поддерживает <a href="https://ru.wikipedia.org/wiki/Open_Sound_Control">OSC</a> протокол, и не нужно устанавливать на хостовую систему программу TouchOSC bridge, которая переводит сообщения от TouchOSC в обычные midi-сообщения, чего для наших целей будет недостаточно, т.к. прелесть использования OSC в нашем случае именно в двусторонней связи между приложением для управления и управляемой программой!</p>



<p class="has-text-color has-vivid-red-color">Для тех, кто не хочет заморачиваться, закидывать куда-то какие-то файлы, устанавливать какие-то приложения, настраивать IP адреса и всякое такое, предлагаю сразу перейти к более простому способу управления &#8212;&nbsp; <a href="#web_control">УПРАВЛЕНИЕ ЧЕРЕЗ ВЕБ-ИНТЕРФЕЙС</a>.</p>



<p>Ну, а для тех, кому позволяет время и есть интерес, будем дальше настраивать управление по OSC. Чтоб всё это работало, нужно сначала убедиться, что телефон (или планшет или что-то ещё) и компьютер находятся в одной сети и что никакие там брандмауэры не блокируют нужные порты (9000, 8000 по-умолчанию). А затем нужно&nbsp; сделать небольшую настроечку OSC в Reaper. Делается это тоже просто! Переходим в <strong><em>Настройки</em> </strong>(Ctrl+P), ищем раздел&nbsp;<strong><em>Control/OSC/Web&nbsp;</em></strong>(обычно, внизу) <a name="where_configs"></a></p>



<figure class="wp-block-image">
<figure id="attachment_293" aria-describedby="caption-attachment-293" style="width: 635px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-293 size-full" src="http://karamush.ru/wp-content/uploads/2018/10/2018-10-25_12-37-45.png" alt="5. Где находятся настройки OSC" width="635" height="453" srcset="https://karamush.ru/wp-content/uploads/2018/10/2018-10-25_12-37-45.png 635w, https://karamush.ru/wp-content/uploads/2018/10/2018-10-25_12-37-45-300x214.png 300w, https://karamush.ru/wp-content/uploads/2018/10/2018-10-25_12-37-45-100x71.png 100w, https://karamush.ru/wp-content/uploads/2018/10/2018-10-25_12-37-45-150x107.png 150w, https://karamush.ru/wp-content/uploads/2018/10/2018-10-25_12-37-45-200x143.png 200w, https://karamush.ru/wp-content/uploads/2018/10/2018-10-25_12-37-45-450x321.png 450w, https://karamush.ru/wp-content/uploads/2018/10/2018-10-25_12-37-45-600x428.png 600w" sizes="auto, (max-width: 635px) 100vw, 635px" /><figcaption id="caption-attachment-293" class="wp-caption-text">7. Где находятся настройки OSC</figcaption></figure>
</figure>



<p>У меня там уже есть что-то в списочке, можно добавлять сразу несколько разных устройств с разными шаблонами! Далее нужно нажать на кнопочку <strong><em>Add</em></strong>, откроется окошко добавления нового способа управления! Замечательно! Нас сейчас интересует именно OSC, но Reaper поддерживает и другие режимы управления.</p>



<figure class="wp-block-image">
<figure id="attachment_335" aria-describedby="caption-attachment-335" style="width: 997px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40.png"><img loading="lazy" decoding="async" class="wp-image-335 size-full" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40.png" alt="" width="997" height="503" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40.png 997w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40-300x151.png 300w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40-768x387.png 768w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40-100x50.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40-150x76.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40-200x101.png 200w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40-450x227.png 450w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40-600x303.png 600w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-24_23-49-40-900x454.png 900w" sizes="auto, (max-width: 997px) 100vw, 997px" /></a><figcaption id="caption-attachment-335" class="wp-caption-text">8. Настройка нового OSC контроллера</figcaption></figure>
</figure>



<p>Пройдёмся по параметрам:</p>



<ul class="wp-block-list">
<li><strong>Control surface mode</strong> (режим управления): OSC (Open Sound Control)</li>
<li><strong>Device name</strong>: <span style="color: #ff9900;">karamush-phone</span> (можно назвать как угодно, это просто для отображения в списочке)</li>
<li><strong>Pattern config</strong> (шаблон): <span style="color: #ff9900;">LogicTouch+</span> (на самом деле, такого нет. С плюсиком &#8212; это моя доработка, о ней позже, и файлы тоже выложу <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> )</li>
<li><strong>Device port: </strong><span style="color: #ff9900;">9000</span> (это порт на устройстве, на который Reaper будет слать данные. Нужен для обратной связи)</li>
<li><strong>Local listen port: </strong><span style="color: #ff9900;">8000</span> (порт, который будет слушать Reaper для приёма данных от устройства)</li>
<li><strong>Device IP: </strong>(тут нужно указать IP адрес вашего телефона или другого устройства управления. IP адрес будет выдан роутером, поэтому нужно заранее подключить компьютер с Reaper-ом и телефон в общую сеть, чтоб они могли общаться друг с другом)</li>
<li><strong>Local IP: </strong>(тут написан IP адрес компьютера с Reaper-ом, и этот адрес нужно будет ввести в телефоне)</li>
</ul>
<p>В моём случай IP адрес компьютера с REAPER-ом, то есть, локальный IP &#8212; <span style="color: #ff9900;">192.168.93.1</span> А адрес телефона (Device IP) &#8212; <span style="color: #ff9900;">192.168.93.4</span> (адрес можно посмотреть в программе TouchOSC). Теперь нужно настроить мобильное устройство! Запускаем программу TouchOSC, сразу открываются настройки, больше всего интересует первый пункт &#8212; OSC. Там вписать нужно IP адрес компьютера с REAPER-ом. И порты должны тоже соответствовать )</p>
<figure id="attachment_338" aria-describedby="caption-attachment-338" style="width: 258px" class="wp-caption alignleft"><a href="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31.jpg"><img loading="lazy" decoding="async" class=" wp-image-338" src="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31.jpg" alt="" width="258" height="458" srcset="https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31.jpg 720w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-169x300.jpg 169w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-576x1024.jpg 576w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-100x178.jpg 100w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-150x267.jpg 150w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-200x356.jpg 200w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-300x533.jpg 300w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-450x800.jpg 450w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-600x1067.jpg 600w" sizes="auto, (max-width: 258px) 100vw, 258px" /></a><figcaption id="caption-attachment-338" class="wp-caption-text">9. Окно настроек TouchOSC при запуске</figcaption></figure>
<figure id="attachment_339" aria-describedby="caption-attachment-339" style="width: 260px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15.jpg"><img loading="lazy" decoding="async" class=" wp-image-339" src="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15.jpg" alt="" width="260" height="462" srcset="https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15.jpg 720w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15-169x300.jpg 169w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15-576x1024.jpg 576w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15-100x178.jpg 100w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15-150x267.jpg 150w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15-200x356.jpg 200w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15-300x533.jpg 300w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15-450x800.jpg 450w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_00-01-15-600x1067.jpg 600w" sizes="auto, (max-width: 260px) 100vw, 260px" /></a><figcaption id="caption-attachment-339" class="wp-caption-text">10. Вписываем адрес компьютера с запущенным REAPER-ом и проверяем порты</figcaption></figure>
<p>Тут же, кстати, можно увидеть локальный IP адрес телефона, в данном случае это и есть 192.168.93.4. Но он может меняться, конечно же. Также стоит обратить внимание на то, что нужно в пункте настроек <strong>Layout </strong>выбрать тоже <strong>LogicTouch+. </strong>Изначально там этого шаблона нет, это доработанный мною шаблон разметки. Взять его можно вот тут: <span style="color: #ff9900;"><strong><a href="http://karamush.ru/wp-content/uploads/2018/11/LogicTouch.zip" name="logic_touch_plus_download">LogicTouch+.zip</a>  </strong> <span style="color: #000000;">В этом архиве есть шаблон для REPAER, шаблон для приложения TouchOSC, а также инструкции, что куда класть. Но вообще, не смотря на инструкцию, для REAPER лучше всего будет сделать так:</span></span></p>
<figure id="attachment_342" aria-describedby="caption-attachment-342" style="width: 560px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-25_01-42-16.png"><img loading="lazy" decoding="async" class="size-full wp-image-342" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-25_01-42-16.png" alt="" width="560" height="432" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_01-42-16.png 560w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_01-42-16-300x231.png 300w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_01-42-16-100x77.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_01-42-16-150x116.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_01-42-16-200x154.png 200w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_01-42-16-450x347.png 450w" sizes="auto, (max-width: 560px) 100vw, 560px" /></a><figcaption id="caption-attachment-342" class="wp-caption-text">11. Как узнать папку, куда класть конфиг для OSC</figcaption></figure>
<p>Таким образом откроется реально используемая директория, а то она может меняться на разных компьютерах, а так можно быть точно уверенным, что откроется нужная папка!</p>



<p><p>Теперь в окне настроек рипера можно нажать на кнопочку Listen и проверить связь &#8212; приходят ли данные с телефона из приложения. И можно поставить галочку <em>&#171;<strong>Allow binding messages to REAPER actions and FX learn</strong>&#171;</em>, это позволит выполнять не только заранее заданные в шаблоне действия, но и привязывать любые крутилки, кнопки и регуляторы в приложении к любым элементам управления в REAPER, в том числе к параметрам плагинов, а это очень круто!</p>
<figure id="attachment_340" aria-describedby="caption-attachment-340" style="width: 516px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-25_00-45-15.png"><img loading="lazy" decoding="async" class="size-full wp-image-340" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-25_00-45-15.png" alt="" width="516" height="340" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_00-45-15.png 516w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_00-45-15-300x198.png 300w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_00-45-15-100x66.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_00-45-15-150x99.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_00-45-15-200x132.png 200w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_00-45-15-450x297.png 450w" sizes="auto, (max-width: 516px) 100vw, 516px" /></a><figcaption id="caption-attachment-340" class="wp-caption-text">12. Проверка связи! Есть входящие сообщения, ура )</figcaption></figure>
<p>Теперь самое интересное, ради чего и была создана эта статья! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Из приложения теперь можно переключаться между дорожками (название отображается тоже, в данном случае это Playbacks!), а также отображается текущий маркер и его номер, а также есть кнопки для переключения между маркерами (при условии, что включена кнопка By Marker). Таким образом можно прокручивать влево-вправо по маркерам, выбирая нужный плейбэк. В этом и заключается моя доработка &#8212; отображение номера и названия текущего маркера, а значит, и минусовки нужной. А ещё можно увидеть кружочек под крутилкой для настройки баланса &#8212; это индикатор сигнала на текущем выбранном треке. Естественно, что всё это будет работать только при правильных настройках адресов. Если не вписать в настройках рипера IP адрес телефона, то можно остататься без обратной связи. Так что управлять можно будет, но ни названия треков, ни названия маркеров, ни индикаторы, ни состояния кнопок &#8212; всё это работать не будет!</p></p>


<figure id="attachment_336" aria-describedby="caption-attachment-336" style="width: 337px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2.jpg"><img loading="lazy" decoding="async" class=" wp-image-336" src="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2.jpg" alt="" width="337" height="599" srcset="https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2.jpg 720w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2-169x300.jpg 169w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2-576x1024.jpg 576w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2-100x178.jpg 100w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2-150x267.jpg 150w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2-200x356.jpg 200w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2-300x533.jpg 300w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2-450x800.jpg 450w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-24_23-52-31-2-600x1067.jpg 600w" sizes="auto, (max-width: 337px) 100vw, 337px" /></a><figcaption id="caption-attachment-336" class="wp-caption-text">13. Упрравление треками и маркерами и всем остальным <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></figcaption></figure>
<p>Между треками можно переключаться с помощью двух этих кнопок Вверх и Вниз. Это нам даёт возможность управлять балансом и громкостью каждого трека. И вот, как раз ещё одно из преимуществ не использовать мастер-канал, а делать разные выходы на разные аудиоустройства, посылая на эти дорожки сигнал с трека с плейбэками &#8212; можно удобно управлять громкостью как и главного выхода, так и выхода на мониторную линию, и всё это прям с телефона! )</p>
<p>С управлением через приложение TouchOSC, вроде, разобрались! Но как редактировать шаблоны и настраивать их &#8212; это ещё одна большая тема, в эту статью, пожалуй, оно уже не вместится. Если кому будет интересно, пишите в комментариях, запилю статью и на эту тему тоже, потому что тут как-то уж слишком много всего получается. А пока что дальше поехали ) <a name="web_control"></a><strong>REAPER крут </strong>тем, что из коробки поддерживает управление также и через веб-интерфейс. Для этого нужно меньше заморачиваться, приложений никаких не нужно ставить, потому что используется веб-браузер, который есть почти везде ) Там же, в <a href="#where_configs">настройках</a> <strong>Control/OSC/web</strong> добавляем новый тип управления, но в этот раз в <strong>Control surface mode </strong>выбираем уже <strong>Web browser interface</strong>. После выбора этого пункта, окошко изменится, где будут, само собой, настройки именно этого типа управления.</p>
<figure id="attachment_348" aria-describedby="caption-attachment-348" style="width: 801px" class="wp-caption aligncenter"><a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15.png"><img loading="lazy" decoding="async" class="size-full wp-image-348" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15.png" alt="" width="801" height="519" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15.png 801w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15-300x194.png 300w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15-768x498.png 768w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15-100x65.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15-150x97.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15-200x130.png 200w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15-450x292.png 450w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-24-15-600x389.png 600w" sizes="auto, (max-width: 801px) 100vw, 801px" /></a><figcaption id="caption-attachment-348" class="wp-caption-text">14. Настройка Web browser control interface</figcaption></figure>
<p>Здесь больше всего интересуют настройки порта, можно оставить стандартный <strong>8080 </strong>или взять любой свободный. Следующее поле &#8212; это имя пользователя и пароль, разделённые через двоеточие. У меня не заполнено, но можно ввести, и тогда доступ будет только по этому имени пользователя и паролю. Default interface &#8212; вот это уже поинтереснее! Там есть разные разные виды страниц управления, можно управлять треками, громкостью их, приглушать, метроном можно тоже выводить (будет просто страничка, с мигающим в такт метроному фоном). Можно и текст песни выводить (о, это тоже отдельная тема, но оно того стоит!). Есть даже more_me! <a href="http://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-27-17.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-349" src="http://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-27-17.png" alt="" width="289" height="118" srcset="https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-27-17.png 289w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-27-17-100x41.png 100w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-27-17-150x61.png 150w, https://karamush.ru/wp-content/uploads/2018/11/2018-11-25_02-27-17-200x82.png 200w" sizes="auto, (max-width: 289px) 100vw, 289px" /></a> Опять же, можно редактировать эти странички или делать свои, обращаясь к внутреннему API рипера, который предоставляется через веб, но это тоже отдельная тема. Сейчас вполне предостаточно универсальной странички <strong>fancier.html</strong><strong>. </strong>Теперь можно зайти с телефона по адресу компьютера и указанному порту, а вообще, адрес для входа пишется в поле Access URL, очень мило! (можно использовать rc.reaper.fm, но оно не работает через интернет, а сделано для удобного нахождения устройств в ЛОКАЛЬНОЙ сети). Выглядит это вот так, если зайти с телефона, например: <a href="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17.jpg"><img loading="lazy" decoding="async" class="aligncenter wp-image-350" src="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17.jpg" alt="" width="416" height="739" srcset="https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17.jpg 720w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17-169x300.jpg 169w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17-576x1024.jpg 576w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17-100x178.jpg 100w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17-150x267.jpg 150w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17-200x356.jpg 200w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17-300x533.jpg 300w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17-450x800.jpg 450w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-17-600x1067.jpg 600w" sizes="auto, (max-width: 416px) 100vw, 416px" /></a> <a href="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21.jpg"><img loading="lazy" decoding="async" class="aligncenter wp-image-351" src="http://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21.jpg" alt="" width="414" height="736" srcset="https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21.jpg 720w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21-169x300.jpg 169w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21-576x1024.jpg 576w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21-100x178.jpg 100w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21-150x267.jpg 150w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21-200x356.jpg 200w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21-300x533.jpg 300w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21-450x800.jpg 450w, https://karamush.ru/wp-content/uploads/2018/11/photo_2018-11-25_02-34-21-600x1067.jpg 600w" sizes="auto, (max-width: 414px) 100vw, 414px" /></a> И всё! Тут есть всё, что нужно! Даже больше! Можно и перемотку делать, и по маркерам туда-сюда переключаться, видя их названия, останавливать и запускать воспроизведение, включать-отключать метроном, следить за ТИКами метронома вокруг кнопки Play, управлять треками тоже, их громкостью, солировать, мьютить. Что угодно! Так что, если охота быстро и легко управлять REAPER-ом удалённо, то это неплохой вариант ) Но есть и минусы: у меня, замечал, то ли из-за работы сети, то ли из-за слабого быстродействия телефона, но иногда тот же метроном подтормаживал. Точнее, сам-то он работал, но его отображение на страничке иногда запаздывало, а потом будто &#171;догоняло&#187;. И минус ещё в том, что подсветка телефона при использовании браузера, скорее всего, потухнет, что не очень удобно. А в случае работы через приложение TouchOSC можно настроить так, чтоб подсветка не отключалась, пока открыто приложение то. И это уже удобно. Особенно тогда, когда ты барабанщик и нет возможности снимать блокировку с телефона, особенно, если нужно что-то подправить прям во время игры (да-да, такое тоже бывает!). Естественно, можно открывать эту страничку не только с телефона, но и планшета, и с браузера обычного на другом компьютере. Остальные странички, кстати, тоже доступны, даже если выбрана какая-то одна, просто нужно знать их названия, и можно вручную дописывать их имена в адресную строку браузера <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Так что можно даже через один добавленный Web browser interface кому-то давать доступ на управление треками, кому-то клик метронома открывать, кому-то текст песни крутить, а это можно ещё и через проектор, например, показывать. Тут уж устроить и наворотить можно очень много чего! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<hr />
<p>Получилось довольно много текста, некоторые части пришлось даже не расписывать, но если нужно, запилю отдельные статейки про то. Надеюсь, материал был интересен и полезен. В общем, REAPER крут! И это лишь малая часть возможностей и причин, почему я могу это сказать! Что ж, можно вернуться <a href="#begin">в начало.</a> Или можно вернуться <a href="#logic_touch_plus_download">к месту</a>, где есть ссылка на закачку шаблона LogicTouch+. Спасибо за внимание! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>]]></content:encoded>
					
					<wfw:commentRss>https://karamush.ru/reaper-%d0%ba%d1%80%d1%83%d1%82-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%81%d0%b2%d0%be%d0%b5%d0%b3%d0%be-touchosc-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%b0/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
