Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06931 Sound Minor Always Apr 4, 2018, 21:22 Jun 13, 2018, 03:45
Tester wuemura View Status Public Platform
Assigned To Resolution Open OS
Status [?] Acknowledged Driver
Version 0.196 Fixed in Version Build 64-bit
Summary 06931: Possible sound engine issues with some drivers and machines
Description 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.

Argus hardware.m4a
Argus mame.m4a
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.

Thank you.
Steps To Reproduce mame64 vmgplay
load the vgm file to play the song.
Additional Information Re:Birth

YM2203 Shield

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.

Regression Version 0.113
Affected Sets / Systems
Attached Files
m4a file icon Argus mame.m4a (214,725 bytes) Apr 4, 2018, 21:22 Uploaded by wuemura
m4a file icon Argus hardware.m4a (200,607 bytes) Apr 4, 2018, 21:23 Uploaded by wuemura
m4a file icon citycon - hardware.m4a (1,104,956 bytes) Apr 4, 2018, 21:23 Uploaded by wuemura
m4a file icon citycon - mame.m4a (1,195,940 bytes) Apr 4, 2018, 21:24 Uploaded by wuemura
pdf file icon City Connection Sound block schematic.pdf (2,279,684 bytes) Apr 4, 2018, 21:25 Uploaded by wuemura
City Connection Sound block schematic
png file icon citycon.png (380,983 bytes) Apr 4, 2018, 21:27 Uploaded by wuemura
City Connection schematic fix
pdf file icon RE1-YM2203_REV_1_1_SCH.pdf (33,711 bytes) Apr 4, 2018, 21:27 Uploaded by wuemura
YM2203 Shield Schematic
png file icon robocop_waveform.png (16,456 bytes) Apr 4, 2018, 21:28 Uploaded by wuemura
Robocop waveform
png file icon Puyo_puyo.png (16,902 bytes) Apr 4, 2018, 21:31 Uploaded by wuemura
Puyo Puyo waveform
m4a file icon Argus mame 2.m4a (198,799 bytes) Apr 4, 2018, 23:31 Uploaded by wuemura
m4a file icon Argus hardware 2.m4a (168,706 bytes) Apr 4, 2018, 23:32 Uploaded by wuemura
m4a file icon mame112_fmonly.m4a (392,458 bytes) Jun 13, 2018, 03:43 Uploaded by Fujix
m4a file icon mame113_fmonly.m4a (483,169 bytes) Jun 13, 2018, 03:43 Uploaded by Fujix
related to 06979Confirmed splatter, galaga88, etc.: Huge audio crackle upon start 
User avatar
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.
User avatar
Senior Tester
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.
User avatar
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.
User avatar
Jun 13, 2018, 03:43
The regression version is 0.113 when the massive update was in progress.
Attaching FM sound outputs of 112 and 113.