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. #551
    YAMAHA User

    А теперь то на 16-и битах это можно же сделать ) к тому же я выложил подчищенный шумодавом файл.

  2. #552
    Wlad

    я выложил подчищенный шумодавом файл

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

    Кстати YAMAHA User, а каким шумодавом вы пользовались ?

  3. #553
    YAMAHA User

    А где получить оригинальный файл из tbl-а ?

  4. #554
    Alexys

    YAMAHA User, просьба ! Коль Вам интересен проект и работа над ним, то почитайте, пожалуйста этот блог выше по постам и тогда Ваши вопросы отпадут сами собой. Здесь работают неглупые люди, которые знают точно, что они делают и те вопросы, что Вы задаете, решили уже давно.
    Насчет ЧД - не надо никуда гнать, все и так прекрасно работает !
    Кстати, а почему именно нужно -5 dB по-Вашему ? Почему не -6 dB. Ведь -6 dB - это ровно в два раза меньшая громкость.

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

    А что, поправить криворукость музыканта, путем снижения постоянного значения Velocity или Volume канала - нельзя ? Лично, я уже давно убедился, что самопальные мидишки сделаны не всегда качественно - это закономерность.

    Решаемо, правда у меня решения всегда очень грубые) для этого делаем загрузку одновременно четырёх копий , так вот сделан новый MUNT кстати, по стандарту у MT-32 идут каналы 1-8 , 10 или 2-10... я разговаривал с автором и он создал обвёртку в которую загружается два синтезатора и каждый сконфигурирован так что первый принимает каналы от 1-8, а второй от 9 до 16. Это приводит к удвоению нагрузки на ЦП в теории.

    Вы это серьезно ?? А что мешает просто в каком-нибудь хосте, типа Сонара, загрузить несколько синтов параллельно и так делать свою музыку ? Или MIDI у нас уже стало больше, чем 16 каналов ?? Куда столько полифонии ? Если звук качественный, то и много полифонии (параллельного нажатия клавиш) не нужно !

  5. #555
    Wlad

    YAMAHA User, где то ранее в блоге, VEG дал нам ссылку на оригинальный файл dsxgwave

  6. #556
    YAMAHA User

    Wlad
    Но там есть проблема ) если я беру другие SMP или ещё что, то они часто ен совместимы с dll-кой, то есть ещё надо знать какую dll брать.

  7. #557
    Wlad

    YAMAHA User, по этой ссылке вы можете скачать синтезатор с родным банком от YMF-724, который конвертирован в 44100 16бит, с ним же он и работает, также в папке синтезатора я вложил файл dsxgwave 44100-16.wav, который также конвертирован в 44100 16бит (просто конвертирован без всяких улучшайзеров), вы можете к этому Wav файлу применять какие угодно фильтра, а так же регулировать громкость всего банка как вам угодно, после любых манипуляций сохраняете этот Wav файл, обрезаете у него заголовок с адреса 0000h по 002Dh, и переименовываете его в YmF-724m.smp, и всё, банк готов.

  8. #558
    YAMAHA User

    Кроме шума ничего не получилось.
    Я вот подумал. А что если к YMF724 добавить поддержку FLAC и научить её работать со FLAC банками?

    Если что , у меня есть набор синтов , в том числе и вот эта YAMAHA 724-я. Могу поделиться , только не в публике. Там есть что доламывать ) пока это всё на VBS-е.

    И ещё такой вопрос. Вот вы говоорите :

    вы можете скачать синтезатор с родным банком от YMF-724, который конвертирован в 44100 16бит, с ним же он и работает, также в папке синтезатора я вложил файл dsxgwave 44100-16.wav, который также конвертирован в 44100 16бит (просто конвертирован без всяких улучшайзеров), вы можете к этому Wav файлу применять какие угодно фильтра, а так же регулировать громкость всего банка как вам угодно, после любых манипуляций сохраняете этот Wav файл, обрезаете у него заголовок с адреса 0000h по 002Dh, и переименовываете его в YmF-724m.smp, и всё, банк готов.

    А вот вопрос. Зачем ? Можно же пойти предельно простым путём. Если заголовок WAV файла всегда находится с адреса 0000h по 002Dh , то не проще ли написать YmF-724m.bin и YmF-724m.dll таким образом, чтоб нужен был только WAV , а уже он всегда читался синтезатором с игнорированием куска с адреса 0000h по 002Dh ? На мой взгляд, это значительно проще и болеестандартно получится чем как сейчас )

    После шумодава в Audition-е. Делал FFT 16384 https://yadi.sk/d/fOcG5Rzo3HGttH

    Проверьте как теперь с Loop регионами и попробуйте создать YMF-724 на базе вот того чтоя прислал ) звучит просто кристально ) совсем нет шума никакого.

    По-моему , вам лучше не семплы доделывать , а вот точто я положили довылизать так сказать. Потомучто как я понял , синтезатор достаёт ВЧ даже из 22050 ) просто надо стараться вычистить по лучше от паразитного шума ) вроде это получилось из вучит реально достойно. Мне очень даже понравилось. https://yadi.sk/d/uLVe4jB13HGu8B как видите на спектрограммах - ВЧ есть - паразитных шумов нет. Так что можете вылизывать этот банк. Я думаю, он стал существенно ближе к MU50 не смотря на то что это как бы S-YXG версия)

    А вот так и вовсе без клиппинга https://yadi.sk/d/GppJUrv03HHPbX

    Вторая версия нормализации под -0,1 dB https://yadi.sk/d/lcSBbggH3HHW7E , после вычищения шумодавом щёточки стали такими чёткими прямо )

  9. #559
    Alexys

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

    Кроме шума ничего не получилось.

    Это потому что Вы чего-то не поняли.

    Я вот подумал. А что если к YMF724 добавить поддержку FLAC и научить её работать со FLAC банками?

    Ну, попробуйте сделать, будем признательны. Хотя на кой черт, если wav - самый подходящий еще и потому, что это только сведения импульсно-кодовой модуляции, безо всяких сжатий и пересчетов.

    Если что , у меня есть набор синтов , в том числе и вот эта YAMAHA 724-я. Могу поделиться , только не в публике. Там есть что доламывать ) пока это всё на VBS-е.

    Ну, тогда ступайте с Богом, коль Вам жалко.

    Можно же пойти предельно простым путём. Если заголовок WAV файла всегда находится с адреса 0000h по 002Dh , то не проще ли написать YmF-724m.bin и YmF-724m.dll таким образом, чтоб нужен был только WAV

    Двиг сделан так, чтобы читать и пересчитывать только сведения ИКМ (PCM). Поскольку заголовок несет определения принципов чтения файла, то двиг его читать не будет. Иначе это будет совсем другой синт.
    Еще раз повторяю - советы можете раздавать в другом месте !

    Проверьте как теперь с Loop регионами и попробуйте создать YMF-724 на базе вот того чтоя прислал ) звучит просто кристально ) совсем нет шума никакого.

    Как такового шума там вообще не было. Шум выдает аудиокарта, читая 8-битный формат звука

    По-моему , вам лучше не семплы доделывать , а вот точто я положили довылизать так сказать.

    Сэмплы заменяются на более качественные просто в принципе, а не потому что они грязные. Замена производится на более качественный тембр и большее количество сэмплов на инструмент. Сэмплов, приходящихся на один инструмент, изначально 5-6 на весь нотный диапазон. В замене берется не меньше 20-ти.

    Потомучто как я понял , синтезатор достаёт ВЧ даже из 22050

    Да нету там строгих 22 кГц !! Частоты чтения лежат в динамическом диапазоне ! Двиг может читать частоты вплоть до 192 кГц, а то и выше.

  10. #560
    YAMAHA User

    Alexys
    1) я не программист и поэтому поинтересовался что может быть лучше было бы научить двиг читать после заголовка WAV-ов или даже поддерживать FLAC
    2) вы говорите, что шума там нет... совсем не так любой 8-и битный файл сам по себе шумный. И это даже при том, что его выводят через ресемплер. Дело в том, что 8-и бит для чистого кодинга недостаточно , в общем-то даже 16-и бит не достаточно и при читке RAW-ов есть два способа... получить полную частоту 44100 или 48000 с разрядностью 8 бит со всеми из того вытекающими последствими или же получить 22050 с разрядностью 16 бит. По-хорошему, чтоб получить правильный дамп файлов, нужно сначала достать 22050 при 16-и битах, а вот уже потом прогнав это через очень качественный ресемплер (кстати подойдёт ресемплер Windows 7 с обновлением SRC алгоритма, записать по цифровому тракту ЗК в 44100 или лучше сразу в 48000. Вот сопоставьте https://yadi.sk/d/lpRJ6Y5Y3HHkwC , первый так и был извлечён и записан как 22050 / 8 , второй через ресемплер в SoundForge , третий был извлелечён как 22050 / 8 и потом после обновы ресемплера Windows был еерезаписан по цифровому тракту ЗК.
    3) вы утверждаете, что там нет никаких 22 КГц... я утверждаю обратное. Можете посмотреть https://yadi.sk/d/0U2AZ4qF3HHixd ,частоты выше 11025 в исходном файле нет вообще , что говорит о том, что файл принудительно несёт в себе только 22050 дискретку. Причём даже в случаи, если дискретка 44100... частот даже хоть на малость приближающихся к полному частотному спектру 44100 нету. Следовательно, всё что выше 11025 КГц достаётся путём похожим на кодирование в MP3 Pro когда кодируется только половина частотного спектра с битрейтом до 64 кбит, а уже потом на основании того что декодируется в нижней части спектра, высчитываются ВЧ и кое как восстанавливаются.

    Вот что обнаружил... Оказывается , таблицы для VST и для WDM версий разных годов звучат по-разному. https://yadi.sk/d/VWfjgkwA3HHroz различия не очень существенные, но есть. Может пригодятся.

    Хочу таблицы из S-YXG100 выдрать, там как бы больше функций было.

    Я прихожу к выводу что 4 мегабайтный банк ямахе - это костыль... взял из S-YXG100 оба TBL-а https://yadi.sk/d/H1RApumh3HHwF5

    По-моему вот те банки которые от S-YXG100 звучат чище ) я не знаю, почему так, но тем не менее слышу отчётливо что звук на той же S-YXG50 с ними существенно чище.

  11. #561
    VEG Автор

    YAMAHA User, пожалуйста, постарайтесь писать сразу всё что хотите, а не по 10 сообщений подряд. Я же это вручную объединяю.

    Я вот подумал. А что если к YMF724 добавить поддержку FLAC и научить её работать со FLAC банками?

    Большой tbl-файл — это сырые данные. Там могут быть одновременно находиться семплы с разной разрядностью. FLAC и WAV такого не позволяет. Более того, поскольку это служебный файл, сейчас он находится в таком формате, с которым удобно работать коду синтезатора. Смысла прикручивать FLAC нет от слова совсем — пустая трата времени как на доработку, так ещё и ненужное усложнение синтезатора, увеличение времени его загрузки. А вот написать инструмент для разбивки файла семплов на отдельные семплы и его сборки обратно — можно, я планирую в будущем этим заняться.

    Оказывается , таблицы для VST и для WDM версий разных годов звучат по-разному. https://yadi.sk/d/VWfjgkwA3HHroz различия не очень существенные, но есть. Может пригодятся.

    Вы взяли таблицы из WDM-драйвера и подсунули их в VSTi? Огорчу вас, но они идентичны тем таблицам, что включены в S-YXG50 VSTi Portable, то есть звук не может отличаться. Разница там только в том, что в моей сборке эти файлы расшифрованы (для уменьшения объёма архива, так как расшифрованные данные гораздо лучше сжимаются, и для удобства исследований). Об этом явно указано в списке изменений.

    Я прихожу к выводу что 4 мегабайтный банк ямахе - это костыль... взял из S-YXG100 оба TBL-а

    В S-YXG100 основной движок идентичен S-YXG50, и tbl-файлы там идентичны. Разница там в том, что в S-YXG100 дополнительно прикручено два дополнительных движка (PVL и SG), которые и дают дополнительные инструменты. Но эти инструменты не основаны на семплах, их нет в tbl-файлах.

    По-моему вот те банки которые от S-YXG100 звучат чище ) я не знаю, почему так, но тем не менее слышу отчётливо что звук на той же S-YXG50 с ними существенно чище.

    По-моему это у вас самовнушение. Возьмите yamaha_syxg50_vsti_ext.7z, выберите там в ini-файле 2-мегабайтную версию банка (так как, судя по всему, именно такой вы используете от S-YXG100) и сравните. Можете устроить слепой тест. Можете даже сделать побитовое сравнение — отрендерить любые MIDI с использованием tbl-файлов из yamaha_syxg50_vsti_ext.7z, и отдельно с использованием tbl-файлов из S-YXG100, после чего сравните полученные WAV-файлы побайтово любой подходящей утилитой. Если вы всё сделаете правильно, они будут идентичны. Если же вы всё сделали правильно и они не идентичны — значит где-то ошибка.

    Во время разработки патча я таким образом тестировал свои изменения, чтобы случайно не изменить звук. Брал несколько сотен MIDI-файлов, массово рендерил их в WAV при помощи foobar2000, при помощи оригинального S-YXG50 с зашифрованными банками, так и при помощи патченой версии с расшифрованными банками (в разные подкаталоги). А потом при помощи Total Commander автоматически сравнивал содержимое двух получившихся подкаталогов. Во всех моих тестах оно всегда получалось идентичным.

    Wlad,

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

    Он хранит как 8-битные, так и 16-битные данные в одном и том же формате (unsigned). Видимо, в таком же формате хранится звук в ямаховских железных синтезаторах. Думаю, это самое логичное объяснение.

  12. #562
    Wlad

    Приветствую вас YAMAHA User.

    Если заголовок WAV файла всегда находится с адреса 0000h по 002Dh , то не проще ли написать YmF-724m.bin и YmF-724m.dll таким образом, чтоб нужен был только WAV , а уже он всегда читался синтезатором с игнорированием куска с адреса 0000h по 002Dh ? На мой взгляд, это значительно проще и болеестандартно получится чем как сейчас )

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

    Кроме шума ничего не получилось.

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

    Я вот подумал. А что если к YMF724 добавить поддержку FLAC и научить её работать со FLAC банками?

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

    По-моему , вам лучше не семплы доделывать , а вот точто я положили довылизать так сказать. Потомучто как я понял , синтезатор достаёт ВЧ даже из 22050 ) просто надо стараться вычистить по лучше от паразитного шума ) вроде это получилось из вучит реально достойно. Мне очень даже понравилось. https://yadi.sk/d/uLVe4jB13HGu8B как видите на спектрограммах - ВЧ есть - паразитных шумов нет. Так что можете вылизывать этот банк. Я думаю, он стал существенно ближе к MU50 не смотря на то что это как бы S-YXG версия)

    YAMAHA User, похоже вы решили пройтись по всем моим "граблям" прямо по прямой дорожке :). Что я только не пробовал что бы улучшить качество этих "обеднённых " по качеству семплов, на вряд ли вам что то поможет, получите на выходе либо неприятные призвуки в виде "цоканья", и т.д., или нарушение циклов. Единственное что помогло, это повышение ч.д. в двое, из за чего звук стал немного ярче (появились немного высокие), дальнейшее её повышение ни к чему хорошему не привело (я создал банк 88200). Теперь разрядность, после её повышения звук стал мягче, немного выразительней, и появилась в некотором роде тишина вместо шумового фона. Больше к сожалению, практически ничего не помогает, даже теорема Котельникова по "восстановлению качества", звук становится вроде лучше, но появляются неприятные "цоканья". Попробуйте "обеднить" семплы до ч.д. 11025Hz, а после попробуйте добиться хотя бы приблизительного результата к 22050.

  13. #563
    YAMAHA User

    VEG

    По-моему это у вас самовнушение. Возьмите yamaha_syxg50_vsti_ext.7z, выберите там в ini-файле 2-мегабайтную версию банка (так как, судя по всему, именно такой вы используете от S-YXG100) и сравните. Можете устроить слепой тест.

    Я не знаю почему так, но разница в звуке есть и ощутимая. В старых банках нет шума. Не чувствуется что они 8-и битные и восстановление делается полностью если их подсунуть в yamaha_syxg50_vsti_ext.7z.

    Wlad
    Понял )
    Но вот работать с 4-ёх мегабайтной версией совсем не стоит. Она реально шумная какая-то. Причём шумная и в вашем вариантие и в шифрованом варианте. Попробуйте довести до ума 2-ух мегабайтную версию. Если конечно оно вовсе надо )

  14. #564
    VEG Автор

    YAMAHA User,

    Я не знаю почему так, но разница в звуке есть и ощутимая. В старых банках нет шума. Не чувствуется что они 8-и битные и восстановление делается полностью если их подсунуть в yamaha_syxg50_vsti_ext.7z.

    Проведите или полноценный слепой (ABX) тест, или сделайте двоичное сравнение отрендерённых WAV-файлов. Если отрендерённые файлы будут идентичны — звук в них не может отличаться, как вы понимаете. Только не забудьте проверить, чтобы в обоих случаях использовался банк одинакового размера. Если используете зашифрованный двухмегабайтный банк из S-YXG100 — значит в S-YXG50 Portable VSTi тоже выберите двухмегабайтный банк, он есть в yamaha_syxg50_vsti_ext.7z.

    А воображение часто играет злую шутку. Для аудиофилов даже Ethernet и SATA кабеля специальные продаются, и они наверное тоже слышат разницу =)

  15. #565
    Wlad

    Он хранит как 8-битные, так и 16-битные данные в одном и том же формате (unsigned). Видимо, в таком же формате хранится звук в ямаховских железных синтезаторах. Думаю, это самое логичное объяснение.

    VEG, я тут на днях по лучше изучил железный дамп NEC XR385, и вот что обнаружилось, хоть дамп семплов сделан и не корректно, но дамп с таблицами корректно, и можно многое разобрать. Семплы в самом банке (NEC XR385) используются как Signed так и Unsigned, так же и с разной разрядностью, и частотой дискретизации. Таблицы для семплов у них идентичные, т.к. одно поколение, а вот там где в софтсинтезаторе устанавливается разрядность кодами 00h и 80h (Рз), в железном аналоге выбор этих кодов гораздо больше, таблицу привожу ниже. Следующее значение (zz) в софтсинтезаторе (в коде) не используется, а в железном аналоге наоборот, и к тому же также имеет довольно длинный список этих кодов, предположительно именно эти значения и связаны с ч.д., их список также привожу ниже.

    Vl Tone      Strt        Loop     Pointr   Рз zz
    00 2DF7  00  292A   00   1A7C     2C6D72   80 00 0022
    

    Рз - Разрядность
    40,41,42,43,44,45,48,4A,4B,51,53,55,5D,66,6C,75,80,CA,CD,CE,CF,D1,D2,D3,D6,D7,DB,DF
    zz - Предположительно частота дискретизации (в железных аналогах)
    00,01,02,03,04,05,07,0A,0F,12,17,1E,21,28,29,2B,2D,45,4F,54,6F,76,9A,B1,D5
    Сама таблица WF_Structure из NEC XR385, т.к. это одно поколение синтезаторов, а также табличек, я подумал что эта информация здесь будет не лишней, т.к. возможно в будущем возможно пригодится.

  16. #566
    YAMAHA User

    VEG
    Что так, что по-другому, лучше звучит 2Mb, вот это я как раз и не пойму почему.

  17. #567
    Wlad

    YAMAHA User, вы правы, банк 2мб сделан лучше чем 4мб, послушайте барабаны последовательно перебирая на клавиатуре по одному, и вы услышите в них не приемлемый паразитный шум, так же как и в некоторых инструментах, вероятнее всего этот размер банка был сделан YAMAHой из маркетинговых соображений, после успешной рекламы 2мб банка и прорыве на тот момент в этой области. Понятно зачем увеличили, что бы люди думали что он лучше и покупали его (софтсинт), а вот зачем они его ухудшили, это остаётся загадкой.

  18. #568
    YAMAHA User

    Я как раз на ударных инструментах и перкусиооных не в наботе Drumsets замечаю эту разницу.
    А можно ли сделать S-YXG50 со вшитым 2 MB? Или это очень сложно ? Просто у вас есть версия на 4 МБ, есть версия с подключаемыми, а вот версия со вшитым - не нашёл.

  19. #569
    Wlad

    YAMAHA User
    Вот синтезатор у которого банк с семплами 88200 16-бит : https://yadi.sk/d/BYybLGdx3HJHZN
    Делался такой банк исключительно для эксперимента (возможны в нём ошибки), можете сравнить качество с другими синтезаторами если вам интересно, этот банк сделан на основе YMF-724, т.к. софтсинты 2мб, и 4мб я более не рассматриваю, Wav файл в папке прилагается.

  20. #570
    YAMAHA User

    Тут пока смотрю на структуру файлов синта YMF-724 и появилась мысль.
    В структуре файлов есть :
    YmF-724m.bin
    YmF-724m.smp
    Я так понимаю, первый аналог sxgbin21.tbl / sxgbin41.tbl , второй аналог sxgwave2.tbl / sxgwave4.tbl. Поскольку люди часто переименовывают синт, то подобные файлы смотрятся немного не логично. Я предлагаю их именовать settings..bin (потому что как я понимаю это управляющая таблица) и bank.smp. На мой взгляд это будет и пользователю удобнее использвать в таком виде и вам как разработчику не придётся при перименовании dll-ки прописывать уникальные имена файлов для каждой новой версии.

    Есть ошибки лупировки сэмплов. Что-то не так там. Вот композиция на которой заметно сразу https://yadi.sk/d/p0CzRBqu3HJKqN

    S-YXG50 со вшитым 2MB банком https://yadi.sk/d/lYIRQD613HJNoF

  21. #571
    VEG Автор

    YAMAHA User,

    Что так, что по-другому, лучше звучит 2Mb, вот это я как раз и не пойму почему.

    2Mb и 4Mb банки, понятное дело, будут звучать по-разному. Только я заранее сказал, что в yamaha_syxg50_vsti_ext.7z есть два банка на выбор, и один из них соответствует тому, что вы взяли из S-YXG100. Я же не просто так просил вас указать в настройках двухмегабайтную версию банка в случае, если вы из S-YXG100 взяли эту же версию банка :)

    А можно ли сделать S-YXG50 со вшитым 2 MB? Или это очень сложно ?

    Почитайте readme хотя бы. Там же всё это описано.

    Wlad,

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

    Неправда ваша. Судя по датам оригинальных файлов, файл с семплами на 4 мегабайта был сделан на 5 месяцев раньше двухмегабайтной версии (оба в 1996 году).

  22. #572
    YAMAHA User

    Всё таки я вот слушаю Ямаху и что-то да не так ) они ещё и VST и WDM отличаются по исполнению некоторых композиций. Не знаю почему так правда. https://yadi.sk/d/keerORHG3HJXd4 , а вот пример разницы в звучании https://yadi.sk/d/PPrZuGtg3HJY2i , не совсем понимаю, почему такая разница присутствует.

  23. #573
    Wlad

    VEG, прошу меня простить за невнимательность к дате банков, но YAMAHA большая корпорация, и они могли запланировать создание банков в одно время, но по каким то причинам откомпилировать в разное, также и выпустить, вы же сами знаете как это делается, ничего не мешает например в последний момент что то добавить туда, или исправить, а после откомпилировать, возможно также эти банки были предназначены для разных целей, но к примеру где то 4мб банк не оправдал себя из за плохого качества, и поэтому его отдали народу (причин может быть много). Просто я очень хорошо помню те времена, а также какие тогда были компьютеры, и я сильно сомневаюсь что 4мб банк был первым, т.к. не каждый себе мог позволить установить такого размера банк, сильно не жертвуя памятью (вплоть до бесконечных подгрузок), к тому же я хорошо помню что 2мб банк был первым (не считая S-yxg20, и уже не помню что там было в S-yxg70), а после (если все же не изменяет память) появился 4мб. Лично я считаю, что датам создания не стоит сильно доверять, однако всё же тут правда на вашей стороне :).
    YAMAHA User, Чего вы не можете понять, есть три основных синтезатора YAMAHA S-YXG100 WDM (2мб), он же S-YXG50 Vsti 2мб, он же S-YXG50 WDM 2мб, у них таблицы идентичные так же как и звук (если слушать на VSTi), та же история и с 4мб, только по моему если мне не изменяет память, YAMAHA S-YXG100 эволюционировала в S-YXG50 WDM 4мб, он же S-YXG50 Vsti 4мб, и теперь появился третий, это перенесённые таблицы с банком на движок S-YXG50 VSTi. 2,4мб банк. Все эти три синтезатора 2мб, 2.4мб, а также 4мб, отличаются по звуку, т.к. у них в таблицах все настройки инструментов да и вообще всего, отличаются, больше вы ни каких таблиц и банков не найдёте, потому что их нет !
    Единственное место где можно найти что то новое, а после на этом движке это новое сделать, это сдампить следующие платы: DB50XG, SW60XG, а также синтезаторы этого же поколения, например : PSR630, PSR740, и т.д, и т.п. а так же их аналоги, или создать что то своё.

  24. #574
    YAMAHA User

    Wlad
    Нет, вы послушайте кк играет Distortion гитара на WDM и на VST ) от размера банка это не зависит, а вот ноты в самомначале... VST более отрывистый и чёткий что-ли если его сравнивать напрямую с WDM.

  25. #575
    VEG Автор

    YAMAHA User, то есть вы поставили WDM-драйвер на Windows XP и слушаете через него? Тогда зачем вы выкладывали VSTi с таблицами от него? Только ввели в заблуждение. Если вы воспроизводите именно через WDM-версию — то разница возможна, потому что версии движка разные. WDM-версия получала много обновлений и исправлений. VSTi-версию Yamaha выпустила и сразу же перестала поддерживать все свои программные MIDI-синтезаторы, то есть S-YXG50 VSTi не получил ни одного обновления. А под Windows 98 ещё был VxD-версия синтезатора, и она тоже может звучать иначе. Тем более, что в 2000 году Yamaha немного переделала все свои таблицы с параметрами инструментов, то есть синтезаторы VxD и WDM до 2000 года и после тоже будут звучать в каких-то деталях иначе.

    Поскольку VSTi вообще не обновлялся и существует только в одной первой версии, вполне может иметь место какая-то ошибка от самой Yamaha. Как минимум я знаю об одной проблеме — эффекты Variation (как я понимаю через них делают дистршн гитары?) звучат по-разному на разных частотах дискретизации, и на 96kHz оно звучит совсем неправильно, хотя эта частота дискретизации официально поддерживается синтезатором. Возможно, в вашем примере что-то связано как раз с этой проблемой, потому что тут звук гитары похоже что использует Variation. Было бы неплохо разобраться действительно ли оно неправильно звучит, и где именно оно неправильно — в WDM или в VSTi, ведь вполне может быть, что сам по себе MIDI-файл не совсем корректный, и VSTi-версия синтезатора наоборот делает всё правильно =) Надо будет потестировать на виртуалке с Windows XP и Windows 98, посравнивать звучание мелодий с использованием Variation.

  26. #576
    YAMAHA User

    VEG
    Насколько я тестировал, VXD / WDM звучат на этой композиции одинаково, Банки я подмешивал и от S-YXG50 WDM и от S-YXG70 и от других... результат только в том, чир S-YXG50 VSTI при подкладывании самых старых банков от S-YXG70 и S-YXG100 Plus звучит чище. А вот характер обращения с гитарой интересен ешё и тем, что если её слушать через что-то другое (не ямаховское) например Roland SoundCanvas VA, гитарная партия на нём соответсвует гитарной партии S-YXG VXD и S-YXG50 WDM. Поскольку Вы копаете очень глубоко, то может есть смысл расковырять WDM движок или VXD движок и сравнить его поведение (чисто поведение движка) на разных настройках? Тогда в теории вы можете исправить то, что не исправила ямаха и выпустить что-то типа VEG XG VST Synthesizer )

  27. #577
    VEG Автор

    Wlad,

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

    Так Yamaha много лет и не делилась 4-мегабайтной версией, он долгое время вообще не появлялся на публике.

    SXGWAVE4.TBL [1996/02/06] (S-YXG50-4MB)
    SXGWAVE2.TBL [1996/07/03] (S-YXG50-2MB)
    SGPWAV00.TBL [1996/07/09] (S-YG20)

    Насколько я вижу по архивам, S-YG20 и S-YXG50-2MB вышли в 1997 году (что любопытно, для S-YG20 была версия даже для Windows 3.1). А вот S-YXG50-4MB, судя по всему, был опубликован где-то в 2000 году. Не видел ни одной более старой версии, где был бы 4-мегабайтный банк. То есть Yamaha долгое время не публиковала его, но (я полагаю) используя его в качестве основы для создания других банков для своих программных синтезаторов. Как я уже ранее заявлял, вполне возможно, что это просто дамп того же MU50. Меня тут только объём чуть больше 4 мегабайт смущает. В MU50 вроде как ровно 4 мегабайта было. Хотя вполне может оказаться, что этот небольшой хвостик хранился где-то рядом с кодом, если в микросхеме с кодом было свободное место :) Или же в MU50 всё было 8-битным, а тут небольшую часть семплов кто-то сконвертировал в 16 бит, отсюда и излишек.

  28. #578
    YAMAHA User

    SGPWAV00.TBL

    Вот это как достать ?
    И ещё , я посмотрел файлы 1403848.cab и 1415885.cab и вот что там увидел ещё :
    Sxgmasys.tbl , в нём содержится :
    1.00.04 W@ чЮIGJ\bh~pДОрDht¬S€¬eЮIGJ^JЖМр~p~¬.¬Ґ¬¬¬љШIG­ Д¬
    ШIG¬S€¬№ШIG„Ё¬¬/ШIG¬¬¬¬™ЪIG®¬¬¬ЪIG®S€¬јФIG

    Больше в нём нет ичего.

  29. #579
    VEG Автор

    YAMAHA User,

    результат только в том, чир S-YXG50 VSTI при подкладывании самых старых банков от S-YXG70 и S-YXG100 Plus звучит чище

    Вы уверены? Не должно быть так. В S-YXG70 просто скрещены S-YXG50 и S-YG20, и там используются файлы семплов от обоих этих синтезаторов без изменений. В S-YXG100 таблицы тоже полностью идентичны тем, что в S-YXG50. Будучи подсунутыми в VSTi, они должны звучать так же, как и те таблицы, что идут в комплекте с VSTi.

    SGPWAV00.TBL Вот это как достать ?

    Он есть в S-YXG70, о котором вы писали ранее, ну и собственно в S-YG20, о чём я тоже явно написал. Как я писал, S-YXG70 содержит в себе просто два синтезатора. Тот который попроще (S-YG20) включается для когда не нужны фишки S-YXG50, чтобы экономить ресурсы процессора во время насыщенных игровых ситуаций.

    Sxgmasys.tbl, в нём содержится

    Там содержится информация о том бесплатная ли это версия синтезатора, триальная ли, некоторые настройки типа «какой файл читать» и т.д., в общем аналог ini-файла. Файл зашифрован, но я его расшифровывал и уже писал об этом здесь ранее. Почитайте немного, будет полезно.

  30. #580
    Wlad

    YAMAHA User
    Вот по этой ссылке вы можете скачать WDM синтезатор : https://yadi.sk/d/QRh4wF2M3HJvVB
    У него полифония устанавливается в 512 голосов, а также можно в настройках переключать банки между 2мб и 4мб, и вам будет легче подменять и переключать банки в этой версии WDM синтезатора. В архиве два синтезатора, но если честно , я не помню в чём их отличия (возможно они одинаковые), знаю только что один в виде EXE установщика, а второй в виде CAB архива и INF файла. Что бы установить синт с INF файла, нужно по нему щёлкнуть правой кнопкой мыши, и выбрать в всплывающим меню установить, надеюсь этот WDM синт поможет вам в экспериментах, или по качеству звука вас устроит. По поводу качества WDM, ничего сказать не могу, т.к. не установлен он у меня, и я работаю только с VSTi, но однако помню, что когда то давно, кто то говорил про какие то проблемы с завышенным эффектом Variation, а ещё про некий хрип в звуке, но вот не скажу, то ли это в WDM драйвере в какой то версии было, то ли в драйверах Ymf-7x4, я уже этого не помню.
    VEG
    Скорее всего вы правы, хорошо хоть YAMAHA спустя много лет всё же решила поделится этим банком :)

  31. #581
    YAMAHA User

    Когда кладу только SGPWAV00.TBL не работает. Чего ему не хватает ?
    Кстати вот подумалось. У вас сделано скрытие кнопки help если нет CHM файла, а как насчёт задавания вопроса какой TBL ипользовать и хранения этой информации в файлехоста?

    Тут ещё появилось одно предложение и один вопрос)
    Предложение вот какого рода::
    S-YXG50 VST, предлагаю в ресурсы зашить и 1,5 и 2 и 4 MB таблицы ) вот на вкладке Setup предлагаю предоставлять выбор какую таблицу использовать, что-то типа выбора карты звуков как в SoundCanvas VA )
    А вопрос теперь в том, что чем вы запаковываете синтезаторы так что у вас есть ресурсы и всё такое? У меня есть Restorator 2009 и Resource Hacker, но я не знаю, как добавлять ресурсы там и там. Если можете пояснить - будет очень здорово.

  32. #582
    YAMAHA User

    Wlad
    Что касается WDM, я сижу на Windows 7 x64, но у меня есть VMWare Player в котором есть XP и вот когда сравниваешь звучание всего одной композиции (не понятно пока почему именно на этой композиции) , то не вольно замечаешь разное звучание и только в самом начале. А вот например эта https://yadi.sk/d/7x26GW8c3HKAHw звучит полностью идентично) хотя она во всю использует вариацию звука на дисторшин гитаре.

    Вот тут заметно как отличается бас на 2 и 4 мегабайтном банке. В 4 мегабайтном он как бы мягче и его как бы меньше. На 4 мегабайтном он такой упругий прм. https://yadi.sk/d/9JOFgCcJ3HKCxU

    Странно, но 4 мегабайтная версяи ГОРАЗДО более шумная , можете послушать : https://yadi.sk/d/22fcaP9k3HKGJp там где шума нет после нажатия клавиши 2 мегабайтная. Хотя конечно если взять вниз - то в двухмегабайтной тоже шум есть , но его всё равно меньше.

    Есть предложение организовывать построение файлов вот атким образом : https://yadi.sk/d/_U27iECb3HKKDM , settings,bin и samples.smp

  33. #583
    Alexys

    YAMAHA User
    Еще раз хором: ПРОЧТИТЕ БЛОГ ОТ НАЧАЛА !!!!!!!
    Все уже организовано, спланировано, подготовлено и выполняется !!!!!
    Никаких конструктивных изменений в организации, планах, подготовке и выполнении НЕ планируется !!!
    Если хотите помочь - помогите материалом: сэмплами, настройками синтов, методами звукоизвлечения, программированием, математическим описанием физических моделей !! В конце концов просто бета-тестером побудьте !! Но перестаньте, пожалуйста, РЕКОМЕНДОВАТЬ !!
    Все банки изучены нами вдоль и поперек, ничего нового мы не узнаем !

  34. #584
    YAMAHA User

    Alexys
    Правда вы мою рекомендацию не поняли, ну да ладно...
    Я лишь хотел сказать, что было бы круто выпустить S-YXG50 даже с зашифрованынми банками, но так, чтоб в неё были встроены они все и выбор банка делался бы по нажатию на Setup, Сохроанять инфо о том какой банк использовать можно в файле настроек хоста. Впрочем туда же можно вынести и настройку использования XGLite разных версий, постпроцессинг и так далее.
    Что же касается рекомендаций по названиям файлов bin и smp, то это рекомендация правильная, потому что для многих этот синтезатор всё таки S-YXG50, а не YMF-724. Поэтому я думаю что люди будут переименовывать DLL-ку в XG50 и логично же переименовыать остальные файлы тоже, однако в той форме как сейчас есть, это не возможно без HEX редактора. А вот файлы settings.bin и samples.smp переименовывать и не надо вовсе ) потому что такое имя будет подходить и под YMF-724 и под S-YXG50

  35. #585
    Alexys

    было бы круто выпустить S-YXG50 даже с зашифрованынми банками, но так, чтоб в неё были встроены они все и выбор банка делался бы по нажатию на Setup,

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

    Что же касается рекомендаций по названиям файлов bin и smp, то это рекомендация правильная, потому что для многих этот синтезатор всё таки S-YXG50, а не YMF-724.

    Ну, за основу то мы взяли конфиги именно двига YMF-724. S-YXG-50 уже отпадает, поскольку он иначе сбалансирован. По названиям пользователю просто не надо будет задумываться в таком случае. Скопировал и пользуйся.

    Поэтому я думаю что люди будут переименовывать DLL-ку в XG50 и логично же переименовыать остальные файлы тоже, однако в той форме как сейчас есть, это не возможно без HEX редактора.

    А зачем нужно производить самостоятельную настройку ?

    А вот файлы settings.bin и samples.smp переименовывать и не надо вовсе ) потому что такое имя будет подходить и под YMF-724 и под S-YXG50

    Ага, а потом поди поищи какой откуда файл. Поэтому пусть лучше они будут одного имени.

  36. #586
    VEG Автор

    Wlad, в табличке с описанием семплов барабанов многие из них имеют start, pointer и loop равные нулю. Там целая группа таких записей. У них какой-то особый смысл?

    Прошёлся по 16 и 5 табличкам, вычислил максимальный и минимальный используемые адреса семплов. Удивился, что в начале первый байт не задействован, и в конце пачка байт тоже не принадлежит ни одному семплу. Хочу ещё посмотреть есть ли там неиспользуемые данные посередине между семплами, и есть ли «пересекающиеся» семплы (когда две записи указывают на разные участки одного и того же промежутка файлов семплов). Если есть «пересекающиеся» семплы, то так как я хотел красиво разрезать файл семплов на отдельные семплы не выйдет :(

  37. #587
    YAMAHA User

    Wlad
    Как идёт процесс отладки в YMF-724 Loop зон ? Та версия которая на основе банка 22050 / 16 вцелом хорошо зовучит , но вот есть досадные Loop регионы где заметно что нота толи не докручена толи наоборот перекручена.

  38. #588
    Astemir

    Встретилось на просторах интернета

    У Yamaha была полная серия softsynth (большинство из них только для Win98):
    S-YGM General MIDI-only softsynth без поддержки XG (только для Японии)
    S-YG20 (General MIDI + XGLite)
    S-YXG50 (комплект GM + Full XG), входил в несколько игр для ПК и старых драйверов ПК
    S-YXG50NT (WDM) - версия WDM, которая работает на WinNT, 2000 и XP
    S-YXG50 VSTi (версия VSTi была выпущена только для Японии, в составе DAW SOL / XGWorks. Она никогда не продавалась как отдельный продукт).
    S-YXG70 (входил только в несколько игр для ПК (Final Fantasy series), содержит как S-YG20, так и S-YXG50)
    S-YXG100 Plus (GM + Full XG + 1-голос VA)
    S-YXG100 PVL (GM + Full XG + 8-голосовой VA)
    S-YXG / DM (версия DirectMusic, входит в комплект FF8)
    S-YXG2006LE (урезанная версия [XGLite V2 only] обновленного и переименованного S-YXG100)

    Японские версии S-YXG [50 и 100] также поддерживают формантное пение (SG) синтез.
    S-PLG: для S-YXG100 Plus / PVL было несколько плагинов, которые добавляли синтез Virtual Analog, FM (DX7), барабаны Yamaha, вокальный Harmony FX и многое другое для уже великолепной серии S-YXG100.

    Взято отсюда https://www.kvraudio.com/forum/viewtopic.php?f=1&t=169094 кому интересно, там же можно дальше еще почитать.

    VEG, Wlad на Яндекс Диск выложил https://yadi.sk/d/hySBijP13HM82o архив с Yamaha pdf
    // Yamaha Specification Datasheet для YMF724F (DS-1), YMF744B (DS-1S), Yamaha XG format specifications, MU128 Owner's Manual, Yamaha SW1000XG Data List, S-YXG50 data и тд // и там есть несколько фото/скринов: S-YXG50 1997-2003, S-YXG2006LE 2001-2005 и S-YXG2006LE VST 1997-2008.
    Интересует последний - если не фотошоп, значит есть версия S-YXG2006LE VST?

  39. #589
    YAMAHA User

    Вообще, мой любимый синтезатор был и остаётся SoundCanvas VA ) ещё с детских лет где-то с 12-и когда появился первый ПК... получил книгу ремонт и обслуживание ПК ) ну там рассматривали разные железки от процессоров и их ошибок в разных ревизиях и до специфики работы разных ОС включая MS-DOS / Windows / OS/2 / Unix ) да , тогда понятия Linux ещё не было) и вот тогда я прочитал что есть такой синтезатор Roland MT-32) и вот не знаю почему, само слово Roland мне показалось красивым и поэтому я уже с тех лет предрасположен к синтам этого производителя ) очень синтпак который я сделал я всё же покажу ) вот https://yadi.sk/d/SFaxPzqz3HEaHd, содержит :
    Roland SoundCanvas VA эталон звучания как на мой взгляд
    Roland MT-32 version MUNT 16 ch based
    YAMAHA S-YXG50 взятая отсюда
    YAMAHA S-YXG2006LE
    OPL3 VST
    Purity
    M-Audio GM Module
    Edirol HyperCanvas
    Bass MIDI SoundFont VST
    YMF-262 Sonftware Synth
    Software OPL Synthesizer
    Совместимость всего этого по низу XP )

  40. #590
    VEG Автор

    Astemir,

    S-YGM General MIDI-only softsynth без поддержки XG (только для Японии)
    S-YG20 (General MIDI + XGLite)

    Неверно. S-YG20 не поддерживал XG ни в каком виде. Только General MIDI. S-YGM скорее всего вообще выдуман. Я много копался в архивах за 1997 год и не встречал упоминаний такого.

    S-YXG2006LE (урезанная версия [XGLite V2 only] обновленного и переименованного S-YXG100)

    Неверно. S-YXG2006LE VSTi в какой-то мере основан на S-YXG50 VSTi. Но движок там практически полностью новый, от S-YXG50 VSTi там, похоже что, разве что сам код, который реализует интерфейс VST.

    Что касается других — у S-YXG50 были версии в виде VxD (драйвер для Windows 9x), WDM (драйвер для Windows XP) и VSTi. У S-YG20 были версии в виде VxD для Windows 3.1 и Windows 9x. У S-YXG100, S-YXG70 и S-YXG/DM были только версии в виде VxD для Windows 9x, и все три были основаны на S-YXG50 VxD, с добавлением разных расширений.

    Интересует последний - если не фотошоп, значит есть версия S-YXG2006LE VST?

    S-YXG2006LE существует исключительно в виде VSTi. Входил в комплект Yamaha MidRadio 7 под именем SGP2.DLL. Но он собран без поддержки GUI. Остатки от GUI можно найти в ресурсах, но они никак не задействованы из кода. На скриншоте где написано «S-YXG2006LE 2001-2005» и нет вкладок — просто диалог из ресурсов SGP2.DLL. А вот там где написано «S-YXG2006LE VST 1997-2008» — любопытный экземпляр. Вживую такого не встречал, только этот некачественный скриншот. Возможно, кто-то так пошутил :) Или всё же существует версия с GUI, о которой мы ничего не знаем.

  41. #591
    YAMAHA User

    Немного из илчиного что сваязано со словом Роланд )))
    По очень странной прчине когдаяпокупал диски с програми для работы с музыкой мне попалось кое что, что содержало в одном из каталогов файл 4_shout-.mid слушал я его тогда на OPL3 синтезе от ESS 688 и мне музыка не понравилась. Не нравилась она мне и на AWE64 и на Live! Но вот когда появился XP я захотел достать из DLS банка сэмплы любимого синтезатора Roland VSC-88... по факту он был восе Roland VSC-55 в обвёртке от VSC-88 потому что таблица была только одна от SC-55. И вот жтот любимый SC-88 @ SC-55 на XP не заработал. Машина была слабая и я попытался реконструировать и смог реконструировать DSL банк. Правда он вымахал в размере с 3 до целыз 8-и мегабайт, но всё же хоть какое-то подобие VSC на XP средствми SB Live! И вот на этом банке я включил позабытую 4_shout-.mid и она мне снова не понравилась ) но когда дошло до гитарного соло... с того времени песня и музыка стали моим гимном и слушаются уже с 21/12/2002 почти непрерывно ) что-то типа звукового фона. На удивление я потом узнал, что автра зовут Roland Orzabal ) и вот в общем-то моя любимая композция : https://www.youtube.com/watch?v=Ye7FKc1JQe4

  42. #592
    YAMAHA User

    Я прошу меня извинить за опечатки ) я всегда печатаю, отправляю и потом читаю) тут нетправа на модификацию сообщения даже через 10 минут.

  43. #593
    НК

    YAMAHA User
    Возможно я не понимаю что-то, только зачем инсталлятор все эмуляторы помещает в автозагрузку? Притом есть автоконфигурация для всех эмуляторов выбрать один порт. То есть, другими словами. На автомате (после установки) мы получаем запущенные все эмуляторы (после загрузки системы тоже) с одним входным миди портом. Остается запустить плеер и мы получим какофонию в виде хора всех эмулей?

    PS: А за эмуляторы спасибо. Есть такие о которых я даже не слышала.

  44. #594
    YAMAHA User

    НК
    Так задумывалось ) и поэтому там есть ярлык который отключает автозагрузку )
    Я так делал в основном для себя и поэтому поделился тем что есь)

  45. #595
    YAMAHA User

    Что касается портов и того что вы говорите что он один на всех - это нетак )
    На каждый синтезатор создан отдельный порт и при выборе нужного порта вы автоматически начинаете использлвать нужный синтезатор (при условиичто он у вас загружен) конечно же
    Задержка в загрузке сделана специально, чтоб дать возможность LoopMIDI прогрузиться как следует )
    Так же есть авторесетер, но я его делал исключительно для WMP, ну и конечно же вложен MIDI Mapper для Vista и новее если конфигурировать всё на нужный MIDI порт.

  46. #596
    Wlad

    Доброго всем дня.
    VEG
    Да, в табличке с описанием семплов барабанов, многие из них имеют start, pointer и loop равные нулю, т.к. эти конфиги не используют семплы, а использует инструмент в качестве барабана (т.е. можно синтезировать что угодно и сделать его барабаном), и они в табличке находятся в самом конце. Под заголовкам H. устанавливается код 00h (возможно это старшее значение (позже проверю)), а под заголовкам I., устанавливается сам код инструмента (в данном случае используется только для звуков (SFX)), и этот код формируется в табличке 06 Drums+Ins.txt (номера табличек в моём проекте, соответствуют номерам секций табличек в YAMAHe). Если рассмотреть например самый последний конфиг, :

                                    H.I.
    3C407F00407F7F7F0001017F107F4014005600   0000 00 0000  000000    000000   ; 2364 - XG SFX 56h - Path 73 (тишина)
    

    Код инструмента равен 56h, а теперь если мы посмотрим 06 Drums+Ins.txt (которая ниже), то по адресу слова в этой табличке (56h) будет адрес, который указывает на конфиг инструмента (который синтезирует сам инструмент, в 13 Instrument XG.txt)

     0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
    D233 2AE9 2AE9 18EA 68EA 70F7 C0F7 10F8 60F8 B0F8 B0F8 EA36 FEEF 4EF0 9EF0 8CF1 ;0
    2CF2 7CF2 CCF2 1CF3 6CF3 0AF4 5AF4 9A36 F8F4 3A37 00F9 50F9 EEF9 82ED D2ED AC35 ;1
    B8EA 08EB 58EB 0E35 A8EB 46EC 2AE9 7AE9 DAE8 18EA DAE8 DAE8 68EA B8EA 08EB 58EB ;2
    A8EB 46EC 82ED D2ED 22EE DAE8 DAE8 AEEF FEEF 4EF0 9EF0 8CF1 EEF0 2CF2 7CF2 CCF2 ;3
    1CF3 6CF3 0AF4 5AF4 F8F4 96F5 34F6 70F7 C0F7 10F8 60F8 B0F8 00F9 50F9 EEF9 E4EC ;4
    DAE8 72EE 10EF D2F6 8CFA DCF1 DAE8                                              ;5
    

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

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

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

    есть ли «пересекающиеся» семплы (когда две записи указывают на разные участки одного и того же промежутка файлов семплов)

    К сожалению попадаются, но их не так много. На мой взгляд, более правильней будет если к каждому конфигу (к группе конфигов из частей которых состоит инструмент) будет принадлежать свой семпл (или кусок семпла) (пусть даже дублирующиеся), это будет правильней, так как это во первых поможет избежать путаницы, а во вторых всё будет на своих полках как положено, ведь при замене (создании) инструмента всё будет находится исключительно в одной категории (одном месте), и не придётся искать пересекающиеся ссылки на семплы (которые иногда вводят в ступор, и из за которых часто возникают ошибки), что максимально упростит задачу. Да, при сборке банка размер немного увеличится (временно), но это на мой взгляд самый удобный и "порядочный" вариант. К примеру в Power Ymf так и сделано, я в начале не мог понять, почему после распаковки банка получается больше семплов, а при сборке банка обратно он становился немного больше, теперь понимаю :). По этому, так как вы хотели красиво разрезать файл семплов на отдельные семплы, выйдет :) , просто при распаковке банка, семплов станет больше, а при сборке, банк станет больше, но так будет удобнее всего и лучше :).

  47. #597
    Wlad

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

  48. #598
    Astemir

    YAMAHA User установил твой синтпак... а как теперь удалить его из системы, а в частности YMF262 Software Synth и Software OPL3 Synthesizer?))
    Скачай, кстати, мессенджер http://www.oovoo.com/ удобней общаться там (там еще есть Wlad, Alexys), а сюда можно выкладывать что-то полезное. Или перейди просто по ссылке http://social.oovoo.com/call/astemi/218/0

  49. #599
    Wlad

    YAMAHA User, видно что ты старался, но зачем после установки автоматом запускать все синты сразу, да ещё и с одним портом, ведь возможно когда ты переустановишь свою систему, или заменишь звуковую карту, порты скорее всего будут другими, так или иначе придётся все их в ручную устанавливать заново, поэтому также тебе дам совет, установи при первом запуске синтов, все их порты в ноль.
    Также советую в перейти в ooVoo, там писать можно сколько угодно, также как и разговаривать через микрофон.

  50. #600
    YAMAHA User

    Astemir

    а как теперь удалить его из системы, а в частности YMF262 Software Synth и Software OPL3 Synthesizer?))

    if right(wscript.createobject("wscript.shell").environment("system").item("processor_architecture"), 2) = "64" then
    Set WshShell = CreateObject("WScript.Shell")
    CurrentDir = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
    Set objWshShell = WScript.CreateObject("WScript.Shell")
    strCurFolder = objWshShell.CurrentDirectory
    objWshShell.CurrentDirectory = (CurrentDir)
    	WshShell.RegWrite "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\midi", "wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\midi1","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\midi2","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\midi3","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\midi5","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\midi6","opl3emu.dll", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\midi7","opl3synth.dll", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\midi8","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\midi9","wdmaud.drv", "REG_SZ"
    else
    Set WshShell = CreateObject("WScript.Shell")
    CurrentDir = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
    Set objWshShell = WScript.CreateObject("WScript.Shell")
    strCurFolder = objWshShell.CurrentDirectory
    objWshShell.CurrentDirectory = (CurrentDir)
    	WshShell.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\midi", "wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\midi1","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\midi2","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\midi3","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\midi5","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\midi6","opl3emu.dll", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\midi7","opl3synth.dll", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\midi8","wdmaud.drv", "REG_SZ"
    	WshShell.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\midi9","wdmaud.drv", "REG_SZ"
    end if

    Заменить 7 и 8 строки на wdmaud.drv и запустить получившуюся VBS , затем удалить из Program Files папку MIDI Reseter.

    Wlad

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

    Отклоняю , потому что порты вывода MME/DS/ASIO не зафиксированы и они могут меняться в зависимости от ЗК.
    Порт входа который MIDI IN зафиксировано специально и сделано это по схеме :

    В файле loopMIDI_loader.exe

    if right(wscript.createobject("wscript.shell").environment("system").item("processor_architecture"), 2) = "64" then
    Set WshShell = CreateObject("WScript.Shell")
    CurrentDir = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
    Set objWshShell = WScript.CreateObject("WScript.Shell")
    strCurFolder = objWshShell.CurrentDirectory
    objWshShell.CurrentDirectory = (CurrentDir)
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\DTSC", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\SysexSize", 256, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\DetectFeedback", 0, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\CommandTreshhold", 5000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\TreshholdDuration", 5, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\StartMinimized", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\UISC", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Language", 2, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\Hyper Canvas", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\YAMAHA S-YXG50", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\YAMAHA S-YXG2600LE", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\Roland SoundCanvas VA", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\Purity", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\M-Audio GM Module", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\MT-32 VST", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\OPL3 VST", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\SoundFont VST", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\loopMIDI", "C:\Program Files (x86)\Tobias Erichsen\loopMIDI\loopMIDI_loader.exe", "REG_SZ"
    WshShell.Run "loopMIDI.exe",0
    else
    Set WshShell = CreateObject("WScript.Shell")
    CurrentDir = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
    Set objWshShell = WScript.CreateObject("WScript.Shell")
    strCurFolder = objWshShell.CurrentDirectory
    objWshShell.CurrentDirectory = (CurrentDir)
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\DTSC", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\SysexSize", 256, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\DetectFeedback", 0, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\CommandTreshhold", 5000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\TreshholdDuration", 5, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\StartMinimized", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\UISC", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Language", 2, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\Hyper Canvas", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\YAMAHA S-YXG50", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\YAMAHA S-YXG2600LE", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\Roland SoundCanvas VA", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\Purity", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\M-Audio GM Module", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\MT-32 VST", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\OPL3 VST", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Tobias Erichsen\loopMIDI\Ports\SoundFont VST", 1, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\loopMIDI", "C:\Program Files\Tobias Erichsen\loopMIDI\loopMIDI_loader.exe", "REG_SZ"
    WshShell.Run "loopMIDI.exe",0
    end if

    Это для создания виртуальных портов в LoopMIDI.

    Для фиксации созданных портов в синтах в файле vstreseter.vbs :

    function SetRegistryValues()
    	On Error Resume Next
    	Err.Clear
    	WshShell.RegWrite "HKCU\Software\Seib\BM\Settings\MidiIn", "SoundFont VST", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\GMM\Settings\MidiIn", "M-Audio GM Module", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\HC\Settings\MidiIn", "Hyper Canvas", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\MUNT\Settings\MidiIn", "MT-32 VST", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\OPL3\Settings\MidiIn", "OPL3 VST", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\Purity\Settings\MidiIn", "Purity", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\SCVA\Settings\MidiIn", "Roland SoundCanvas VA", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\XG2k6\Settings\MidiIn", "YAMAHA S-YXG2600LE", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\XG50\Settings\MidiIn", "YAMAHA S-YXG50", "REG_SZ"
    
    	WshShell.RegWrite "HKCU\Software\Seib\BM\Settings\SampleRate", 48000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Seib\GMM\Settings\SampleRate", 48000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Seib\HC\Settings\SampleRate", 48000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Seib\MUNT\Settings\SampleRate", 48000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Seib\OPL3\Settings\SampleRate", 48000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Seib\Purity\Settings\SampleRate", 48000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Seib\SCVA\Settings\SampleRate", 48000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Seib\XG2K6\Settings\SampleRate", 48000, "REG_DWORD"
    	WshShell.RegWrite "HKCU\Software\Seib\XG50\Settings\SampleRate", 48000, "REG_DWORD"
    
    	WshShell.RegWrite "HKCU\Software\Seib\BM\Settings\WaveIn", "", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\GMM\Settings\WaveIn", "", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\HC\Settings\WaveIn", "", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\MUNT\Settings\WaveIn", "", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\OPL3\Settings\WaveIn", "", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\Purity\Settings\WaveIn", "", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\SCVA\Settings\WaveIn", "", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\XG2K6\Settings\WaveIn", "", "REG_SZ"
    	WshShell.RegWrite "HKCU\Software\Seib\XG50\Settings\WaveIn", "", "REG_SZ"
    end function
    
    On Error Resume Next
    Set WshShell = CreateObject("WScript.Shell")
    SetRegistryValues

    Таким образом , какая бы ЗК не стояла, входящие порты стпавятся как надо всегда и задать вы можете только выходной аудиопорт. На мой взгляд это решение очень удобное, потому что не надо настраивать синт и порт. К тому же если запускать в свёрнутом режиме и с лоадерами, то стоит тольк в секвенсоре задать нужный порт и вы получите звук на нужном синте )

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