Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|06931||Sound||Minor||Always||Apr 4, 2018, 21:22||6 days ago|
|Version||0.196||Fixed in Version||Build||64-bit|
|Summary||06931: Possible sound engine issues with some drivers and machines|
I've noticed some issues with some sound drivers and engine, some Yamaha ones to be specific. I've some samples that to me are the most obvious ones because it show heavy distortion, wrong timbre, some tones are played one or more octaves up or bellow, others fall short, some has decay or sustain issues, etc. In general we are talking about some sort of inaccuracy.
I don't have the original arcade but instead, I've the original sound chip YM2203 as a shield for Project Re:Birth, the player send the VGM data out and the sound chip reproduce it. Files named as "mame" come from mame vgmplay and files named "hardware" comes directly from the chip YM2203.
This is from "Argus", the emulated sound has some clicks and pop's, maybe a lack of buffer? Possible buffer underrun?
citycon - hardware.m4a
citycon - mame.m4a
This sample comes from City Connection, is possible to notice a heavy distortion at high frequency, the emulations can't sustain the note like the hardware, the high frequency note has a ringing effect that gives the sound a texture MAME doesn't have.
Argus hardware 2.m4a
Argus mame 2.m4a
This other sample from Argus, show similar distortion at high frequency.
Another big issue with the MAME sound core has relation with the wav output, if you take any of this mame samples and open it with Audacity or any other audio editor, you'll notice that the waveform are malformed. To me looks like the wave is chopped off in half and 90º maybe 180º inverted. This happens with some FM/PSG Engines, sorry I don't have means to test all engines but is very easy to see.
Audacity manual say that the dark blue show the highest transient peak and light blue the average RMS (Root Mean Square).
The waveforms clearly show that the somehow invert this values and are represented outside the 0.0 axis.
I'm including the City Connection Sound Block Schematics, a small fix for that schematic, there is a connection missing, also including the schematic for the YM2203 shield.
From what I've seen, this affects other machines that depend on some "YM" drivers, maybe if there is no one to look in to this, it would be a good idea to set this machines with IMPERFECT SOUND flag, so we can avoid future complains about it.
|Steps To Reproduce||
load the vgm file to play the song.
VGM player, software and schematics
Main board and shields
FMGEM is a CPP FM Sound Engine, maybe MAME could use this as a 3rdparty, it will fix most of this issues if not all. (possible)
GR Sakura project
GR Sakura, YM2203 chip tables, registers and initialization parameters.
|Affected Sets / Systems|
Argus mame.m4a (214,725 bytes) Apr 4, 2018, 21:22 Uploaded by wuemura
Argus hardware.m4a (200,607 bytes) Apr 4, 2018, 21:23 Uploaded by wuemura
citycon - hardware.m4a (1,104,956 bytes) Apr 4, 2018, 21:23 Uploaded by wuemura
citycon - mame.m4a (1,195,940 bytes) Apr 4, 2018, 21:24 Uploaded by wuemura
City Connection Sound block schematic.pdf (2,279,684 bytes) Apr 4, 2018, 21:25 Uploaded by wuemura
City Connection Sound block schematic
citycon.png (380,983 bytes) Apr 4, 2018, 21:27 Uploaded by wuemura
City Connection schematic fix
RE1-YM2203_REV_1_1_SCH.pdf (33,711 bytes) Apr 4, 2018, 21:27 Uploaded by wuemura
YM2203 Shield Schematic
robocop_waveform.png (16,456 bytes) Apr 4, 2018, 21:28 Uploaded by wuemura
Puyo_puyo.png (16,902 bytes) Apr 4, 2018, 21:31 Uploaded by wuemura
Puyo Puyo waveform
Argus mame 2.m4a (198,799 bytes) Apr 4, 2018, 23:31 Uploaded by wuemura
Argus hardware 2.m4a (168,706 bytes) Apr 4, 2018, 23:32 Uploaded by wuemura
mame112_fmonly.m4a (392,458 bytes) 6 days ago Uploaded by Fujix
mame113_fmonly.m4a (483,169 bytes) 6 days ago Uploaded by Fujix
Apr 4, 2018, 21:37
Sorry, the waveform got fixed by the AAC conversion and I don't have the originals anymore, but can be reproduced by
mame64 vgmplay -wavwrite out.wav
Choose the vgm file based on YM2203 to see the malformed waveforms, I've added some screen shots.
Apr 6, 2018, 00:03
edited on: Apr 6, 2018, 00:03
what we *really* need is regression versions, so we can figure out which change broke these things if they were better in older versions of MAME.
without one it's very unlikely anybody will do anything.
Apr 6, 2018, 01:41
I don't believe a regression will do anything, take a look at the related links, some testers reported regression, some very specific witch versions the sound got broken, there are reports that will make 10 year anniversary, some sound issues related to FM engines other than the YM2203 are 10+ year old. If you look at citycon for example, that machine has sound issues since day one so I don't know how a regression could help.
Personally, I'm not holding my breath, but I did my part. How the developers with handle it I don't know, let them decide.
6 days ago
The regression version is 0.113 when the massive update was in progress.
Attaching FM sound outputs of 112 and 113.