TwelveTake-Studios/reaper-mcp

TwelveTake-Studios/reaper-mcp

от twelvetake-studios
MCP сервер для полноценного управления REAPER через ИИ: 163 инструмента для микширования, мастеринга, MIDI и автоматизации. Включает готовые workflow — sidechain, параллельная компрессия, мастер-це...

TwelveTake REAPER MCP

A TwelveTake Studios project.

Tools Buy Me a Coffee Ko-fi

Setup guide, examples and FAQ -> twelvetake.com/tools/reaper-mcp

Listed in the MCP Registry as mcp-name: com.twelvetake/reaper-mcp.

A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control REAPER DAW for mixing, mastering, MIDI composition, and full music production workflows.

Version: 1.9.1

Why This Server

Workflow Automation, Not Just API Wrappers

Most MCP servers just wrap REAPER's API and call it a day. This one includes production workflow helpers that handle multi-step operations in a single call:

Tool What it does for you
setup_sidechain_compression() Creates send, routes to channels 3-4, configures ReaComp's detector input — complete sidechain setup in one call
add_mastering_chain() Adds ReaEQ → ReaComp → ReaEQ → ReaLimit to master track with proper signal flow
add_parallel_compression() Creates a bus track, sets up the send, adds compressor — NY-style compression ready to blend
create_bus() Creates a submix track and routes your specified tracks to it
get_project_summary() Returns track count, all track names/volumes/pans/FX, markers, regions, tempo, time signature — everything your AI needs in one call

Часто задаваемые вопросы

Инструменты были проиндексированы:
add_compressor

Добавляет ReaComp на трек. Возвращает: Объект с fx_index.

Параметры
  • track_indexintegerобязательный
add_envelope_point

Добавляет точку в огибающую. Если огибающей Volume, Pan, Width, Mute или Trim Volume (либо Pre-FX) нет, она сначала создаётся: REAPER открывает её точкой на 0:00 с текущим значением трека, а в ответе будет envelope_created. Аргументы: envelope_name: Имя огибающей. time: Позиция по времени в секундах. value: Сырое значение. Pan -1..1, где +1 = LEFT (обратно set_track_pan); Width -1..1; Mute 0 = заглушено, 1 = не заглушено. Сырое значение громкости зависит от масштабирования огибающей, поэтому здесь используйте value_db. shape: Форма точки (0=linear, 1=square, 2=slow start/end, 3=fast start, 4=fast end, 5=bezier). value_db: Уровень в дБ для Volume, Volume (Pre-FX) и Trim Volume; -150 - тишина. Передайте это или value. Возвращает: point_index, value и shown: значение в том виде, как его показывает REAPER ("-6.00dB", "50%L").

Параметры
  • envelope_namestringобязательный
  • shapeinteger
  • timenumberобязательный
  • track_indexintegerобязательный
  • valuenumber | null
  • value_dbnumber | null
add_eq

Добавляет ReaEQ на дорожку. Возвращает: Объект с fx_index.

Параметры
  • track_indexintegerобязательный
add_fx_envelope_point

Добавляет точку автоматизации в огибающую параметра FX. Аргументы: time: Позиция по времени в секундах. value: Собственное значение параметра в пределах min..max, которые возвращает track_fx_get_param (слайдер dB в JSFX принимает dB). shape: Форма точки (0=linear, 1=square, 2=slow start/end, 3=fast start, 4=fast end, 5=bezier). Возвращает: point_index, value и shown: значение в том виде, как его отображает REAPER.

Параметры
  • fx_indexintegerобязательный
  • param_indexintegerобязательный
  • shapeinteger
  • timenumberобязательный
  • track_indexintegerобязательный
  • valuenumberобязательный
add_limiter

Добавляет ReaLimit (лимитер с жёстким ограничением) на трек. Возвращает: Объект с fx_index.

Параметры
  • track_indexintegerобязательный
add_marker

Добавляет маркер в позицию. Аргументы: position: позиция в секундах. name: имя маркера. color: цвет маркера (0 = по умолчанию). Возвращает: Объект с индексом маркера.

Параметры
  • colorinteger
  • namestring
  • positionnumberобязательный
add_mastering_chain

Добавляет стандартную цепочку мастеринга на мастер-трек. Добавляет следующие плагины в следующем порядке: 1. ReaEQ (корректирующий эквалайзер) 2. ReaComp (склеивающая компрессия) 3. ReaEQ (формирование тона) 4. ReaLimit (брикволл-лимитер) Возвращает: Объект со списком индексов добавленных FX.

Параметры

Без параметров.

add_midi_note

Добавляет MIDI-ноту в элемент с привязкой к музыкальному времени (в долях). Аргументы: pitch: номер MIDI-ноты (0-127, 60 = до первой октавы). velocity: сила нажатия ноты (1-127). start_beat: позиция начала в долях от начала элемента (0 = первая доля). length_beats: длина ноты в долях (0.25 = шестнадцатая, 0.5 = восьмая, 1.0 = четверть). Пример: Прямая бочка (four-on-the-floor): add_midi_note(0, 0, 36, 110, start_beat=0, length_beats=0.25), затем start_beat=1, 2, 3.

Параметры
  • channelinteger
  • item_indexintegerобязательный
  • length_beatsnumberобязательный
  • pitchintegerобязательный
  • start_beatnumberобязательный
  • track_indexintegerобязательный
  • velocityintegerобязательный
add_midi_notes_batch

Добавляет несколько MIDI-нот в элемент за один вызов, используя музыкальное время (в битах). Аргументы: notes: список словарей нот с ключами: pitch, velocity, start_beat, length_beats, channel (необязательно). Возвращает: Объект с количеством добавленных нот.

Параметры
  • item_indexintegerобязательный
  • notesany[]обязательный
  • track_indexintegerобязательный
add_parallel_compression

Настраивает параллельное сжатие в стиле New York для трека. Создаёт новый шинный трек с сильным сжатием, на который подаётся сигнал с исходного трека через send. Аргументы: track_index: Индекс исходного трека (начиная с 0). blend_db: Уровень send в дБ для сжатого сигнала (по умолчанию -6 дБ). Возвращает: Объект с bus_track_index, send_index и compressor_fx_index.

Параметры
  • blend_dbnumber
  • track_indexintegerобязательный
add_region

Добавляет регион. Аргументы: start: Начальная позиция в секундах. end: Конечная позиция в секундах. name: Название региона. color: Цвет региона (0 = по умолчанию). Возвращает: Объект с индексом региона.

Параметры
  • colorinteger
  • endnumberобязательный
  • namestring
  • startnumberобязательный
arm_track

Включает или отключает запись на треке. Аргументы: arm: True - включить запись, False - отключить.

Параметры
  • armboolean
  • track_indexintegerобязательный
arm_track_envelope

Активирует или деактивирует конверт для записи. Аргументы: envelope_name: Имя конверта. arm: True для активации, False для деактивации.

Параметры
  • armboolean
  • envelope_namestringобязательный
  • track_indexintegerобязательный
clear_all_peak_indicatorsидемпотентный

Очищает индикаторы удержания пиков на всех дорожках (включая мастер). Сбрасывает удерживаемые пиковые значения, накапливаемые во время воспроизведения. Используйте перед новым проходом воспроизведения, когда нужны чистые показания для настройки уровня.

Параметры

Без параметров.

clear_envelope

Удаляет все точки из envelope. Аргументы: envelope_name: Имя envelope.

Параметры
  • envelope_namestringобязательный
  • track_indexintegerобязательный
clear_fx_envelope

Очищает все точки автоматизации из огибающей параметра FX. Возвращает: Объект с deleted_count.

Параметры
  • fx_indexintegerобязательный
  • param_indexintegerобязательный
  • track_indexintegerобязательный
clear_midi_item

Удаляет все MIDI-ноты из элемента. Возвращает: Объект с количеством удалённых нот.

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
clear_time_selection

Очищает выделение времени.

Параметры

Без параметров.

configure_reacomp_sidechain

Настраивает ReaComp на использование входа боковой цепи для детектирования. Аргументы: track_index: Индекс трека (отсчёт от 0), на котором находится ReaComp. fx_index: Индекс FX (отсчёт от 0) ReaComp в цепочке FX. use_sidechain: True - использовать вспомогательный вход (каналы 3-4), False - основной вход. Возвращает: Объект со статусом конфигурации.

