VOGONS


SBVGM (DOS) VGM Player

Topic actions

Reply 420 of 425, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie

Hi, thanks for mentioning my name, Oplx. I'm still very interested at checking the Silpheed and Ys problem on the YM2203 whenever you have time for it.

I've been a bit busy this summer investing my retro-time into an atari STe1040 I acquired in the hope to learn about it. It's sound interface is what motive me the most and I see the current implementation of the AY3891x/YM2149 into SBVGM as an opportunity to learn about it. With YMtoVGM I could convert some well known music from my YM collection, SBVGM.EXE would see those VGM files as YM2149 and would only play them on the SAA1099 of the soundblaster 1.5 with C/MS addon. Most of the music sound alright but it seemed to lack an instrument. Playing the VGM with IN_VGM.DLL on WINAMP show that it is specific to SBVGM.EXE and not something lost in the conversion. I did some analysis with ST-Sound from Arnaud Carre which allow me to mute AY3891x/YM2149 voices. I was surprised to see that the drum could be spanned on Voice B and Voice C. I'm not 100% positive on that yet, but I think I have identified that melodic instruments played on Voice C would not play using SBVGM.EXE.

I used VGM-Conv in the hope to allow SBVGM.EXE to play the missing notes on the YM2151 of the SAAYM or the OPL2 of the SB1.5. Since the SAAYM is on another computer upstairs, I tested the SB1.5 tonight. I believe I can say it brought back all the melodic instruments to the mix, I also pay close attention to drum that have parts on multiple voice and they all there too ! It was quite the technical musical trip and I was quite impressed that in the end the result was the same as the original YM file.

At this point I still have the YM262 conversion to evaluate on the SAAYM. Of course OPL2/3 is far more common than YM2151 on the PC scene. I did attached the Cybernoid and Cybernoid ][ theme I used in this post. Since it produce quite some big files I had to use the -x parameter on SBVGM. On cyber1-2.zip archives you will find 8 files with C1_ and C2_ prefix refer to the Cybernoid 1/2 theme. c?_ay8910.ym is the source music passed thru YMtoVGM to produce c?_ym2149.vgm that is then converted with VGM-Conv to both c?_ym262.vgm and c?_ym3812.vgm.

Attachments

  • Filename
    cyber1-2.zip
    File size
    292.8 KiB
    Downloads
    2 downloads
    File license
    Public domain

Reply 422 of 425, by OPLx

User metadata
Rank Member
Rank
Member
ElBrunzy wrote on 2021-12-28, 06:22:

Hi, thanks for mentioning my name, Oplx. I'm still very interested at checking the Silpheed and Ys problem on the YM2203 whenever you have time for it.

You're welcome. Checking the sound output levels is next on my list.

ElBrunzy wrote on 2021-12-28, 06:22:

I've been a bit busy this summer investing my retro-time into an atari STe1040 I acquired in the hope to learn about it. It's sound interface is what motive me the most and I see the current implementation of the AY3891x/YM2149 into SBVGM as an opportunity to learn about it. With YMtoVGM I could convert some well known music from my YM collection, SBVGM.EXE would see those VGM files as YM2149 and would only play them on the SAA1099 of the soundblaster 1.5 with C/MS addon. Most of the music sound alright but it seemed to lack an instrument. Playing the VGM with IN_VGM.DLL on WINAMP show that it is specific to SBVGM.EXE and not something lost in the conversion. I did some analysis with ST-Sound from Arnaud Carre which allow me to mute AY3891x/YM2149 voices. I was surprised to see that the drum could be spanned on Voice B and Voice C. I'm not 100% positive on that yet, but I think I have identified that melodic instruments played on Voice C would not play using SBVGM.EXE.

I used VGM-Conv in the hope to allow SBVGM.EXE to play the missing notes on the YM2151 of the SAAYM or the OPL2 of the SB1.5. Since the SAAYM is on another computer upstairs, I tested the SB1.5 tonight. I believe I can say it brought back all the melodic instruments to the mix, I also pay close attention to drum that have parts on multiple voice and they all there too ! It was quite the technical musical trip and I was quite impressed that in the end the result was the same as the original YM file.

At this point I still have the YM262 conversion to evaluate on the SAAYM. Of course OPL2/3 is far more common than YM2151 on the PC scene. I did attached the Cybernoid and Cybernoid ][ theme I used in this post. Since it produce quite some big files I had to use the -x parameter on SBVGM. On cyber1-2.zip archives you will find 8 files with C1_ and C2_ prefix refer to the Cybernoid 1/2 theme. c?_ay8910.ym is the source music passed thru YMtoVGM to produce c?_ym2149.vgm that is then converted with VGM-Conv to both c?_ym262.vgm and c?_ym3812.vgm.

It looks like you found a bug! I listened to the files, but unfortunately I could not hear where the problem is. Could you provide more information on this?

Reply 423 of 425, by OPLx

User metadata
Rank Member
Rank
Member
McCheeseBob wrote on 2021-12-28, 16:56:

Thanks for version 1.39, the RSX is recognized properly again. Now to fully test out the YM2608/2203 features on my new SAAYM.

You're quite welcome! Thank you for bringing it to my attention. By the way, the YM2151 in the SAAYM is architecturally different from the YM2608/2203. The main similarities are that they share the same FM algorithms, but beyond that there are noticeable differences (from a programming point of view). What SBVGM does is just reinterpret the YM2608/2203 commands onto the YM2151 and SAA1099 found on the SAAYM. With some VGMs it sounds just like the YM2608/2203 and with others it won't because of the YM2151's limitations.

Reply 424 of 425, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie
OPLx wrote on 2021-12-31, 13:12:

It looks like you found a bug! I listened to the files, but unfortunately I could not hear where the problem is. Could you provide more information on this?

I made a stereo music of two mono music output using SBVGM 1.39 on the SB1.5+CM/S and sync them. The left one is with parameters -a -x -noscan on the C1_YM3812.VGM using the SB1.5 YM3812, it's on the left of the stereo music. On the right I recorded using SAA1099 with -C option the C1_YM2149.VGM file.

To keep the file as small as possible, I kept only small sample where there was a difference.
-------------------------------
0:00 sec ; part Cybernoid I
0:03 sec ; lead music can only be heard on the YM3812 synth
0:21 sec ; part of the melody can be heard on YM2149 but high pitched sustained notes are cut.
0:41 sec ; part Cybernoid ][
0:43 sec ; the rythmic "chords" are only on the YM3812 synth
0:51 sec ; same as above but they are played differently.

With those section isolated I could notice that in ST-Sound they where all from voice C, but it seem that not all instrument from this voice are muted. Maybe it's related to pitch threshold, previous volume state or data delay ?

I hope this make it more convenient for you to analyze, maybe it play correctly on the SAAYM's SAA1099s ? If you need anything else please just ask, I would be glad to investigate further.

Attachments

Reply 425 of 425, by OPLx

User metadata
Rank Member
Rank
Member

Thank you for the sample data! It will help out for sure. I'm not yet 100% sure what the cause is, but I did find out something about the YM2149. Any of the 3 channels can be set up to use the envelope generator output level and when this happens, the envelope generator output level determines the final volume that channel. While the SAA1099 has envelope generators, it does not have the same feature. If certain VGMs use the envelope generator to control the volume, this will cause there to be no sound output. I don't think that this is the issue that you have come across though, so I will take a closer look.

ElBrunzy wrote on 2022-01-04, 05:19:

I hope this make it more convenient for you to analyze, maybe it play correctly on the SAAYM's SAA1099s ? If you need anything else please just ask, I would be glad to investigate further.

The SAAYM's SAA1099s are the same as the ones in the Sound Blaster C/MS. If I run across any more issues I'll be sure to let you know. Thank you again!