AIMP Forum

AIMP for PC => Плагины / Plugins => Дополнения / Addons => Декодеры / Decoders => Topic started by: Ithrul on December 09, 2025, 05:07:02

Title: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: Ithrul on December 09, 2025, 05:07:02
[catalog_card=1372]

Представляю вашему вниманию плагин для воспроизведения файлов Reason RX2 / REX / RCY в AIMP.

Плагин протестирован на тестовых примерах из REX SDK 1.7, 1.8.1 и 1.9.2 и корректно
учитывает BPM, размер такта и позиции слайсов.

Разрабатывал плагин лично, поэтому буду благодарен за результаты тестирования,
найденные ошибки и предложения по улучшению.

Ссылка на GitHub:
https://github.com/Ithrul/AIMP_RX2_Decoder_Plugin

Важно!
На данный момент плагин полностью поддерживает как 64-битную, так и 32-битную версии AIMP
и работает «из коробки» в обоих случаях.

32-битная версия библиотеки REX Shared Library.dll (v1.8.1), необходимая для
воспроизведения RX2 / REX / RCY файлов, была предоставлена разработчиком Reason Studios
и включена в дистрибутив плагина. Это последняя доступная версия библиотеки для
32-битных приложений.

Для 32-битной версии плагина реализован отдельный legacy-загрузчик библиотеки,
что позволяет корректно работать с REX Shared Library.dll и избежать известных
проблем и ограничений старой ветки SDK.

Тем не менее, для долгосрочной совместимости и поддержки будущих форматов REX
по-прежнему рекомендуется использовать 64-битную версию AIMP и плагина.

Плагин можно установить вручную или через настройки AIMP.
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: Ithrul on December 18, 2025, 03:15:35
UPD: обновление плагина

1) Плагин был доработан с учётом требований документации REX SDK.
Исправлена обработка ошибок и поведение декодера таким образом, чтобы
оно соответствовало REX Compliance Test Protocol, описанному в документации SDK.
На данный момент плагин корректно проходит тесты из набора REX Test Protocol Files.

Для желающих самостоятельно проверить:
REX SDK доступен бесплатно на официальном сайте Reason Studios:
https://developer.reasonstudios.com/downloads/other-products 
Тестовые файлы RX2 / RCY / REX находятся в папке
REX Test Protocol Files.

2) Проверена и отлажена обработка тестового RX2-файла, с которым ранее
наблюдалось некорректное поведение.
В том числе это было сделано благодаря переписке с разработчиком из Reason Studios.
Проблема устранена, поэтому упоминание о ней удалено из исходного поста
как неактуальное.

Также получено подтверждение от Reason Studios на публикацию исходного кода
плагина. Исходники выложены на GitHub, ссылка добавлена в первый пост темы.

3) В настоящее время направлен запрос в Reason Studios с вопросом о возможности
получения и распространения легальной 32-битной версии библиотеки
REX Shared Library.dll.
На данный момент в REX SDK включена только 64-битная версия библиотеки,
распространение которой разрешено официально.
После получения ответа информация о поддержке 32-битной версии будет обновлена.

Как и раньше, буду благодарен за тестирование, отчёты об ошибках
и предложения по улучшению.
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: Ithrul on January 19, 2026, 00:48:25
UPD: Обновление до версии 0.9.7

Добавлена полноценная поддержка AIMP 32-bit без необходимости самостоятельного
поиска и установки 32-битной версии REX Shared Library.dll.

Разработчик Reason Studios John Engström предоставил последнюю доступную
32-битную версию REX Shared Library.dll v1.8.1 для дистрибуции с плагином,
а также дал рекомендации по корректной интеграции библиотеки.

На основе этих рекомендаций в плагине был реализован отдельный legacy-загрузчик
для 32-битной версии, что позволило устранить потенциальные проблемы и обеспечить
стабильную работу воспроизведения RX2 / REX / RCY файлов.

Дополнительно в коде плагина реализована загрузка REX Shared Library.dll
исключительно из папки плагина, что исключает использование сторонних или
несовместимых версий библиотеки и повышает стабильность работы.

Теперь:
- 32-битная версия плагина полностью работоспособна
- библиотека включена в дистрибутив
- установка и использование не требуют дополнительных действий

Спасибо Reason Studios и отдельно John Engström за отзывчивость,
помощь с разработкой и предоставленную возможность довести поддержку
32-битной версии до стабильного состояния.
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: «G-Li†ch» on February 02, 2026, 08:55:28
Хм, как интересно… А то чё-то у 32-разрядного Reaper`а версия REX Shared Library.dll указана тоже точно такая же (1.8.1.40960), но весит 1900000 байт, причём ещё и debug (а ещё с .gfids, .tls и .00cfg), а тут уже 2011136 байт и без "мусорных секций" :)
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: Ithrul on February 02, 2026, 10:53:01
Другой build той же версии, более свежий, судя по дате. Глянул сравнил заголовки, в DLL из Reaper linker version 14, в версии, которую мне прислали из Reason - 11.
К сожалению в поле product version в версии 1.8.1 библиотеки номер build записан как PROPBUILDNUMBER, что какбе намекает, что в Reason уже забили на допиливание 32-битной версии и, увы, из-за этого конкретный номер build так не посмотреть. Могу предположить, что по моему запросу мне скинули SDK, где в составе DLL давно скомпиленый, а по запросу для Reaper сделали build отдельный в 2023 году, использовав C++ 14 вместо 11, который был в 2013 году. Насчет debug, в SDK две версии DLL, testing и deployment, т.е. debug и почищенный release соответственно. Я с плагином выложил версию deployment.
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: «G-Li†ch» on February 09, 2026, 08:23:51
Скорее в 2020-м — дата изменения файла ошибочна, т.к. тот абсолютно идентичен тому, что был ещё в 6-й версии Reaper`а из 2020-го (когда его "только-только" начали «темнить»)… К слову: версия ReWire там 1.8.2.40960 — такая же и у последней 32-разрядной версии FL Studio (только тут ещё в "довесок" цифровая подпись от IL), однако TimeDateStamp у обоих аж за октябрь 2011-го!
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: Ithrul on February 09, 2026, 13:19:25
Если интересно, 32-битную версию плагина я изначально отлаживал на REX-библиотеках, которые шли в составе коммерческих продуктов и не предназначались для дальнейшей дистрибуции, пока ждал официального ответа от Reason, т.к. в SDK 1.9.2, доступном для публичного скачивания, есть только 64-битная версия.
Собственно поэтому я отдельно писал в Reason Studios, чтобы получить библиотеку, которую можно распространять вместе с плагином. В итоге получилось так, что DLL из SDK 1.7, полученная от Reason, оказалась побайтово идентична той библиотеке, на которой велась отладка (из папки Helper Native Instruments), а DLL из SDK 1.8.1 совпала с библиотекой, которая у меня уже была в Battery 4.
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: «G-Li†ch» on February 09, 2026, 14:16:52
лул, так та ж библиотека всего-навсего 275968 байт была? xD… Она же кстати была и у последнего 32-разрядного Cubase 8.5 (ноябрь 2015), и у Studio One 3 (тоже 2015)… впрочем, не удивитиельно — один из последних 32-разрядных Traktor Scratch Pro от тех же нейтивов тоже… У меня от четвёртой "батарейки" тоже валяется "REX Shared Library.dll", с датой изменения 2017 г (как и Ableton Live 9.7.5, только этот за октябрь) — но на деле это один и тот же файл, собранный ещё в сентябре 2010-го — последний 32-разрядный SONAR Platinum (того 2017-го) как раз оказался правдивее всех (дату изменения этой библы сохранили в соответствии с её TimeDateStamp)!
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: Ithrul on February 09, 2026, 14:42:30
Да, 1.7 компактнее, но я решил включить в сборку 1.8.1 как последнюю версию этой ветки, на мой взгляд, это логичнее.
Для сравнения, debug-сборка 1.8.1 вообще весит 4 293 120 байт.

В прошлом году Battery 4 обновлялся до версии 4.3.1, я обновил через Native Access, судя по дате файла, REX DLL там как раз тогда и была заменена.
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: Artem on February 09, 2026, 14:54:55
1.8.1 как последнюю версию этой ветки, на мой взгляд, это логичнее.

Вполне логично. По возможности нужно использовать актуальные билды
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: «G-Li†ch» on February 09, 2026, 15:42:47
Прикол :) у 4.3.1 же нету 32-разрядного VSTi (2/3/Standalone), оставил ли Native Access 32-разрядную версию у вас или её уже тогда не было? (а то вот "установщик" реактора 6.4.2 предупреждал, что 32-разрядную версию удалит)… Найдя в интернете .iso`шку с версией 4.3.1, лезу в папку OFFLINE, и, действительно, в одной подпапке рядом 64-разрядной лежит 32-разрядная, полностью совпавшая с тем, что у "aimp_rx2_plugin" :)
Ну теперь точно Battery 4 мне придётся грохнуть (судя по "слишком поздно исправленной" проблеме с увеличением размером файла проекта при каждом сохранении, или же мне такое довелось заметить с другим VST(3)i, может даже бесплатным)…
Спасибо! Было очень интересно узнать, что не у одного рипера оставили 32-разрядную библу :)
добавлено пару месяцев спустя:
Ага! Вот так поворот: у грёбанного Traction Waveform 8 (2017) таки оказалась именно последняя 32-разрядная REX Shared Library.dll (в отличие от всех остальных DAW) — такая же, как выложена тут!
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: Ithrul on February 09, 2026, 17:17:58
Спасибо за проверку и обратную связь!
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: «G-Li†ch» on February 09, 2026, 22:40:48
Э-ээ… как бы ещё не за что было (проверить собственно уже в самом AIMP до меня ещё руки не дошли), посему, отчитаюсь, что Cakewalk`овские .rx2, шедшие в комплект с RXP, Dimension, DropZone, вроде как читаются как положено (всякие “Smart Loops” и “Loopmasters”, “Multisamples\72 - REX Drum Loops”)… у Beatscape например один из полдесятка самых длиннющих (1 минута 36 секунд) Gorilla-120\Kick-Gorilla-120.Rx2 весит меньше 630кб, однако самый "найтяжелейший" (7мб) Persiahouse-58\Combo-Persiahouse-58.Rx2 длится всего 34 секунды… Так вот Beatscape что-то сильно долго/нудно как-то "прослушивается" — даже разрезание "reverse-cymbal" поверх kick`а как будто "не в тему" прослушиваются… А вот у “Sample Magic” явно расходится: в именах файлов подписан один темп, а в "Информации" BPM=130, и, соответственно, воспроизводит их так же быстро, похоже, придётся искать "редактор тегов" для .rx2, чтоб массово внутри каждого задать BPM из их имени…
Ладно там к foobar2000, но чтоб аж к AIMP`у присобачить поддержку REX`ов — вот уж что необычно и удивительно :) жаль, что сам движок отыгрывает "огрызок" (щелчок/стук/хруст) из только что проигранного файла в моменте "паузы при переходе на следующий элемент в списке воспроизведения", но эту проблему мне доводилось замечать даже в электричках "бизнес-класа" :)
В любом случае, мне уже давненько очень не хватало такого, чтоб не запускать DAW, обойдя влияние темпа проекта, ну ещё и с возможностью перемотки (у RXP DXi длиннющие.wav воспроизводилсь с очень низким Pitch, что жутко раздражало)…, и всё лень было заняться поиском какой-нибудь отдельной Standalone проги, куда можно было б Drag'n'drop`нуть и воспроизвести (а ещё бы и перемотать) или уже в крайнем случае попереключать MIDI-контроллером/клавой да разобрать тысячи файлов.rx2… а то если я уж и лезу в MediaBay, то ради выковыривания aiff/wav/Brodcast WAVE из .vstsound`ов (причём даже из тех "папок", чьи имена начинались с точки, т.е. не отображавшихся в Cubase/Nuendo «из коробки»)…
Но помимо "зависимости от темпа проекта" меня больше бесит воспроизведение в одной и той же ноте "до" — хорошо, что таких.rx2 у меня гораздо меньше, чем .wav :), а было б возможно присобачить AIMP`овские "ругулятуры" Pitch и/или Speed непосредственно к изменению скорости воспроизведения каждого "элемента" внутри .rx2 (впрочем, как и для нот/темпа в MIDI, а не умудряться искажать уже декодированные аудиоданные), то было б совсем другое дело!
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: Ithrul on February 10, 2026, 00:58:02
Если будут конкретные проблемы — можно посмотреть.
Для этого нужны сами файлы: соберите проблемные .rx2 и пришлите ссылку в личку с кратким описанием, что именно не так в каждом. Посмотрю, и если что-то можно поправить на стороне плагина, то отпишусь здесь.

Отдельно по поводу проверки: Reason сделали ReCycle бесплатным и выложили у себя на сайте. Он поддерживает drag’n’drop и позволяет наглядно посмотреть темп, слайсы, покрутить pitch/speed, выгрузить в wav и т.д., можно сравнить поведение с воспроизведением в AIMP. Я при разработке сверялся именно с ReCycle как с эталонной реализацией, так что если файл там читается так же, как в плагине, значит вопрос уже не к декодеру.
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: «G-Li†ch» on February 10, 2026, 09:38:54
Нее… мало того, что минимальные системные требования — Win10/11 64-bit, так ещё для его загрузки нужна регистрация… Кое-как удалось хоть где-то найти версию 2.2.4 (за декабрь 2012), но там вовсе не оказалось REX Shared Library :) Однако и тут так же определило — тупо приписали значение темпа (до меня дошло, почему "1 минуту 36 сек" играло — "скручено" до 20 BPM, однако в редакторе Original BPM указан 120)
Казалось бы, ну подумаешь, добавить бы тупо опцию "использовать оригинальный темп", но, колупаясь дальше, у того же Beatscape попались слишком уж "продырявленые" (явно слышна тишина между разрезанными кусками), а Original BPM полностью совпадает с текущим — задаю темп чуть быстрее — о, уже "более гладко" (нету резкой тишины)… Впрочем, у подавляющего большинства из Sample Magic та же история — 130 и там и сям упс, не везде: регулятор Tempo заблокирован (недоступен)! Понятия не имею, как заставить ReCycle проанализировать реальный BPM, такое чувство, будто бы специально так делали… такой вот "своеобразный" метод "защиты от использования" :)
Кидаю один из "правильно воспроизводящихся" ReCycle`ом (но не AIMP`ом) "Sample Magic\Soundtrack & Chill\sc_vox60_distantsun_Gm.rx2" в Sonar Platinum, и… в его "Loop Construction" почему-то при нажатии на каждый "кусок" вижу 42.594 BPM (хотя у ReCycle = заблокировано на 130.0, а Original=60.0 BPM)… кидаю его же в Cubase (тот хотя бы куски объединил в партии) и сразу вижу, как оно "круто и удобно" сделано: куски наложены друг на друга! Но вот если задать 60BPM, то и у Cubase слышны "щелки" :(
Мда, припоминаю, что в RXP мне не удавалось адекватно задействовать их "целиком как есть"… Бедняга RXP "брызгает" звуки, когда конкретно этот .rx2 загружен, хотя переходы более-менее (но всё равно заметны) :) походу, придётся кидать в Cubase прямо на дорогу и вручную ровнять каждый огрызок внутри партий и crossfade`ить…
А по поводу "лишнего мегабайта кода"… эмм… А надо ли? Вполне может оказаться так, что архитектура AIMP просто не способна использовать полноценно возможности новой версии (разве там были какие-то ошибки исправлены?), мало ли какой-нибудь алгоритм "растяжения" или ещё чего…
к сожалению, мне уже попадались "испортившиеся распаковывальщики", неспособные извлечь создаванное ещё более ранними версиями:
InnoUnp 1.72 смог достать файлы из "не столь старого" установщика (на котором 0.50 уже обламывается), а 2.65, 2.66.2 выдают ошибку (ну хотя бы из новейших установщиков извлекают)!
Проблема только остаётся в том, что такие "удачные" версии труднее достать! Вспоминаются отдельные "i*comp.exe, что только под конкретные версии InstallShield подходили, когда "только последними" не прокатывало (хоть в до-Windows`овской эпохе такое считалось нормой), но те хотя бы на многих сайтах сохранились, в отличие от innounp!
BCM 1.65 (2021г) не может разжать файл, закодированный в BCM 1.00. Но тут разработчик хотя бы заявляет об отсутствии обратной совместимости. Тоже у 1.70 и новее, но те в добавок больше не 32-разрядные (уже не интересно).
Если уж заливать их в интернет, то уж точно не больше гига (частями по 528 МБ вполне достаточно), да и не только интернет — банально даже на hdd зачастую проблематично разместить по разделам… Уже жалею, что для exFAT-раздела был выбран размер кластера в 32МБ — казалось, само то для файлов.ISO (особенно если их придётся подправлять), но не тут-то было…
Title: Re: Плагин для воспроизведения файлов REX от Reason (RX2, REX, RCY)
Post by: «G-Li†ch» on February 15, 2026, 11:29:48
О, до меня дошло… можно ж было ещё дать возможность грузить .rx2 как CUE-list (т.е. каждый slice отображать отдельным элементом в списке воспроизведения)!