1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Программный синтезатор Yamaha S-YXG50 (MIDI XG/GS)

Тема в разделе "Мастерская", создана пользователем VEG, 10 апр 2016.

  1. Thyrion

    Thyrion

    Регистрация:
    20 апр 2016
    Сообщения:
    3
    Много букв
     
    Последнее редактирование: 21 апр 2016
  2. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    У меня в виртуалке стоит S-YXG100-PVL, этот файл есть, но кнопок MidToAudio нет. В интернетах встречал (в этой теме давал ранее ссылку на S-YXG100-PVL, там было написано), что при использовании S-YXG100 эта кнопка не появляется, и это типа у всех так. А у вас она появляется? Как она выглядит? Может быть, я просто не замечаю её... =)

    У вас S-YXG100 работает под XP? Не может быть. На сколько я в теме, S-YXG100 выходил только в форме VxD-драйвера, которые поддерживаются исключительно на Windows 9x. Теоретически для него возможно написать враппер, который бы сэмулировал нужную часть окружения (ядра Windows 9x и подсистемы драйверов VxD), но это слишком большая задача, видимо поэтому никто ни не взялся.

    А разве полифония больше 128 нужна? Я с трудом представляю себе такую музыку. В VSTi плагине, судя по коду, никаких преград в установке большего числа нет, ограничение искусственное, судя по всему. Но разве это нужно?

    Походу у вас какой-то волшебный S-YXG50. В обсуждаемом S-YXG50 VSTi есть только два индикатора — XG и GS. Где вы там увидели остальное?

    Для VxD версии синтезаторов Yamaha выпускала плагин, который обучал их программные синтезаторы воспроизводить сэмплы из любого внешнего DLS файла, и судя по документации, смешивать как-то это дело вместе со звуком от обычных MIDI-инструментов. Этот плагин предназначался для разработчиков игр и его можно взять на диске с Final Fantasy 8. Только это расширение (вроде) называется DM, а не DX. Подробности тут. А для чего предназначено расширение DX? Если это не этот DM, то возможно Yamaha планировала его выпустить, но потом решили, что незачем создавать конкуренцию своим аппаратным синтезаторам и свернули лавочку по разработке. Видимо, по каким-то таким причинам S-YXG100-PVL с уже существующими расширениями так и не был портирован на WDM или (что было бы гораздо универсальнее) на VSTi.

    Вообще, я полагаю, скорее всего у них есть программная реализация каждого из существующих синтезаторов. Просто потому что это удобно для разработки — послушать, как оно будет звучать, прежде чем заливать это дело в железо. И утёкший вместе с MidRadio 7 S-YXG2006LE, судя по всему, является дальнейшей эволюцией их движка синтезирования. Там код достаточно сильно переработан, чтобы быть просто S-YXG50 с новыми семплами. Очень похоже на то, что код их движка развивался всё время, и в S-YXG2006LE попала одна из его свежих (на тот момент) версий, потому что Yamaha захотела освежить звучание в их MidRadio Player 7.

    Я нашёл немало общих фрагментов кода между S-YXG50 и S-YXG2006LE, но к сожалению код, который занимался включением ограничений XG в S-YXG50 пока что не нашёл. Напомню, что SGP.DLL из MidRadio 6 — это полноценный S-YXG50, где включено искусственное ограничение до XGLite V2, и это ограничение легко снимается. Вероятно, такой код в S-YXG2006 всё же имеется, просто сделано иначе, найти это будет вероятно непросто (но я ещё попробую).
    --- добавлено 20 апр 2016, предыдущее сообщение размещено: 20 апр 2016 ---
    Ну можно извернуться с виртуалкой, получать миди-команды через сокет и через сокет же обратно отдавать готовый звук. Но задержки будут ещё большими — такое годится только для воспроизведения в плеере и будет жрать неоправданно много ресурсов для того, чтобы крутить полноценную Windows 98, и если захочется воспроизвести сразу два MIDI (например, одно играет, а второе конвертируете из MIDI в WAV) — придётся запускать две виртуалки. Идея с реализацией враппера для VxD драйвера хоть и гораздо более сложна в реализации, но результат получится лучше — меньше задержки, не нужно будет запускать виртуалку, можно будет рендерить сразу несколько MIDI одновременно (каждая копия драйвера будет работать в своём виртуальном окружении, созданном враппером).
     
  3. Thyrion

    Thyrion

    Регистрация:
    20 апр 2016
    Сообщения:
    3
    Много букв
     
    Последнее редактирование: 21 апр 2016
  4. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    http://vetusware.com/download/S-YXG100 PVL 1.11.49/?id=12545 — полная PVL-версия с крэком и инструкцией как поставить 4-мегабайтный wavetable (PVL — это VL на 8 голосов). У меня заработало сразу после установки, и PVL, и SG. Только MidiToWave нет, но об этом написано на страничке по ссылке.

    foo_midi не умеет использовать системный WDM-драйвер, так что если у вас там в выпадашке появился Yamaha S-YXG50, то это точно VSTi-версия. А звук и не должен быть лучше или хуже. Yamaha обновила движок S-YXG50 где-то в 2001 году, после этого момента во всех драйверных версиях появился ещё один tbl-файл (тот что поменьше). VSTi-версия использует этот же движок, одну из его последних доступных версий. Правда, спецификации технические немножко отличаются, так что возможно в VSTi-версии есть кое-какие плюшки, которые будут заметны, если они используются в MIDI-файле. Цифры из японского мануала VSTi-версии я привёл в readme, можете их сравнить с цифрами в readme к WDM или VxD версиям S-YXG50.

    Дело в том, что foo_midi загружает все DLL-файлы из указанной директории, и там должны быть только DLL-файлы VST-инструментов. Если там будут находиться не VST-инструменты, они тоже будут загружены foo_midi, хотя это точно не нужно :) Это всё потому, что у VSTi нет отдельного расширения — используется обычное *.DLL, и отличить их по расширению нельзя.

    Там UTF-8, и он лучше поддерживается современными блокнотами. На крайний случай есть англоязычная версия readme. А вообще лучше конечно поменять блокнот на какой-нибудь современный, который хорошо дружит с Unicode.

    Нет, у меня Windows 7. На виртуалку поставил Windows 98 для S-YXG100-PVL. А поскольку у S-YXG50 есть нормальная VSTi-версия, смысла с WDM-версией возиться не вижу.

    А покажите скриншот, как это хоть выглядит :)

    Если это было бы опубликовано для японцев, то скачать и нам было бы не проблема (как с тем же S-YXG2006LE). Если оно и есть, то оно не выходит за пределы самой Yamaha.

    Нет, конечно. 2006LE имеет совсем другой набор семплов, плюс там нет (по крайней мере сейчас) поддержки полного XG. Он звучит не так сбалансированно, как S-YXG50, но сэмплы более высокого качества (2006 год всё же). Я планирую и его немножко пропатчить: сделать как этот патч S-YXG50, одним файлом, чтобы удобно управляться было. Но это позднее.

    То что выложено сейчас в архиве основано на S-YXG50.DLL из SOL2, и да, тут активна полная поддержка XG.

    Я читал, что у драйверной версии слишком большая задержка (критично для написания музыки). Такой проблемы нет у VSTi версии. Также встречал информацию, что в драйверной версии всё же немного обрезан частотный спектр, чего нет в VSTi версии. Плюс в VSTi версии есть настройка Process, которая видимо включает какой-то дополнительный пост-процессинг. Но это всё я не проверял, поскольку сам никогда WDM-версию S-YXG50 не использовал. То есть это информация по отзывам разных людей в интернете, и можете сами заняться тестированием и сравнением :)

    Ну с виртуалкой тоже ведь кто-то должен сделать этот набор костылей :) Одним файлом там не получится. Там надо будет помимо установки и запуска самой виртуалки ещё устанавливать какую-то клиентскую часть на машину пользователя, которая будет пересылать все MIDI-команды в виртуалку, и обратно получать готовый звук. Соответственно этот софт ещё нужно будет написать (как для 98 винды серверную часть, которая будет слушать сокет, получать MIDI-команды, отдавать их драйверу, получать от него звук, возвращать его в сокет; так и для хоста клиентскую часть, которя будет подключаться к этому серверу на виртуальной машине и отсылать в него MIDI-команды и получать обратно звук). Просто этот набор костылей технически реализуется проще, но работы тоже много. Идея с враппером для VxD технически реализуется сложнее, но она и интереснее. Но это явно несколько месяцев интенсивной работы (изучение подсистемы VxD и связанного с этим, написание кода, эмулирующего нужное окружение, написание какого-то внешнего интерфейса, того же VSTi). Тут нужен большой фанат Yamaha S-YXG100-PVL =)
    --- добавлено 20 апр 2016, предыдущее сообщение размещено: 20 апр 2016 ---
    Проверил ещё раз. Спецификации немножко отличаются только от более старых версий S-YXG50. В последних WDM-версиях указаны те же цифры, что и в VSTi-версии.
     
  5. Thyrion

    Thyrion

    Регистрация:
    20 апр 2016
    Сообщения:
    3
    Много букв
     
    Последнее редактирование: 21 апр 2016
  6. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Не поделитесь инсталлятором в архиве? Интересно глянуть.

    По идее можно найти где там зашита эта проверка и вырезать её. Процессоры AMD идентифицируют себя как AuthenticAMD (а Intel как GenuineIntel). Можете попробовать поискать эту строку в файлах и заменить её на нули или пробелы в HEX-редакторе. Будьте осторожны! В случае серьёзной ошибки в драйвере система может не запуститься. Либо же там эта проверка иначе сделана, но это всё при желании можно отыскать :)

    Это неверная информация. Оба стандартных банка S-YXG50 предлагают одинаковый набор сэмплов, просто в разном качестве. В S-YG20 есть 1.3 мегабайтный банк, который подходит и для S-YXG50 (нужно брать из S-YG20 V3). Вот в нём количество сэмплов урезано. Например, нет сэмплов для GS (вместо них что-то другое воспроизводилось, когда я пробовал).

    Пока что в ридми я историю программных синтезаторов расписал (ещё не залил эту версию). Инструкцию по использованию на паре примеров позднее допишу, пока что об этом вообще ни слова. Я хотел бы сразу описать VST MIDI Driver, но в нём сейчас критическая ошибка есть, из-за чего он неюзабельный (процессы vsthost не завершаются при окончании воспроизведении). Автор VST MIDI драйвера, он же автор foo_midi, в курсе. Надеюсь, скоро исправит. А то не хотелось бы советовать ставить драйвер с таким неприятным багом.

    Скорее всего через VST MIDI драйвер заработает. Поскольку именно VST MIDI драйвер пока что с неприятным глюком, по интернету гуляет более мудрёная инструкция по установке VSTi как драйвера при помощи пары других программ (SAVIhost и ещё какая-то). Если интересно, можете погуглить.

    Есть идея, откуда тут DX, даже если его не было в софтварном виде. Скорее всего этот же плеер использовался и для аппаратных железяк Yamaha. Посмотрите, например, внизу скриншота:
    aveg.by_z_2016_04_20_19_45_34_b9e9955c.png
    Заявлено, что для SW1000XG есть дополнительная плата PLG100-DX. Что-то же должно было воспроизводить это. Вряд ли Yamaha отдельные плееры делала для воспроизведения через свои железяки :)

    А, вы имеете в виду что-то типа «вынести окно XGPlayer из виртуальной машины на хост». Для таких трюков инструменты этой виртуальной машины должны быть установлены в гостевую ОС. Такие штуки есть для XP, а вот для Windows 98 скорее всего такого никто не делал. Хотя кто знает, можете погуглить :) Но мне такой вариант не интересен. Мне не тяжело в окне виртуалки пользоваться окошком плеера. Почти одно и то же. Хотелось бы, чтобы можно было слушать MIDI именно любимым плеером, тем же foobar2000, а не тем, что там в виртуалке стоит.

    А зачем вам понадобилось с Adobe Acrobat извращаться? Разве он не работает под современными ОС?

    У меня оба SGP уже давно пропатчены на это дело (для обычного SGP.DLL я ещё перенёс множество изменений из SYXG50.DLL, но решил что две по сути одинаковые версии, просто одна без GUI, наверное не нужны). Я хочу проделать операцию по вживлению wavetable файлов в ресурсы syxg2006le.dll (как это уже сделано в syxg50.dll) перед тем, как и её выкладывать. Но перед этим надо закончить с S-YXG50 :)
    --- добавлено 20 апр 2016, предыдущее сообщение размещено: 20 апр 2016 ---
    Я вообще думаю перейти на HTML5 в своих readme-файлах. HTML сейчас много чего умеет, можно в один файл запихать сразу два языка с переключением, картинки, шрифты... И откроется любым современным браузером. Просто всё руки никак не доберутся сделать шаблон, который бы мне понравился :)
     
    Последнее редактирование: 20 апр 2016
    Neitan нравится это.
  7. Alexys

    Alexys

    Регистрация:
    20 янв 2014
    Сообщения:
    341
    unreal doom нравится это.
  8. unreal doom

    unreal doom

    Регистрация:
    1 мар 2006
    Сообщения:
    4.928
    @Alexys а Shared Dig хорошо получился :ok:, ну и Unreal Crypt 1 в принципе тоже неплох.
     
  9. Polsta

    Polsta

    Регистрация:
    17 апр 2007
    Сообщения:
    115
    http://s000.tinyupload.com/?file_id=92122951444725924144
    Вот 2 миди трека с установочного диска от SB Live! 1024. Призваны показать мощь карт Creative в то время. Лучше всего звучат при включении реверберации на SB Live.
    Хорошо играются на AIMP2 и Foobar2000 с миди плагином и подключеным SYXG50
     
    Последнее редактирование: 22 апр 2016
  10. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Polsta, не подскажете инструкцию по подключению VSTi для проигрывания MIDI в AIMP, раз вы уже настроили? Включу в ридми файл рядом с инструкцией для foobar2000.
    --- добавлено 22 апр 2016, предыдущее сообщение размещено: 22 апр 2016 ---
    Это не чистый миди. Там рядом с MIDI-файлом лежат SoundFont-файлы, заточенные именно под эти два трека, там все сэмплы именно под эти треки. То есть это ближе к MOD-музыке. В данном случае, видимо, foo_midi автоматически подгружает лежащий рядом sf2-файл и не использует S-YXG50.

    Но вообще спасибо за эти пару экземпляров. Не знал, что такое бывает :) Хотя, конечно, форматы типа MOD удобнее будут, поскольку хранят семплы и ноты одним файлом.
     
  11. Polsta

    Polsta

    Регистрация:
    17 апр 2007
    Сообщения:
    115
    В AIMP2 я ничего не подключал т.к там и настроек никаких нет только SoundFont-файлы можно указывать
     
  12. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Если кому не сложно, поддержите мою просьбу пофиксить баг VST MIDI Driver здесь, а то вероятно kode54 думает, что это только одному мне нужно :)
     
  13. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    8
    У Roland D-50 тоже 8-битные были в 80-х, а выходной ЦАП - 20-битный. Потому что да, для полноценного синтезатора сэмплы - лишь сырой полуфабрикат. В процессе их интерполяции, модуляции, фильтрации и смешивания генерируется еще много битов, которые желательно уже не терять.

    Кстати, подтверждаю, что на картинке 2 ROM по 2 мегабайта, объединенные "последовательно" в поле 2 x 2M x 8bit. Видно тупо по количству линий адреса и способу их подключения.
    Сграбить такие я бы мог, например. Хотя никак не соберусь пограбить свои D-50, MT-32 итд. Побаиваюсь выпаивать.
     
    Последнее редактирование: 23 апр 2016
  14. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Осталось найти людей с таким или родственным оборудованием от Yamaha, которые могли бы передать его вам для создания дампов всех микросхем с ROM :)
     
  15. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Я тут присмотрел QS300...

    SF2 - довольно ограниченная фигня, сколько туда мегабайт сэмплов не впихни..
    Покажите мне, например, где в редакторе soundfont-а создать голос, использующий Ring Modulation, PWM, FM, синхронизированные осцилляторы, _настоящий_ двумерный wavetable, управляемый, например, от LFO?
    --- добавлено 23 апр 2016, предыдущее сообщение размещено: 23 апр 2016 ---
    Я уже не раз тут об этом писал.. Эталон поддержки GM/GS - Roland Sound Canvas, но ямаховские очень близки по звуку, плюс имеют XG. Почти все остальное GM-совместимое - хрень. Creative, с тех пор как поработила E-MU, пыталась свои GM-решения с саундфонтами двигать, но никому это не интересно, кроме ПК-шников - любителей.
    А так - есть куча профессиональных GM-несовместимых, которые сохраняют и воспроизводят MIDI-файлы, совместимые лишь с близкородственными инструментами, и то если не забыть залить SYSEX с инструментами или вставить ту же плату расширения.
     
    Последнее редактирование: 23 апр 2016
  16. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Очень интересно! Внутри файлов S-YXG50 написано MU50, а QS300, как пишут на вики, основан на MU50+QY300. Правда, в характеристиках QS300 указано больше голосов (932), чем для MU50 (737), а у S-YXG50 вообще в характеристиках указано 676, как у более поздних Yamaha MU10 и Yamaha DB50XG, у которого был какой-то режим совместимости с QS300. Подозреваю, что все они используют один и тот же WAVE ROM, просто по-разному его используют. Для QS300 как раз создавали кастомные инструменты видимо таким образом, по-разному смешивая существующие сэмплы. Тогда становится понятно, почему в SXGBIN41.TBL указано MU50, но голосов как в более поздних MU10 и DB50XG. Дата создания файла WAVE ROM в программном синтезаторе — февраль 1996. Короче всё очень рядом.
    --- добавлено 23 апр 2016, предыдущее сообщение размещено: 23 апр 2016 ---
    Как оказалось, во второй половине WAVE ROM всё же часть сэмплов в 16-битном виде хранится.
    --- добавлено 23 апр 2016 ---
    Насчёт количества голосов. В японской документации к S-YXG50 VSTi указано буквально следующее (это я уже перевёл для нового ридми, которое пишу сейчас):
    676 voices + 30 drum/SFX kits, XG mode: 480 voices + 20 drum/SFX kits, GS mode: 579 voices + 10 drum kits
    Не пойму, общее количество голосов будет 676+480+579, или в разных режимах они пересекаются? Походу, на вики только первая цифра из этих всех в характеристиках MU50 и ему подобных указана.
     
  17. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Пересекаются, думаю. Между наборами GM/GS/XG явно есть одинаковые инструменты. Уникальные они, скорее всего тлкто в пределах набора. А именно сэмплов скорее всего значительно меньше. В принципе, слегка сменив настройки фильтра или модуляции или даже сдвинув тональность уже можно сделать как бы новый инструмент, не говоря о более серьезных изменениях.
    --- добавлено 23 апр 2016, предыдущее сообщение размещено: 23 апр 2016 ---
    Такие платы управляются как обычные MIDI-устройства, но принимают свои персональные управляющие команды и SYSEX. Эти команды обычно генерирует какая-нибудь специальная программа-редактор инструментов. А так, для выбора инструментов и воспроизведения ими музыки нужно лишь проиграть заранее подготовленный MIDI-файл. Но только PLG100-DX играет не сэмплами. Это FM-синтезатор. Собственно, и другие платы тоже основаны не на сэмплах. VL, AN..
     
    Последнее редактирование: 23 апр 2016
  18. Alexys

    Alexys

    Регистрация:
    20 янв 2014
    Сообщения:
    341
    А что это разве не просто типа пакет, не такой же как и GIG ?
    конечно не покажу, потому что такого с длинными сэмплами сделать нельзя. Это же не shapes (формы) сэмплов элементраных волн из которых потом можно вырабатывать разные тембры. Вот к формам как раз и применяются и ринг и ШИМ и ЧМ с "лоу-фрекуенси"- осциллятором.
    Вроде как именно это имелось в виду.
     
  19. netsky2004

    netsky2004

    Регистрация:
    31 янв 2007
    Сообщения:
    1.446
    Такого софта случайно нет для смартфонов на Android?
     
  20. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @netsky2004, S-YXG50 точно не будет, последняя версия в 2003 году вышла и всё. Но вообще технически возможно портировать этот VSTi на Android без исходников, но работать это будет только на телефонах с процессорами x86, которых очень мало, так что смысла нет.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление