Audio pop issue on power and when loading cores?

For topics which do not fit in other specific forums.
seastalker
Posts: 249
Joined: Tue Jun 02, 2020 6:49 pm
Has thanked: 26 times
Been thanked: 53 times

Audio pop issue on power and when loading cores?

Unread post by seastalker »

I didn't use to have this problem. I tried switching audio cables too. For some reason, When I power on my Mister, or reset it in some way (which includes loading any new core), I get a momentary but pronounced pop in my speakers. No other device plugged in to the speakers exhibits this behavior. This is audio through the 3.5mm 'headphone' type jack. Settings? Ideas? Thank you.

User avatar
Longtime4321
Posts: 116
Joined: Fri Aug 12, 2022 5:17 am
Has thanked: 9 times
Been thanked: 17 times

Re: Audio pop issue on power and when loading cores?

Unread post by Longtime4321 »

Not sure why this wasn't happening before, but yeah when loading a core or resetting your MiSTer, this is normal (at least, it has been for me during the brief time I used aux audio. I've switched to TOSLINK).
Maybe you turned off noise cancellation on your speaker.

User avatar
lagerfeldt
Posts: 170
Joined: Mon Jan 03, 2022 8:32 pm
Location: Denmark
Has thanked: 33 times
Been thanked: 85 times
Contact:

Re: Audio pop issue on power and when loading cores?

Unread post by lagerfeldt »

It's normal with the analog output on the MiSTer. I get a pop or click upon startup and initializing a core.

Have you tried measuring the output for DC offset? If there's a large offset this can cause pops and clicks like when it's initialized, which would be my guess.

A DC offset when it's triggered or removed will cause a pop or click when the output is instantly changed to the opposite state. It can theoretically be filtered out by a deep high pass filter.

EDIT: I found this explanation - very similar to a DC offset - although this wouldn't explain why pops aren't also present via the digital output.

The reason is that when a core's running, the audio "zero" point is half way between minimum and maximum, so that it can swing both up and down to produce the audio waveform. The core is constantly outputting alternating high and low pulses which are averaged out by a simple filter on the IO board. The ratio of high-to-low pulses determines the output voltage, but when there's no sound the ratio will be 1:1 and the output level will be 50% of maximum.

As soon as you reconfigure the FPGA by changing core that process stops, and the output voltage swings immediately to minimum (or maybe it's maximum!) for the duration of the configuration process, after which the newly-loaded core brings it back to the half-way point. Both transients cause an audible pop.

Patron of MiSTer + theypsilon + Jotego Team + Coin-Op Collection + Pierco + Nullobject

MiSTer RePlay website

Ultimate SID Collection website

User avatar
pgimeno
Top Contributor
Posts: 709
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 277 times
Been thanked: 226 times

Re: Audio pop issue on power and when loading cores?

Unread post by pgimeno »

lagerfeldt wrote: Mon Mar 18, 2024 8:53 pm

EDIT: I found this explanation - very similar to a DC offset - although this wouldn't explain why pops aren't also present via the digital output.

Thanks for finding and posting that explanation, so the output does D/A conversion via PWM. Oh well. I also changed to a TOSlink D/A device because of these annoying clicks.

The reason why it's not present in the digital output is probably that the optical output is not PWM: it carries numeric values and "knows" what zero is.

User avatar
LamerDeluxe
Top Contributor
Posts: 1239
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 887 times
Been thanked: 284 times

Re: Audio pop issue on power and when loading cores?

Unread post by LamerDeluxe »

This might be fixed by having a newly loaded core gradually go from this min or max value to the center value, say during the first few frames, so it becomes inaudible.

The other way around, when exiting a core, would be tricky or maybe not even possible, depending on how the reset button works.

Post Reply