Параметры
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
  • use_sidechainboolean
copy_selected_items

Копирует выбранные элементы в буфер обмена.

Параметры

Без параметров.

create_bus

Создает шину submix/stem и направляет на нее указанные треки. Аргументы: name: Название для трека шины. source_track_indices: Список индексов треков для направления на эту шину. Возвращает: Объект с bus_track_index и информацией о маршрутизации.

Параметры
  • namestringобязательный
  • source_track_indicesinteger[]обязательный
create_click_track

Добавляет клик-трек в конец списка треков. Он содержит click source из REAPER, который следует за темповой картой и изменениями размера и акцентирует каждую сильную долю. Аргументы: start: Начало в секундах. end: Конец в секундах (по умолчанию: конец проекта). name: Название трека. Возвращает: track_index, item_index, start, end.

Параметры
  • endnumber | null
  • namestring
  • startnumber
create_midi_item

Создаёт пустой MIDI-элемент на дорожке. Аргументы: position: начальная позиция в секундах. length: длина в секундах. Возвращает: Объект с информацией об элементе, включая новый item_index.

Параметры
  • lengthnumberобязательный
  • positionnumberобязательный
  • track_indexintegerобязательный
create_project

Создаёт новый проект REAPER. Примечание: в REAPER нет API, чтобы задать имя проекту, который ещё ни разу не сохранялся, поэтому этот сервер тоже не может задать ему имя. Удалённый параметр name никогда не действовал.

Параметры

Без параметров.

create_send

Создаёт send с одной дорожки на другую. Аргументы: src_track: Индекс исходной дорожки (начиная с 0). dest_track: Индекс целевой дорожки (начиная с 0). Возвращает: Объект с полем send_index.

Параметры
  • dest_trackintegerобязательный
  • src_trackintegerобязательный
crop_to_active_take

Обрезает медиа-элемент до его активного дубля, отбрасывая все остальные дубли.

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
cut_selected_items

Вырезает выбранные элементы в буфер обмена.

Параметры

Без параметров.

delete_envelope_point

Удаляет точку огибающей. Аргументы: envelope_name: имя огибающей.

Параметры
  • envelope_namestringобязательный
  • point_indexintegerобязательный
  • track_indexintegerобязательный
delete_fx_envelope_point

Удаляет точку автоматизации из огибающей параметра FX. Аргументы: point_index: Индекс точки (отсчёт от нуля) для удаления.

Параметры
  • fx_indexintegerобязательный
  • param_indexintegerобязательный
  • point_indexintegerобязательный
  • track_indexintegerобязательный
delete_item

Удаляет медиа-элемент.

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
delete_marker

Удаляет маркер по индексу.

Параметры
  • marker_indexintegerобязательный
delete_midi_note

Удаляет MIDI-ноту из элемента.

Параметры
  • item_indexintegerобязательный
  • note_indexintegerобязательный
  • track_indexintegerобязательный
delete_region

Удаляет область по индексу.

Параметры
  • region_indexintegerобязательный
delete_selected_items

Удалить все выбранные элементы.

Параметры

Без параметров.

delete_send

Удаляет send из трека. Аргументы: track_index: Индекс исходного трека (начиная с 0). send_index: Индекс send (начиная с 0), который нужно удалить.

Параметры
  • send_indexintegerобязательный
  • track_indexintegerобязательный
delete_take

Удаляет конкретный тейк из медиаэлемента. Аргументы: take_index: Индекс тейка для удаления (отсчёт с нуля). Сначала тейк активируется, затем удаляется.

Параметры
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
delete_track

Удаляет дорожку. Аргументы: track_index: Индекс удаляемой дорожки (отсчёт с 0). Нельзя удалить мастер-дорожку (-1).

Параметры
  • track_indexintegerобязательный
duplicate_item

Дублирует медиа-элемент. Возвращает: Объект с информацией о новом элементе.

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
explode_takes

Разбивает все тейки медиа-элемента на месте (каждый тейк становится отдельным перекрывающимся элементом).

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
find_eq

Находит ReaEQ на треке, опционально добавляя его, если он отсутствует. Аргументы: instantiate: если True и ReaEQ отсутствует, добавляет его. Возвращает: Объект с 'ret' = индекс FX ReaEQ или -1, если не найден.

Параметры
  • instantiateboolean
  • track_indexintegerобязательный
get_active_takeтолько чтение

Получает индекс активного тейка медиа-элемента. Возвращает: Объект с 'ret' = индекс активного тейка (-1, если у элемента нет активного тейка).

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
get_all_tracksтолько чтение

Получает информацию обо всех дорожках в проекте.

Параметры

Без параметров.

get_cursor_positionтолько чтение

Получает позицию курсора редактирования. Возвращает: Объект с позицией курсора в секундах.

Параметры

Без параметров.

get_envelope_point_countтолько чтение

Получает количество точек в конверте. Аргументы: envelope_name: Имя конверта. Возвращает: Объект с количеством точек.

Параметры
  • envelope_namestringобязательный
  • track_indexintegerобязательный
get_envelope_pointsтолько чтение

Получает все точки из огибающей. Аргументы: envelope_name: Имя огибающей. Возвращает: points (time, value, shape, shown). Огибающая громкости добавляет value_db к каждой точке, а также масштабирование.

Параметры
  • envelope_namestringобязательный
  • track_indexintegerобязательный
get_eq_band_enabledтолько чтение

Проверяет, включена ли полоса ReaEQ. Аргументы: fx_index: индекс FX (начиная с 0) для ReaEQ. bandtype: тип полосы (0=hipass, 1=loshelf, 2=band, 3=notch, 4=hishelf, 5=lopass). bandidx: индекс полосы внутри этого типа (0=первая). Возвращает: Объект с булевым полем 'ret' (true=включена).

Параметры
  • bandidxinteger
  • bandtypeintegerобязательный
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
get_eq_bandsтолько чтение

Получает все настройки полос ReaEQ одним структурированным вызовом. Аргументы: fx_index: индекс FX (отсчёт от нуля) для ReaEQ в цепочке FX. Возвращает: Объект со списком 'bands'. Каждая полоса содержит band_index, bandtype, bandtype_name, bandidx, paramtype, paramtype_name, normval, значение в формате REAPER и (для параметров усиления) вычисленный gain_db.

Параметры
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
get_fx_envelope

Получает или создаёт конверт автоматизации для параметра FX. Это позволяет автоматизировать любой параметр FX (например, регулятор флэнджера в Guitar Rig). Конверт создаётся, если его ещё нет. Аргументы: param_index: Индекс параметра (начиная с 0). Используйте track_fx_get_num_params(), чтобы найти доступные параметры. Возвращает: Объект с полями envelope_name, param_name, point_count и indices.

Параметры
  • fx_indexintegerобязательный
  • param_indexintegerобязательный
  • track_indexintegerобязательный
get_fx_envelope_pointsтолько чтение

Получает все точки автоматизации из огибающей параметра FX. Возвращает: Объект со списком точек (time, value, shown, shape, tension, selected).

Параметры
  • fx_indexintegerобязательный
  • param_indexintegerобязательный
  • track_indexintegerобязательный
get_fx_presetтолько чтение

Получает текущее название пресета FX. Возвращает: Объект с текущим названием пресета.

Параметры
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
get_fx_presetsтолько чтение

Получает список пресетов, доступных для FX. Возвращает: Объект со списком названий пресетов.

Параметры
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
get_item_infoтолько чтение

Получает информацию о медиаэлементе. Возвращает: Объект со свойствами элемента (позиция, длина, информация о дубле и т.д.).

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
get_markersтолько чтение

Получает все маркеры в проекте. Возвращает: Объект со списком маркеров (позиция, имя, индекс).

Параметры

Без параметров.

get_master_trackтолько чтение

Получает информацию о мастер-треке.

Параметры

Без параметров.

get_midi_itemтолько чтение

Получает информацию о MIDI-элементе. Возвращает: Объект с информацией об элементе, включая позицию, длину и количество нот.

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
get_midi_notesтолько чтение

Получает все MIDI-ноты из элемента. Возвращает: Объект со списком нот.

Параметры
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • track_indexintegerобязательный
get_play_positionтолько чтение

Получает текущую позицию воспроизведения. Возвращает: Объект с позицией воспроизведения в секундах.

Параметры

Без параметров.

get_play_stateтолько чтение

Получает текущее состояние воспроизведения. Возвращает: Объект с информацией о состоянии воспроизведения.

Параметры

Без параметров.

get_project_lengthтолько чтение

Получает продолжительность проекта (конец последнего элемента). Возвращает: Объект с продолжительностью проекта в секундах.

Параметры

Без параметров.

get_project_nameтолько чтение

Получает имя проекта.

Параметры

Без параметров.

get_project_pathтолько чтение

Возвращает путь проекта.

Параметры

Без параметров.

get_project_summaryтолько чтение

Получает полную сводку о текущем проекте REAPER. Возвращает всё необходимое, чтобы понять состояние проекта и дать полезные советы по сведению/продакшену одним вызовом. Возвращает: Объект со следующими полями: - project_name: имя файла проекта - project_path: полный путь к проекту - tempo: темп проекта в BPM - time_signature: {numerator, denominator} - project_length: длина в секундах - track_count: общее количество дорожек - tracks: список объектов с информацией о дорожках, каждый содержит: - index: индекс дорожки (начиная с 0) - name: имя дорожки - volume_db: громкость в децибелах - pan: положение панорамы (от -1 до 1) - mute: булево значение, указывающее, включен ли mute - solo: булево значение, указывающее, включен ли solo - fx_count: количество FX-плагинов - fx_names: список названий FX-плагинов - master: информация о мастер-дорожке {volume_db, fx_count, fx_names} - markers: список {index, position, name} - regions: список {index, start, end, name}

Параметры

Без параметров.

get_regionsтолько чтение

Получает все регионы в проекте. Возвращает: Объект со списком регионов (start, end, name, index).

Параметры

Без параметров.

get_repeat_stateтолько чтение

Получает текущее состояние повтора. Возвращает: Объект с состоянием повтора (true/false).

Параметры

Без параметров.

get_selected_itemsтолько чтение

Получает все выбранные медиаэлементы. Возвращает: Объект со списком выбранных элементов.

Параметры

Без параметров.

get_selected_midi_notesтолько чтение

Читает MIDI-ноты, ВЫБРАННЫЕ в данный момент в редакторе REAPER для активного тейка. Запасной выход для сценария «обработать то, что я выбрал»: выберите ноты вручную в REAPER, вызовите этот инструмент, чтобы увидеть, какие это ноты, а затем преобразуйте это выделение в явный фильтр значений (диапазон питча / окно долей / канал) для инструментов трансформации. Только чтение, без отмены. Возвращает: {ok, notes:[...], ret} - выбранные ноты той же структуры, что и get_midi_notes (каждая нота содержит start_beat/end_beat относительно элемента). index - это абсолютный индекс ноты в REAPER, отсортированный по PPQ, поэтому при частичном выделении индексы идут не подряд. Пустое выделение -> notes:[].

Параметры
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • track_indexintegerобязательный
get_selected_tracksтолько чтение

Получает индексы всех выбранных треков. Возвращает: Объект со списком индексов выбранных треков.

Параметры

Без параметров.

get_takesтолько чтение

Перечисляет все дубли медиаэлемента. Возвращает: Объект с массивом 'takes' (каждая запись: index, name, is_active) и 'ret' = количество дублей.

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
get_tempoтолько чтение

Получает темп в начале проекта как ret, и каждый маркер темпа как tempo_markers.

Параметры

Без параметров.

get_time_selectionтолько чтение

Получает текущий выбор времени. Возвращает: Объект с временем начала и окончания.

Параметры

Без параметров.

get_time_signatureтолько чтение

Получает тактовый размер проекта.

Параметры

Без параметров.

get_trackтолько чтение

Получает информацию о треке. Возвращает: Объект с полем 'info': guid, name, volume, volume_db, pan, muted, soloed, has_midi, has_audio, fx_names, role.

Параметры
  • track_indexintegerобязательный
get_track_countтолько чтение

Получает общее количество треков в текущем проекте REAPER (исключая мастер-трек).

Параметры

Без параметров.

get_track_envelopeтолько чтение

Получает огибающую дорожки по имени. Аргументы: envelope_name: Имя огибающей (например, "Volume", "Pan", "Mute"). Возвращает: Объект с информацией об огибающей.

Параметры
  • envelope_namestringобязательный
  • track_indexintegerобязательный
get_track_fx_chunkтолько чтение

Получает необработанный chunk состояния из FX-плагина (включает данные пресета/состояния). Полезно для чтения данных состояния VSTi, например, аккордовых прогрессий Toontrack EZkeys. Chunk содержит полное сериализованное состояние плагина. Возвращает: Объект с полем 'chunk', содержащим строку данных состояния FX.

Параметры
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
get_track_itemsтолько чтение

Получает все медиаэлементы на треке. Возвращает: Объект со списком элементов.

Параметры
  • track_indexintegerобязательный
get_track_master_sendтолько чтение

Получает состояние посыла на мастер/родительскую шину для трека. Возвращает: Объект с полем 'ret' (1 = включено, 0 = выключено).

Параметры
  • track_indexintegerобязательный
get_track_num_sendsтолько чтение

Получает количество отправок с дорожки.

Параметры
  • track_indexintegerобязательный
get_track_peakтолько чтение

Получает текущий пиковый уровень трека. Аргументы: channel: Channel (0 = левый, 1 = правый). Возвращает: Объект со значением пикового уровня в дБ.

Параметры
  • channelinteger
  • track_indexintegerобязательный
get_track_peak_holdтолько чтение

Получает уровень удержания пика дорожки (самый высокий пик с момента последнего сброса индикаторов). Возвращает максимальный пик из предыдущего воспроизведения без необходимости активного воспроизведения: запустите проект, остановите, затем вызовите эту функцию для настройки усиления. Аргументы: channel: Канал (0=левый, 1=правый). Возвращает: Объект со значением удержания пика в дБ.

Параметры
  • channelinteger
  • track_indexintegerобязательный
get_undo_stateтолько чтение

Получает текущее состояние undo/redo. Возвращает: Объект с описаниями undo и redo.

Параметры

Без параметров.

go_to_marker

Перемещает курсор редактирования к маркеру.

Параметры
  • marker_indexintegerобязательный
go_to_region

Перемещает курсор редактирования в начало области.

Параметры
  • region_indexintegerобязательный
humanize_midi_notes

Очеловечивает MIDI: воспроизводимо сдвигает тайминг и velocity на небольшие случайные величины. Каждая нота получает собственное смещение тайминга и velocity, распределённое по колоколообразной кривой. Длительности нот сохраняются (начало и конец сдвигаются вместе), а высота нот не трогается. Случайность задаётся зерном (seed), поэтому один и тот же дубль с одним и тем же seed и настройками каждый раз даёт идентичный результат. Velocity ограничиваются диапазоном 1-127 и учитываются в clamped; ноты, сдвинутые за конец item, сохраняются и учитываются в out_of_bounds. В отличие от других инструментов работы с таймингом, нота, сдвинутая до начала item, помещается в начало item и учитывается в out_of_bounds, а не в clamped; clamped здесь учитывает только ограничение velocity. Аргументы: timing: Разброс тайминга в битах (стандартное отклонение); 0.02 даёт едва заметный человеческий оттенок, 0.0 не трогает тайминг. velocity: Разброс velocity (стандартное отклонение, в единицах velocity); 0.0 не трогает velocity. seed: Любое целое число. Одинаковый seed, настройки и дубль дают одинаковый результат. max_sigma: Предел отклонения одной ноты, кратный разбросу.

Параметры
  • channelinteger
  • end_beatnumber | null
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • max_sigmanumber
  • pitch_highinteger
  • pitch_lowinteger
  • return_notesboolean
  • seedinteger
  • start_beatnumber | null
  • timingnumber
  • track_indexintegerобязательный
  • velocitynumber
insert_audio_file

Вставляет аудиофайл в дорожку. Аргументы: file_path: Полный путь к аудиофайлу. position: Позиция в секундах. Возвращает: Объект с track_index, item_index созданного элемента и position.

Параметры
  • file_pathstringобязательный
  • positionnumberобязательный
  • track_indexintegerобязательный
insert_track

Вставляет новый трек по указанному индексу. Аргументы: index: позиция для вставки трека (отсчёт с 0). Если не указано, добавляет в конец. name: необязательное имя для нового трека. Возвращает: Информацию о созданном треке.

Параметры
  • indexinteger
  • namestring
legato_midi_notes

Закрывает пробелы в MIDI-линии (легато) или задает каждой ноте одну длину. Сдвигаются только окончания нот; начала не затрагиваются. Режим "connect" продлевает окончание каждой ноты до следующего начала и никогда ничего не укорачивает; пробел шире, чем max_gap_beats, остается паузой и учитывается в gaps_preserved, а последняя нота не трогается. Режим "fixed" вместо этого задает длину каждой целевой ноты равной length_beats. Ноты, чей новый конец выходит за конец элемента, сохраняются и указываются в out_of_bounds. Аргументы: mode: "connect" (продлевает каждый конец до следующего начала) или "fixed" (задает единую длину). voice: только для connect. "chordal" продлевает до следующего начала любой ноты, поэтому ноты аккорда сдвигаются вместе; "per_pitch" продлевает до следующей ноты ТОЙ ЖЕ высоты и канала, сохраняя независимость чередующихся голосов. max_gap_beats: только для connect. Пробелы шире этого значения остаются паузами (>= 0). length_beats: только для fixed. Длина, которая задается каждой целевой ноте (> 0). Возвращает: {ok, notes_changed, clamped, skipped, out_of_bounds, gaps_preserved, notes:[...]}.

Параметры
  • channelinteger
  • end_beatnumber | null
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • length_beatsnumber
  • max_gap_beatsnumber
  • modestring
  • pitch_highinteger | null
  • pitch_lowinteger | null
  • return_notesboolean
  • start_beatnumber | null
  • track_indexintegerобязательный
  • voicestring
measure_loudnessтолько чтение

Измеряет громкость так же, как окно громкости REAPER: интегрированный LUFS, краткосрочный и мгновенный максимум, диапазон громкости, пик сэмпла, а также истинный пик. Объект: мастер (по умолчанию), дорожка или один элемент (выход его дорожки на этом элементе, остальные элементы приглушены). start_time/end_time ограничивают его диапазоном. Он выполняет пробный рендеринг, поэтому не записывает файлы, возвращает выделения на место и не добавляет шаг отмены. Измерение мастера помечает проект как изменённый, хотя в нём ничего не меняется. Возвращает: integrated_lufs, short_term_max_lufs, momentary_max_lufs, loudness_range_lu, sample_peak_dbfs, true_peak_dbtp, samples_over_0dbfs, duration; примечание, когда значение приблизительное или недоступно.

Параметры
  • end_timenumber
  • item_indexinteger
  • start_timenumber
  • track_indexinteger
measure_spectrumтолько чтение

Измеряет тональный баланс и стереообраз: уровни в октавных полосах (от 31.5 Гц до 16 кГц), спектральный центроид, наклон в дБ на октаву, стереокорреляцию в целом и ниже 150 Гц, уровень side-to-mid и баланс левого/правого каналов. Те же цели и диапазон, что и у measure_loudness. Уровни в dBFS, где синус полной шкалы равен 0, как в REAPER. Требуется TwelveTake MCP Analyzer, который устанавливается с помощью --install-bridge.

Параметры
  • end_timenumber
  • item_indexinteger
  • start_timenumber
  • track_indexinteger
nudge_midi_notes

Сдвигает MIDI-ноты во времени на количество долей (+ = позже, - = раньше). Начало и конец сдвигаются вместе, поэтому длительности нот сохраняются. Нота, сдвинутая до начала элемента, прижимается к нему, а нота, сдвинутая за конец элемента, остаётся на месте; обе учитываются в out_of_bounds, а не в clamped. Аргументы: amount_beats: знаковый сдвиг в долях (0.25 = на шестнадцатую позже, -1.0 = на долю раньше). 0 = без изменений.

Параметры
  • amount_beatsnumberобязательный
  • channelinteger
  • end_beatnumber | null
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • pitch_highinteger
  • pitch_lowinteger
  • return_notesboolean
  • start_beatnumber | null
  • track_indexintegerобязательный
open_project

Открывает файл проекта REAPER. Аргументы: path: Полный путь к файлу .rpp.

Параметры
  • pathstringобязательный
paste_items

Вставляет элементы из буфера обмена в позиции курсора редактирования.

Параметры

Без параметров.

pause

Приостанавливает воспроизведение в REAPER.

Параметры

Без параметров.

play

Запустите воспроизведение в REAPER.

Параметры

Без параметров.

quantize_midi_notes

Квантует начала MIDI-нот по сетке (подтягивает неровный тайминг, добавляет свинг). Начала нот привязываются к сетке тактов/битов проекта (PROJECT), а не к смещению от собственного начала элемента, и длительности нот сохраняются: начало и конец сдвигаются вместе. Ноты, попадающие за конец элемента, сохраняются, а нота, которая должна попасть до начала элемента, помещается в его начало; обе учитываются в out_of_bounds (clamped при этом остаётся 0). Аргументы: grid: Шаг сетки в долях: 0.25 = 1/16, 0.5 = 1/8, 1.0 = 1/4. Должен быть > 0. strength: 0.0-1.0. 1.0 привязывает точно к сетке, 0.5 сдвигает каждую ноту на половину пути, 0.0 ничего не делает. swing: 0.0-1.0. 0.0 = ровно, 1.0 = полное ощущение триолей (слабые доли на 66.7%), масштабируется линейно. Задерживаются только слабые (нечётные) ячейки сетки.

Параметры
  • channelinteger
  • end_beatnumber | null
  • fieldsstring[] | null
  • gridnumber
  • item_indexintegerобязательный
  • pitch_highinteger
  • pitch_lowinteger
  • return_notesboolean
  • start_beatnumber | null
  • strengthnumber
  • swingnumber
  • track_indexintegerобязательный
ramp_midi_note_velocities

Применяет линейное изменение скорости (crescendo / decrescendo) к MIDI-нотам. Скорости интерполируются по времени начала: самая ранняя нота в отфильтрованном наборе получает start_velocity, самая поздняя получает end_velocity, всё между ними линейно. Ноты, начинающиеся одновременно (аккорд), получают одинаковую скорость. Результаты ограничиваются диапазоном 1-127. Аргументы: start_velocity: Скорость самого раннего начала (1-127; значения вне диапазона ограничиваются, это не ошибка). end_velocity: Скорость самого позднего начала (1-127).

Параметры
  • channelinteger
  • end_beatnumber | null
  • end_velocityintegerобязательный
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • pitch_highinteger
  • pitch_lowinteger
  • return_notesboolean
  • start_beatnumber | null
  • start_velocityintegerобязательный
  • track_indexintegerобязательный
record

Начни запись в REAPER.

Параметры

Без параметров.

redo

Повторяет последнее отменённое действие в REAPER. Возвращает: Объект с описанием повтора.

Параметры

Без параметров.

remove_overlapping_midi_notes

Убирает перекрывающиеся MIDI-ноты (одинаковые по высоте ноты, наложенные друг на друга). Две ноты конфликтуют, только если у них совпадает высота тона И канал И они перекрываются во времени, поэтому аккорд никогда не считается конфликтом, а ноты, которые лишь соприкасаются, остаются как есть. Режим "trim" укорачивает более раннюю ноту до начала следующей, ничего не теряя; режим "delete" удаляет одну ноту из каждой перекрывающейся пары, оставляя более громкую (при равенстве громкости остаётся более длинная). Оба режима могут удалять ноты: ноты, начинающиеся ровно в один момент, схлопываются в самую громкую, поскольку между ними нечего обрезать, а обрезанная нота, оказавшаяся короче min_length_beats, удаляется, а не остаётся как щелчок. Аргументы: mode: "trim" (укорачивает более раннюю ноту) или "delete" (удаляет более тихую ноту). min_length_beats: Обрезанная нота, оставшаяся короче этого значения, удаляется. По умолчанию 1/128 доли; 0 отключает проверку. pitch_low, pitch_high: Ноты вне фильтра невидимы: их не трогают и не считают участником перекрытия. Возвращает: {ok, mode, notes_changed, clamped, skipped, out_of_bounds, notes_removed, trimmed, deduped, deleted, notes:[...]}, где notes_removed = deduped + deleted.

