- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
06028 | Sound | Minor | Always | Sep 9, 2015, 13:29 | Sep 16, 2015, 10:03 |
Tester | Dr.Venom | View Status | Public | Platform | MAME (Official Binary) |
Assigned To | Haze | Resolution | Fixed | OS | Windows Vista/7/8 (64-bit) |
Status [?] | Resolved | Driver | |||
Version | 0.165 | Fixed in Version | 0.166 | Build | 64-bit |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 06028: neogeo.c: Wrong volume of SSG versus the FM & ADPCM sound generation parts | ||||
Description |
In the neogeo driver the volume balance between the YM2610 SSG and FM&ADPCM sound generation parts is incorrect. This manifests itself in -all- SSG based sound effects in the neo geo games to be played too loud versus FM and ADPCM and in some cases (because of clipping) also getting distorted. For example these SSG sounds include the bonus pickup sounds in the metal slug games, the train riding sounds in mslugx, the helicopter bomb dropping sounds, steam "noise",etc. Since the bonus pickup sound in the metal slug games is making the issue very clear, I've zoomed in on that for the comparison attached to this bug report. Do note that the comparison holds for other SSG sounds too. Thanks to ufoufo512 from the arcadecontrols forum, who provided me with a number of recordings from his MVS two slot board, we've been able to verify this and analyse what the (more) correct volume is. I've attached three files. The first is an MP3 comparing the real MVS with MAME (metalslugx_demo2_bonuspickup(real_vs_mame).mp3). This example is from the metalslugx demo that is played in atrtraction mode and zooms in on the bonus pickup sounds. The first 8 seconds is from the real MVS, then a pause and then the exact same part in MAME (recorded with -wavwrite). It's quite clear that the SSG volume in MAME is way too loud. I've also attached a picture showing the Audacity audio profile of this sample. In this picture it can be seen how the bonus pickup sounds are causing quite some heavy clipping (distortion), marked by the red arrows. The volume balance is set at this part in the neogeo driver: The current values are: MCFG_SOUND_ADD("ymsnd", YM2610, NEOGEO_YM2610_CLOCK) MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) MCFG_SOUND_ROUTE(0, "rspeaker", 0.60) MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) MCFG_SOUND_ROUTE(2, "rspeaker", 1.0) MCFG_NEOGEO_BANKED_CART_ADD("banked_cart") After extensive testing I found the (more) correct volume for the SSG / channel 0 to be: MCFG_SOUND_ROUTE(0, "lspeaker", 0.28) MCFG_SOUND_ROUTE(0, "rspeaker", 0.28) MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) MCFG_SOUND_ROUTE(2, "rspeaker", 1.0) To illustrate the difference this makes, I've attached a second mp3 (metalslugx_demo2_bonuspickup(real_vs_mame_volume_adjusted).mp3) where you can hear the same soundpart again, but now with the volume adjustment applied. So first 8 seconds is the real MVS, short pause and then the MAME sound output with the volume adjustment. Please let me know if there are any questions. EDIT: Through additional testing I found that the most accurate volume for channel 0 should be between 0.28 and 0.29. This setting is achieved by additionally lowering the channel 1 and 2 volume very slightly: MCFG_SOUND_ROUTE(0, "lspeaker", 0.28) MCFG_SOUND_ROUTE(0, "rspeaker", 0.28) MCFG_SOUND_ROUTE(1, "lspeaker", 0.98) MCFG_SOUND_ROUTE(2, "rspeaker", 0.98) This makes the audio balance between SSG and FM and ADPCM -very accurate-. I don't think people would be able to distuingish it anymore from the real deal in a blind test :-) |
||||
Steps To Reproduce | |||||
Additional Information | |||||
Github Commit | |||||
Flags | Verified with Original | ||||
Regression Version | |||||
Affected Sets / Systems | neogeo.c | ||||
Attached Files
|
metalslugx_demo2_bonuspickup(real_vs_mame).mp3 (367,281 bytes) Sep 9, 2015, 13:29 Uploaded by Dr.Venom
| ||||
metalslugx_demo2_bonuspickup(real_vs_mame).png (74,418 bytes) Sep 9, 2015, 13:30 Uploaded by Dr.Venom
| |||||
metalslugx_demo2_bonuspickup(real_vs_mame_volume_adjusted).mp3 (377,208 bytes) Sep 9, 2015, 13:30 Uploaded by Dr.Venom | |||||
Relationships
There are no relationship linked to this issue. |
Notes
4
No.12008
Haze Senior Tester
Sep 9, 2015, 14:45
|
Zupapa is a pretty good test case for this too IIRC, the blip sound when you throw your little guys at the enemies has always been far too loud. |
---|---|
No.12009
NekoEd Senior Tester
Sep 9, 2015, 19:48
|
Looks good to me. I'll confirm this and add the appropriate flag. |
No.12017
enik Tester
Sep 11, 2015, 23:43
|
Dr.Venom, the gain values aren't restricted to 2 decimal digits, they have double-precision floating-point type. You could set the balance with 1.00 and 0.285, by example, instead 0.98 and 0.28. See src/mame/drivers/cubeqst.c as an example. |
No.12030
Dr.Venom Tester
Sep 16, 2015, 10:03
|
Enik, thanks for the pointer, I'll keep that in mind next time. |