Yamaha S-YXG50 Portable VSTi v1.0.0 [2016/04/25] (a software MIDI synth)

A software MIDI synthesizer for Windows, which functions as a VSTi plugin. Supports both the Yamaha XG and the Roland GS extensions, which is a unique feature of the S-YXG50. The VSTi was a part of the Yamaha SOL2 package. Yamaha discontinued support of this software synthesizer in 2003. As it is abandonware now, a portable version of the VSTi was created (installation and registry keys are not required). It uses embedded (into DLL resources) official 4MB wavetable files, which is the best version of wavetable files for the S-YXG50.

Download: yamaha_syxg50_vsti.7z (3.0MB).

What's new in this patch

  • Installation isn't required. SYXG50.DLL reads files from its directory.
  • Wavetable files are decrypted and stored in the resources of the DLL file.
  • If you remove them from the resources, VSTi will find them in its directory (SXGBIN41.TBL, SXGWAVE4.TBL).
  • Antidebug, S/N checking and trial mode code is removed.
  • Hidden settings are read from the ini file with the same name as the dll file, but with the ini extension.
  • Polyphony limit is 128 by default.
  • More frequent updates of information in the GUI.
  • Help button will be hidden if SYXG.CHM is not present.
  • VST meta information is stored in the resources (String Table), so it can be changed easily if it is needed.
  • GUI can be disabled and GUI resources can be removed, as the result this VSTi will work as the SGP.DLL.

How to use

You have to set up some VST host to play MIDI using this synth. It can be your favorite player, but you need to find a plugin, which allows to play MIDI files through VSTi. Some instructions are provided below. Use the bi2_polkovnik.mid (35KB) for checking your setup, it has to sound exactly as the bi2_polkovnik_syxg50.ogg (2.0MB).

VST MIDI Driver (as a system MIDI synth)

VST MIDI Driver allows to use any VSTi as a global system MIDI synth. In this case every game or MIDI player, which uses the default system MIDI synth, will use Yamaha S-YXG50.

  1. Download and install the VST MIDI Driver.
  2. Copy the syxg50.dll from the yamaha_syxg50_vsti.7z into any directory.
  3. Open VST MIDI Driver settings, click “Load VSTi” button and choose syxg50.dll.
  4. In the Advanced tab choose “VST MIDI synth” as the default MIDI synth.
  5. Ready! Now Yamaha S-YXG50 VSTi will be used as the default system MIDI synth.

Yamaha S-YXG50 WDM (an official driver for the Windows XP only)

VST MIDI Driver supports Windows XP/Vista/7+, but on the Windows XP it is better to use the official Yamaha S-YXG50 WDM driver, which you can download from the Microsoft Windows Update servers: 4MB version (better quality, consumes more RAM), 2MB version (worse quality, consumes less RAM). This WDM driver can be installed manually using Add Hardware master in the Control Panel. Don't forget to set Yamaha S-YXG50 as the default system MIDI synth in the Sound settings. VSTi version of this synth is not needed when Yamaha S-YXG50 WDM is used.

foobar2000 (the best player for ones who loves music)

foobar2000 doesn't use the system MIDI synth, but it is not a disadvantage. It allows to use Yamaha S-YXG50 VSTi witout installing any system drivers, which is much more safe.

  1. Download and install the foo_midi plugin from the foobar2000 website.
  2. Create a new subdirectory in the foobar2000 directory and name it “vsti”. Copy the syxg50.dll from the yamaha_syxg50_vsti.7z into that directory.
  3. Open foobar2000, Preferences → Advanced → Playback → MIDI Decoder → VSTi search patch, and set the full path to your vsti subdirectory. Apply changes and reopen the Preferences window.
  4. Preferences → Playback → Input → MIDI synthesizer host. Choose “Yamaha S-YXG50” in the “plug-in” combobox. Apply changes.
  5. Ready! Now foobar2000 will play MIDI files using the Yamaha S-YXG50 synth.

Links

  1. #151
    DrR0Ck

    Me again! It seems I was able to get this running reasonably well using a tool called VSTHost along with the loopback. A bit more involved to get it set up and running than the Falcosoft solution, but I'm getting good results.

    Still not as ideal as being able to simply get the VST running using a VST midi driver, so if anyone has a solution to that, please let me know.

    Thanks!

  2. #152
    Midori

    I absolutely love this synthesiser, thank you for releasing an unofficially modified version! <3

  3. #153
    Gush

    How do you select an instrument in this VST?

  4. #154
    «G~Lí†çh»

    select an instrument in this VST

    The 'Data List' was «shipped» with XGPlayer – file named "Syxgctrl.hlp". To view it on Vista, 7, 8, 8.1 you have to find KB917607 update (that restores old winhlp32) and install it. In this help-file click "MIDI" — "XG Normal Voice List" or "XG Drum Voice List", if General Synthesis mode – "TG300B Normal Voice List" or "TG300B Drum Voice List". Also XGPlayer has these files: Syxg53h.txt (XG50 Voice list for MA-52W), Syxg101w.txt (XG100 voice list for MA-52W), Tg300b.txt (TG300B Voice List for MA-51W).

    Or read posts #63 and #64

  5. #155
    cs127

    What happened to VST MIDI Driver?
    I already have a version of it installed, but I'd like to know what happened to it. It's not on kode54's website anymore, and the github repository is gone.

  6. #156
    VEG Author

    I don't know. I guess it is better to ask kode54 himself.

  7. #157
    Joe Salazar

    If anyone has issues getting this to work in a 64 bit DAW (in my case Ableton Live 10), get jBridge to convert the S-YXG50 vst to 64 bits and it will work. jBridge is a paid software but it is cheap ($19 as of this writing) and it works great.

  8. #158
    Don

    The vst midi host download link doesn't work. Would you mind sending it to my email instead? Or anything so I could download it again.

  9. #159
    VEG Author

    Don, kode54 told that he lost the latest source code of the driver. There are some links to old versions of the driver in that topic, but as far as I remember they had some issues. So, I would suggest to use foobar2000 with foo_midi plugin, or some other solution if installing S-YXG50 as a system-wide synthesizer is a must. Unfortunately, I didn't try to use any other solutions, but I saw people suggesting some alternatives somewhere in the comments.

  10. #160
    Joakim

    I'm gonna second the "how do you change instrument" question above

    I haven't done much with MIDI before, and I tried using this as an instrument in Reaper which seems to work EXCEPT I have no idea how to change instruments. I can find stuff about how to change "MIDI banks" but that just lets me get other "Windows defaults", and somehow when I did that on a track it changed my keyboard's input into a standard organ, but the MIDI item editor into drums from the VST? Very much lost

  11. #162
    VEG Author

    Joakim, didn't know about that thread, thank you for the link. If you're registered on that message board, don't forget to say "thank you" to the author of the control panel ;)

  12. #163
    Lee Todd

    Hey there, eveybody.

    VEG, I just recently discovered your VST for the Yamaha S-YXG50, and I have managed to get my Cakewalk Music Creator software to recognize it as a plug in. I'm playing the synth from a Yamaha S80 keyboard, and thus far, I've been able to access the 128 sounds that are available in Bank 0 of the S-YXG50, but I haven't been able to access any of the sounds in any of the other banks. I've tried using the " insert bank/program change" command in Cakewalk, but Cakewalk shows Bank 0 as being the only available bank. I'm wondering if there's something I haven't done with respect to configuring the softsynth. I'd appreicate any inisght you or anyone else might be willing to offer. Thanks very much for creating this great-sounding VST!

  13. #164
    VEG Author

    Lee Todd, unfortunately, I'm not a music creator, so I don't know the tools for creation of music, I use S-YXG50 just for listening.

    I heard that you can use Shiru's control panel for the S-YXG50 to switch instruments in the Reaper. Unfortunately, I don't know if there is such panel for the Cakewalk Music Creator, or it should be created by somebody. As far as I understand, there should be possibility for switching instruments using raw SysEx messages from any music editor, and you can find S-YXG50 manual on the internet for details.

  14. #165
    Lee Todd

    Hey there, VEG.

    Thank you for responding so plromptly.

    I figured it out!

    Per your suggestion, I searched online for an owner's manual. My search led me to discover this very helpful website:

    https://battleofthebits.org/lyceum/View/Yamaha+XG/

    In addition to mentioning some critical points regarding CC messages for selecting the various banks on the S-YXG50, the site also includes a link to a user manual published by Yamaha UK, which includes a comprehensive voice list.

    https://web.archive.org/web/19970630045815/http://www.yamaha.co.uk/download/syxg50/sxg5095.exe

    For folks who are trying to get the S-YXG50 to run in Cakewalk, I can tell you what worked for me. At the beginning of the "event list" for the one and only track in my piece (a simple organ composition) I inserted the following messages in the following order:

    Control  0  (MSB)     Value = 0   
    Control  32 (LSB)     Value = bank number
    Patch    Normal        Value = program number 
  15. #166
    Herbert Zizler

    Hallo Leute, wie Ihr sicher schon bemerkt habt, gibt es für die WIN 10 Versionen >2004 keinen funktionierenden VST Midi Driver mehr.
    Ich habe glücklicherweise mit Herrn Herman Seib einen Programmierer gefunden der den Treiber so abgeändert hat, dass er unter den neueren Win10-Versionen 21h1 und Höher sowie WIN11 ablauffähig ist. Diesen Treiber hat er unter folgendem Link bereitgestellt: https://github.com/Arakula/vstdriver/releases/tag/v1.0.0-alpha3 Momentan überlegt er sich noch weitere Verbesserungen die er gegebenenfalls einfach unter https://github.com/Arakula/vstdriver Weitere Releases ablegt. Bitte nicht erschrecken, dieser Treiber wird bei der Installation zunächst abgelehnt, da er Schaden anrichten könne und muß dann über die übliche Routine, dass man der Software vertraut freigegeben werden.
    Meine Bitte an euch ist, dass ihr dem Entwickler nach dem herunterladen und ausprobieren eine kleine Spende zukommen lasst, damit er uns gegebenenfalls weiterhin unterstützt, wenn der Treiber wieder wegen erneuter WIN Sicherheitsupdates nicht mehr funktioniert. Die beiden möglichen Spendenadressen in PayPal.com sind - him@hermannseib.com oder office@hermannseib.com
    Ich selbst habe Herrn Seib eine etwas größere Spende zukommen lassen, da ich nicht zufrieden war mit den alternativen Lösungen wie LoopMidi in Verbindung mit dem Midiplayer60 oder auch foobar2000 mit dem SYXG50 Treiber sowie VirtualMidiSynth. Diese Spende hat mit Sicherheit nicht die Kosten gedeckt die man bei einem offiziellen Auftrag hätte zahlen müssen. deshalb hiermit nocheinmal mein Dank an Herrn Hermann Seib an dieser Stelle.

    Hello friend's, as you have probably already noticed, there is no longer a functioning VST midi driver for the WIN 10 versions> 2004.
    Fortunately, in Mr. Herman Seib I found a programmer who modified the driver so that it can run under the newer Win10 versions 21h1 and higher as well as WIN11. He has made this driver available under the following link: https://github.com/Arakula/vstdriver/releases/tag/v1.0.0-alpha3 He is currently considering further improvements which he can simply go to https://github.com/Arakula/vstdriver stores more releases. Please do not be alarmed, this driver is initially rejected during installation because it could cause damage and must then be released via the usual routine of trusting the software.
    My request to you is that you send the developer a small donation after downloading and trying it out so that he can continue to support us if the driver no longer works again due to another WIN security update. The two possible donation addresses in PayPal.com are - him@hermannseib.com or office@hermannseib.com
    I myself made a somewhat larger donation to Mr. Seib because I was not satisfied with the alternative solutions such as LoopMidi in connection with the Midiplayer60 or foobar2000 with the SYXG50 driver and VirtualMidiSynth. This donation certainly did not cover the costs that would have been paid for an official order. therefore I would like to take this opportunity to thank Mr. Hermann Seib once again.

  16. #167
    VEG Author

    The vstdriver uses BASS DLL to output sound. It causes issues when a midi player itself uses another version of the BASS DLL. If the author of the fork is going to develop the driver further, he could try to replace BASS to an own built-in WASAPI renderer, to avoid any issues and improve compatibility with various players.

  17. #168
    Hermann Seib

    He will ;-)

    ... but that will take some time. In theory, it should easy, since the driver already passes the MIDI events to a separate VST hosting program, so you "only" need to transfer the complete sound generation and output from the driver to the VST hosting program. That would automatically provide process isolation so that different BASS DLL versions could be used.

    It goes without saying that in practice this is not exactly a piece of cake. Plus, I strongly dislike the dependency on the BASS library, which is a MASSive overkill for the VST driver's purpose. So I will presumably replace it with my own audio output routines ... I got some experience with that, at least with MME and ASIO. WASAPI shouldn't be too hard either. But, sa said ... this will take some time.

  18. #169
    VEG Author

    Glad to hear that. A couple of years ago, I had an idea to make a fork of the vstdriver to untie it from the BASS DLL, but it was left untouched in my list of ideas, and I'm really happy that somebody decided to do this.

    BTW, I was using your SAVIHost for development and testing of this patched version of the S-YXG50 VSTi. Thank you =)