The issue seems to have nothing to do with the core's CPU utilization. The crackle is less severe in Windows, and latency can be lowered a bit compared to Linux, but remains in excess of two frames (32 ms minimum from light testing). I have reproduced this behavior on Linux Mint 19 and Windows 10 on the same machine. Most of the audio isn't this bad, but these same patterns persist. Additionally, two sections of audio seem to be "spliced" at 27.780-it seems that the audio was abruptly time-shifted without dropping to zero at all. Sometimes the signal appears to have been momentarily "paused", and resumes at the same level it stopped at, but other times it skips either ahead or behind to a completely different level, as if the second chunk of audio has been "time shifted". Most of the time, the audio simply "drops out" for a short, but varying length of time. It affects the left and right channels at the same time. This particularly unlucky run of audio samples shows the full breadth of known failure modes. The distorted audio, however, can be captured with Audacity by monitoring an audio output (e.g. This issue does not affect recorded "video dumps", which contain perfect audio at the emulated system's native sample rate, indicating that the core's output is not at issue here. 20 ms is usually sufficient for most cores, but all mGBA games tested exhibit this audio crackle to some extent at the same latency. Mother 3, running on mGBA, usually requires 48 ms minimum but on occasion has required latencies in excess of 80 ms. The threshold varies by core and by content, and is not always consistent across repeated runs. The audio output from Retroarch is heavily distorted unless the audio latency is set strangely high. Audio output from the core in use must be buffered for some length of time to accomplish this, inducing latency however, a buffer of only a few milliseconds should be sufficient for cores which are not very demanding on the hardware in use. The audio is imperceptibly time-stretched to sync with the video and resampled to the desired output sample frequency without distortion. The audio output from Retroarch sounds the same as on the original console, unless the core is unable to run at full speed. This is most prominent by far in mGBA out of all cores tested, but can be reproduced in other cores as well (albeit at lower audio latencies). Highly audible "pops" and "crackles" occur while a core is running, and can only be remedied by raising the audio latency to excessive levels.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |