Yamaha S-YXG50 Portable VSTi v1.0.0 [2016/04/25] (MIDI-синтезатор)

Программный MIDI-синтезатор для Windows, который работает как VSTi-плагин. Поддерживает расширения Yamaha XG и Roland GS, что является уникальной особенностью S-YXG50. Был частью пакета Yamaha SOL2. Yamaha прекратила поддержку данного программного синтезатора в 2003 году, поэтому была создана переносимая версия этого VSTi, не требующая установки и ключей в реестре. Используется встроенная в ресурсы DLL-файла официальная 4MB-версия wavetable, лучше которого для S-YXG50 не выпускалось.

Скачать: yamaha_syxg50_vsti.7z (3.0MB).

Что нового в этом патче?

  • Не требуется установка. SYXG50.DLL теперь всегда читает файлы из своей директории.
  • Файлы таблиц звуковых данных расшифрованы и сохранены в ресурсах DLL-файла.
  • Если же их удалить из ресурсов, то VSTi будет искать их в своей директории (SXGBIN41.TBL, SXGWAVE4.TBL).
  • Полностью удалён антиотладочный код, код проверки серийного номера и код trial-режима.
  • Скрытые настройки читаются из ini-файла с именем, аналогичным имени dll-файла, но с расширением ini.
  • По умолчанию лимит полифонии равен 128.
  • Более частые обновления информации в GUI.
  • Кнопка Help будет спрятана, если нет файла SYXG.CHM.
  • Мета-информация VST находится в ресурсах (String Table), поэтому при необходимости её можно легко изменить.
  • GUI может быть выключено и ресурсы GUI могут быть удалены, в результате чего этот VSTi будет работать как SGP.DLL.

Этот патч никак не влияет на синтез звука оригинального VSTi. Это было протестировано на сотнях MIDI-файлов, чтобы убедиться, что вывод побитово идентичен оригинальному S-YXG50 VSTi с теми же настройками.

Как использовать

Для проигрывания MIDI при помощи этого синтезатора необходимо настроить какой-нибудь VST-хост. В качестве него может выступать ваш любимый плеер, только нужно найти соответствующий плагин. В качестве примера ниже приведено несколько инструкций. Для проверки корректности настройки послушайте bi2_polkovnik.mid (35KB) — он должен звучать идентично записи bi2_polkovnik_syxg50.ogg (2.0MB).

VSTi MIDI Driver (как системный MIDI-синтезатор)

VSTi MIDI Driver позволяет использовать любой VSTi как глобальный системный MIDI-синтезатор. В данном случае каждая игра или MIDI-плеер, которые используют стандартный системный MIDI-синтезатор, будут использовать Yamaha S-YXG50 VSTi.

  1. Установите Falcosoft VSTi MIDI Driver.
  2. Если у вас Windows 8 и новее, также установите Coolsoft MIDI Mapper.
  3. Скопируйте syxg50.dll из yamaha_syxg50_vsti.7z в любой каталог.
  4. Откройте настройки VSTi MIDI Driver, нажмите кнопку Load VSTi и выберите syxg50.dll.
  5. Откройте MIDI Mapper и выберите VST MIDI synth в выпадающем списке Default MIDI synth.
  6. Готово! Yamaha S-YXG50 VSTi будет использоваться как системный MIDI-синтезатор по умолчанию.

Yamaha S-YXG50 WDM (официальный драйвер только для Windows XP)

VSTi MIDI Driver поддерживает Windows XP/Vista/7+, но на Windows XP лучше использовать официальный Yamaha S-YXG50 WDM-драйвер, который можно скачать с серверов Microsoft Windows Update: 4MB-версия (лучше качество, расходует больше ресурсов), 2MB-версия (хуже качество, расходует меньше ресурсов). Установка этого WDM-драйвера производится вручную при помощи мастера установки оборудования в панели управления. Не забудьте выбрать Yamaha S-YXG50 как синтезатор MIDI по умолчанию в системных настройках звука. Когда используется Yamaha S-YXG50 WDM, в VSTi версии этого синтезатора нет необходимости.

foobar2000 (лучший плеер для тех, кто влюблён в музыку)

foobar2000 не использует системный MIDI-синтезатор, но это не является недостатком. Это позволяет использовать Yamaha S-YXG50 VSTi без установки драйверов в систему, что более надёжно.

  1. Скачайте и установите плагин foo_midi с сайта foobar2000.
  2. Создайте в каталоге foobar2000 подкаталог с именем vsti и скопируйте в него файл syxg50.dll из yamaha_syxg50_vsti.7z.
  3. Откройте в плеере настройки, Advanced → Playback → MIDI Decoder → VSTi search patch, укажите в этом поле полный путь до созданного вами подкаталога vsti, после чего примените изменения и перезайдите в окно настроек.
  4. Перейдите в Playback → Input → MIDI synthesizer host. В выпадающем списке plug-in выберите Yamaha S-YXG50, примените изменения.
  5. Готово! Теперь MIDI в foobar2000 будут воспроизводиться при помощи Yamaha S-YXG50.

Ссылки

  • yamaha_syxg50_vsti.7z (3.0MB) — версия со встроенным 4MB wavetable, для обычного использования.
  • yamaha_syxg50_vsti_ext.7z (4.0MB) — версия с внешними 2MB и 4MB wavetable, для экспериментов.
  • bi2_polkovnik.mid (35KB) и bi2_polkovnik_syxg50.ogg (2.0MB) — MIDI и пример его корректного звучания для проверки корректности настроек вашего плеера и работоспособности самого VSTi.
  1. #1351
    VEG Автор

    YAMAHA User, мне интересен в первую очередь оригинальный S-YXG50, поэтому если я и буду дорабатывать, то его. Впрочем, он же лежит в основе «TyRUS», так что все нужные доработки в него можно будет скопировать при желании.

  2. #1352
    «G~Lí†ch»

    Ради прикола, попытался достать музяку одного француза с Menu.zik (201кБ) с арканоида 3DRTBrickBlaster... Да, это на самом деле MOD (всего 4 канала), но изврат с нотами – это нечто... Ладно, когда на ноте звучит целый аккорд (пэд), но вот бас играет совсем не те ноты, которые на деле "звучат" (т.е. высота тона звучит одинаковая, меняется только тембр (разный LP-фильтр), но нота, вызывающая этот звук, другая!). Порядок, навести можно (транспонировав некоторые ноты "на место", да и объединив на один канал), останется только подписать CC#74 и CC#71, ну и проч. А что касается ударника, так второй sample проигрывает два удара бочки, потом хэт, потом тихая бочка (и всё за одну "ноту"). Хотя, чаще попадаются модули, в которых аж целые циклы записаны! И чтоб изменить темп, надо менять частоту... Вот и как после такого "конвертировать" треккерные форматы в MIDI?
    У меня уже давно возникала мысль сделать доступным звуковой банк ямахи, чтоб можно было использовать её звуки в трекерных модулях (как в OpenMPT – загружать прямо из GM.DLS или .SF2 файлов). Поэтому тут и вёлся разговор о том, чтобы сделать банк в sf2 формате.
    Илья, вместо того, чтобы засорять винт копиями одного и того же файла, можно сделать жёсткую ссылку (fsutil hardlink create или на висте: mklink /H), раз хост не может загрузить несколько "копий" одного и того же синта... Да и вообще, если б и был такой формат, то не каждый проигрыватель сможет его "завести". А практически, ничем не отличается от комплектации MIDI файла с целым банком звуков, из которого используется лишь малая часть, а ещё его надо указывать в проигрывателе. Не знаю, сможет ли, но мне самому интересно повесить на AIMP (который только 32-битный), какой-нибудь 64-битный VSTi, хоть бы из-под Wine... Такие форматы, возможно и будут интересны музыкантам, но только не для простого слушателя, у которого и проигрывателя такого нет... Вон люди умудряются скачивать музыку в виде исполняемых файлов, и я даже удивляюсь, как они ещё воспроизводятся.. А тут скачают, посмотрят — а звука нет, а почему, никто и не догадается... Трекерный модуль в себе содержит уже всё что нужно (на то он и модуль), многие проигрыватели уже имеют встроенный декодер, однако в некоторых модулях подписывали, что mod4win воспроизводит модуль неправильно (какие-нибудь эффекты, ramping), и лучше использовать FT2 или XMPlay). А тут, чтоб воспроизвести «ВСТ МИДИ», надо предварительно настроить, чтобы проигрыватель видел VST синтезатор, а потом ещё научить "подключать" его "по-требованию"... Или может я что-то неправильно себе это представляю?.. Теоретически, можно создать "специальный SysEx" с именем этого файла (только ASCII или, возможно, UTF-7), но нужно чтоб декодер его интерпретировал как комманду загрузить банк (или синт), и перед воспроизведением подождать, пока не загрузится (если ещё не загружен)...
    А если кто сидит только в мобильнике (или phablet'ах), как он себе этот синтезатор поставит, чтоб прослушать этот файл?
    Вспомнились форматы, в которых записываются даже сами настройки генераторов, и мне стало интересно, можно ли повторить звучание CMF со старых DOS'овских игр в MMF-ках (преобразовать OPL в MMF-voice'ы)?

  3. #1353
    Илья

    Меня в музыке, записанной в треккерных форматах, разумеется интересуют не все подряд композиции. Я конвертирую IT и XM в MP3 и прослушиваю в MP3 плеере. Иногда из 1000 может не понравится ни одна, а иногда попадаются несколько очень интересных. Ниже по уровню, чем S3M, я не слушаю. Этой музыки можно бесплатно накачать много в интернете и, судя по тому что скачивать предлагают и западные порталы, законы об авторских правах тут не нарушаются. В основном это музыка "народная слова не знаю чьи". А музыку из арканоидов и прочих игрушек наверное уже плагиатить никто не станет :) Но там попадаются композиции с очень интересными авторскими находками в плане построения и применения эффектов. Конечно, не всё можно сконвертировать в МИДИ. Ведь сэмплы могут быть сделаны из чего угодно, а МИДИ - наборы конкретных инструментов и звуков. Но наверное первым препятствием становится ограничение МИДИ 16 каналами. Есть хорошая программа конвертации 2MIDI с сайта http://www.un4seen.com/ , но она не позволит создать МИДИ больше чем с 16 каналами. Другие программы могут записать больше миди каналов без привязки к миди стандарту и далее придётся "втискивать" их в формат. ВСТ МИДИ позволил мне использовать неограниченное число каналов, а индивидуальный банк на каждом канале позволил исполнять дуэты, трио и т.д. одного и того же инструмента на нескольких каналах. В модулях эффекты с одним инструментом на разных каналах используются часто и никакими хорусами-дилеями в миди таких эффектов не добиться. Мне показалось проще дать порядковые номера портабельным синтезаторам с встроенной библиотекой, чем искать какие-то другие пути. Благо размер невелик и даже 50 одновременно играющих таких синтезаторов систему не перегружают.

  4. #1354
    Sam

    Сергей,

    Do you have a working link to full version of XG-Wizard & XG-Gold? Thank you.

  5. #1355
    Максим

    добрый день, решил приобрел YAMAHA QS300, у нее есть редактор звуков, называется XG-Gold. Здесь кто-то выкладывал,но ссылка не работает, не могли бы выложить файл. Буду благодарен.

  6. #1358
    Pat

    В Yamaha MU80 Wave ROM 8Mb (в отличии от S-YXG50, MU50, DB50XG, QS300 и.д.) 4 микросхемы памяти по 16Mbit. Где-то у меня были дампы этих микросхем + дамп программной ПЗУ в которой, помимо всего прочего, содержится и таблица параметров. Если еще актуально могу поискать...

  7. #1361
    Wlad

    Pat, спасибо)

  8. #1362
    Александр

    Здравствуйте ! Такая проблема. Виндовс ХР ,звуковая карта creative sb audigy 2 zs platinum .Не хочет воспроизводить файлы МИДИ в программе visual arranger . В виндовс проигрывателе играют,но коряво.WAV файлы звучат нормально.Подскажите как исправить эту беду.

  9. #1363
    Sheleh

    Всем привет! Какое чудо, что я нашел этот блог!

    В общем вопрос. У меня есть Yamaha CS1x (это наверное родственник MU50). Так вот на нем есть один обалденный перформанс SCDoves.
    Вот я его записал https://soundcloud.com/alelsey-sheleh/cs1x-performance-scdoves-sound

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

    Так же есть еще интересные пэтчи https://cloud.mail.ru/public/2H5a/2cxKWoyBX от CS1x

    Вообще чем их редактируют, и реально ли их в какой то степени достоверности загрузить в MU128? Пусть даже ручками как то адаптируя в случае отсутствия прямой совместимости?

  10. #1364
    Sheleh

    И забыл спросить, можно ли такой звук воспроизвести на YX50 vst?

  11. #1365
    Alexys

    Sheleh,
    Ваш CS1X есть "железка" ? Если да, то тогда обалденный звук именно по этой причине, поскольку звук дает его собственный звуковой процессор.
    На других синтезаторах этот, как Вы говорите "перформанс" будет звучать уже совсем по-другому.
    Честно сказать, не понятен Ваш вопрос. Если касаемо редактуры, тот тут действительно так, как Вам сказали на RMMedia, а именно есть программа XGEdit, только она узконаправленная и подходит для редактирования первых версий ситезаторов Ямаха.
    Так что на Ваш вопрос "вообще, чем их редактируют" я бы ответил - ничем. Банк, что мы редактировали для S-YXG-50 здесь, был редактирован вручную, правкой шестнадцатеричного кода, т.е. без всяких муз программ, ну, кроме подготовки сэмплов, конечно.
    //И забыл спросить, можно ли такой звук воспроизвести на YX50 vst?// - какой такой ? Что это за инструмент, хотя бы какой номер патча или "Program"-контроллера.
    Кстати, Вы можете помочь, в том числе и себе, если сделаете дамп этого патча со своего CS1X, хотя бы прогнав ноты всей клавиатуры с достаточной длительностью. Если, конечно, звук ничем не фильтруется.

  12. #1366
    DM

    Евгений, здравствуйте.

    Поздравляю вас с Новым годом ! Желаю счастья, здоровья и удачи в новом году!

    P.S. Написал вам письмо по одному вопросу, связанному с реверсингом, но, видимо, немного переборщил с юмором и с критикой в адрес одного из посетителей блога. Вы, наверно, решили, что я идиот и отвечать не стали. :=) Жень, ну бывает, что под настроение пошутишь, потом думаешь, что зря, наверное, пошутил - могут неправильно понять. Но, как говорится - слово не воробей, вылетит не поймаешь. Так-то я, вообще-то, человек серьезный, так что вы сильно строго не судите :) А может письмо просто не дошло и попало куда-нибудь в спам? В общем, Жень, если вам не в тягость пообщаться, то подскажите как с вами лучше связаться? Я в ближайшее время хочу заняться реверсингом Yamaha S-YXG50, а без вашего внимания - будет тяжеловато. В том смысле, что заново изучать то, что вы уже изучили.

  13. #1367
    Андрей_Д

    VEG, Здравствуйте Евгений и Народ)).
    Подскажите, что сделать, плиз!
    Виндовс 10-64. Установил VST MIDI Driver 2.21 - 15.01.2012
    из файла midi-x64.zip (vstmididrv.exe syxg50.dll). Скопировал syxg50.dll.
    Открыл настройки, Load VSTi и выбрал syxg50.dll.
    Вкладки Advanced... нету. Всего одна, VST setting... Ещё есть кнопка Setting. Выбор полифонии
    Как выбрать драйвер по умолчанию для системы? В настройках звука его не видно, только
    Роландовский wavetable GM. Звуковая карта юсб Edirol (by Roland) UA-1EX.
    В миди плеере Falcosoft Soundfont Midi Player, s-yxg50 выбирается.
    Спасибо за внимание!

  14. #1368
    DM

    К сожалению, 10-ку временно удалил, а времени переустановить и все настроить не могу выкроить. Были образы почти всех систем, но "полетел" HDD и все накрылось одним неприличным словом =)). Так что проверить у себя не могу, будет ли у меня отображаться вкладка Advanced?

    Вкладки Advanced... нету.

    Ну а вы сами-то как думаете, если VEG написал в описании, что она должна быть, а ее нет, о чем это говорит? В общем, попробуйте найти еще одну 10-ку на какой-нибудь другой машине или поставте себе на виртуалку и проверьте. Если появиться, то значит вам повезло, а если нет, то значит ее ни у кого нет на 10-ке и все работают на 7-ках или, вообще, на XP. Ну это кому нужна вкладка Advanced и правильно настроенный драйвер, имеется в виду ))

  15. #1369
    VEG Автор

    Инструкция писалась много лет назад под Windows 7. Видимо, сейчас способ настройки в Windows 10 изменился. Поскольку я пользуюсь вариантом с foobar2000, не в курсе изменений. Кажется, где-то здесь в комментариях упоминали, что теперь в Windows 10 можно изменить MIDI синтезатор по умолчанию только через стороннюю утилиту типа CoolSoft MIDI Mapper.

  16. #1370
    Андрей_Д

    Спасибо большое! CoolSoft MIDI Mapper установил, разбираюсь))

  17. #1371
    «G~Lí†çh»

    движок работает согласно конфигу (маленькому tbl файлу), и когда с его помощью мне станут известны все возможности движка, тогда я смогу использовать эти возможности, для создания своего синта. (Yamaha все вожможности не использовала)

    Ну-ну… Мне особо интересует, Как «дизассемблировать» (разобрать на составные части) готовые voice (тембра), переконфигурировать каждый из элемент и собрать обратно…
    Самый странный тембр в PSR-S700: Harmo Rain — всего одна октава - "яркий SAW-Brass-подобный синт и без «ціўкания»", а выше - «урезаная фильтром»… Теоретически, можно «сыграть» теми же звуками, изменив Coarse Tuning (RPN 2), но одновременно можно взять звуки только в пределах одной октавы.. если нужно взять аккорд больше — придётся использовать второй MIDI-канал с этим же voice.

    Колупнув XGEditor`ские (SOL2/XGWorks) .tbl файлы (а они очень напоминают .ins, хотя, это скорее просто .ini), обнаружились «знакомые» XG BULK DUMP`ы. Захотелось мне эти .tbl подправить (осовременить, т.е. впихнуть туда следующие XG Bulk Dump`ы:

    [MultiEQ 6-10]
    adrHML=02,02,40,40,20			;adrH1,adrH2,adrM1,adrM2,adlL Top
    size=14
    20=1,34,4c,40,-40,0,0,0,EQ Gain6 (dB)	;size,min,max,def,offset,form,conv,option,name
    21=1,0e,36,1c,0,3,0,0,EQ Frequency6 (kHz)
    22=1,01,78,07,0,1,0,0,Q6
    24=1,34,4c,40,-40,0,0,0,EQ Gain7 (dB)
    25=1,0e,36,1c,0,3,0,0,EQ Frequency7 (kHz)
    26=1,01,78,07,0,1,0,0,EQ Q7
    28=1,34,4c,40,-40,0,0,0,EQ Gain8 (dB)
    29=1,0e,36,1c,0,3,0,0,EQ Frequency8 (kHz)
    2a=1,01,78,07,0,1,0,0,EQ Q8
    2c=1,34,4c,40,-40,0,0,0,EQ Gain9 (dB)
    2d=1,0e,36,1c,0,3,0,0,EQ Frequency9 (kHz)
    2e=1,01,78,07,0,1,0,0,EQ Q9
    30=1,34,4c,40,-40,0,0,0,EQ Gain10 (dB)
    31=1,0e,36,1c,0,3,0,0,EQ Frequency10 (kHz)
    32=1,01,78,07,0,1,0,0,EQ Q10
    
    [Part_PORTA_PSR-S975]
    adrHML=0A,0A,00,1F,00
    size=3	;XG Bulk Dump Size for PSR-S975/S775 — F0 43 00 4C 00 03 0A pr 00 __ __ __ UU F7 (pr: part no, UU: checksum)
    01=1,00,7f,40,-40,0,0,1,Portamento Mono Priority
    02=1,00,7f,40,-40,0,0,1,Portamento Mono Legato
    
    [Part_PORTA_PSR-SX900]
    adrHML=0A,0A,00,1F,00
    size=4 ;PSR-SX900/SX700 XG Bulk Dump looks like this: F0 43 00 4C 00 04 0A pr 00 __ __ __ __ UU F7 (pr: part no, UU: Checksum)
    00=1,00,01,00,0,0,0,1,Portamento Mode: Full, Fingered
    01=1,00,01,00,0,0,0,1,Portamento Mono Priority
    02=1,00,02,00,0,0,0,1,Portamento Mono Legato
    03=1,00,01,00,0,0,0,1,Portamento Mode: Rate, Time
    
    [DrumSet_SRC_XG2001]
    adrHML=30,33,0d,5b,70
    size=4
    70=4,00,7F,7F,0,0,0,0,Source Drum Kit (Bank Select MSB)
    71=0,00,7F,00,0,0,0,0,Source Drum Kit (Bank Select LSB)
    72=0,00,7F,57,0,0,0,0,Source Drum Kit (Program Number)
    73=0,0d,5b,24,0,0,0,0,Source Drum Kit (Note Number)

    Так вот, поведение (реакция) реального (физического, материального) инструмента отличается от виртуального (программного) на приём XG Bulk Dump`ов (по крайней мере, сравнивалось с реальной PSR-S700)! Для реалки, размер Bulk Dump'a (указывающийся четвёртым-пятым байтом SysEx`а F043 004C hh mm ll ******* F7) должен быть указан обязательно верным (соответствующей группе, т.е. таблице, начинающейся с соответствующего low адреса, а под этой таблицей [Total Size: __].)! VSTi можно хоть 7F 7F написать – применит!
    И для реалки и для виртуалки можно слать неполный XG Bulk Dump, однако реалка применяет тот параметр, что шёл до F7, а VSTi игнорирует, ну, или, как я понимаю, разрабы решили, что предпоследний байт XG Bulk Dump`а = "типа" контрльная сумма (хорошо, что и в VSTi и в PSR-S значение контрольной суммы может быть абсолютно любым, это вот для SCVA VSTi почему-то должна быть обязательно пересчитана верно, и это неотключаемо).
    Так вот, хочу, чтобы научили движок поведению PSR-S`ок – чтобы неполный XG Bulk Dump интерпретировал предпоследний байт (до F7) как параметр, адрес которого уже автоматически отсчитывается от первого стартого адреса соответствующей таблицы (см. MIDI Data Format в Syxgctrl.hlp — каждая отдельная таблица - отдельный XG Bulk Dump), а ещё, опционально конечно же: обязательная проверка контрольной суммы (отсчёт которой ведётся после байт F043 004C, т.е. размер тоже учитывается).
    Вот, привожу примеры Bulk Dump`ов (добавлены ещё от спецификации XG 2.00, SW1000XG и от PSR-S`ок)

    в верхней строке ** ** ^^ .. цифры – Под этими байтами контрольная сумма учитывается. Номерами указаны нижние адреса, которые можно использовать простыми XG Parameter Change F043 104C aa bb ## ^^~^^ F7 (^^~^^ = значение) или XG Parameter Request: F043 304C aa bb ## F7). Под ".." помечены адреса, которые невозможно использовать в SysEx`ах XG Program Change / XG Parameter Request.
    __ __ — Под этими байтами контрольная сумма не учитывается;
    !! — Местоположение байта контрольной суммы (UU), что высчитывается по формуле = 80h − ((**h + **h + ^^h + …) mod[80h])
    	XG SYSTEM
    ____ ____ **** ** ** ** 00...... 04 05 06 !! __
    F043 004C 0007 00 00 00 00040000 7F 00 40 37 F7
    ========================== ------------ ----------
    	Reverb Table 1
    ____ ____ **** ** ** ** 00.. 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E !! __
    F043 004C 000E 02 01 00 ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    	Reverb Table 2
    ____ ____ **** ** ** ** 10 11 12 13 14 15 !! __
    F043 004C 0006 02 01 10 ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    	Chorus Table 1
    ____ ____ **** ** ** ** 20.. 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !! __
    F043 004C 000F 02 01 20 ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    	Chorus Table 2
    ____ ____ **** ** ** ** 30 31 32 33 34 35 !! __
    F043 004C 0006 02 01 30 ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    	Variation Table 1
    ____ ____ **** ** ** ** 40.. 42.. 44.. 46.. 48.. 4A.. 4C.. 4E.. 50.. 52.. 54.. 56 57 58 59 5A 5B 5C 5D 5E 5F 60 !! __
    F043 004C 0021 02 01 40 ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ 40 40 00 00 01 7F 40 40 40 40 40 UU F7
    	Variation CBC1 Control Depth
    ____ ____ **** ** ** ** 61 !! __
    F043 004C 0001 02 01 61 40 5B F7	= F043 104C 02 01 61 40 F7
    	Variation CBC2 Control Depth
    ____ ____ **** ** ** ** 62 !! __
    F043 004C 0001 02 01 62 40 5A F7	= F043 104C 02 01 62 40 F7
    	Variation Parameters 11-16
    ____ ____ **** ** ** ** 70 71 72 73 74 75 !! __
    F043 004C 0006 02 01 70 ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    ========================== ------------ ----------
    	Multi EQ Table 1	(полосы 1-5)
    ____ ____ **** ** ** ** 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 !! __
    F043 004C 0015 02 40 00 03 3A 07 13 01 40 21 20 00 3E 20 56 00 3C 28 43 00 40 25 15 01 7A F7
    	Multi EQ Table 2	(полосы 6-10)
    ____ ____ **** ** ** ** 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 !! __
    F043 004C 0014 02 40 20 3A 0F 13 00 40 21 20 00 40 20 56 00 3C 28 43 00 41 32 66 00 77 F7
    ========================== ------------ ----------
    	INSERTION Table 1	ii = Insertion number (00=DSP2, 01=DSP3 … …07=DSP9… 19=Genos' Insertion #28 O_O);
    ____ ____ **** ** ** ** 00.. 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 !! __
    F043 004C 0012 03 ii 00 ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    Этот Bulk Dump можно не использовать, если все control depth`ы (адреса = 0D…11) по-умолчанию (40h) и выбран эффект, MSB которого (…03 ii 00 MM__) равен 05__, 06__, 07__, 08__, 5F__, 60__, 61__, 62__, 68__, т.к. эти эффекты используют 14-битные параметры (см. INSERTION Table 3)! Для установки активной партии для Insertion`а можно использовать второй XG Parameter Change SysEx (F043104C 03 ii 0C pp F7 , pp = part no.) помимо его типа.
    	Insertion CBC1 Control Depth
    ____ ____ **** ** ** ** 12 !! __
    F043 004C 0001 03 01 12 40 29 F7	= (DSP3) F043 104C 03 01 12 40 F7
    	Insertion CBC2 Control Depth
    ____ ____ **** ** ** ** 13 !! __
    F043 004C 0001 03 00 13 40 29 F7	= (DSP2) F043 104C 03 00 13 40 F7
    	INSERTION Table 2
    ____ ____ **** ** ** ** 20 21 22 23 24 25 !! F7
    F043 004C 0006 03 ii 20 ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    	INSERTION Table 3	(14-битные параметры)
    ____ ____ **** ** ** ** 30.. 32.. 34.. 36.. 38.. 3A.. 3C.. 3E.. 40.. 42.. !! F7
    F043 004C 0014 03 ii 30 ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ UU F7
    Этот bulk dump может быть применён только если MSB адрес типа эффекта (…03 ii 00 MM__) равен 05__, 06__, 07__, 08__, 5F__, 60__, 61__, 62__, 68__, 
    ========================== ------------ ----------
    	Special Effect Table 1:
    ____ ____ **** ** ** ** 00.. 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 !! __
    F043 004C 0012 04 пп 00 ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ UU F7	{CGP-1000, CVP-403/405/407/409, CVP-503/505/509, CVP-605, CVP-709; PSR-S900 & PSR-S910, PSR-A2000}
    F043 004C 000D 04 пп 00 ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ UU F7	{CVP-609, CVP-705, PSR-S950, Tyros 5 — Yamaha убарла возможность настраивать Control Offset`ы для этих моделей!}
    пп = номер процессора, в большинстве случаев (особенно навороченных версий PSR-S`ках = 00 (т.к. только один);
    	Special Effect Table 2	(UNIQUE INSERTION EFFECT EXTERNAL CONTROL):
    ____ ____ **** ** ** ** 14 15 !! __
    F043 004C 0002 04 00 14 07 06 59 F7	{PSR-910, PSR-S900, PSR-S975, CVP-109/107/700 CVP-207/209/PSR-2000/3000… CVP-900}
    F043 004C 0001 04 00 14 07 60 F7	{PSR-950}
    	Special Effect Table 3	(Output Level: Lead, Harmony):
    ____ ____ **** ** ** ** 16 17 !! __	{CVP-609… CVP-709, PSR-970, PSR-S975, PSR-SX900, Genos, Tyros 5}
    F043 004C 0002 04 00 16 7F 65 00 F7
    	Special Effect Table 4	(Vocal Effect Dry, Send Level, Lead, Harmony):
    ____ ____ **** ** ** ** 18 19 1A 1B !! __
    F043 004C 0004 04 00 18 7F 55 22 4A 20 F7
    	Special Effect Table 5	(Unique Insertion: Vibrato Depth, Rate, Delay …):
    ____ ____ **** ** ** ** 20 21 22 23 24 25 !! __
    F043 004C 0006 04 пп 20 ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    	Special Effect Table 6	(Vocal Harmony Parameters):
    ____ ____ **** ** ** ** 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 !! __
    F043 004C 0020 04 пп 26 ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ F7
    	Special Effect Table 7	(Vocal Effect 14-bit Parameters):
    ____ ____ **** ** ** ** 60.. 62.. 64.. 66.. 68.. 6A.. 6C.. 6E.. 70.. 72.. 74.. 76 77 !! __
    F043 004C 0018 04 пп 60 ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^ 7F UU F7
    	Special Effect Table 8	(Vocal Effect Parameters):
    ____ ____ **** ** ** ** 7A 7B 7C 7D 7E 7F !! __
    F043 004C 0006 04 пп 7A ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    ========================== ------------ ----------
    	Display data	(32-127 ASCII)	XG SPECIFICATION ≠ 2.00 (2001)
    ____ ____ **** ** ** ** 00.............................................................. !! __
    F043 004C 0020 06 00 00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ UU F7
    ========================== ------------ ----------
    	Display Bitmap ::vh:: v = vertical extension (0-7) h = horizontal extension (F), so maximum = 256x128	{XG SPEC ≠ 2.00, 2001}
    ____ ____ **** ** ** ** 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !! __
    F043 004C 0030 07 vh 00 ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^0 ^0 ^0 ^0 ^0 ^0 ^0 ^0 ^0 ^0 ^0 ^0 ^0 ^0 ^0 ^0 UU F7	(^0 = 00, 20, 40, 60)
    ========================== ------------ ----------
    	MultiPart Table 1:
    ____ ____ **** ** ** ** 00 01 02 03 04 05 06 07 08 09.. 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 !! __
    F043 004C 0029 08 00 00 03 00 73 12 00 01 01 00 40 0810 7F 11 77 40 00 7F 7F 00 00 00 7F 7F 40 7F 00 37 7F 00 40 40 40 7F 00 00 00 28 00 00 7F 00 4F F7
    	MultiPart Table 2:
    ____ ____ **** ** ** ** 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E !! __
    F043 004C 003F 08 0F 30 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 00 00 00 11 40 40 00 00 00 00 00 01 1C 78 13 40 40 01 68 37 F7
    	MultiPart Table 3	(PB LOW, FILT., EQ Gain Bass & Treble):
    ____ ____ **** ** ** ** 70 71 72 73 !! __
    F043 004C 0004 08 04 70 3B 40 40 40 05 F7
    	MultiPart Table 4	(EQ: MidBass & MidTreble Gain, Bass & Treble Frequencies, MidBass & MidTreble Frequencies, Q-s):
    ____ ____ **** ** ** ** 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F !! __
    F043 004C 000C 08 0A 74 00 00 0C 38 00 00 00 00 00 00 00 00 34 F7
    	MultiPart Table 5	(Portamento Mode):
    ____ ____ **** ** ** ** 00 01 02 03 !! __
    F043 004C 0004 0A 06 00 00 00 00 00 6C F7	{PSR-SX700/SX900, Genos} (для 7-й партии)
    F043 004C 0003 0A 02 00 00 00 00 70 F7	{PSR-S775/S975} (для 3-й партии)
    	MultiPart HPF Cutoff FREQUENCY
    ____ ____ **** ** ** ** 20 21 !! __
    F043 004C 0002 0A 04 20 50 00 00 F7	Если адрес 21h так и не используется, то F043 104C 0A 04 20 50 F7 (+16)
    	MultiPart CBC1 Control (Number, Pitch LPF, AMP, LFOs)
    ____ ____ **** ** ** ** 30 31 32 33 34 35 36 !! __
    F043 004C 0007 0A 0D 30 12 40 40 40 00 00 00 60 F7
    	MultiPart CBC2 Control
    ____ ____ **** ** ** ** 38 39 3A 3B 3C 3D 3E !! __
    F043 004C 0007 0A 04 38 13 40 40 40 00 00 00 60 F7
    	MultiPart Table 6	(Control Offsets):
    ____ ____ **** ** ** ** 40 41 42 43 44 45 !! __
    F043 004C 0006 0A 0B 40 40 40 45 20 40 40 00 F7
    ========================== ------------ ----------
    	MultiPart for VL (vl)
    ____ ____ **** ** ** ** 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 !! __
    F043 004C 0017 09 vl 00 01 ^^ 7F 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 UU F7
    ========================== ------------ ----------
    	A/D Part Table 1 (ww – A/D processor number)
    ____ ____ **** ** ** ** 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 !! __
    F043 004C 0015 10 ww 00 08 41 02 08 18 00 00 00 00 00 00 64 00 00 40 00 00 64 00 12 56 00 F7
    	A/D Part Table 2
    ____ ____ **** ** ** ** 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 !! __
    F043 004C 0031 10 ww 30 00 00 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 00 00 00 00 00 00 31 2C F7
    	A/D Part Table 3	(1/2 Part Mono/Stereo Mode A/D Setup)
    ____ ____ **** ** ** **	00 !! __	//не знаю, все ли устройства такое понимают?
    F043 004C 0001 11 00 00	00 6E F7 	=	F043 104C 11 00 NN 00 F7 (NN - A/D PART NUMBER, 0~63) — согласно специфицации, но, что-то подсказывает, что следующее далеко не для всех «железяк»:
    ____ ____ **** ** ** **	00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F !! __
    F043 004C 0040 11 00 00	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6E F7
    	A/D Part Table 4	(SW1000XG Input Category, Subcategory & Serial Number)
    ____ ____ **** ** ** ** 01.... !! __
    F043 004C 0003 11 0D 01 4000?? UU F7	= F043 104C 11 0D 01 4000?? F7 (Audio Part number 14 Connection to Internal Bus=PCI, subtype, serial number = ??)
    	A/D Part Table 5	(SW1000XG Output Select)
    ____ ____ **** ** ** ** 10 !! __
    F043 004C 0001 11 00 10 01 5D F7	— Useless! Better use XG Parameter Change: F043 104C 11 00 10 01 F7
    	SW1000XG System
    ____ ____ **** ** ** ** 00 01 02 03 04 05 06 07 08 09 !! __
    F043 0049 000A 00 00 00 00 00 01 01 01 00 00 00 00 00 73 F7	(EQ Lock)
    	SW1000XG Drum Edit Rcv Note
    ____ ____ **** ** ** ** 10 !! F7
    F043 0049 0001 00 00 10 01 6E F7
    	SW1000XG Output Select LOCK
    ____ ____ **** ** ** ** 11 !! __
    F043 0049 0001 00 00 11 01 6D F7
    	SW1000XG Voice Map
    ____ ____ **** ** ** ** 12 !! __
    F043 0049 0001 00 00 12 01 6C F7	(00=Mu Basic, 01=SW1000XG native voice)
    	A/D Part CBC1 Control Number
    ____ ____ **** ** ** ** 30 !! __
    F043 004C 0001 12 00 30 16 27 F7
    	A/D Part CBC2 Control Number
    ____ ____ **** ** ** ** 38 !! __
    F043 004C 0001 12 00 38 16 1F F7
    ========================== ------------ ----------
    	Drum Setup Table 1	например, назначаем pitched, slow attack & long decay vibraslap в ту же choke group, что и Timbale H:
    ____ ____ **** ** ** ** 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F !! __
    F043 004C 0010 30 3A 00 3F 3E 6A 06 19 7F 7F 7F 00 00 01 40 40 15 40 01 31 F7
    F043 004C 0010 30 41 00 40 40 5B 06 40 7F 7F 7F 00 00 01 40 40 40 40 40 20 F7
    	Drum Setup Table 2	(Drum EQ)
    ____ ____ **** ** ** ** 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D !! __
    F043 004C 000E 30 36 20 40 40 40 40 0C 36 22 2E 07 07 07 07 01 01 3C F7
    	Drum Setup Table 3	(Output Select)
    ____ ____ **** ** ** ** 40 !! __	kk - номер ноты (клавиша), у - номер Drum Setup
    F043 004C 0001 3у kk 40 08 UU F7	{XG SPEC 1.26, 2.00, SW1000XG} 0~7: Stereo 1~8, 8~27h — Ind1+2…Ind63+64, 28~67 — Ind 1~64
    F043 004C 0002 3у kk 40 ^^ ^^ UU F7	{хм, где-то и такое есть…, т.е. ещё используется адрес 41h}
    	Drum Setup Table 4	(HPF Cutoff Freq, Resonance)
    ____ ____ **** ** ** ** 50 51 !! __
    F043 004C 0002 31 22 50 40 40 5B F7
    	Drum Setup Table 5	** XG 2.00 suggested: RESERVED for FILTER additions **
    ____ ____ **** ** ** ** 52…?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??…5F !! __	(не известно)
    F043 004C 00?? 3у kk 52 ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ UU F7
    	Drum Setup Table 6	(Velocity Pitch/LPF Sens, -16/+16)
    ____ ____ **** ** ** ** 60 61 !! __
    F043 004C 0002 3у kk 60 ^^ ^^ UU F7
    	Drum Setup Table 7	(Source Drum Kit note key) — бесполезное
    ____ ____ **** ** ** ** 70...... !! __
    F043 004C 0004 31 52 70 7F001B46 29 F7 заменяет в Drum Setup 2 звук на ноте 82 (Shaker) звуком из Dance Kit (127-000-28), нота которого 70 (Maracas 2).
    F043 104C 3y kk 70 mmllpvss F7 — Лучше этот XG Program Change вместо XG Bulk Dump (i.e. F043 104C 31 52 70 7F001B46 F7)! mm - Bank MSB (i.e. 7F), ll - Bank LSB (i.e. 00), pv - Program number, ss - номер ноты звука, заместившего 'kk'.
    ========================== ------------ ----------
    	PLUGIN
    ____ ____ **** ** ** ** ** !! __
    F043 004C 0001 70 00 xx ?? UU F7	PLG100-VL Part Number (xx: 00~0F=1~16, 7F=OFF)
    F043 004C 0001 71 00 xx ?? UU F7	PLG100-VL Note Filter (xx: 00~0F)
    F043 004C 0001 70 01 xx ?? UU F7	PLG100-SG Part Number (xx: 00~0F=1~16, 7F=OFF)
    F043 004C 0001 71 01 xx ?? UU F7	PLG100-SG Note Filter (xx: 00-0F)
    F043 004C 0001 70 02 xx ?? UU F7	PLG100-DX Part Number (xx: 00~0F=1~16, 7F=OFF)
    F043 004C 0001 71 02 xx ?? UU F7	PLG100-DX Note Filter (xx: 00~0F)
    ========================== ------------ ----------


    Надо было бы проверить правильность моих «подсчётов» контрольных сумм, но, думаю, большинство тут верны… Там где UU - понятно, что неизвестно, т.к. остальные байты не указаны, ведь зависит от типов эффекта или ноты. Хотя, опечатки тоже не исключаю…
    По поводу Drum Setup`а — практически бесполезная вещь, т.к. при смене программы он сбрасывается. А хотелось бы иметь возможность сохранять настройки нот даже после смены программы. Аж прямо говорится, нафига тогда предусмотрен F043 104C 00 00 7D 0у F7 (где у - номер Drum Setup)?
    Т.е. даже если переназначить звуки (в некоторых моделях), а хочется их оставить при смене программы (чтоб не переназначать большую часть нот по ходу воспроизведения, а использовать тупо Program Change), придётся чуть ли не перед каждой нотой перенастраивать её соответствующим SysEx`ом. Т.е. даже NRPN`ы в этом плане удобнее (хоть и не предусмотрена подмена звуков, назначение Choke Group или приём Note Off)…

    Я хоть понимаю, что доводить "до ума" для «полноценной работы в DAW» изначально не планировалось, но всё же хочется, чтоб была возможность хотя бы "выгружать из окна plug-in`а" midi-файл с SysEx`ом хотя бы нескольких XG Bulk Dump`ов, напр., текущие настройки эффектов (сразу два SysEx`а как для Reverb, Chorus так и Variation, хотя, для последнего можно ещё и пару XG Parameter Change для CBC1 и CBC2 Control Depth всунуть), определённых партий (может быть аж 9 XG Bulk Dump`а от MultiPart! Но, но в XG50 вроде как вообще 2, у многих PSR-S`ок – 3)… Похожим образом реализовали TwelveTone Systems в Dimension, Rapture и RXP — "хвать за картинку с «нотками»" - создаётся .mid файл в %Temp% с этим и нотками, только тут вместо нот - SysEx. Да, в ассемблере это реализовывать – та ещё морока… Если DM с этим разберётся, то хорошо…
    Ну а уж с Drum Setup, так это вообще нужно 156 ГРУПП XG Bulk Dump`ов (по 78 нот с каждой группы Drum Setup`а, а групп может быть 4 или больше + простые XG Parameter Change SysEx`ы т.е. больше 900 SysEx`ов). А если отдельно каждый параметр (XG Parameter Request), то SysEx`ов было бы ещё в десять раз больше (over9000+ в буквальном смысле), конечно, многие из них особой пользы не несли бы. Но из-за сбрасывания Drum Setup`а при Program Change видимо для ямахи это норма, т.е., в «хорошо XG-накрученных midi-файлах» нужно вписывать не десятки тысяч SysEx`ов XG Program Change, а XG Bulk Dump`ы. (по 4-6 SysEx`ов на ноту, т.е. в 10 раз меньше)… Если б сброса Drum Setup не происходило, то можно было сэкономить даже мегабайты в таких midi-Файлах :) (т.е. не использовались бы повторяющиеся тысячи SysEx`ы XG Bulk Dump, и тем более десятки тысяч XG Parameter Change, а вместо них был бы одинокий Program Change)…

  18. #1372
    «G~Lí†çh»

    Про опечатки:
    в первом абзаце после первого моноширного блока угловые скобки урезались между "F043 004C" и "hh mm ll…", там было __ __, т.е. должно было высветиться что-то похожее на F043 004C «__ __» hh mm ll **…** uu F7
    ещё:
    1) …движок интерпретировал в неполном XG Bulk Dump`е предпоследний байт (до F7) как параметр, т.е. не игнорировал его (или не считал что это типа контрольная сумма);
    2) {CVP-609, CVP-705, PSR-S950, Tyros 4…5…} — Yamaha убрала возможность настраивать External`ы, для Vocal Harmony…
    а выше, где размер 0012, можно подписать Tyros 1~3.
    3) F043 004C 0001 04 00 14 07 60 F7 {PSR-950, Tyros 4}
    а выше, где размер 0002, дописать ещё Tyros 1~3 и 5 (ага, чё-то только в четвёрке убрали выбор Melody Channel для Vocal Harmony)
    4) в большинстве случаев (навороченных верси PSR-s`oк) — скобка была не закрыта

    Во сколько Data List`ов мне пришлось пересмотреть и пересверять (чтоб «выпутаться»)… Единственный адекватный и более-менее полный на то время Data List был только от CVP-900, т.к. там расшифровано больше SMF Meta событий Sequencer Specific: FF7F06 43730A 0004 01 — начальный такт (откуда начинать воспроизведение) 01 - второй такт по-умолчанию;
    FF7F06 43730A 0007 7F — смещение отображения номеров тактов (т.е. затакты или Intro), или для удобства подсчёта номеров тактов в ансамбле, если синт воспроизводит Song не сначала, можно установить до сотого такта. Кстати, странно, что размер Meta-события в Data-List указан 07…;
    FF7F15 43730A 0006 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 ta tb tc td te tf — не смотря на то, что можно устанавливать значения в диапазоне 0~255 (будто пытаясь сделать очень громко этим событием), hardware инструмент (PSR-S`ка) ведёт себя совсем неожиданно — переустанавливает CC#7 громкость, смещая значения на заданное число, и итоговое число не должно превышать 127… фактически, даже если все числа одинаковы, можем получить разные настройки громкостей (т.е. какой-то канал очень громко, а остальные – слишком тихие).
    FF7F15 43730A 0005 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F — 4F – это буквы O, означающие типа Off. А вот что именно Off — я пока понять не могу. Но могут быть значения: 4B (K: Keyboard), 56 (V: Vocal Harmony) 5A (Z: Other). Ладно бы, если 'O' было типа "No", т.е. нет информации, но Off — что за ?

    Кстати, у роландов-то тоже бывали проблемы с неполной инфой, причём то касалось даже не сколько SysEx`ов, сколько упущенных «замечаний» (типа см. секцию 3 – а секции 3 в тексте-то нет!) – откровенных непроверенных copy-paste, как в VSC: в impl_j.htm (японского help`а) конкретно сказано, что «Машина игнорирует значение контрольной суммы» (чего не скажешь о SCVA) – в impl_e.htm этого абзаца и вовсе нет. Но больше всего поражает противоречие между английской и японской версией справки. В impl_e.htm сказано, что есть ДВА способа передачи GS параметров - это индивидуальным Parameter Transmission и Bulk Dump Transmission. А в impl_j.htm указано правдиво, что есть только ОДИН способ передачи – индивидуальными Parameter Transmission (т.е. GS Bulk Dump не предусмотрен в VSC, так же, как и SCVA, так что XG50 в этом плане даже круче). Вот уж японцы поленились переводить на английский…

    Про создание .mid файлов в папке %temp% — ещё нужно ж их как-то удалить, а то они имеют свойства накапливаться (как происходит при этих Cakewalk`овских DXi/VSTi, да и не только)…

  19. #1373
    Alexys

    «G~Lí†çh», в этих описаниях нет ничего полезного.

  20. #1374
    DM

    Alexys, когда-то давно, veg обещал написать макрос на FASM'е, предполагаю, что так и не выполнил своего обещания. Я не ошибся в своем предположении?
    И еще хотел спросить: как у вас дела с 50-й Ямахой? Я так понял, что вы только качественные звуки в нее загрузили и все, а внутренности не меняли. То, что вы частотку подкручиваете, ревер меняете - это все так на любителя. Я когда-то советовал Владу - добавить лееры (довести их до восьми, чтобы с теми-же Тайросами можно было сравнивать и играть его тембрами, ну, в общем, для совместимости. Влад, вроде, соглашался со мной, но руки наверное, так и не дошли, да и знания тоже? =))
    В общем, если нетрудно, раскажите вкратце, на каком этапе сейчас Ямаха?

  21. #1375
    VEG Автор

    DM,

    когда-то давно, veg обещал написать макрос на FASM'е, предполагаю, что так и не выполнил своего обещания.

    Я начинал это делать, но в процессе выяснилось, что ссылки на фрагменты звуковых данных в wavetable иногда вложены друг в друга, иногда пересекаются, и иногда между ссылками есть окна с незадействованными данными. То есть оказалось, что в принципе нельзя красиво сделать то что я хотел — разобрать весь оригинальный wavetable на отдельные звуки строго согласно тому, как они используются в инструментах, и потом собирать их автоматически в идентичный исходному файл с возможностью модификации для желающих. Организовать такие макросы для сборки новых банков всё ещё возможно, но мне новые банки не так интересны, у меня основной интерес сконцентрирован на оригинальных банках. Может быть когда-нибудь и сделаю, я периодически возвращаюсь к своим старым проектам годы спустя. Если кому-то это нужно сейчас, проще не меня ждать, а самому разобраться в синтаксисе FASMG, и написать подобные удобные макросы для сборки wavetable и таблиц инструментов. Там ничего ультра сложного.

  22. #1376
    Alexys

    DM, а что, почитать блог более подробно влом чтоли ? Влад и Астемир уже неоднократно давали здесь ссылку на наше сообщество в ВК. https://vk.com/yamaha_vsti
    Все Ваши усмешки беспочвенны. Влад достиг уже такого уровня, что вполне может полностью перекомпилировать двиг, не говоря уже о файле настроек ! Там не только "частотка", но и битность, и количество лееров на инструмент, и предельный размер банка, и полифония. Качайте, да слушайте на здоровье.

  23. #1378
    Dimon

    Я нубас в этих синтезаторах виртуальных, но мне очень понравилось звучание мидяшек в foobar2000 (установил по инструкции плагин).
    Можно ли это чудо прикрутить в AIMP? Там совершенно другой звук какой-то не столь насыщенный. А Ямаха порадовала. Ну или может саундбанк какой посоветуйте?

  24. #1379
    VEG Автор

    Никогда не пользовался AIMP. Можете спросить на форуме поддержки плеера, умеет ли он использовать VSTi для воспроизведения MIDI.

  25. #1380
    Snork

    Здравствуйте. Сегодня впервые решил воспользоваться вашим чудесным инструментом. Загрузил его в Сонар. Но вот беда - вижу только 127 инструментов GM. А остальные XG где?
    syxg50.ini прописал, как указано в справке, лежит вместе с dll.

  26. #1381
    VEG Автор

    Snork, банки переключаются при помощи SysEx-команд из справки по S-YXG50 (в интернете есть инструкции). Shiru делал удобный переключатель для Reaper, скачать можно тут. Наверное, что-то такое можно и для Sonar сделать. Я не музыкант, музыку сам никогда не писал, так что больше деталей не знаю.

  27. #1382
    Snork

    Спасибо, но мне для Reaper без надобности. По идее, банки переключаются прямо в секвенсоре, ну или с помощью миди-сообщения. Ни то, ни другое мне не удалось, не работает.
    Когда-то у меня была Yamaha SW60XG. Ноты писал в CakeWalk, а все эффекты и даже выбор инструментов - в XG Edit, настройки сохранялись в файл *.xge. А теперь не знаю, как эти настройки извлечь из этих файлов. Сам XG Edit даже не запустить на современной винде, чтобы хоть посмотреть, какие там инструменты и какая обработка. Может кто знает, как подружить XG Edit и этот VST?

  28. #1383
    Snork

    Поставил foobar2000, чтобы проверить, как это работает в нём.

    Откройте в плеере настройки, Advanced → Playback → MIDI Decoder → VSTi search patch

    В Advanced → Playback нет никакого MIDI Decoder.

  29. #1384
    VEG Автор

    Snork, а плагин foo_midi поставили? Инструкция писалась в 2016. Возможно, в последней версии плагина настройки переехали куда-то. Ищите где там настройки касательно VSTi.

  30. #1385
    Snork

    VEG, всё выяснилось. Я почему-то поставил старую версию плеера (мне казалось, я её здесь и взял). В новой всё работает. А инструкцию лучше переписать, там всё иначе теперь. Спасибо.

  31. #1386
    DB50XG

    Тестируем новая версия здесь. Все настроек VSTi сохраняются в регистр. Добавлена поддержка ASIO и выбор режима ASIO | WASAPI Shared | WASAPI Exclusive.

    Как уже VEG объяснял, конфигурация пользует vsthost только чтобы загрузить VSTi и показать настроек, поэтому драйвер нужно перезагрузить после перемена настроек. Обычно это делается с перезагрузки DAW.

  32. #1387
    «G~Lí†çh»

    Вообще, очень не хватает MIDI выхода из этого VSTi, ведь для того же SONAR`а (или ещё более древнего Cakewalk) можно сделать CakewalkStudioWare панельку, которая способна ОПРОСИТЬ настройки инструмента (будь то с реального MIDI-порта или виртуального) с помощью XG Bulk Request (или по одному параметру - XG Parameter Request) System Exclusive событий, и т.о. настроить позиции РЕГУЛЯТОРОВ (врочем, как и в XGE). Если syxg50 понимает XG Bulk Dump`ы, то почему бы ему не понять Request`ы? Ну и заодно вообще хотелось бы узнать, какие у него "размеры групп (таблиц)"… Snork, так как же *.xge файлы? Теоретически, можно попробовать "повыдёргивать" оттуда значения и "понавствалять" F043004C007F00F7… программному syxg50 пофиг на непрвильное значение "размера группы" (007F) и контрольную сумму (00). Сложность только в том, как узнать, по каким смещениям файла находятся значения конкретных нужных адресов (тех параметров, которые точно были изменены)…
    Теоретически, можно ковырнуть родные .syx и .xge (типа BAMBOOZE.SYX и BAMBOOZE.XGE, DERV.SYX и DERV.XGE, HEROS.SYX и HEROS.XGE, ну и т.д. — ведь полный размер SysEx`а стабильно 12990, а XGE — 8672 байт.), чтоб понять где какие адреса, чтобы составить нужные SysEx`ы для "восстановления" нужных настроек…

  33. #1388
    «G~Lí†çh»

    чёрт! забываю, что угловые скобки "запрещены" (надо было в "tt" вписывать)…
    Короче, ловите шаблон "адресов" файла XGE!
    здесь просто взяты из Settings_and_Sysex\ENTRE2.SYX — чисто для ориентации, ну а "отсутствуютщий байт" в файле ENTRE2.XGE — контрольная сумма-- (можно ставить любую).

    $0000	+0007 000000: 04 00 00 7F 00 40 36--
    $0007	+000E 020100: 01 00 12 0A 08 0D 31 00 00 00 00 28 40 40 64--
    $0015	+0006 020110: 00 04 34 08 40 00 67--
    $001B	+000F 020120: 43 08 04 6D 6D 02 00 1C 40 2E 40 7F 40 40 00 5A--
    $002A	+0006 020130: 28 40 0A 04 01 00 50--
    $0030	+0021 020140: 4B 00 00 3C 00 03 00 32 00 46 00 00 00 00 00 00 00 00 00 00 00 7F 48 40 4C 32 01 7F 40 40 40 40 40 55--
    $0051	+0006 020170: 70 00 00 00 00 00 17--
    $0057	+0015 024000: 00 40 0C 07 00 40 1C 07 00 40 22 07 00 40 2E 07 00 40 34 07 00 1A--
    $006C	+0012 030000: 49 00 28 14 48 35 40 00 2B 4A 0A 7F 7F 40 40 40 40 40 6C-- (только 1 INSERTION)
    $007E	+0006 030020: 00 00 00 00 00 00 57--	(ЭТО ТОЛЬКО 1 insertion)
    $0084	+0029 080000: 06 00 00 21 00 01 01 00 40 08 00 6D 40 40 58 00 7F 7F 1C 31 04 40 40 40 5C 53 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 0F--
    $00AD	+003F 080030: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 57--
    $00EC	+0029 080100: 08 00 00 1B 01 01 01 00 40 08 00 74 40 40 20 00 7F 7F 5A 4C 00 40 40 40 4D 4C 2E 4C 55 40 40 40 0A 00 00 42 40 40 00 00 00 74--
    $0115	+003F 080130: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 56--
    $0154	+0029 080200: 04 00 00 1C 02 01 01 00 40 08 00 72 40 40 00 00 7F 7F 29 46 01 40 40 40 51 4F 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 55--
    $017D	+003F 080230: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 55--
    $01BC	+0029 080300: 06 00 00 1D 03 01 01 00 40 08 00 65 40 40 40 00 7F 00 40 42 5F 40 40 40 21 7F 24 40 40 40 44 40 0A 00 00 42 40 40 00 00 00 43--
    $01E5	+003F 080330: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 54--
    $0224	+0029 080400: 06 00 00 1D 04 01 01 00 40 08 00 1C 40 40 40 00 7F 00 27 63 45 40 40 40 26 77 2F 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 18--
    $024D	+003F 080430: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 53--
    $028C	+0029 080500: 00 00 00 00 05 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 25--
    $02B5	+003F 080530: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 52--
    $02F4	+0029 080600: 00 00 00 00 06 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 23--
    $031D	+003F 080630: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 51--
    $035C	+0029 080700: 00 00 00 00 07 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 21--
    $0385	+003F 080730: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 50--
    $03C4	+0029 080800: 00 00 00 00 08 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 1F--
    $03ED	+003F 080830: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 4F--
    $042C	+0029 080900: 02 7F 00 18 09 01 01 02 40 08 00 61 40 40 40 00 7F 7F 36 31 00 40 40 40 40 54 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 32--
    $0455	+003F 080930: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 4E--
    $0494	+0029 080A00: 00 00 00 00 0A 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 1B--
    $04BD	+003F 080A30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 4D--
    $04FC	+0029 080B00: 00 00 00 00 0B 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 19--
    $0525	+003F 080B30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 4C--
    $0564	+0029 080C00: 00 00 00 00 0C 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 17--
    $058D	+003F 080C30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 4B--
    $05CC	+0029 080D00: 00 00 00 00 0D 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 15--
    $05F5	+003F 080D30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 4A--
    $0634	+0029 080E00: 00 00 00 00 0E 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 13--
    $065D	+003F 080E30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 49--
    $069C	+0029 080F00: 00 00 00 00 0F 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 11--
    $06C5	+003F 080F30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 48--
    $0704	+0029 081000: 02 00 00 00 10 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 0D--
    $072D	+003F 081030: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 47--
    $076C	+0029 081100: 02 00 00 00 11 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 0B--
    $0795	+003F 081130: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 46--
    $07D4	+0029 081200: 02 00 00 00 12 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 09--
    $07FD	+003F 081230: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 45--
    $083C	+0029 081300: 02 00 00 00 13 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 07--
    $0865	+003F 081330: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 44--
    $08A4	+0029 081400: 02 00 00 00 14 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 05--
    $08CD	+003F 081430: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 43--
    $090C	+0029 081500: 02 00 00 00 15 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 03--
    $0935	+003F 081530: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 42--
    $0974	+0029 081600: 02 00 00 00 16 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 01--
    $099D	+003F 081630: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 41--
    $09DC	+0029 081700: 02 00 00 00 17 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 7F--
    $0A05	+003F 081730: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 40--
    $0A44	+0029 081800: 02 00 00 00 18 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 7D--
    $0A6D	+003F 081830: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 3F--
    $0AAC	+0029 081900: 00 7F 00 00 19 01 01 04 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 7A--
    $0AD5	+003F 081930: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 3E--
    $0B14	+0029 081A00: 02 00 00 00 1A 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 79--
    $0B3D	+003F 081A30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 3D--
    $0B7C	+0029 081B00: 02 00 00 00 1B 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 77--
    $0BA5	+003F 081B30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 3C--
    $0BE4	+0029 081C00: 02 00 00 00 1C 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 75--
    $0C0D	+003F 081C30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 3B--
    $0C4C	+0029 081D00: 02 00 00 00 1D 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 73--
    $0C75	+003F 081D30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 3A--
    $0CB4	+0029 081E00: 02 00 00 00 1E 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 71--
    $0CDD	+003F 081E30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 39--
    $0D1C	+0029 081F00: 02 00 00 00 1F 01 01 00 40 08 00 64 40 40 40 00 7F 7F 00 28 00 40 40 40 40 40 40 40 40 40 40 40 0A 00 00 42 40 40 00 00 00 6F--
    $0D45	+003F 081F30: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 40 40 40 00 00 00 00 00 40 40 40 40 01 7F 38--
    $0D84	+0015 100000: 00 00 00 00 7F 01 01 00 40 08 00 00 40 40 40 00 7F 7F 00 00 00 54--
    $0D99	+0031 100030: 01 01 00 01 01 01 01 01 01 01 01 01 01 01 01 01 00 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 1F--
    $0DCA	+0015 100100: 00 00 00 00 7F 01 01 00 40 08 00 00 40 40 40 00 7F 7F 00 00 00 53--
    $0DDF	+0031 100130: 01 01 00 01 01 01 01 01 01 01 01 01 01 01 01 01 00 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 00 00 40 40 40 00 00 00 10 40 40 40 00 00 00 11 1E--
    

    Ну а всё что с адреса $0E10 — каждые 16 байт - параметры ноты 0D до 5B сначала первого Drum Setup, затем второго, ну и последняя группа по смещению $21D0 — нота 5B четврётого Drum Setup`а! Если в вашем .XGE смещения не такие (не соответствуют своим значениям), то, видимо те были настройки от какого-то другого "стороннего XGEdit`а"… Вот чем оказался лучше "XG Editor из XGWorks" — тот хоть явно даёт сохранить только в *.SYX (а "*.xge" не поддерживает вовсе)!… Но если всё так, то вырезайте с нужного смещения ($xxxx) нужные значения для определённых адресов параметров из .XGE файла, затем после F043004C +размер группы и адрес: сюда вставляйте. А вместо байта с "--" нужно вставить любое значение в диапазоне 00…7F — syxg50 всё равно проигнорирует его, т.к. любой байт перед F7 в XG Bulk Dump`е является контрольной сумме, и syxg50 просто "лень" её сверять (в отличие от Roland SCVA)
    Вот такой нехитрый "disassemble" за пару часов… повезло, что в .XGE сохранили байтами, ведь значения-то все 7-разрядные (могли бы и "упаковать")…, тупо, что нету значений параметров для адресов MultiPart 70…73 (Bend Low Pitch Control…EQ Hi Gain) и MultiPart Additional (74…7F), и вообще даже странно, куда подевались XG Plugin SysEx`ы и остальные Insertion`ы…

  34. #1389
    Alexys

    «G~Lí†çh»
    А это вообще здесь к чему ?
    Удивительно, как трудно, порой, доходит до людей, что "системное исключение" - это програмный код, который формирует только хост. Это не настройка, не пресет, которую можно сохранить как-то там отдельно. Все, что придумано кроме - это надстройки и сохранение происходит только в этих надстройках. А вот эти надстройки уже есть всякие эдиторы, консоли и прочие ручки, которые можно покрутить. Самому синтезатору абсолютно по барабану, откуда на его интерфейс приходят команды, лишь бы "розетки" совпадали и команды были соответствующие.

  35. #1390
    сева

    Потом попробую скачать

  36. #1391
    «G~Lí†çh»

    Alexys, System Exclusive уж очень далёк от "программного кода", и гораздо ближе к стандартным MIDI-командам. Например, у коргов есть Program Change, которые выполняют не выбирают конкретную программу определённого канала, а запускает/останавливает стиль, выбирает определённый STS стиля, переключает на определённую вариацию стиля… Ничего не напоминает? У ямах это реализовано только с помощью "системных исключений"! Для старых упрощённых самограек — исключительно Meta-событием SMF Sequencer Specific, которое как раз и невозможно отправить инструменту по MIDI (т.е. оно-то работает исключительно локально, т.е. там, где MIDI-файл воспроивзодится, туда и применяет)!

    Я лишь прошу, чтоб синтезатор позволял выводить MIDI-команды (а конкретно, System Exclusive, ещё конкретнее — XG Bulk Dump), даже при отсутствующей "рулёжки" в самом интерфейсе синта! Просто пусть выполняет обратное действие, которое синтезатор делает при приёме данных XG Bulk Dump`ов: вместо применения значений, пусть считывает и отправляет хосту или на другой MIDI-выход (виртуальный, или же РЕАЛЬНЫЙ СИНТ), чтоб потом можно было записать в MIDI-файл! MIDI-сообщение для такого опроса значений уже документированы!

  37. #1392
    Alexys

    «G~Lí†çh»,

    System Exclusive уж очень далёк от "программного кода", и гораздо ближе к стандартным MIDI-командам.

    SysEx и есть MIDI-команды. Оно так называется именно потому что "исключает" из стандартного блока команд какие-то, заданные, например, вручную. И сам кодSysEx есть именно часть програмного кода, который запускается в блок. Под блоком я имею в виду фрагмент кода, заданный или имеющийся в MIDI-файле или поступающий с секвенсора, или с консоли управления, коей является клавиатура или кнопки-ручки "железного" синта.
    А вот то, чем откликается тот или иной аппарат - уже дело производителя. На одну и ту же команду у Коргов будет одно, у Роландов - второе, а у Ямах - третье, поскольку это уже выпендреж производителя.
    Поэтому вот это

    Например, у коргов есть Program Change, которые выполняют не выбирают конкретную программу определённого канала, а запускает/останавливает стиль, выбирает определённый STS стиля, переключает на определённую вариацию стиля… Ничего не напоминает?

    - уже следствие, а не причина.

    У ямах это реализовано только с помощью "системных исключений"!

    - именно так.

    Я лишь прошу, чтоб синтезатор позволял выводить MIDI-команды

    А смысл ? Синтезатор есть приемник команд, а не передатчик. Какой смысл выводить из него команды, если эти команды заданы хостом извне ? Не проще ли брать интересующие команды с самого хоста ? Что такое XG Bulk Dump ? Если это дамп (сохранение в файл) блока команд, выводимого хостом, то эти команды прекрасно лежат в MIDI-файле, зачем их выводить отдельно ?
    Тем более что команды формируются всегда только хостом и ни чем другим. Хост их и сохраняет, если умеет. Например, Cubase умеет.
    Это все ФЛ-ка людей развратила, когда пошли синты с, типа, сквозным каналом управления, когда на один канал можно "накинуть" несколько синтов, цепляя их последовательно друг за другом. Хотя, того же самого можно достигнуть, если запараллелить выход хоста, но это только физически, добавив еще один кабель. С виртуальными, конечно, такого не сотворишь.

  38. #1393
    «G~Lí†çh»

    Синтезатор есть приемник команд, а не передатчик. Какой смысл выводить из него команды, если эти команды заданы хостом извне ?

    эти команды можно задать "сквозь" хост реальным синтезатором (той же PSR-кой) в режиме реального времени. Сейчас же приходится нажимать запись, и повторять все эти действия заново (и то, боясь не пропустить что-нибудь, или «перекрутить»). Некоторые секвенсоры поддерживают ретроспективную запись, но опять же это займёт больше времени.
    Существуют VSTi, у которых есть MIDI-выход, и есть такие, которые выводят SysEx`ы.
    Представьте ситуацию с реальным XG50. Подключили один секвенсор, запустили MIDI-файл, и каким же образом сохранить настройки для другого секвенсора (или СЕКВЕНЦИИ, т.е. для другого MIDI-файла)? По новой всё накручивать?
    Вот для этого-то и нужен XG Bulk Request, чтоб в секвенсор/хост вернуть все эти настройки.

    Для чего же это нужно в VSTi? Да банально всё по тем же причинам!
    1. Импортируйте MIDI-файл в секвенсор (поддерживающий SysEx`ы).
    2. Запустите воспроизведение. Доиграйте до того момента, когда возникнет "нужная настройка" для новой композиции.
    3.ачем "выколупывать" из предыдущей секвенции (MIDI-файла) SysEx`ы и из каждого MIDI-канала выискивать те PC,CC, которые применились в этот момент, и играли раньше?

    Естественно, там настройка RPN Pitch Bend Range и Coarse/Fine Tuning обратно не получить, но уже хоть что-то.

  39. #1394
    «G~Lí†çh»

    и даже если есть реальная PSR`ка, поддерживающая всё то, что есть в XG50 (не меньше), то тогда проще уж воспроизвести тот MIDI-файл на MIDI-порт реальной ямахи, а потом запросить уже с неё, чем возиться с S-YXG50.

    А когда хранятся отправленные с реальной ямахи данные уже давно, и её под рукой (с собой) нет — вместо неё другой MIDI-контроллер — тут главное "не воспроизвести сначала", т.к. всё сбросится из-за наличия старого XG Bulk Dump`а в начале (хотя, как в том же Cubase, можно заглушить, если оно отдельным клипом)…
    И, что… нужное состояние уже в S-YXG50, его оттуда уже никак не вытянуть… что делать? Смотреть, что накручено на MIDI-контроллере / запускать ретроспектвную запись… Хорошо, когда в контроллере есть экранчик с индикацией значений! А есть такие, у которых можно запросить текущие состояния регуляторов, но они же не поймут XG Bulk Request`ы…

    Что такое XG Bulk Dump ? Если это дамп (сохранение в файл) блока команд, выводимого хостом, то эти команды прекрасно лежат в MIDI-файле, зачем их выводить отдельно ?

    Нужно перенести точно такие же настройки (либо только часть) в другой MIDI-файл, или даже если S-YXG50 открыт в SAVIHOST`е, но подключен несколькими вирутальными MIDI-кабелями, задействованными разными секвенсорами!
    Особенно плохо, когда в MIDI-файле огромная куча XG Parameter Change вместо XG Bulk Dump`ов, а Cubase вообще обрывает добрую часть SysEx`а в List Editor`е, что не всё видно (хорошо в SONAR`е видно больше, но тот падла стирает мета-события SMF Sequencer Specific). А ещё помимо кучи XG Parameter Request имеются ещё и PC, CC/NRPN (типа GM-совместимость)… Т.е. в итоге, ковыряться приходиться не в поиске готовых XG Bulk Dump`ов, а именно среди прописанных в MIDI-файле событий. С эффектами-то проще, найти эти SysEx`ы в готовом MIDI-файле — не проблема! Это чуточку сложнее в Drum Setup`е (на готове иметь для импорта 7 десятков MIDI-файлов с XG Bulk Request для каждой ноты сразу для обоих Drum Setup), и вот самое сложное - MultiPart — с реальным XG-устройством проблем никаких нет, ведь всё равно играет партиями, а не каналами: XG Bulk Request — и, пусть не в виде CC и PC, но зато хоть какая-то гарантия в виде XG Bulk Dump (жалко, без RPN`ов)… А с S-YXG50 вот такая подляна, рассчитана лишь только для прослушки уже готового материала (MIDI-файла)!

  40. #1395
    Alexys

    «G~Lí†çh», а вообще, на кой черт оно вам сдалось ?

    эти команды можно задать "сквозь" хост реальным синтезатором (той же PSR-кой) в режиме реального времени.

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

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

    Что значит "ретроспективная" ? Автоматизация была испокон века.

    Существуют VSTi, у которых есть MIDI-выход, и есть такие, которые выводят SysEx`ы.

    Вот, честно говоря, я не понимаю, зачем нужно команды ВЫВОДИТЬ, когда они должны ВВОДИТЬСЯ в синтезатор, чтобы он играл то, что нужно. Вы думаете, что выведенные команды "звучат" как-то иначе после ввода их в синтезатор ? Как-то фильтруются, меняют свое значение ?

    Представьте ситуацию с реальным XG50. Подключили один секвенсор, запустили MIDI-файл, и каким же образом сохранить настройки для другого секвенсора (или СЕКВЕНЦИИ, т.е. для другого MIDI-файла)? По новой всё накручивать?
    Вот для этого-то и нужен XG Bulk Request, чтоб в секвенсор/хост вернуть все эти настройки.

    Я представляю только то, что имею дело с непрофессионалом. Вообще-то синтезатор подключается к хосту, а не наоборот. Зачем по-новой все накручивать, если в мидишке все уже есть ? На то он и файл, чтобы хранить все значения всех контроллеров. Это такой же дамп потока команд. В чем проблема сохранить настройки этого файла в другом файле просто скопировав его и набрав новые ноты ? Да даже можно не набирать, а скопировать с нужного. Проблема вообще ни о чем ! Все хосты поддерживают ЛЮБОЕ редактирование, в том числе и копипасту !

    А с S-YXG50 вот такая подляна, рассчитана лишь только для прослушки уже готового материала (MIDI-файла)!

    Собсноэто и есть ответ на Вашу проблему. Сам спросил, сам ответил. Что тогда надо ? Будут ли делать выход в Xg50 ? Нет, не будут. Потому что не нужно. Нужно просто нормально научиться работать с оборудованием и не страдать ерундой. Контроллер 121 в помощь.

  41. #1396
    «G~Lí†çh»

    В чем проблема сохранить настройки этого файла в другом файле просто скопировав его и набрав новые ноты

    Именно тут-то как раз головная боль! КАК? Конечно, это просто со многими демонстрационными XG MIDI – всё хранят только в начале файла, и ничего не меняют на протяжении всей секвенции! А что вы будете делать, когда заданные в начале параметры абсолютно не соответствуют звучанию в середине? Приходится тратить минуты на фильтровку, поиск, выравнивание всех CC и NRPN`ов (разные значения CC6 у Vibrato Rate,Depth,Delay; EG Decay; эквалайзеры), и чтоб были только последния значения у определённых XG параметров в SysEx`ах!

    Вот это с DRUM NRPN`ами придётся возиться дольше: искать NRPN LSB нужных нот, их параметры NRPN MSB и значения в CC6… (Что в прочем и с RPN)
    Ну хоть PSR`ки как-то облегчают задачу с эквалайзерами — вписывают SysEx XG Parameter Change вместо NRPN`ов, но т.к. эти команды идентичны MultiPart, то их несложно выкурить парой XG Bulk Request`ов. Разница лишь в том, что в PSR-9000 у NOT USED параметров всё же документированы правильные значения Default, а у более новых — "несовместимые с XG" нули…

    Контроллер 121 в помощь.

    Для чего?

  42. #1397
    Alexys

    «G~Lí†çh»,

    А что вы будете делать, когда заданные в начале параметры абсолютно не соответствуют звучанию в середине?

    Заново переберу !
    Получается, что вам еще и лень поработать ручками ? В любом редакторе инструменты для этих целей есть ! Если значения контроллеров не совпадают со значениями нужных параметров эффектов от синта к синту, то нужно просто изменять общее значение контроллеров редуктивно, в процентах, пропорционально. Как еще объяснить ? Например, у 1-го синта значение вибрато в 4 Гц наблюдается при значении 23 (контроллера). При том же значении у 2-го синта то же вибрато уже 6 Гц. Например, нужно с 6-ти уменьшить до 4-х. На сколько 4 меньше 6-и ? на 2, во сколько раз 4 меньше 6-и ? в 1,5 раза, а на сколько процентов 4 меньше 6-и ? На 33. Простая математика. Вот и считайте. Значение контроллера будет примерно 8. Да, нужно будет пересчитывать каждое значение (и иногда это даже быстрее), но, например, тот же Кубэйс поддерживает редактирование всех выделенных значений редуктивно, т.е. в общем для всего выделения. Имеется в виду MIDI-клипа в MIDI-канале, подключенном к синту.
    В общем, вы просите не совсем того, что нужно на самом деле. У вас проблемы только лишь с вашей аппаратурой и это частный случай. Я, например, не знаю, что такое XG Bulk Dump, для чего он нужен, первый раз о нем слышу.

    Для чего?

    Для сброса всех параметров в дефолт.

  43. #1398
    «G~Lí†çh»

    Напр., при значении 23 у 1-го синта значение вибрато наблюдается в 4 Гц, а при том же значении у 2-го синта то же вибрато уже 6 Гц.

    Для эффектов в Data List/MIDI-справочниках описывают готовые таблицы значений — Effect Data Assign Table, а вот для NRPN нет! В разных синтах подобные Data Assign Table могут кардинально отличаться, а то и вовсе не поддаваться математической логике (хоть и в большинстве случаев – логарифмически). Раз уж речь о разных синтах, вот простой аргумент: LFO Frequency у ямах от 0.00, 0.04 … 39.7 Гц (для Wah Speed так вообще 0.1 …20.0 Гц.), а у Roland Sound Canvas и всяких JV/XP(S) — 0.5 … 10.0 Гц, что чуточку ближе к MODX`вскому LFO Speed — 0.1 … 9.925 Гц (у PSR-A5000, например, это EgMultiFx LFO Freq). Но ведь вообще вопрос был не об этом!

    В любом редакторе инструменты для этих целей есть !

    Интересно, какой же инструмент позволяет менять значения в SysEx`ах, при этом не портя остальное SMF содержимое? Уж ли не SAL (платное расширение для Sekaiju)?

    что такое XG Bulk Dump, для чего он нужен.

    А инструкции/справочные руководства для кого? Это альтернатива простым 9/10/12-байтовым XG Parameter Change – цепь значений разных параметров группы (таблицы) – действуют на любых "навороченных" PSR`ках, как и в S-YXG50.
    В принципе, ради скорости работы, достаточно поддержки выгрузки MIDI-файла из S-YXG50 – заодно, помимо SysEx`ов, ещё с текущими состояниями (N)RPN всех MIDI-каналов. Или лучше — перетягивать MIDI-файл прямо из интерфейса S-YXG50!
    А если сможет грузить в себя предустановки XGEditor из XGWorks/SOL2/SQ01 (*.XGP), и прочих сторонних, типа XGEdit95/XGWizard/XGGold/XGClint/XGMan, то S-YXG50 станет ещё и полезным для их конвертирования в "универсальную/естественную среду"!

    Для сброса всех параметров в дефолт.

    Это в теории, а с практической стороны – что конкретно сбросывает? Мне лично этим контроллером (значениями 0, 1, 2, 64, 127) так и не удавалось сбросить ни посыл на реверб (заданный ранее с помощью CC91), ни на хорус (CC93), ни те же RPN`ы, причём не только для панельных партий (в столбце MIDI Reception явно установлены кресты напротив CC121), но и SONG партий (хотя нарисован кружок)!
    Проверяю на "простецкой" PSR-295, которая, к моему удивлинию, реагирует на тот же RPN Coarse Tuning — тоже НЕ СБРАСЫВАЕТ перечисленные параметры при получении CC121! И даже изменённые посылы на реверб/хорус остаются! Хотя в MIDI Implementation Chart тоже конкретно указан кружок для приёма CC121! Ну тут хоть GM Level 1/2/Off/XG Reset/XG Parameter Reset поможет (что для панельных партий PSR-S700 и подобных не действует).
    Вот у PSR-740 имеются значения Default даже Insertion`ов (DSP2…и далее), у PSR-S700 при XG Reset тип остаётся прежний, и даже его назначения контроллеров остаются изменёнными. Может у PSR-740 (а ещё надеюсь, у PSR-9000) работает CC121 как положено?
    А то, выходит, проблемы с аппаратурой далеко не только у меня!

  44. #1399
    «G~Lí†çh»

    О, нашёлся-таки справочник (от ямахи QS300) где конкретно указано, что делает CC121

    RESET ALL CONTROLLERS (CONTROL NUMBER = 79H , DATA VALUE = 0)
    Resets the following controllers to the indicated values:
    Pitchbend change	0 (center)
    After touch		0 (min)
    Modulation		0 (off)
    Foot controller		0 (min)
    Expression		127 (max)
    Sustain Switch		0 (off)
    Portamento Switch	1 (on)
    Sostenuto switch 	0 (off)
    Soft pedal		0 (off)
    NRPN			Null (Internal data remains unchanged.)
    RPN			Null (Internal data remains unchanged.)
    Portamento control	Reset
    Assignable Controller	0 (min)
    The RESET leaves the following values unchanged:
    PROGRAM CHANGE, BANK SELECT MSB/LSB, VOLUME, PAN, HARMONIC CONTENT, RELEASE TIME, ATTACK TIME, BRIGHTNESS, DRY SEND LEVEL, EFFECT SEND LEVEL 1, EFFECT SEND LEVEL 3, EFFECT SEND LEVEL 4, PITCH BEND SENSITIVITY, FINE TUNING, COARSE TUNING

    У QY700 Portamento Control почему-то указали значение 1.
    Ну а по (N)RPN понятно: просто устанавливает в 16383 (CC98…101 = 127), фактически, не меняя сами параметры (как я понимаю, изменённый NRPN`ами ударник тоже сохраняется)…

  45. #1400
    Alexys

    «G~Lí†çh»,

    В разных синтах подобные Data Assign Table могут кардинально отличаться,

    Ну, так о чем я и говорил ! Для одного и того же значения контроллера значение величины будет разным от модели к модели.

    Интересно, какой же инструмент позволяет менять значения в SysEx`ах,

    Имелось в виду редактирование контроллеров. Хотя, если считать блокнотик для редактирования кода системных исключений, то его тоже можно назвать инструментом.
    А системные исключения, на то и системные, что устанавливаются всего пару раз за композицию. Часто ли нужно менять значения величины задержки в Delay, например ? SysEx таким образом можно назвать начальными установками для той или иной композы, но не более того. Менять постоянно их просто не нужно.

    А инструкции/справочные руководства для кого?

    Для пользователя, видимо ! У меня их нет, потому что нет и самого аппарата, к которому такая инструкция идет. А вот то, что это частный случай для вашей модели - уже становится видно.

    Это альтернатива простым 9/10/12-байтовым XG Parameter Change – цепь значений разных параметров группы (таблицы) – действуют на любых "навороченных" PSR`ках, как и в S-YXG50.

    И что ? Куда это деть ?

    В принципе, ради скорости работы, достаточно поддержки выгрузки MIDI-файла из S-YXG50 – заодно, помимо SysEx`ов, ещё с текущими состояниями (N)RPN всех MIDI-каналов. Или лучше — перетягивать MIDI-файл прямо из интерфейса S-YXG50!

    В который раз уже бред пишете ?!! Сколько можно ? Еще раз повторяю, любой синтезатор только лишь читает, воспроизводит то, что имеется в мидишке ! Насколько мидишка грамотно написана, настолько красиво синт ее и будет читать !

    А если сможет грузить в себя предустановки XGEditor из XGWorks/SOL2/SQ01 (*.XGP), и прочих сторонних, типа XGEdit95/XGWizard/XGGold/XGClint/XGMan, то S-YXG50 станет ещё и полезным для их конвертирования в "универсальную/естественную среду"!

    Кто-нибудь вообще понимает о чем этот бред ?

    Это в теории, а с практической стороны – что конкретно сбросывает?

    Контроллер 121 - это и есть XG Reset. Хоть в теории, хоть в практике. Специально не стал называть, чтобы сам разобрался. Но, видимо, не дано ! Сбрасывает значения контроллеров в дефолт. Посылы, возможно и не сбрасывает. Имеет два состояния - 0 и 1. Т.е. 0 и 127. Возможно работает только в GM1, возможно не работает для внешних устройств, возможно не работает от внешнего контроллера. Все возможно !! Разбирайтесь в свой аппаратуре сами ! У меня ее нет, не предвидится, да и на фиг нужно !

Комментарии временно закрыты.