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.

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

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

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

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

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

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

VST 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
    Андрей_Д

    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 выбирается.
    Спасибо за внимание!

  13. #1367
    DM

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

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

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

  14. #1368
    VEG Автор

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

  15. #1369
    Андрей_Д

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

  16. #1370
    «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)…

  17. #1371
    «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, да и не только)…

  18. #1372
    Alexys

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

  19. #1373
    DM

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

  20. #1374
    VEG Автор

    DM,

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

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

  21. #1375
    Alexys

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

  22. #1377
    Dimon

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

  23. #1378
    VEG Автор

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