Параметры
  • channelinteger
  • end_beatnumber | null
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • min_length_beatsnumber
  • modestring
  • pitch_highinteger
  • pitch_lowinteger
  • return_notesboolean
  • start_beatnumber | null
  • track_indexintegerобязательный
render_project

Рендерит мастер-микс проекта в аудиофайл. Помимо пути, источника и диапазона, применяются собственные настройки рендеринга проекта: его формат (расширение .wav выбирает WAV), а также нормализация, лимитер, фейды, trim и pad, которые ответ перечисляет в processing (пусто, если ничего не применяется). Если целевой файл уже существует, возвращает ошибку, если только не указано overwrite=True (тогда существующий файл сначала удаляется). Это сделано явно, потому что поведение самого REAPER с существующими файлами (запрос или автоинкремент) зависит от пользовательской настройки, а запрос на перезапись блокирует рендеринг без участия пользователя. Аргументы: output_path: Полный путь к выходному файлу (расширение определяет формат). start_time: Время начала в секундах (None = начало проекта). end_time: Время окончания в секундах (None = конец проекта). tail_seconds: Дополнительные секунды рендеринга в конце для хвостов реверба. overwrite: True, чтобы заменить существующий файл по пути output_path. skip_postprocessing: True, чтобы отрендерить без нормализации, лимитера, фейдов, trim и pad проекта - для файла, который вы будете измерять или сравнивать. Возвращает: Объект со статусом рендеринга, вычисленными REAPER целевыми путями вывода и processing.

Параметры
  • end_timenumber
  • output_pathstringобязательный
  • overwriteboolean
  • skip_postprocessingboolean
  • start_timenumber
  • tail_secondsnumber
render_region

НЕ РЕАЛИЗОВАНО. Используйте render_project с start/end региона из get_regions. Аргументы: output_path: Полный путь для выходного файла.

Параметры
  • output_pathstringобязательный
  • region_indexintegerобязательный
run_action

Выполняет действие REAPER по ID команды. Аргументы: action_id: числовой ID действия/команды REAPER.

Параметры
  • action_idintegerобязательный
run_action_by_name

Запускает действие REAPER по идентификатору именованной команды. Именованные команды (например, ReaScripts "_RS12345" или SWS "SWS...") преобразуются в числовой идентификатор команды через NamedCommandLookup перед выполнением. Чисто числовая строка (например, "40297") рассматривается как встроенный идентификатор команды и выполняется напрямую; для встроенных команд предпочтительнее run_action(action_id). Аргументы: action_name: идентификатор именованной команды (например, "_RS12345") или строка с числовым идентификатором команды. Возвращает: Если именованную команду не удалось разрешить, возвращает {"ok": False, "error": ...} без выполнения какого-либо действия.

Параметры
  • action_namestringобязательный
save_fx_preset

Сохраняет текущие настройки FX как пресет. Аргументы: preset_name: Имя для нового пресета.

Параметры
  • fx_indexintegerобязательный
  • preset_namestringобязательный
  • track_indexintegerобязательный
save_project

Сохраняет текущий проект REAPER.

Параметры

Без параметров.

scale_midi_note_velocities

Масштабирует скорости MIDI-нот: умножение, установка фиксированного значения или сжатие к опорной точке. Результаты ограничиваются диапазоном 1-127. Аргументы: mode: "multiply" (velocity * ratio), "set" (velocity становится value) или "compress" (pivot + (velocity - pivot) * ratio). ratio: Множитель (>= 0, без верхнего предела) или величина сжатия (0.0-1.0, где 0 схлопывает каждую ноту в точку pivot, а 1.0 ничего не меняет). value: Целевая скорость для режима "set" (1-127). pivot: Точка, к которой сжатие притягивает значения (1-127), или -1 для округлённого среднего скоростей подходящих нот (возвращается как pivot_used). Возвращает: {ok, notes_changed, clamped, skipped, out_of_bounds, pivot_used, notes:[...]}.

Параметры
  • channelinteger | null
  • end_beatnumber | null
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • modestring
  • pitch_highinteger | null
  • pitch_lowinteger | null
  • pivotinteger
  • rationumber
  • return_notesboolean
  • start_beatnumber | null
  • track_indexintegerобязательный
  • valueinteger
select_all_items

Выбирает все медиаэлементы.

Параметры

Без параметров.

select_all_tracks

Выбирает все треки.

Параметры

Без параметров.

select_comp_laneидемпотентный

Делает фиксированную дорожку (lane) единственной воспроизводимой на треке (компинг на основе дорожек в REAPER 7). Трек должен находиться в режиме фиксированных дорожек (правый клик по треку -> Track lanes). Возвращает понятную ошибку, если это не так или если индекс дорожки вне допустимого диапазона. Аргументы: lane_index: Индекс фиксированной дорожки (lane) для исключительного воспроизведения (начиная с 0).

Параметры
  • lane_indexintegerобязательный
  • track_indexintegerобязательный
select_midi_notes

Выбирает MIDI-ноты, соответствующие фильтру, как если бы кликнули в MIDI-редакторе REAPER. Аргументы: selected: False снимает выделение с соответствующих нот; без фильтра очищает выделение. exclusive: при выборе снимает выделение со всех нот, не соответствующих фильтру. notes_changed подсчитывает ноты, у которых изменилось выделение.

Параметры
  • channelinteger
  • end_beatnumber | null
  • exclusiveboolean
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • pitch_highinteger
  • pitch_lowinteger
  • return_notesboolean
  • selectedboolean
  • start_beatnumber | null
  • track_indexintegerобязательный
select_track

Выбирает трек. Аргументы: exclusive: Если True, сначала снимает выделение с других треков.

Параметры
  • exclusiveboolean
  • track_indexintegerобязательный
set_active_takeидемпотентный

Устанавливает активный тейк медиаэлемента (какой тейк воспроизводится). Аргументы:

Параметры
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
set_cursor_position

Устанавливает позицию курсора редактирования. Аргументы: position: позиция в секундах от начала проекта.

Параметры
  • positionnumberобязательный
set_eq_band

Задаёт параметр полосы ReaEQ. По умолчанию передаёт реальные значения: частоту в Гц (paramtype 0), усиление в дБ (paramtype 1) или Q (paramtype 2). Внутри усиление преобразуется в нормированную кривую ReaEQ; freq и Q передаются как есть. Аргументы: fx_index: индекс FX (отсчёт с нуля) для ReaEQ. bandtype: -1=master gain, 0=hipass, 1=loshelf, 2=band, 3=notch, 4=hishelf, 5=lopass, 6=bandpass, 7=parallel bandpass. bandidx: индекс полосы внутри этого типа (0=первая). Игнорируется для master gain. paramtype: 0=частота (Гц), 1=усиление (дБ), 2=Q. Игнорируется для master gain. value: значение в реальных единицах, если только is_normalized не равно True. is_normalized: если True, value - сырое нормированное значение от 0 до 1, записываемое напрямую.

Параметры
  • bandidxintegerобязательный
  • bandtypeintegerобязательный
  • fx_indexintegerобязательный
  • is_normalizedboolean
  • paramtypeintegerобязательный
  • track_indexintegerобязательный
  • valuenumberобязательный
set_eq_band_enabled

Включает или отключает полосу ReaEQ. Аргументы: fx_index: Индекс FX (с нуля) для ReaEQ. bandtype: Тип полосы (0=hipass, 1=loshelf, 2=band, 3=notch, 4=hishelf, 5=lopass). bandidx: Индекс полосы внутри этого типа (0=первая). enabled: True включает, False отключает.

Параметры
  • bandidxinteger
  • bandtypeintegerобязательный
  • enabledboolean
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
set_fx_preset

Устанавливает пресет FX. Аргументы: preset_name: имя пресета.

Параметры
  • fx_indexintegerобязательный
  • preset_namestringобязательный
  • track_indexintegerобязательный
set_item_fade_in

Устанавливает длительность fade-in медиаэлемента. Аргументы: length: Длительность fade-in в секундах.

