VOGONS


About Roland Virtual Sound Canvas 3

Topic actions

Reply 340 of 377, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
RetroGamer4Ever wrote on 2022-02-20, 17:32:
The XG Player that I'm using is the older version that shipped with the S-YXG50/70 for 95/98/XP installer packages and not the f […]
Show full quote

The XG Player that I'm using is the older version that shipped with the S-YXG50/70 for 95/98/XP installer packages and not the far more advanced version that you are using, which is one that I've never used, though everyone seems to have access to that particular player and uses it in their testing. Based on the config file and the system info, it seems this 2.X version was part of the WDM install package for XP. All settings in FSMP 6.1 x64 are the default settings and there is nothing accessible through the XG Player beyond the volume control and MIDI output selection, as the XG driver itself doesn't load. I'm now testing with the SysEx for Volume/Balance enabled and it's a little closer to what the XG Player puts out.

images?q=tbn:ANd9GcS_ov73fwEzmV_lCjlaaiXj35WhE9SyQ66TUg&usqp=CAU

OK, I'm trying to find this version somewhere. But you still did not answer my question, that is:
What is the "manually selected VST Midi synth" you are talking about? What is the host you use that hosts the VSTi plugin?

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 341 of 377, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

Here are the settings from my last comparison, with the SysEx for Volume/Balance enabled in your player. The Yamaha player shows no configurable settings beyond the volume and the MIDI Output selection. The VST host used, which is the only one I ever use, is the VST MIDI Driver from Mudlord that was recently revived by another programmer and revamped with improvements.

Attachments

  • MIDISETTINGS_1.jpg
    Filename
    MIDISETTINGS_1.jpg
    File size
    44.06 KiB
    Views
    2940 views
    File license
    Public domain
  • MIDISETTINGS.jpg
    Filename
    MIDISETTINGS.jpg
    File size
    55.81 KiB
    Views
    2940 views
    File license
    Public domain

Reply 342 of 377, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
RetroGamer4Ever wrote on 2022-02-20, 17:48:

Here are the settings from my last comparison, with the SysEx for Volume/Balance enabled in your player. The Yamaha player shows no configurable settings beyond the volume and the MIDI Output selection. The VST host used, which is the only one I ever use, is the VST MIDI Driver from Mudlord that was recently revived by another programmer and revamped with improvements.

OK, I see. You are using VST Midi driver. BTW, this driver currently has major problems (although they are not relevant for S-yXG50 that much):
Re: Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
I thought that you were using some "real" hosts like FSMP or SAVIHost so you were seeing the VSTi's interface. Since you are using VST MIDI Driver you could have no idea what mode the VSTi plugin currently uses. That could be very important since S-YXG50 has a very different XG and GS mode. My player by default is set to send a GS Reset. XG player most probably not (obviously).
So first you should try to set FSMP's default SySex reset to XG by right clicking the 'Reset' button with the first aid like icon at the right hand side of the player and then select XG from the context menu.
Report back if this solved your problem or not.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 343 of 377, by Trelokk

User metadata
Rank Member
Rank
Member

I have brought the biggest issues to the attention of the (new) VSTDriver author via Github. As mentioned above, as long as you are using the S-YXG50 it won't matter since the plugin starts with max quality settings and doesn't need any preset adjustments.

With any other VSTi such as the SCVA however, which needs its instrument preset changed to SC-55 for ideal gaming purposes, currently you are better off with using FSMP as a host. Personally, I am using Coolsoft MIDIMapper + LoopBe1 + FSMP and got used to it quickly, even though it's a bit more work to set up everything compared to VSTDriver, maybe.

I wouldn't want to use outdated software for MIDI playback and I also doubt you'd really be able to hear any differences, especially when you use it for gaming primarily, like I do.

Last edited by Trelokk on 2022-02-20, 19:11. Edited 1 time in total.

Reply 344 of 377, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

I read that the instrument problem with the VSC-MP1 was that the final version (1.60) of that VSTi only had the SC-88 bank embedded in it, while the other synths had separate .dat files that had to be manually loaded, hence taking the separate SC-55 bank and adding it to the current VSTi, and using the SysEx patch to make it accessible.

Reply 345 of 377, by Trelokk

User metadata
Rank Member
Rank
Member

If I understood correctly, the "Multipack" release of the original VSC was basically the same as before plus the option to choose between SC-55, SC-88 and SC-88Pro mappings. The corresponding .dat files are getting bigger in the same order. However, that doesn't mean quality increases if you use a larger bank. They cheated quite a bit and just remapped/reused existing instruments. It's hard to hear a big difference between the VSC and the MS synth, regardless which of the banks you are loading/embedding. Hyper Canvas has higher quality, but deviates even more from the SC-55 sounds.

Reply 347 of 377, by Trelokk

User metadata
Rank Member
Rank
Member

MS synth and VSC are indeed virtually identical, with VSC just sounding better (to some degree) due to additional processing. Of all available Roland software synths, it remains the most basic one. Anyway, it's probably still something for anyone who got used to the MS wavetable throughout the years and just wants a slightly improved version.

There are soundfonts available that do the same, and personally I'd still prefer one of those, e.g. one that is called "GM.dls Remastered" - which also sounds a lot more like an SC-55.

But if that WIP SC-55 emulator ever gets finished, and I really hope it does, I'll almost certainly drop all my previous substitutes and switch over to that one, most likely forever.

On another note, those S-YXG50 edits by some Russians are indeed quite interesting. Their "TyRUS" mod by now is using a soundbank with 1 GB. For my taste it's too large for regular usage, but it's still impressive what they were able to do with something that started with just a 4 MB wavetable file.

Last edited by Trelokk on 2022-02-21, 07:18. Edited 1 time in total.

Reply 348 of 377, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
RetroGamer4Ever wrote on 2022-02-20, 17:32:
The XG Player that I'm using is the older version that shipped with the S-YXG50/70 for 95/98/XP installer packages and not the f […]
Show full quote

The XG Player that I'm using is the older version that shipped with the S-YXG50/70 for 95/98/XP installer packages and not the far more advanced version that you are using, which is one that I've never used, though everyone seems to have access to that particular player and uses it in their testing. Based on the config file and the system info, it seems this 2.X version was part of the WDM install package for XP. All settings in FSMP 6.1 x64 are the default settings and there is nothing accessible through the XG Player beyond the volume control and MIDI output selection, as the XG driver itself doesn't load. I'm now testing with the SysEx for Volume/Balance enabled and it's a little closer to what the XG Player puts out.

images?q=tbn:ANd9GcS_ov73fwEzmV_lCjlaaiXj35WhE9SyQ66TUg&usqp=CAU

OK, I have finally found this older version of Yamaha XG player. Not too surprisingly it sounds exactly the same with the same settings as the newer Yamaha player and FSMP. So the only explanation (as I have already written above) is that you missed to change FSMP's default reset from GS to XG. And since you used VST Midi driver you could not see this. You heard different output because S-YXG50 was in GS mode when you used FSMP but it was in XG mode when you used the Yamaha player.
BTW this older version of Yamaha player always sends a GM reset (which puts S-YXG50 into XG mode).

xgplayer2.png
Filename
xgplayer2.png
File size
48.9 KiB
Views
2848 views
File license
Public domain

@Edit:
Here is the new test video:
https://youtu.be/ThkUufdrjYA

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 350 of 377, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Trelokk wrote on 2022-02-21, 09:35:

I guess that would mean that the VST Driver in its current state isn't a good choice for the S-YXG50, either (because of wrong reset)?

No, In this respect the only problem with VST driver is that you cannot see what mode it is running in. There is no 'wrong reset' problem. If you send it a GS reset it switches the plugin into GS mode and if you send it a GM/XG reset it switches the plugin into XG mode properly (GM/XG resets are equivalent in case of most Yamaha XG synths).
The only problem occurs if you are not aware of this therefore you do not understand why the plugin sounds differently.
In the above case RetroGamer4ever used 2 different players that used 2 different reset Sysex messages (Yamaha player always sends a GM reset but FSMP sends a GS reset by default) and expected to get the same output.
If he had used a different host then he would have seen clearly on the plugin's interface that the plugin was in different modes (green XG mode vs. orange GS mode).
If you use FSMP you can use any modes that the plugin knows since you can freely select GM/GM2/GS/XG reset SysEx messages.
Many games and Midi files do not contain any explicit SysEx reset messages so you are using the mode what the player sets.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 351 of 377, by Trelokk

User metadata
Rank Member
Rank
Member

Alright then. In the meantime, I have figured out that LoopBe1 doesn't seem to be such a great solution for a virtual MIDI cable after all, at least for me. Had an entire song hanging when reaching its looping point in E4M4 of "Tarnsman's Projectile Hell" (Doom 2 mod). "MIDI feedback loop" problem. Had to do a manual GS reset and unmute the driver. Switched back to LoopMIDI after that, no problems at all - seems to be more tolerant regarding such issues.

Reply 352 of 377, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
skjelten wrote on 2022-02-17, 11:08:

PS: Any help would be greatly appreciated!

that's a great project and I hope your effort will succeed.

Kappa971 wrote on 2022-02-19, 14:35:

It is simply using the SC-55 VSC samples (which are identical to the Microsoft GS Wavetable synthesizer). Maybe the quality is slightly higher than the Microsoft synthesizer, but it doesn't use the original SC-55 samples.

the sound samples between VSC and MS GS are exactly the same, I provided proof for that and even how everyone can verify it independently:

Re: About Roland Virtual Sound Canvas 3

Also, the full source code of Microsoft GS synthesizer is available, as part of that huge WinXP/2003 source code leak, i.e. not in any legal way, but still it's there and it's in the public domain. I presume reading it can give some clues, as I mentioned here:

Re: About Roland Virtual Sound Canvas 3

and here:
Re: About Roland Virtual Sound Canvas 3

So, yes, Microsoft lacks reverb and chorus effects, but to be honest if I am starting to do something like @skjelten probably first I'll try to do is something simpler like tool to convert the SC55 Original ROM sounds to MS compatible DLS file and go from there peeking at their source code as well. for example, MS source code contains "Mix engines for Microsoft GS Synthesizer" mostly written in x86 inline Assembler. So, doing new code for that in C even with better mixing algorithms would make it portable to ARM and it will no longer be covered by their copyright as well. Anyway, I guess that's one possible starting point and I see nothing wrong with it even using a leaked materials, because after all it's all reverse-engineering and re-implementing it in your own code at the end.

Reply 353 of 377, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

I found through my own digging, that the DLS file used by the MS software synth was created by Roland themselves and is the same one that they license out to game companies for use on cons0les, such as the Gamecube, Wii, PS1/PS2/PS3/PS4, Xbox series, etc., where it's often used for ports of Japanese RPG games like the FF-series, Ys, etc. that used MIDI on their original releases.

Reply 354 of 377, by ArielAr

User metadata
Rank Newbie
Rank
Newbie

Hi Mattw !

I have a couple of questions to you, but let me start by saying that I admire all the analysis you've made on sound bank formats, etc.

After watching a youtube video, I loved the sounds of the Roland m-gs64 which seem to be the same sounds as SC-88. I have not been able to purchase such a module (I've seen people asking 300 USD and more where I live).
I looked at the software VA Sound Canvas that might include all those sounds, but I have bad experience with software that stops working everytime Microsoft makes a new version of its operating system. The VA sound canvas is already several years old . There is additionally another standard in the product -VSTi 2.4- and who knows for how long it will be supported by other programs.

My questions are a bit vague...but they are related to making sure the soundsbank of the VA Sound Canvas will continue working in the future, even if the original software won't.

Is it possible to make a new VA virtual sound canvas using some open source vsti and the named sound bank?

Reply 355 of 377, by ArielAr

User metadata
Rank Newbie
Rank
Newbie
mattw wrote on 2020-09-20, 21:19:

So, definitively, someone much smarter than me, reading disassembler code of 'RVIEg01VST.sys' should be able to figure out the format of the external sound bank and most likely be able to ultimately replace that bank with the ROM dumps from real SC-55, SC-88/Pro.

Have you tried IDA disassembler ? https://www.hex-rays.com/ida-free/

Reply 356 of 377, by mattw

User metadata
Rank Oldbie
Rank
Oldbie

@ArielAr : very late reply, but I don't follow closely this topic in the last many months. So, more or less, all questions you have are already covered in this forum thread, but I understand the thread is very long and convoluted and very easy to miss even the main points and achievements.

Currently, there is even Emulator under development:

https://github.com/skjelten/emusc

that of course means the SC sound bank format and structure is now known. It's a long story, but @skjelten work on that emulator is based on the work of @kitrinx published in earlier posts here and available as source code here:

https://github.com/Kitrinx/SC55_Soundfont

Both projects are amazing, but I am very meticulous person and what I don't fully understand is about the RIAA IIR filtering that even is needed to be applied 2 times, i.e. @kitrinx needed to use that to make the samples sound properly, discussed in the post below (and in few previous and subsequent posts):

Re: About Roland Virtual Sound Canvas 3

and @skjelten Emu inherited that RIAA filtering, but the best clue we have - the MS leaked WinXP code I mentioned even in the previous post I made here:

Re: About Roland Virtual Sound Canvas 3

it's not clear such processing is made. Anyway, there is no any concerted effort for definitive answer on that (at least that I know of) and I guess it will stay an open question (at least to me) for a long time, if not even forever. Especially, if there are no people interested to investigate and debate on it. In any way, all information to decrypt all SC banks, their format, etc is available in this thread (and the Github projects above) for people interested to work on it. How the original sound samples are processed by real hardware (i.e. the aforementioned need for RIAA filtering) is questionable, at least to me.

Reply 358 of 377, by brandon9271

User metadata
Rank Newbie
Rank
Newbie
Shreddoc wrote on 2022-12-02, 21:04:

On a different track. It surprises me that there doesn't yet exist a Pi-based simple VST host, designed as a barebones system to run [e.g. a Sound Canvas and/or YamahaXG VST].

That should definitely be possible. Something like SAVIHost for Linux has to exist.. ?

Reply 359 of 377, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
Shreddoc wrote on 2022-12-02, 21:04:

On a different track. It surprises me that there doesn't yet exist a Pi-based simple VST host,

I prefer to use some high-quality thin-client like Fujitsu Futro rather than Pi-based system, but that's just my taste, I guess.

Shreddoc wrote on 2022-12-02, 21:04:

YamahaXG VST

as far as YamahaXG is concerned, my biggest surprise is that years after the Russians hacked the Yamaha XG SoftSynth for Windows and made series of SoftSynths based on modifying S-YXG50, it's neither popular, nor there is technical information in English. That way they even made SoftSynth of the Original "Yamaha Tyros" device with Gigabytes of SoundBank, which when released was, I think, like 5-figures price tag and now it's like lower 4 figures.

The reason those modifications are possible is because S-YXG50 actually includes pretty sophisticated emulation of Yamaha AWM2 engine (not like Roland VSC where the engine is crippled), up to 96kHz, 16-bit sounds. It looks like Yamaha use it internally for testing of their hardware devices and that's why they made high-quality emulator.

P.S. what I am talking about is not https://veg.by/en/projects/syxg50/ , but S-YXG50 modified to enable high-quality up to 96kHz, 16-bit sound mode and replaced Soundbank with whatever other Yamaha GM/XG device you want. In fact S-YXG50 has GS emulation as well and probably it can be used that way even for modification with original SC55/SC88 Soundbank, but the Russians didn't care to reverse-engineer the GS part.