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. #301
    Nick

    Собственно говоря если нет XG редактора - все что может XG можно посмотреть к примеру здесь https://esher.ru/i/f/868/868/xg_spec.pdf.gz

  2. #302
    Wlad 2

    У кого не обозначился XG редактор попробуйте сделать следующим образом.
    По ссылке - абдейт эдитора. Скачайте и установите в папку C:\Program Files (x86)\YAMAHA\SOL Common.
    Если не появится в проге , то зайдите в панель управления виндовс и удалите эдитор.
    После этого он должен появиться в программе. Я делал так.
    Всё делать в совместимости с ХР.

    https://yadi.sk/d/UVo5ybcW3ArD6A

  3. #303
    Wlad 2

    Wlad, подскажи ддр2 и ддр3 не совместимы в одном компе?

  4. #304
    Wlad

    Приветствую Wlad 2.
    Попадаются материнки, у которых есть две пары разных слотов, DDR2 и DDR3, но устанавливать нужно
    только один тип, а если ты имеешь в виду, вставить слот DDR3 в DDR2, или на оборот, то не получится,
    так как у них разное количество контактов, в общем они не совместимы.
    Завтра постараюсь выложить результат своей работы, в которой описал все конфиги барабанов.

  5. #305
    Wlad

    Привет всем!
    Конфиги барабанов задокументированы на 100% !, т.е. к каждому конфигу присвоено имя, которое соответствует
    конкретному барабану или SFX, и конкретному стандарту, к тому же выяснилось, что любой барабан может быть
    создан в виде двухслойного инструмента, которые используются в патчах инструментов, и при этом имеет куда
    больше настроек, чем скажем стандартный конфиг барабана, т.е. можно сделать микш из двух барабанов с разными
    настройками, и получить соответствующий результат.

    https://yadi.sk/i/7v1BaJqj3BS7BJ
    В данном отрывке таблицы, весь список конфигов барабанов и SFX, которые используются в установках, а так же под
    заголовком S., уже подсчитанные адреса, для быстрой ориентации, т.к. если адрес рокирнуть, то получается код
    барабана, который можно вставить в сборку любой установки, или SFX набора. В самом низу находится маленькая
    таблица, которая и ссылается на конфиги инструментов, по сути, можно синтезировать что угодно на основе семпла,
    или двух семплов, и назначить на какой нибудь барабан, короче на любую установку, на любой стандарт, и на любую
    клавишу, но на данный момент используется только для SFX. (Таблицу лучше просматривать в блокноте, для ко-
    рректного отображения)

    Если кто нибудь захочет более правильно и понятно описать назначение контроллеров, которые использованы
    в конфигах барабанов, то это только приветствуется.

    У меня вопрос к VEGу, это из самых первых коментариев:

    Если какие-то нужные данные захардкожены в syxg50.dll, я их могу достаточно просто вынести наружу, немного расширив ещё раз формат tbl-файлов.

    VEG, а можно узнать, какие там именно данные захардкожены? Я уверен, что есть ещё установки, которые
    указывают системную спецификацию синта (возможно десяток байт), и если это действительно достаточно просто,
    я был бы вам очень благодарен, если бы вы вынесли их наружу, немного расширив формат tbl-файла, возможно
    это и окажется решением всех задач. (или подскажите где они находятся)
    Что скажете ?

  6. #306
    Alexys

    Если кто нибудь захочет более правильно и понятно описать назначение контроллеров,

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

  7. #307
    VEG Автор

    VEG, а можно узнать, какие там именно данные захардкожены?

    В том и дело, что я не знаю какие и есть ли там вообще такие данные. Возможно, японцы всё что нужно вынесли в этот внешний tbl-файл. О том, что возможно какие-то ещё данные вынести наружу я написал для того, чтобы вы понимали, что если внутри dll найдётся какая-то захардкоженная таблица — её можно попробовать вынести наружу, в tbl-файл.

    возьмём к примеру Stereo Choir, его значение = 8F1Eh, само по себе оно ничего не значит, а вот если байты поменять местами, и эту цифру умножить на два, то получаем истинный адрес конфига инструмента, согласно банку и патчу, т.е. 8F1E рокируем, и получаем 1E8F, умножаем на два, и равно 3D1E, вот и всё (разве это не похоже на паранойю :))))) )
    (Интересно, а что у них творится в современных синтах, с какими задачами перемешана их структура, первый раз такое вижу)

    Думаю, всё проще. Скорее всего порядок байт обратный из-за того, что это little-endian int16. А необходимость умножения на два может быть объяснена тем, что это число является индексом в массиве 16-битных чисел.

  8. #308
    Wlad

    Понятно VEG, спасибо, но вот ни как не могу понять одного, если это little-endian int16, то зачем в других таблицах те же
    значения указываются правильно, и не задом на перёд, в общем всё вперемешку, ну да ладно, всё равно уже этот tbl победил,
    осталось только имена конфигов вычислить и всё, и удачи вам с NFS.

  9. #309
    Nick

    Подскажите, пожалуйста!
    Где-то прочитал, что Windows поддерживает некое конечное количество МИДИ портов. К сожалению никаких более конкретных данных найти не могу, но факт остается фактом - у меня достаточно много МИДИ девайсов и соответственно в системе много драйверов к ним. И вот, как только устанавливаю драйвер для МИДИ от Корга (для nanokey) - тут же из системы пропадает vstmididrv драйвер. Это почему??

  10. #310
    Alexys

    Не все драйверы поддерживают многоклиентский режим. Попробуйте вот этот. http://www.sionsoft.com/hubi.html

  11. #311
    Nick

    Кое-что прояснилось... Попробуйте в диспетчере устройств включить «Показать скрытые устройства» и посмотреть что у вас в звуковых устройствах делается. У меня раз 8 ОДНО И ТО ЖЕ устройство было прописано, а их у меня разных как минимум 5.

  12. #312
    Wlad

    Привет всем.
    Как я и думал, на любой инструмент, можно использовать до 255 семплов, можно хоть на каждую клавишу назначать по одному
    семплу, все конфиги семплов идут последовательно друг за другом в таблице, указывая поочерёдно регионы воспроизведения
    семплов на клавиатуре, и когда попадается последний код региона ноты, = 0FFh, это означает что распределение семплов на
    клавиатуре завершено, и инструменту присваивается уникальный код : от 00h до FEh. Сам инструмент которому присвоен код,
    это не что иное как "полуфабрикат", можно смело сравнить с SF2 или DLS, т.к. полностью отсутствует обработка, только распре-
    делены семплы по клавиатуре и всё. Далее, берём конфиг инструмента (или создаём), который состоит огромного количества
    настроек (80 байт) (фильтры, огибающие, эффекты, и мн. др.), выбираем нужный нам код инстр., и настраиваем инструмент как
    нам душе угодно, в общем синтезируя при этом свой инструмент, и эти настройки, синтом определяются уже как настройки
    по умолчанию, а если и этого мало, расширяем кофиг (изменяется один байт на 03h), и получаем ещё один конфиг в след за
    этим (+ещё 78 байт), который связан в паре с предыдущим, и по возможностям абсолютно идентичен первому, в котором так
    же выбираем любой код инструмента, настраиваем по своему усмотрению, ну и после смешиваем их как нужно, вроде как это
    уже называется Layer. Ну и после всего этого, считаем адрес конфига инструмента, и вносим его в таблицу патчей
    соответствующего банка (любого).

    Сейчас присваиваю конфигам истинные имена и метки, после чего, всего лишь достаточно будет взглянуть на таблицу, и сразу
    будет видно, где и что, а также достаточно легко будет импортировать новый инструмент, так как всё будет подписано, жаль
    конечно что это оказалось не так просто как я по началу думал, из за некоторых разбросов данных, и из за большого кол-ва
    конфигов, GM я уже разметил (основа для всего остального), как GM закончу, сразу хочу заняться конфигом инструмента, т.е.
    задокументировать все настройки, который он использует для создания готового (конечного) инструмента.

    Alexys, разве драйвер многоклиентского режима, который указан выше, не сильно устарел ?, он состоит из старых NE файлов,
    не знаю как в Win XP, а вот в семёрке x32 на вряд ли уже пойдёт.

  13. #313
    Alexys

    Привет, Влад !
    Молодцом, что сказать !! Полностью раскрыл теоретическую часть. Все, что сказал, все верно, так и есть. Причем так есть не только в Ямахе. Почти все инструменты, в основном, сэмплеры так же и устроены. Сначала Layer-подложка, по ней растянуты сэмплы, потом обработки. Первой должна быть огибающая питча, второй - амплитуды, третьей - фильтра, потом эффекты, сэнды на эффекты и т.д. Ну, кроме "аудио" обработки в инструменте будут всякие Velocity, note on-note off, portamento и прочее. Конечно, плохо, что на это потрачено столько труда. Если б Ямаховцы не жадничали, то все было бы проще.
    Насчет GM что, этот формат будет использовать те же сэмплы, что и XG ?

    Alexys, разве драйвер многоклиентского режима, который указан выше, не сильно устарел ?

    Вот, посмотрите еще здесь.
    http://www.nerds.de/

  14. #315
    Wlad

    Приветствую, Alexys !

    Насчет GM что, этот формат будет использовать те же сэмплы, что и XG ?

    Изучая структуру данного синта, я бы охарактеризовал его структуру так,, есть основной стандарт GM, и он стоит по умолчанию,
    но т.к. синт от YAMAHA, этот GM и расширен по YAMAHAвски, имеет по умолчанию доступ к множеству настроек, инструментам,
    но без вариаций, и несёт на своём борту 127 пакетов семплов, для тех же 127 стандартных инструментов (не считая ударных),
    короче, крутой GM, далее получается полное разветвление технологий, в прямом смысле этого слова, если синтезатору указать
    Sysexом что он XG, то стандарт GM тут же расширяется дополнительными настройками специфика XG, а также расширяется и
    база семплов, которая несёт на борту дополнительные семплы для XG синта, которые используются как смешанные с GM, так и
    отдельные инструменты. С GS и GM2 аналогичная ситуация, Sysexом указываем стандарт, и включается нужное расширение GM,
    которое будет иметь свой набор настроек в соответствии со спецификацией, и со своим дополнительным пакетом семплов и
    инструментов, так же хочу обратить внимание на то, что все три синта XG,GS, GM2, практически всегда используют инструменты
    GM, т.к. это основная база всех этих трёх (GS,XG и GM2) синтов. (вообще то их четыре, GM,GS,XG и GM2, GM, и три расширения)
    Как на мой взгляд, ни каких дешевых халтур с технологиями, честно включаются расширения, но вот семплы зажали, я понимаю
    2мб банк, когда место нужно было экономить, а вот 4мб банк, что то улучшили, а что то ухудшили. Все три синта в основном
    используют одни и те же семплы, только конфигурируются по разному, но всё равно пакеты расширения семплов присутствуют,
    особенно в XG, радует то, что всем этим синтам можно иметь независимые базы, достаточно всего лишь подобрать для них
    нужные семплы, а также, если сделать качественный GM, т.е. использовать качественные семплы, и использовать их гораздо
    большее количество на инструмент, то это напрямую отразится на качестве остальных трёх синтов.

    На днях думаю займусь вычислять настройки конфига инструмента, и кстати, часть настроек инструмента можно увидеть в
    XG Edit, который находится в XG Works ST, там точно есть Vibrato, EG, Pitch EG, и мн др.

  15. #316
    Wlad

    Всем доброго дня!
    Вот, наткнулся на комментарий на сайте old-games.ru, где человек под ником dsp2003, описывает XG синтез вот так:

    Прочитал ответы к теме и стало грустно, потому что люди явно не в курсе, чем XG-синтезаторы на самом деле
    отличаются от General MIDI и Roland GigaSampler.
    Кратко: XG использует гибридный синтез из сложной цепочки сэмплов, асцилляторов и фильтров, а так же поддерживает
    вариативный синтез через SysEx или вручную спец. контроллерами (когда каждая следующая нота с тем же самым сэмплом
    отличается по звучанию от предыдущей, (заметно на духовых инструментах). Фактически, GM и GS поддерживают всего два
    эффекта - реверб и хорус (банальное эхо), которые и контролировать толком нельзя. XG же до кучи позволяет "баловаться"
    с частотой, овердрайвом, флангером и десятком других "профессиональных" эффектов. По возможностям XG-синтезатор
    вплотную приближается к студийным образцам.
    Вы спросите, а почему тогда "стандартные" MIDI звучат на них не столь выразительно, как на SoundFont-синтах? Причина
    банальна - в этих MIDI напрочь отсутствуют команды для фильтров и эффектов. Попробуйте воспроизвести что-то на "голом"
    Synth1 с заводским банком, и будете неприятно удивлены, а то и вовсе сбиты с толку, как вообще люди могут писать музыку
    на этом "полуфабрикате".

    Что тут можно сказать, и так всё понятно.

    Кстати, я тут задался вопросом, где мне взять правильные синусоид., прямоугольные, треугольные и пилообразные формы,
    оказывается, во многих синтах не такие уж они и правильные как должны быть, т.е. имеют характерные отличия друг от друга,
    (отключал всё кроме генератора) в одном синте своя форма, например "пилы", а в другом своя, пока нашёл только один
    правильный генератор, и это 3xOsc в FL Studio, посмотрим что в других.

    Что касается моего продвижения в проекте, то сейчас именую конфиги инструментов, добрался уже до XG Bank 35, просто чтобы
    избежать ошибок, приходиться чуть ли не каждый конфиг сравнивать, т.к. иногда попадается их разброс, ну а дальше всё будет
    куда проще.

  16. #317
    Alexys

    Приветствую !
    Собсно с этого поста и началось мое возмущение теми, кто пытается внести "улучшения", основываясь на таких, вот, знаниях. Возмущение пришло от того, что приходилось объяснять кучу несоответствий с истинными вещами. Всегда удивляюсь, как люди могут делать выводы, совершенно не понимая о чем говорят. Другой бы сказал "ну, может быть" или "я не уверен, но может быть так" и послушать других. Так нет же, он будет со стопроцентной уверенностью нести свое мнение в свет, даже если оно крайне ошибочно.
    Насчет сэмплов. Влад, извини, почему не обращаешься ? Что тебе нужно было, какой сигнал ? Тестовый ? В любом нормальном, профессиональном звуковом редакторе должен быть генератор тона. Обязательно ! Если не хочешь возиться и искать, только скажи, я тебе их кучу дам ! Скажи только какие нормы на параметры нужны, ну т.е. длительность, частота, амплитуда.
    Не надо их искать в музыкальных синтезаторах, там, в основном, шэйпы, причем не всегда хорошего качества. 3xOsc тоже сэмплер. А вот тот же Drum Synth или SimSynth вполне могут быть, хотя тоже не уверен. Посмотреть бы, что во внутренностях DreamStation analog syntheziser. Вот он точно должен быть стопроцентным эмулятором железки. Т.е. содержать именно алгоритмы, коды осцилляторов сигнала. А они само собой дадут нужную форму сигнала.
    Кстати, отличить можно вот так: если посмотреть на осциллограммы разных тонов одного и того же генератора в каком-нить синте, то на изломах, например, пилообразной формы будут заметны мелкие волны паразитного резонанса (хотя, если был тон выработан ранее на тон-генераторе в каком-нить редакторе, то, скорее всего у него паразитных волн не будет вообще). Если эти волны остаются неизменны от тона к тону, то генератор шэйповый. А если волны одни и те же по частоте на разных тонах, то все-таки реальный эмулятор железки. Если у волн вообще разная частота от тона к тону, т.е. от тона вообще не зависит и ведет себя хаотично, то это вообще идеальный случай. Даже и не знаю, способен ли алгоритм на такое, но если способен, то это очень круто !

  17. #318
    Alexys

    Если эти волны остаются неизменны от тона к тону, то генератор шэйповый.

    Тут ошибка. Волны остаются не не изменны от тона к тону, а меняются вместе с тоном. Т.е. остаются вместе с тоном неизменны в том виде, в котором были изначально. (Блин, даже не думал, что настолько трудно объяснить словами.)

  18. #319
    Wlad

    Приветствую Alexys !
    Для начала, я хотел бы тебя поблагодарить Alexys, за отзывчивость и помощь. Спасибо !
    В общем, появилась у меня такая мысль (немного забегая на перёд), по сути, я хочу засемплировать настоящий осциллятор пра-
    вильной формы, пусть это будет пилообразный сигнал, засемплировать хочу качественно, не так чтоб, "пять кирпичей и дом готов",
    а на каждую ноту свой семпл в одно колебание, а центы пусть растягиваются, это конечно не быстро, но максимально качественно,
    и размер получается не большой в 255 колебаний (+...). В общем нужен настоящий осциллятор, с которого можно взять достойный
    сигнал, хотя бы пока синус, прямоуг.,треуг, и пилу, но в синте и всяких сигналов специальной формы ещё полно, и на основе всех
    этих "кирпичиков*" и состоят большинство инструментов в данном синте, и синт использует эти сигналы в качестве осцилляторов,
    вот я и хочу, снять звук с достойного осциллятора, чтоб в синте получить звук практически оригиналом, но вот при беглом просмотре
    на синты, которые ближе всего оказались под рукой, я был немного удивлён тем, что сигналы отличались друг от друга, и только
    3xOsc оказался на мой взгляд более правильным "генератором", вот тут я и хочу с тобой посоветоваться Alexys, в общем вопрос
    такой : с чего или от куда брать качественный сигнал, а также ещё и сигнал спец. формы ?
    Про генератор сигналов в аудио редакторе напрочь забыл, т.к. не пользовался очень давно, если там генерировать, то придётся
    частоты нот писать, надо поискать, где то вроде есть.

    По поводу цитаты выше, могу сказать одно, что многие стандарт XG просто не до оценивают, если все его настройки грамотно и
    удобно вынести на панель, особенно настройки средством Sysex, которыми он управляется до всяких мельчайших тонкостей, а
    также создать качественную волновую базу, то думаю, что этот синт ещё не мало кого смог бы удивить.

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

  19. #320
    Wlad

    Оказывается, XG Bank 39 (Bend), это нашлёпка, т.е. он равен банук 0, и не содержит ни одного нового инструмента.

  20. #321
    Alexys

    Доброго дня !

    я хотел бы тебя поблагодарить

    Влад, не за что ! Помогаю, чем могу. Просто наши интересы совпадают, все на общий результат.

    я хочу засемплировать настоящий осциллятор правильной формы, пусть это будет пилообразный сигнал, засемплировать хочу качественно, не так чтоб, "пять кирпичей и дом готов",

    Влад, ты удивишься, но это ровным счетом ничего не даст. Не даст для сэмпла в одно колебание. Конечно, подход, о котором ты говоришь, самый лучший, но это вовсе не обязательно. Для той же элементарной пилы достаточно будет как раз пяти-шести сэмплов. Почему ? Дело в частотах и интерполяции. Если частоту дискретизации понижать до значения звуковых частот, а это будет необходимо, чтобы дать самые низкие тона, то ее станет просто слышно. Как, например триангл у баса в мелодиях Денди. Мож кто обращал внимание на такое попискивание, когда играет только бас. Вот как раз слышна частота дискрета. Даже в системах с интерполяцией один единственный такой сэмпл поставить нельзя, потому что не справится алгоритм интерполирования - как бы он ни сглаживал, ее все равно будет слышно. А на каждую ноту - просто лишняя трата. Конечно, я говорю слишком радикально, до такого обычно не доходит, но тем не менее. Кроме того, чем выше частота основного тона, тем короче длина колебания. На частоте всего 8000 Гц это 0,125 миллисекунды. На частоте дисрета 44100 Гц это всего пару байт. Сможет он пересчитывать кольцом эту пару байт с такой большой скоростью ? Просто у меня бывали глюки как в синтах, так и в редакторах. Я считал, что слишком быстро. Ну, конечно, здесь, в Ямахе все равно надо попробовать.

    В общем нужен настоящий осциллятор, с которого можно взять достойный сигнал, хотя бы пока синус, прямоуг.,треуг, и пилу, но в синте и всяких сигналов специальной формы ещё полно,

    Хорошо, Влад, с этим не проблемно. Но я опять тебя удивлю - слишком элементарить тоже не выход. Чего только я не выдумывал с элементарными колебаниями, но добиться "вкусного" звука от пары тройки осцилляторов не мог. Недаром во Фруте 3xOsc - трехосцилляторный. Это минимум чтобы добиться более-менее. Кроме того, он не совсем элементарен, поскольку каждый генератор поддерживает стерео, а это уже два разных канала. Кроме того есть фазовый сдвиг колебаний внутри самого генератора и по-моему даже расстройка тона (detune). Поэтому простым путем сложных вещей не сделать. Нет, взять хорошие элементарные, конечно нужно, но также нужно просто найти и хорошие звуки инструментов.

    вот тут я и хочу с тобой посоветоваться Alexys, в общем вопрос такой : с чего или от куда брать качественный сигнал, а также ещё и сигнал спец. формы ?

    Верно, генераторы в разных синтах отличаются. Ну, вот реальные физические колебания могут дать как раз редакторы. Тот же Аудишн, хоть я, правда, не помню есть ли там такой "инструмент". Могу дать WaveLab6 в нем есть хороший генератор тонов. Есть синтезатор Absynth2. Частоты нот просто набери в поиске "шкала частот музыкальных тонов". Что понимаешь под специальной формой ? Любая сложная форма - это смесь элементарных в разной пропорции, гармоник и частот. В общем, давай начнем с чего-нибудь одного. Например с первой программы для какого-то банка. Это, как правило, пианино. С ним разберемся, возбмемся за следующий и т.д.

    если все его настройки грамотно и удобно вынести на панель, особенно настройки средством Sysex,

    - это было бы очень здорово !!

  21. #322
    Wlad

    Как, например триангл у баса в мелодиях Денди. Мож кто обращал внимание на такое попискивание, когда играет только бас

    Да, я часто обращал внимание на этот бас, и хорошо его помню, а теперь есть реальная возможность его создать в этом синте.

    Сможет он пересчитывать кольцом эту пару байт с такой большой скоростью ?

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

    Например с первой программы для какого-то банка. Это, как правило, пианино. С ним разберемся, возбмемся за следующий и т.д.

    Alexys, полностью поддерживаю, вначале пианино, а потом по порядку всё остальное, так будет правильно с любой стороны,
    Фазовый сдвиг колебаний в синте есть, и расстройка тона detune тоже (detune знаю где находится). В Аудишн, генератор точно
    есть, а Absynth2 мне каким то замороченным и неудобным показался, ну, на первый взгляд.

    Что понимаешь под специальной формой ?

    Думаю что лучше будет показать : https://yadi.sk/d/GzPzEXrz3CrSvB
    Это вроде все колебания, которые использует синт в качестве осцилляторов, я все их пометил согласно таблице, как для
    удобства, так и для того чтоб в аудишн можно было выделить нужное, и прослушать в цикле, также хочу сказать, что
    не всегда колебания идут по порядку, бывает что разбросаны по разным местам.

    В общем, как и обещал, выкладываю полностью таблицу : https://yadi.sk/d/YfIGRzVz3CrDss
    В таблице уже можно многое разглядеть, сейчас работаю над именами конфигов инструментов, остановился я на банке XG45,
    в общем, это похоже самый сложный и нудный процесс остался, а дальше всё должно быть легче, по сути его структура изучена,
    осталось только до конца всё задокументировать.

  22. #323
    Alexys

    Ужас, это ж сколько данных ты уже перекопал !!! За это большой респектище !! :))))

    Да, я часто обращал внимание на этот бас, и хорошо его помню, а теперь есть реальная возможность его создать в этом синте.

    Та не, не стоит, я думаю. На фиг он нужен. Допотопный. Это ж ЧМ-генератор, а значит вариантов одного и того же звука большое множество и что, все их вырабатывать, сэмплировать и заталкивать в банк ? Не, не стоит выделки эта "овчинка". если нужен бас с призвуком, лучше изготовить специально с нужными гармониками. Это и пойдет в разряд басов.

    Легко, даже один байт, проверено,

    Это хорошо.

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

    Это тож правильно. Кстати, оба метода делают одно и то же. LP-фильтр действительно делает синус на высоких частотах.

    Это вроде все колебания, которые использует синт в качестве осцилляторов, я все их пометил согласно таблице,

    Да, здорово. Действительно везде полно "паразитного" резонанса, сильно выпирающих гармоник. Для звука это хорошо, он становится более насыщеным. Я бы не назвал эти сэмплы колебаниями специальной формы, но если будет удобно, то пусть так. Кстати, маркеры лучше именовать латинскими буквами, во избежание "недокодировок". А почему между маркерами имеется пространство, которое еще и заполнено ?
    Что нужно сделать с этими сэмплами, распознать к каким инструментам принадлежат ? Или в синте уже прописано ? Если прописано, то очень хорошо, знание соответствия сэмпла и инструмента будет и мне очень полезно. На слух это сложно будет сделать. Если только путем исключения.

  23. #324
    Wlad

    Доброго дня Alexys.

    маркеры лучше именовать латинскими буквами, во избежание "недокодировок"

    Всё так и будет, это я метил на скорую руку, на начальной стадии изучения, а так как таблицу скоро уже начну финалить,
    там всё будет прописано, и в Wav также, согласно таблице общими маркерами (на английском), а промежутки между данными
    встречаются потому, что я их склеил из нескольких фрагментов, которые находятся в разных местах в банке.

    Что нужно сделать с этими сэмплами, распознать к каким инструментам принадлежат ?

    Ни чего распознавать не нужно, всё будет описано в таблице, а категории колебаний я выложил потому, что лучше показать,
    чем обьяснять, сколько разных осцилляторов использует синт. Здесь главное что бы качественные псевдо-осцилляторы,
    и наборы семплов были, т.е. качественные сырые инструменты, а уже готовых инструментов на базе вышеперечисленного,
    можно создать сколько душе угодно, а с барабанами вообще проблем нет, этих можно столько напихать, что в голове не
    укладывается эта цифра, я иногда бывает подумываю над тем, чтобы импортировать ещё и индийские томы, вот кстати
    выкладываю набор, может пригодится, выдрал оригиналом семплы из проги TaalMala : https://yadi.sk/d/812p_Jhk3CxMAJ

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

  24. #325
    Alexys

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

    А-а, ясно ! :) Так бы и сказал. Я то думал, что это большой вырезаный кусок, а не составленый из мелких. Ладно, не суть.

    Здесь главное что бы качественные псевдо-осцилляторы

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

  25. #326
    Wlad

    Пока торопится не стоит, т.к. таблица ещё не готова, нужно ещё увеличить будет длину волны, разрядность, и расширить
    размер банка (это в движке), но всё равно, присматриваться уже стоит, потому что как надо что нибудь, ни фига не найдёшь
    то что нужно (закон подлости), и ещё о главном забыл сказать, семплы в синте должны быть желательно равны 0db,
    видимо сделано для того что бы избежать паразитного шума от 8ми битного Wave, и поэтому все настройки в конфигах
    похоже и ориентируются на эту цифру и подгоняются уже после финальной обработки на нужный уровень.
    Таблицу из осцилляторов склеил вроде из трёх кусков, там где метки подписаны, Square, Sine, Saw, Oscar, PulseClv, зто я сам
    в синте заменял на 44100, и кое где просто остались не до конца обрезанные волны, и пробелы, т.к. я всё равно собирался
    всё это переделывать, потому что не устроила форма волн, а остальные метки были поставлены согласно таблице.

  26. #327
    Wlad

    Ребят, может у кого нибудь есть instrument definition для cakewalk, (INS Файл) именно для S-YXG50? , а то у меня лишние
    инструменты почему то присутствуют, что очень осложняет работу, из за этих инструментов-призраков, т.е. на самом
    деле их в S-YXG50 не существует, а в INS файлах под Yamaha XG они у меня везде прописаны, а после того как
    издох мой винт, похоже остался только этот стандарт, и приходится потроха синта сравнивать именно с этой таблицей,
    что очень не удобно из за многих несоответствий, буквально в прямом смысле слова, приходится сверять каждый
    инструмент на соответствие. Или может подскажите где можно взять.

    Вот пока не полный список найденных инструментов-призраков, где B=банк, а P=патч (счёт от нуля),
    может не у одного меня так?

    B12 P30=Distorted rhythm gtr
    B14 P61=Sforzando brass
    B24 P30=Distortion Guitar 2
    B35 P30=Distortion Guitar 3
    B35 P50=Synth Strings 3
    B36 P30=Power Guitar 2
    B37 P30=Power Guitar 1
    B38 P30=Distorted Fifths
    B43 P30=Rock Rhythm Guitar 2
    B45 P30=Rock Rhythm Guitar 1
    B64 P27=Clean guitar 2 (Призрак)
    B64 P31=Acoustic harmonics
    B64 P33=Jazzy bass
    B64 P52=Strings & Choir Aahs
    B64 P53=Voice Doo
    B64 P59=Muted Trumpet 2
    B64 P75=Pan Flute 2
    B64 P82=Vent Synth
    B64 P108=Big Kalimba

  27. #328
    Alexys

    Вот, посмотри, может эта инфа как-то прольет свет: https://yadi.sk/d/WKCwZfAQ3D4M9Q
    Это я вытащил из Кубэйса.

  28. #330
    Wlad

    Всем привет, и благодарю за помощь!
    Вот что удалось выяснить, то что выложил Alexys в файлах MU50.txt и xg names.txt, все патчи присутствуют, а так же и там
    то что выложил Wlad 2, и у меня везде эти инструменты прописаны, включая и большие базы Cakewalkа (Src.ins и Yamaha.ins),
    а вот в файле спраки Syxgctrl.hlp (S-YXG50 Help), только здесь инструменты соответствуют синту S-YXG50, хотя в хелпе
    и указан банк 39 (Bend), однако он пуст, т.е. равен банку 0, и таблица это подтверждает.
    Да, похоже наши маленькие жёлтые друзья и тут по жадничали, не аналог похоже он DB50XG, вырезать аж 39
    инструментов, хорошо хоть эффекты не тронули. Думаю нужно посмотреть в драйверах DSXG, в таблицах конфигов
    инструментов, если там такие инструменты найдутся, то я легко восстановлю их в этот синт добавив их в конец таблицы,
    и скорее всего на вряд ли отсутствующие инструменты использовали какие то другие семплы. В общем не Lite и не Full,
    напоминает анекдот про ефрейтора, не солдат и не сержант...

    Привожу полный список инструментов, которые отсутствуют в S-YXG50. (т.е. равны XG банку 0)
    B=банк, а P=патч (счёт от нуля)

    B12-P30=Distorted rhythm gtr
    B14-P61=Sforzando brass
    B24-P30=Distortion Guitar 2
    B35-P30=Distortion Guitar 3
    B35-P50=Synth Strings 3
    B36-P30=Power Guitar 2
    B37-P30=Power Guitar 1
    B38-P30=Distorted Fifths
    B43-P30=Rock Rhythm Guitar 2
    B45-P30=Rock Rhythm Guitar 1

    B64-P27=Clean guitar 2
    B64-P31=Acoustic harmonics
    B64-P33=Jazzy bass
    B64-P52=Strings & Choir Aahs
    B64-P53=Voice Doo
    B64-P59=Muted Trumpet 2
    B64-P75=Pan Flute 2
    B64-P82=Vent Synth
    B64-P108=Big Kalimba

    B65-P52=Male Choir Aahs
    B65-P55=Brass Stab
    B65-P91=Light Pad
    B65-P95=Sweepy
    B65-P97=Rave
    B65-P103=Odyssey

    B66-P55=Double Hit

    B67-P55=Brass Stab 80

    B69-P101=Milky Way

    B72-101=Puffy

    B96-P12=Balafon
    B96-P26=Pedal Steel Guitar
    B96-P28=Muted Distortion Guitar

    B96-P53=Voice Humming
    B96-P56=Flugel Horn
    B96-P71=Bass Clarinet
    B96-P75=Kawala
    B96-P106=Tsugaru
    B96-P113=Atarigane
    B96-P114=Tablas

  29. #331
    Wlad 2

    Другими словами, на базе данного S-YXG50 можно сделать банки ко всем ямаховским моделям, ну до 2002 года точно. А если помечтать, то и дальше.
    А как с эффектами? Ревер, хорус и вариации? В синте можно использовать только один эффект вариации на дорожку, но в старших моделях так называемые ДСП назначаются на каждую миди дорожку (или на 8 Тайросы).
    Думаю, что если удастся запустить семплы с максимальным качеством, то это будет что-то!

  30. #332
    Wlad

    Совершенно верно Wlad 2, можно кучу разных синтов создать, т.е. подключил один банк, это один синт, подключил другой
    банк, это другой синт, и т.д., а также можно эти разные синты использовать одновременно, ну а как там дальше, и с эффектами,
    я пока не знаю, нужно лезть в движок, как говорится всему своё время. Напомню, что движок имеет имя MU128, а тот в свою
    очередь расширен и мультитембральностью, и эффектами и тд. и тп. если повезёт, то будет здорово.

    Думаю, что если удастся запустить семплы с максимальным качеством, то это будет что-то!

    Вот и я о том же, это будет то что нужно, можно все модели к примеру до 2002 года, впихнуть в один синт, и по моему у них
    у всех банки с патчами просто расширялись со временем и всё (и эффекты). К тому же, что такое 22050, по сути "бубнелка"
    (лично на мой взгляд), а значит и эффекты будут плясать от "бубнелки" как бы синт не старался обрабатывать семплы.

  31. #333
    Alexys

    Мужики, полностью с Вами согласен, но есть несколько замечаний.

    А как с эффектами?

    Вот именно, какие надо решать задачи, чтобы изменить "функционал" ? Банки, банками, это всего-лишь ячейки для содержимого и не будет лишним сказать, что Влад много труда вложил в их отработку. Но вот аудиопроцессор... Если не знать физики эффектов, то очень трудно будет разобраться. Одно мы знаем точно, что от самих сэмплов эффект-обработка не зависит. А значит, это отдельно взятое "устройство" со своей "тактовой" частотой пересчета, частотой дискретизации и разрядностью. Кто видел в "железных" микшерах встроеный DSP ? Вот тут точно также. Тут (в Ямахе) неизвестно не только количество эффектов, назначаемых на канал, но и последовательность их подключения, т.е. какой эффект за каким идет, проще говоря, роутинг. Контроллеры 91-94 - это только "отправка" сигнала на эффект, а как он потом возвращается, куда, в микшер сразу или сначала в канал - неизвестно.

    Думаю, что если удастся запустить семплы с максимальным качеством, то это будет что-то!

    А вот, что Вы подразумеваете под этим ? Максимальное качество - это 192 кГц при 32 бит разрядности. Вот это действительно студийное качество.

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

    Влад, это не так. Синт - это целиком система выработки звука, со своими нюансами. Ведь даже в описаниях, что с Кубэйса, представлено несколько синтов. Если используются какие-то звуки, взятые откуда-то, то этот банк врядли можно назвать синтом. Ну, да, вот, есть у меня, допустим, сэмплы от AKAI, но это ж не значит, что это синт AKAI. Я думаю тут определяет "платформа" где они играются. Синт все равно будет Ямахой.

    нужно лезть в движок, как говорится всему своё время.

    Вот, это прально ! Я даже готов чего-нибудь подучить из программирования, чтобы тебе помочь ! Жаль, не знаю я сейчас ни ассемблера, ни Бейсика, ни С++.

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

    Насчет бубнелки ты очень верно заметил ! Хотя, не всегда это плохо. Если такая частота - функционал, то да, это плохо. А если намеренно заниженная от какого-то номинала, то качество сохранится. Если работал с модульной музыкой, то замечал, наверное, какая там исходная частота сэмплов. И не всегда звук плохой. Но тут, скорее всего, функционал, потому что вся политика этого "устройства" вызвать тошноту у слушателя, чтобы он поскорее бросил занятия самодеятельностью и купил железный аппарат за хорошие деньги. Действительно, анекдотично. Это как я, изучая Анрил-скрипты наткнулся на запись: "Ваши ракеты не летают по пологой дуге ? Нет, кому это нужно ? Если вам нужно, перепишите код."

  32. #334
    VEG Автор

    Wlad,

    Да, похоже наши маленькие жёлтые друзья и тут по жадничали, не аналог похоже он DB50XG, вырезать аж 39
    инструментов, хорошо хоть эффекты не тронули. Думаю нужно посмотреть в драйверах DSXG, в таблицах конфигов
    инструментов, если там такие инструменты найдутся, то я легко восстановлю их в этот синт добавив их в конец таблицы,
    и скорее всего на вряд ли отсутствующие инструменты использовали какие то другие семплы. В общем не Lite и не Full,
    напоминает анекдот про ефрейтора, не солдат и не сержант...

    Возможно, это просто ошибка. Они же переделывали хранение таблиц параметров инструментов. Возможно, в более ранних S-YXG50, где вместо маленького tbl-файла была куча ресурсов в dll-файле, есть недостающая таблица, и при переносе в новый формат ошиблись. Семплы там те же, а вот таблицы параметров одни совпадают полностью, другие отличаются. В том архиве с разобранными данными что я давал есть ранние dll-файлы с параметрами и извлечённые из них ресурсы. Смотрите ./sxgwave2_v1.00.2_syxg50/BINTBL2/* и ./sxgwave2_v1.00.1_syxg100/BINTBL2/* — тут я поизвлекал все ресурсы из соответствующих dll-файлов с параметрами инструментов для 2-мегабайтного набора семплов. Возможно, где-то можно найти версию и для 4-мегабайтного набора, если нужно. Эти dll-файлы 16-битные, поэтому извлекать из них данные можно только старыми 16-битными редакторами ресурсов. Из тех файлов что у меня были я поизвлекал всё. Извлечённое находится в подкаталогах на которые я указал. Все имена ресурсов — оригинальные, под какими они хранились внутри dll-файла (я только расширение bin добавил).

  33. #335
    Олег

    Женя, во-первых, хочу поблагодарить за превосходно, профессионально выполненную работу.
    А во-вторых, удалось ли успешно запустить S-YXG50 с Dsxgwave.tbl (2.3MB, создан 2 апреля 1999) от Yamaha YMF724?
    У меня есть несколько композиций, написанных ещё в школе, для звуковой карты, судя по всему, Yamaha YMF724, и я ищу способ для их аутентичного воспроизведения. Версия S-YXG50 с 4МБ банком звучит очень похоже: многие инструменты именно такие, какими были 17 лет назад, когда я их слышал в последний раз, но некоторые несколько отличаются по звучанию. Может ли S-YXG50 полностью заменить YMF724? В Википедии про Yamaha YMF7x4 упоминается "Hardware-assisted XG MIDI synthesis", то есть какая-то часть обработки выполняется аппаратно. Но также там написано "YMF7x4 cards shipped with a 2 MB bank of 8-bit samples by default". То есть, возможно, в каких-то версиях использовался тот банк, который ровно 2МБ?

  34. #336
    m5g

    Добрый день! Спасибо огромное за проделанную работу!

    Вопрос: а как переключать инструменты? Открывается просто окошко YAMAHA с каналами и подсвеченной иконкой ЧП и играет только рояль... а где и как переключать пресеты? Переключения канала midi в DAW эффекта не дает - все равно рояль ) может, я чего то не догоняю?

  35. #337
    VEG Автор

    Олег, файл семплов dsxgwave.tbl хранится в том же формате (с идентичным «шифрованием»), что и sxgwave4.tbl из S-YXG50. Я его расшифровывал, но одного этого файла недостаточно. Ещё нужен файл параметров инструментов, там куча разных табличных данных, описывающих как какие инструменты должны воспроизводиться. А эти таблички видимо захардкожены где-то в файле ds1.sys. Скорее всего движок там тот же, и в принципе возможно вынести необходимые параметры из ds1.sys во внешний файл, совместимый с S-YXG50. Но это нетривиальная задача.

    m5g, я сам написанием музыки не занимаюсь (только слушаю уже записанную музыку), поэтому не в курсе. Слышал, что через SysEx надо, но как именно — не знаю. Почитайте тематические сайты по теме, в сети наверняка есть масса инструкций.

  36. #338
    m5g

    а о каком ini файле везде идет речь? )

  37. #339
    VEG Автор

    m5g, где именно? Если в readme от syxg50.dll, то речь о файле syxg50.ini :)

  38. #340
    Alexys

    Прошу прощения, что вмешиваюсь.

    Вопрос: а как переключать инструменты?

    m5g, инструменты назначаются только в хосте, посредством контроллера "Program". Вы хотите музыку писать или что-то слушаете ? В любом случае Вам надо найти контроллеры, среди них выбрать Program и установить его значение. Это число и есть номер инструмента. 0 - пиано, 1 - рояль, 2 - концертный рояль и т.д. Банк будет по умолчанию, т.е. банк 0. Разумеется, переключение каналов ничего не даст, поскольку все MIDI-каналы настроены одинаково.

    Слышал, что через SysEx надо, но как именно — не знаю.

    Евгений, верно, но для начала этого не нужно. Человек сейчас начнет копаться в инфе, запутается совсем с этих шестнадцатеричных кодах и бросит это занятие. Для начала свободно можно и без Системного исключения (SysEx).

    а о каком ini файле везде идет речь? )

    m5g, ini - файлы конфигурации самой системы, в данном случае Ямахи. В них содержатся сведения для взаимодействия с драйверами и прочими настройками Windows. Но он вам не поможет в обучении игре на Ямахе.

    m5g, где именно? Если в readme от syxg50.dll, то речь о файле syxg50.ini :)

    Евгений, извините, он не то имел в виду.

  39. #341
    Wlad

    VEG, если у тебя остался расшифрованный банк Dsxgwave.tbl, то мне не сложно будет вытащить все таблицы из того же ds1.sys,
    и сделать оригинальный третий официальный банк YAMAHA, которым можно так же пополнить твою сборку, дело в том, что
    я уже проделывал подобное, но с зашифрованным банком.

    Возможно, это просто ошибка. Они же переделывали хранение таблиц параметров инструментов. Возможно, в более
    ранних S-YXG50, где вместо маленького tbl-файла была куча ресурсов в dll-файле, есть недостающая таблица, и при переносе
    в новый формат ошиблись.

    Не всё так просто VEG, дело в том что этих инструментов не просто не существует в таблице где то в конце, а нарушен их
    порядок, т.е. просто пропускаются во многих местах в таблице если сверять их с файлом описания инструментов Yamaha XG.ins,
    а сам файл инструментов принятый за стандарт Yamaha XG, судя по всему соответствует DB50XG, и к тому же об отсутствии
    недостающих инструментов подтверждает и документ справки S-YXG50 (Syxgctrl.hlp выложен где то выше), а также при сравнении
    всех имеющихся таблиц, т.е. это две таблицы конечных инструментов, которые вроде везде разбиты на две части, это
    PREVOICE.BIN, он же 13.bin относится к XG и GS, и PREVOICE2.BIN, он же 14.bin, относится к GM2, а также включая DSXG,
    выяснилось, что все эти таблицы (в общем) имеют одинаковый размер, просто некоторые из них в конце заполнены нулями,
    и поэтому они больше на несколько байт, и отличаются некоторыми настройками в зависимости от аппарата, вот и всё.
    Вот уж не думал, что и в DSXG эти инструменты тоже отсутствуют, пожалуй приведу простой пример, если взять 39
    однослойных инструментов (один равен 80 байт), умножаем на 80 = ~3120 кб, а если двухслойные то 80+78=158, 158*39=~6.162,
    в общей сложности берём середину в 4 кб, но вот дело в том что эти таблицы не отличаются килобайтами, а всего лишь
    байтами, и отсюда уже можно сделать соответствующий вывод, что эти инструменты и в DSXG также отсутствуют.

    Alexys, по поводу эффектов, могу описать следующее : как известно, при создании барабана, или инструмента, используются
    свои настройки уровней эффектов, это Reverb,Chorus,и Var, и если я при создании инструмента выставлю в нём все эффекты
    на нуль, то как не крути контроллеры 91,93,и 94, эффекта тоже будет нуль, т.е. как понял я, сами уровни эффектов
    выставляются в конфигах инструментов, а контроллеры 91,93,и 94, это всего лишь общая громкость этих эффектов.

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

    Абсолютно согласен, на то время это лучшая реклама для их бизнеса их фирменного синтезатора который программно
    клонирован на основе железного, и как раз в то время, когда быстро набирали обороты развитие не только ПК,
    но и звуковые платы, и они этим отлично воспользовались. Но всё равно, у них музыкальное оборудование ориентировано
    только в серьёзные железные варианты, а к остальному относятся не серьёзно, даже 7X4 звукашки обрезали на инструменты,
    а софтсинт Vsti так толком и не отдали пользователям в руки, хотя бы с более или менее приемлемым качеством, а так же
    и его подрезали на инструменты.

    Также хотел сказать, что все инструменты XG задокументированы, дальше идёт GM2, как закончу, выложу обновлённую
    таблицу.

  40. #342
    Wlad

    Извиняюсь, ошибка.

    PREVOICE.BIN, он же 13.bin относится к XG и GS, и PREVOICE2.BIN, он же 14.bin, относится к GM2

    Правильно будет : PREVOICE.BIN, он же 14.bin относится к XG и GS, и PREVOICE2.BIN, он же 15.bin, относится к GM2.

  41. #343
    Wlad

    Ничего не понимаю, таблица инструментов которая должна быть GM2, не с чем не связана, т.е. просто похоже висит в воздухе,
    в этой таблице 202 инструм., и они не все, но многие отличаются от тех которые мы знаем (пробовал подсоединять несколько),
    а все три стандарта используют одни и те же патчи, даже пробовал всю таблицу заполнить нулями, и переключаясь Sysexами
    на XG,GS, и GM2, всё равно всё работает, может это какой нибудь не правильный Sysex под GM2, в общем у меня такой :
    F0 7E 7F 09 03 F7, может у кого нибудь другой есть? Самое интересное то что во всех синтах эта таблица вроде как присутствует,
    но все патчи ссылаются только на первую таблицу, а на вторую ни одной ссылки не нашёл. (Инструменты призраки 202 штуки)

  42. #344
    VEG Автор

    Wlad, расшифрованную версию dsxgwave.tbl можно взять здесь. Вы имеете в виду, что вы брали таблицы параметров инструментов 100% из файла ds1.sys? Или же вы использовали какие-то фрагменты таблиц из syxg50? Насколько эти таблицы совместимы? Эти данные в ds1.sys хранятся в какой-то структуре, или же просто как массивы захардкоженных данных в коде? У меня есть как минимум 2 разные версии ds1.sys, но они используют один и тот же dsxgwave.tbl.

    Что касается недостающих инструментов. В файлах readme от разных версий S-YXG50 я замечал немного различающиеся характеристики по поводу количества инструментов. То есть всё же возможно, что какие-нибудь любопытные различия там всё же можно найти. Кстати, в ресурсах одного из драйверов я также встретил упоминание некоего SXGDMWV2.TBL, правда, без самого файла.

    Что касается sxgxg.dll из VxD-версий S-YXG50. У меня имеются версии 1.00.1, 1.00.2 и 1.00.3. Первые две содержат все параметры инструментов в своих ресурсах (и они идентичны, можно считать что это MU50 2MB V1.0). Третья версия уже использует внешний файл sxgbin21.tbl. Объём dll-файла стал меньше на объём sxgbin21.tbl. Но я вижу внутри файла sxgxg.dll из третьей версии ещё какие-то табличные данные, чем-то напоминающие содержимое PREVOICE из tbl-файла. Оно не в ресурсах, а захардкожено в код. Интересно, что за оно.

    Есть любопытный вопрос. В WDM-версии S-YXG50 имеется файлик SXGMASYS.TBL размером 108 байт. У меня есть как минимум 3 варианта этого файла (1.00.00, 1.00.04 и 1.00.09). Интересно, что за данные он хранит и почему его нет в VSTi-версии. Или там ничего полезного?

  43. #345
    Сергей

    Дампы памяти микросхем ROM Yamaha MU100
    https://yadi.sk/d/7InPv2MZ3DXw4x
    описания нет, названия файлов - похоже это названия микросхем ROM. может пригодится

  44. #346
    VEG Автор

    Сергей, спасибо, весьма любопытно. Похоже, что они были сделаны для этого проекта. Правда, я нашёл сервис-мануал для MU100 (там после открытия надо подождать, и внизу появится очень маленькая ссылка на скачивание), и там почему-то объёмы и количество микросхем не совпали с дампами. Возможно, какая-то модификация MU100?

  45. #347
    m5g

    Alexys,
    "...инструменты назначаются только в хосте, посредством контроллера "Program". Вы хотите музыку писать..."

    именно ) писать. В моей DAW (Renoise) Оператор Program конечно же есть, но в данном случае, нет возможности переключать их - там просто Default и ничего более... На 10-м канале появляется drum kit.

    http://s020.radikal.ru/i713/1702/5c/0cf0753245c8.png

    В Minihost тот же результат...

  46. #348
    Alexys

    m5g, Вы немного не то смотрите. Program, в данном случае не оператор в вашей программе-хосте, а контроллер синтезатора. Его нужно найти в окне редактирования миди-нот. По Renoise ничего не скажу, поскольку не пользуюсь трекерными редакторами для написания MIDI-мелодий.
    Ищите Program прямо среди FX-команд в нотном паттерне, больше ему негде быть.
    Кстати, ссылка на картинку не открывается, возможно радикал перегружен или вирусняк.
    Я думаю, здесь не стоит загромождать постами не по теме. Если Вам нужна помощь, то можем пообщаться в другом месте.

  47. #349
    m5g

    Alexys
    с удовольствием бы обсудил проблему использования этого плагина в VST хостах. где?)

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