Параметры
  • item_indexintegerобязательный
  • lengthnumberобязательный
  • track_indexintegerобязательный
set_item_fade_out

Устанавливает длительность затухания медаэлемента. Аргументы: length: Длительность затухания в секундах.

Параметры
  • item_indexintegerобязательный
  • lengthnumberобязательный
  • track_indexintegerобязательный
set_item_length

Устанавливает длину медиаэлемента. Аргументы: length: Новая длина в секундах.

Параметры
  • item_indexintegerобязательный
  • lengthnumberобязательный
  • track_indexintegerобязательный
set_item_mute

Отключает или включает звук медиаэлемента. Аргументы: mute: True для отключения звука, False для включения.

Параметры
  • item_indexintegerобязательный
  • mutebooleanобязательный
  • track_indexintegerобязательный
set_item_position

Устанавливает позицию медиаэлемента. Аргументы: position: Новая позиция в секундах.

Параметры
  • item_indexintegerобязательный
  • positionnumberобязательный
  • track_indexintegerобязательный
set_item_volume

Устанавливает громкость медиаэлемента. Аргументы: volume_db: Громкость в дБ.

Параметры
  • item_indexintegerобязательный
  • track_indexintegerобязательный
  • volume_dbnumberобязательный
set_midi_note

Редактирует одну существующую MIDI-ноту на месте: высоту, начало, длительность и/или канал. Изменяются только те поля, которые вы передаёте, и требуется хотя бы одно. (Velocity: set_midi_note_velocity.) note_index - это индекс REAPER, отсортированный по PPQ, из get_midi_notes / get_selected_midi_notes, и он нестабилен: перечитайте его после редактирования, поскольку возвращаемый список отражает новый порядок. Аргументы: pitch: Новая высота (0-127). start_beat: Новое начало в долях от начала элемента; длительность сохраняется. Начало до начала элемента ограничивается этим началом и попадает в out_of_bounds, а не в clamped. length_beats: Новая длительность в долях (> 0), отсчитываемая от текущего начала. channel: Новый MIDI-канал (0-15). Возвращает: {ok, notes_changed, clamped, skipped, out_of_bounds, notes:[...]}, или {ok:false, error} для неверного индекса, пустого редактирования или значения вне диапазона (ничего не записывается).

Параметры
  • channelinteger | null
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • length_beatsnumber | null
  • note_indexintegerобязательный
  • pitchinteger | null
  • return_notesboolean
  • start_beatnumber | null
  • track_indexintegerобязательный
set_midi_note_velocity

Устанавливает velocity MIDI-ноты. Аргументы: velocity: Новое значение velocity (1-127).

Параметры
  • item_indexintegerобязательный
  • note_indexintegerобязательный
  • track_indexintegerобязательный
  • velocityintegerобязательный
set_send_dest_channels

Устанавливает каналы назначения для отправки (используется для маршрутизации сайдчейна). Аргументы: track_index: Индекс исходного трека (отсчёт с нуля). dest_chan: Пара каналов назначения (0=1-2 основной, 2=3-4 сайдчейн, 4=5-6 и т.д.). Для сайдчейн-компрессии значение 2 направляет сигнал на каналы 3-4.

Параметры
  • dest_chanintegerобязательный
  • send_indexintegerобязательный
  • track_indexintegerобязательный
set_send_source_channels

Устанавливает исходные каналы для send. Аргументы: track_index: индекс исходного трека (отсчёт с 0). src_chan: исходный канал (-1=нет, 0=стерео 1-2, 1024+n=моно из канала n).

Параметры
  • send_indexintegerобязательный
  • src_chanintegerобязательный
  • track_indexintegerобязательный
set_send_volume

Устанавливает громкость send трека. Аргументы: track_index: Индекс исходного трека (с нуля). volume_db: Громкость send в дБ.

Параметры
  • send_indexintegerобязательный
  • track_indexintegerобязательный
  • volume_dbnumberобязательный
set_tempo

Устанавливает темп проекта. Аргументы: bpm: Темп в ударах в минуту.

Параметры
  • bpmnumberобязательный
set_time_selection

Устанавливает выделение по времени. Аргументы: start: Время начала в секундах. end: Время окончания в секундах.

Параметры
  • endnumberобязательный
  • startnumberобязательный
set_time_signature

Устанавливает тактовый размер проекта. Аргументы: numerator: количество долей в такте (например, 4 для размера 4/4). denominator: единица доли (например, 4 для четвертной ноты).

Параметры
  • denominatorintegerобязательный
  • numeratorintegerобязательный
set_track_as_folder

Устанавливает трек как родительскую или дочернюю папку. Аргументы: folder_depth: 0=обычный, 1=родительская папка, -1=конец папки.

Параметры
  • folder_depthintegerобязательный
  • track_indexintegerобязательный
set_track_automation_mode

Устанавливает режим автоматизации для трека. Аргументы: mode: 0=trim/read, 1=read, 2=touch, 3=write, 4=latch.

Параметры
  • modeintegerобязательный
  • track_indexintegerобязательный
set_track_color

Устанавливает цвет дорожки. Аргументы: r: Красный компонент (0-255). g: Зеленый компонент (0-255). b: Синий компонент (0-255).

Параметры
  • bintegerобязательный
  • gintegerобязательный
  • rintegerобязательный
  • track_indexintegerобязательный
set_track_input

Устанавливает вход записи для трека. Args: input_index: индекс входа (-1=нет входа, 0+=аппаратные входы, 4096+=виртуальный MIDI).

Параметры
  • input_indexintegerобязательный
  • track_indexintegerобязательный
set_track_master_sendидемпотентный

Включает или отключает отправку на мастер/родителя для дорожки. Когда включена, звук дорожки направляется на её родительскую папку-дорожку (или на мастер, если у неё нет родителя). Отключайте её, когда дорожка должна выводить звук только через свои отправки (например, направляться исключительно на шину). Аргументы: enabled: True - включить, False - отключить.

Параметры
  • enabledbooleanобязательный
  • track_indexintegerобязательный
set_track_monitor

Устанавливает режим мониторинга для трека. Аргументы: monitor: 0=выкл, 1=обычный, 2=не при воспроизведении.

Параметры
  • monitorintegerобязательный
  • track_indexintegerобязательный
set_track_mute

Устанавливает состояние mute дорожки. Аргументы: mute: True включает mute, False выключает mute.

Параметры
  • mutebooleanобязательный
  • track_indexintegerобязательный
set_track_name

Задаёт имя трека. Аргументы: name: Новое имя трека.

Параметры
  • namestringобязательный
  • track_indexintegerобязательный
set_track_pan

Устанавливает позицию панорамы дорожки. Args: pan: Позиция панорамы от -1.0 (полностью влево) до 1.0 (полностью вправо). 0 = центр.

Параметры
  • pannumberобязательный
  • track_indexintegerобязательный
set_track_phase

Устанавливает инверсию фазы трека. Аргументы: invert: True - инвертировать фазу, False - нормальная.

Параметры
  • invertbooleanобязательный
  • track_indexintegerобязательный
set_track_solo

Устанавливает состояние соло трека. Аргументы: solo: True - включить соло, False - выключить соло.

Параметры
  • solobooleanобязательный
  • track_indexintegerобязательный
set_track_volume

Устанавливает громкость дорожки в децибелах. Args: volume_db: Громкость в дБ (0 = единичное усиление, типичный диапазон от -inf до +12).

Параметры
  • track_indexintegerобязательный
  • volume_dbnumberобязательный
set_track_width

Устанавливает ширину стерео трека. Аргументы: width: значение ширины (0=моно, 1=стерео, 2=200% ширины).

Параметры
  • track_indexintegerобязательный
  • widthnumberобязательный
setup_sidechain_compression

Полная настройка сайдчейн-компрессии: создаёт send и настраивает компрессор. Это универсальная функция для настройки сайдчейн-компрессии. Она создаёт send с триггерного трека на вход сайдчейна целевого трека и настраивает ReaComp на прослушивание этого сайдчейна. Аргументы: trigger_track: трек, который запускает компрессию (например, бочка = трек 0). target_track: сжимаемый трек (например, бас = трек 1). compressor_fx_index: индекс ReaComp в цепочке FX целевого трека. send_volume_db: громкость send сайдчейна в дБ (по умолчанию 0 дБ). Возвращает: Объект с полной информацией о настройке. Пример: Для компрессии баса, запускаемой бочкой, где: - ударные на треке 0 - бас на треке 1 с ReaComp на индексе FX 2 Вызов: setup_sidechain_compression(0, 1, 2)

Параметры
  • compressor_fx_indexintegerобязательный
  • send_volume_dbnumber
  • target_trackintegerобязательный
  • trigger_trackintegerобязательный
setup_sidechain_send

Создаёт sidechain-отправку с одного трека на sidechain-вход FX другого трека. Это создаёт отправку, направленную на каналы 3-4 трека назначения, стандартный вход sidechain для компрессоров вроде ReaComp. Аргументы: src_track: Индекс исходного/триггерного трека (например, бочка). dest_track: Индекс трека назначения (например, бас с компрессором). volume_db: Громкость отправки в дБ (по умолчанию 0 дБ = 1). Возвращает: Объект с send_index и информацией о маршрутизации.

Параметры
  • dest_trackintegerобязательный
  • src_trackintegerобязательный
  • volume_dbnumber
snap_midi_notes_to_scale

Привязывает MIDI-ноты, не попадающие в тональность, к гамме (исправляет неверную ноту, приводит партию к тональности). Ноты, уже входящие в гамму, остаются без изменений; каждая нота вне гаммы перемещается к ближайшему звуку гаммы, а при nearest ничья разрешается в сторону середины выделения. Нота, для которой не осталось ни одного звука гаммы в диапазоне 0-127, остаётся на месте и учитывается в skipped. Аргументы: root: Основной класс высоты, 0-11 (0=C, 1=C#, 2=D ... 11=B). mode: Название гаммы: major, minor, harmonic_minor, melodic_minor, dorian, phrygian, lydian, mixolydian, locrian, major_pentatonic, minor_pentatonic, blues, whole_tone, chromatic (алиасы: ionian, aeolian, natural_minor). Или пользовательский список полутоновых интервалов от основного тона, каждый 0-11 (например, [0,2,4,7,9]). direction: "nearest" (ближайший звук гаммы), "up" или "down" (только в этом направлении, пропуская ноту, а не отступая в другую сторону). Возвращает: {ok, notes_changed, clamped, skipped, out_of_bounds, notes:[...]}; notes - список после преобразования, с индексами, повторно синхронизированными после сортировки.

Параметры
  • channelinteger
  • directionstring
  • end_beatnumber | null
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • modestring | integer[]
  • pitch_highinteger | null
  • pitch_lowinteger | null
  • return_notesboolean
  • rootintegerобязательный
  • start_beatnumber | null
  • track_indexintegerобязательный
split_item

Разделяет медиаэлемент в позиции. Аргументы: position: Позиция разделения в секундах (абсолютное время проекта). Возвращает: Объект с информацией об обоих результирующих элементах.

Параметры
  • item_indexintegerобязательный
  • positionnumberобязательный
  • track_indexintegerобязательный
stop

Останавливает воспроизведение в REAPER.

Параметры

Без параметров.

stretch_midi_notes

Растягивает или сжимает тайминг MIDI (half-time, double-time или любой коэффициент). Каждая целевая нота масштабируется как единое жёсткое целое вокруг одной фиксированной точки опоры: её расстояние от точки опоры и собственная длина умножаются на factor, поэтому ритм сохраняется, а меняется только скорость. Ноты, которые оказываются за концом элемента, остаются как есть; нота, сдвинутая за начало элемента, начинается с начала элемента, но сохраняет свой масштабированный конец, поэтому она получается короче. Обе учитываются в out_of_bounds (clamped здесь остаётся 0). Args: factor: коэффициент масштабирования времени, должен быть > 0. 2.0 = вдвое длиннее (half-time), 0.5 = вдвое короче (double-time). pivot_beat: фиксированная точка, в долях от начала элемента; может быть отрицательным. None = самое раннее вступление среди целевых нот.

Параметры
  • channelinteger
  • end_beatnumber | null
  • factornumberобязательный
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • pitch_highinteger
  • pitch_lowinteger
  • pivot_beatnumber | null
  • return_notesboolean
  • start_beatnumber | null
  • track_indexintegerобязательный
strum_midi_notes

Перебирает аккорды: разносит начала звучания одновременных нот, чтобы каждый аккорд раскатывался. Сдвигаются только начала звучания; длительности нот сохраняются. Аргументы: spread_beats: общий промежуток между началом звучания первой и последней ноты внутри каждого аккорда (>= 0; 0 = ничего не делает). direction: "up" - первой звучит нижняя нота аккорда, "down" - верхняя. chord_window_beats: допуск по времени начала звучания для группировки нот в один аккорд (0 = начала должны точно совпадать).

Параметры
  • channelinteger | null
  • chord_window_beatsnumber
  • directionstring
  • end_beatnumber | null
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • pitch_highinteger | null
  • pitch_lowinteger | null
  • return_notesboolean
  • spread_beatsnumberобязательный
  • start_beatnumber | null
  • track_indexintegerобязательный
take_fx_add_by_name

Добавляет FX-плагин к тейку по имени. Аргументы: fx_name: Название FX-плагина для добавления (например, "ReaEQ", "ReaComp"). Используйте точное название плагина, как оно отображается в браузере FX в REAPER. Возвращает: Объект с полем 'ret', содержащим индекс нового FX (или -1, если добавить не удалось).

Параметры
  • fx_namestringобязательный
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_delete

Удаляет плагин FX из тейка. Аргументы:

Параметры
  • fx_indexintegerобязательный
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_get_countтолько чтение

Получает количество FX-плагинов на тейке. Возвращает: Объект с полем 'ret', содержащим количество FX.

Параметры
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_get_enabledтолько чтение

Получает состояние включения (не обойдённого) FX-плагина на тейке. Аргументы: Возвращает: Объект с полем 'ret' (boolean).

Параметры
  • fx_indexintegerобязательный
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_get_listтолько чтение

Получает список всех FX-плагинов на тейке. Возвращает: Объект с массивом 'fx', каждый элемент которого содержит индекс, имя и состояние включения.

Параметры
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_get_nameтолько чтение

Получает название FX-плагина на тейке. Аргументы:

Параметры
  • fx_indexintegerобязательный
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_get_num_paramsтолько чтение

Получает количество параметров для FX-плагина на тейке. Аргументы:

Параметры
  • fx_indexintegerобязательный
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_get_paramтолько чтение

Получает значение параметра на FX-плагине тейка. Аргументы: Возвращает: Объект с 'value', 'min' и 'max' для параметра.

Параметры
  • fx_indexintegerобязательный
  • item_indexintegerобязательный
  • param_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_get_param_nameтолько чтение

Получает имя параметра на FX-плагине тейка. Args:

Параметры
  • fx_indexintegerобязательный
  • item_indexintegerобязательный
  • param_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_set_enabledидемпотентный

Включает или обходит FX-плагин на тейке. Аргументы: enabled: True - включить, False - обойти.

Параметры
  • enabledbooleanобязательный
  • fx_indexintegerобязательный
  • item_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
take_fx_set_paramидемпотентный

Устанавливает значение параметра на FX-плагине тейка. Аргументы: value: Новое значение (обычно нормализовано от 0 до 1; min/max проверяйте через take_fx_get_param).

Параметры
  • fx_indexintegerобязательный
  • item_indexintegerобязательный
  • param_indexintegerобязательный
  • take_indexintegerобязательный
  • track_indexintegerобязательный
  • valuenumberобязательный
toggle_repeat

Переключает режим повтора/цикла. Возвращает: Объект с новым состоянием повтора.

Параметры

Без параметров.

track_fx_add_by_name

Добавляет FX-плагин в трек по имени. Аргументы: fx_name: имя добавляемого FX-плагина (например, "ReaEQ", "ReaComp", "ReaLimit"). Используйте точное имя плагина, как оно отображается в браузере FX в REAPER. position: необязательная позиция вставки (отсчёт от нуля) в цепочке FX. По умолчанию -1 добавляет в конец; 0 вставляет в начало. Возвращает: Информацию о добавленном FX, включая его индекс.

Параметры
  • fx_namestringобязательный
  • positioninteger
  • track_indexintegerобязательный
track_fx_delete

Удаляет FX-плагин с дорожки.

Параметры
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
track_fx_get_countтолько чтение

Получает количество FX-плагинов на треке. Возвращает: Объект с полем 'ret', содержащим количество.

Параметры
  • track_indexintegerобязательный
track_fx_get_enabledтолько чтение

Получает состояние включения FX-плагина. Возвращает: Объект с полем 'ret' (boolean).

Параметры
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
track_fx_get_listтолько чтение

Получает список всех FX-плагинов на треке. Возвращает: Объект с массивом 'fx', по одной записи на каждый FX с index, name, enabled и offline, плюс fx_count. 'enabled' равен False, когда FX находится в байпасе. Только обычная цепочка FX, не входные/записывающие FX и не мастер-мониторинговые FX.

Параметры
  • track_indexintegerобязательный
track_fx_get_nameтолько чтение

Получает имя FX-плагина.

Параметры
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
track_fx_get_num_paramsтолько чтение

Получает количество параметров для FX-плагина.

Параметры
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
track_fx_get_paramтолько чтение

Получает значение конкретного параметра FX-плагина. Возвращает: Объект с полями value, min, max для параметра.

Параметры
  • fx_indexintegerобязательный
  • param_indexintegerобязательный
  • track_indexintegerобязательный
track_fx_get_param_nameтолько чтение

Получает имя параметра FX.

Параметры
  • fx_indexintegerобязательный
  • param_indexintegerобязательный
  • track_indexintegerобязательный
track_fx_moveидемпотентный

Перемещает FX-плагин на новую позицию в цепочке FX того же трека. Аргументы: fx_index: Текущий индекс FX (с нуля) в цепочке FX. new_position: Целевая позиция (с нуля). 0 = начало цепочки.

Параметры
  • fx_indexintegerобязательный
  • new_positionintegerобязательный
  • track_indexintegerобязательный
track_fx_set_enabled

Включает или отключает FX-плагин. Аргументы: enabled: True для включения, False для обхода.

Параметры
  • enabledbooleanобязательный
  • fx_indexintegerобязательный
  • track_indexintegerобязательный
track_fx_set_param

Устанавливает значение параметра в FX-плагине. Аргументы: value: Новое значение параметра (обычно нормализовано от 0 до 1, проверьте минимум/максимум).

Параметры
  • fx_indexintegerобязательный
  • param_indexintegerобязательный
  • track_indexintegerобязательный
  • valuenumberобязательный
transpose_midi_notes

Транспонирует MIDI-ноты на указанное число полутонов (12 = октава). Нота, которая вышла бы за пределы диапазона 0-127, сохраняет исходную высоту и вместо этого учитывается в skipped. Аргументы: semitones: знаковое смещение; положительное значение сдвигает вверх, отрицательное сдвигает вниз. 0 = без изменений. Возвращает: {ok, notes_changed, clamped, skipped, out_of_bounds, notes:[...]}, где notes — полный список нот после преобразования, с переиндексацией.

Параметры
  • channelinteger
  • end_beatnumber | null
  • fieldsstring[] | null
  • item_indexintegerобязательный
  • pitch_highinteger
  • pitch_lowinteger
  • return_notesboolean
  • semitonesintegerобязательный
  • start_beatnumber | null
  • track_indexintegerобязательный
undo

Отменяет последнее действие в REAPER. Возвращает: Объект с описанием отмены.

Параметры

Без параметров.

unselect_all_items

Снимите выделение со всех медиафайлов.

Параметры

Без параметров.

unselect_all_tracks

Снять выделение со всех дорожек.

Параметры

Без параметров.

zoom_to_project

Масштабирует окно аранжировки, чтобы показать весь проект.

Параметры

Без параметров.

zoom_to_selection

Приближает arrange view к временному выделению.

Параметры

Без параметров.

1.9.2основная
1.9.1
1.9.0
1.8.0
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.1
1.3.2
1.1.0
1.0.0

Выберите клиент, чтобы установить TwelveTake-Studios/reaper-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "twelvetake-studios-reaper-mcp-rid5y87yku": {
      "command": "uvx",
      "args": [
        "twelvetake-reaper-mcp"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "twelvetake-studios-reaper-mcp-rid5y87yku": {
      "command": "uvx",
      "args": [
        "twelvetake-reaper-mcp"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "twelvetake-studios-reaper-mcp-rid5y87yku": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "twelvetake-reaper-mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"twelvetake-studios-reaper-mcp-rid5y87yku\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"twelvetake-reaper-mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "twelvetake-studios-reaper-mcp-rid5y87yku": {
      "command": "uvx",
      "args": [
        "twelvetake-reaper-mcp"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add twelvetake-studios-reaper-mcp-rid5y87yku -- uvx twelvetake-reaper-mcp

Либо через JSON-конфиг:

claude mcp add-json twelvetake-studios-reaper-mcp-rid5y87yku "{\"command\":\"uvx\",\"args\":[\"twelvetake-reaper-mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add twelvetake-studios-reaper-mcp-rid5y87yku -- uvx twelvetake-reaper-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.twelvetake-studios-reaper-mcp-rid5y87yku]
command = "uvx"
args = ["twelvetake-reaper-mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите TwelveTake-Studios/reaper-mcp, а в поле команды запуска — строку ниже:
uvx twelvetake-reaper-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "twelvetake-studios-reaper-mcp-rid5y87yku": {
      "command": "uvx",
      "args": [
        "twelvetake-reaper-mcp"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "twelvetake-studios-reaper-mcp-rid5y87yku": {
      "command": "uvx",
      "args": [
        "twelvetake-reaper-mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например twelvetake-studios-reaper-mcp-rid5y87yku.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: twelvetake-studios-reaper-mcp-rid5y87yku
    command: uvx
    args:
      - "twelvetake-reaper-mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "twelvetake-studios-reaper-mcp-rid5y87yku": {
      "command": "uvx",
      "args": [
        "twelvetake-reaper-mcp"
      ]
    }
  }
}

Похожие MCP-сервера

skyworkai/mureka-mcp

skyworkai/mureka-mcp

от skyworkai

Mureka MCP сервер даёт ИИ-агентам (Claude Desktop, OpenAI Agents) возможность генерировать тексты, песни и фоновую музыку (инструментал). Полезен музыкантам и разработчикам для автоматизации создания аудиоконтента.

Python⭐ 121
ellmos-ai/n8n-manager-mcp

ellmos-ai/n8n-manager-mcp

от ellmos-ai

MCP сервер для управления n8n workflow через AI ассистентов — Claude, Cursor и других. Включает 18 инструментов: создание, редактирование, активация, экспорт и импорт workflow, безопасность с резервными копиями и аудитом. Подходит для автоматизации и интеграции.

TypeScript⭐ 2
gaudiolab-jp/gaudio-developers-mcp

gaudiolab-jp/gaudio-developers-mcp

от gaudiolab-jp

MCP-сервер Gaudio AI API. Извлекайте вокал, инструменты, диалоги, музыку и эффекты из аудио/видео, синхронизируйте текст с таймкодами через естественный язык в AI-инструментах музыкантам, редактора...

TypeScript⭐ 1
daisys-ai/daisys-mcp

daisys-ai/daisys-mcp

от daisys-ai

MCP инструмент Daisys соединяет ИИ-агентов с облачной платформой Daisys. Разработчики и пользователи могут управлять функциями Daisys через естественный язык напрямую из Claude Desktop или других M...

Python⭐ 14
ContextPulse/contextpulse

ContextPulse/contextpulse

от contextpulse

ContextPulse — локальный MCP-сервер для AI-агентов: в реальном времени захватывает экран, голос, буфер обмена и активность мыши/клавиатуры. Всё остаётся на вашем ПК — без облака и телеметрии. 35 MC...

Python⭐ 1
helbertparanhos/n8n-pro-mcp

helbertparanhos/n8n-pro-mcp

от helbertparanhos

MCP сервер для полного управления self-hosted n8n: 51 инструмент охватывает workflows, executions, теги, credentials, проекты, пользователей и мониторинг с поддержкой queue mode. Полезен DevOps и р...

TypeScript⭐ 3
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин