Advertisement

Identifying noises from my rig.

Started by March 06, 2013 09:47 PM
11 comments, last by SuperVGA 11 years, 6 months ago

Hi Guys,

I have become aware of ... something emitting a sound from my case, and I wonder what it could be.

Usually when I work with graphics or games, (especially when I have disabled vertical synchronization) I can hear noises from my GPU. I've always heard noises from it when it's working, so I don't think that is a big deal.

There's not a lot of noise in the room, my speakers are turned off and the loudest noise is from my case fans, which create a constant humming sound, The rest of my machine is relatively quiet (No writes to my SSD, GPU is taking a break).

Just ten minutes half an hour ago, I was messing around with SFMT, some code and allocated a lot of memory upon the initialization of a std::vector.

A firm 100ms "chirp" sounds upon allocation. But I'm not sure if it's really my DIMMS that produce the noise...

I have consumed a 50cl caffeine-rich beverage an hour ago, but I'm convinced I would hear the noise either way.

I have stripped my code down to the parts that cause the sound (and i do realize that I'm not even using the SFMT library, but this is apparently still making a difference.)

Goes "Chirp!"


#include <vector>
#include <cstdlib>
#include <SFMT.h>
 
const unsigned pop_size = 10000000;
const unsigned seed = 12345;

int main(int argc, char* argv[])
{
    sfmt_t sfmt;
    sfmt_init_gen_rand(&sfmt, seed);

    std::vector< unsigned > pop(pop_size, 0 );    
    return EXIT_SUCCESS;
}

Noise is lower (how would sfmt interfere with the allocation?)


#include <vector>
#include <cstdlib>
const unsigned pop_size = 10000000;
int main(int argc, char* argv[])
{
    std::vector< unsigned > pop(pop_size, 0 );    
    return EXIT_SUCCESS;
}

Does not go "Chirp!" (there is some noise, but it's low and seems to be much shorter).


#include <vector>
#include <cstdlib>
int main(int argc, char* argv[])
{
    std::vector< unsigned > pop(10000000, 0 );
    return EXIT_SUCCESS;
}

-Removing the allocation silences the unknown noisy component completely during runtime.

I compile with -O3 -msse2 (And using SFMT, i also use -DHAVE_SSE2 -DSFMT_MEXP=607)

Changing to O2 does little to change the sound.

Now as far as I'm aware, there aren't any mechanical parts prone to moving due to executing my program.

I have two things that I'm curious in finding out:

Why removing SFMT changes the sound of my otherwise independent(?!) initialization; and

What component produces the noise and why.

They didn't cover this in either signal processing or CPU architecture at uni, and I'm no hardware expert.

What could be causing this sound?

(And yeah, it's sort of a silly concern, and I have no idea where else to post about it smile.png )

- And when i change pop_size to 100000000 (10^8), it sounds kinda like when you light a match!

Advertisement

Non-mechanical electrical component can in fact generate physical sounds, and I hear them all the time in various forms from every computer I have ever used. Assuming, of course, that computer fans, the environment and such are silent enough to not mask it. It's a very low-level, higher-frequency noise normally correlating with periods of high computational load. For example, if you start a heavy calculation for some time, the noise is there for the duration of the computation. Sometimes just moving the mouse cursor around causes the noise.

I don't know for sure what the cause of this is, but there are electrical effects that can cause mechanical vibrations in otherwise non-mechanical parts, such as Magnetostriction. You can hear that effect quite well on power-line transformers that emit a humming noise. I find it reasonable that such effects can cause the noise from computers as well. For example, a transformer in an idling computer may not emit much noise, but once a computation starts, requiring the transformer to deliver bursts of higher power, the effect may become noticeable.

I don't know either if this noise is a sign of bad or cheap components, or components on the way of breaking, or if it's even bad in itself, but it is as far as I understand a normal physical effect cause by electric and magnetic fields within the components.

Coil noise, I guess. I understand it is caused by power fluctuations causing the coils in the PSU, GPU, etc.. to resonate at various frequencies, sometimes into hearing range.

Some wireless devices also sometimes interfere with the speakers, causing strange sounds (this is most noticeable with cheap wireless mice) but you said your speakers were off.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

I find so amusing that you could actually code something that makes your computer "chirp" :D

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

@Brother Bob, thanks for supplying that link and explaining. I also remember that I've had noises from when moving the cursor, so I actually experienced it before, just didn't think about it.

@Bacterius, it's very likely that my PSU and GPU also produce noises, but I'm certain these particular sounds originated closer to my mobo. I suspected the CPU and RAM first,
but it may be anything. I do remember a friend who put his bluetooth headset by his case, and it produced a low frequent noise, and that wasn't feedback or anything, so I guess you're right about that.

@TheChubu Yes, although it's not like I put much effort into the code, or expected it to produce noises. I would've gotten a lot more work done last night had everything just kept quiet! :D -I'm just waiting for that youtube video showcasing how music can be synthesized from different kinds of memory allocation/processing, without any speakers.

Advertisement

Slightly related

"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley

My old GTX295 card had this really loud high pitch wining noise from the memory banks, when fps climbed above 250 or so. (could happen if the devs didn't bother to frame rate cap in menues and such).

Way louder then the fans.

A bit scary, you didn't feel like running your card like that for too long...

Isn't that sound the hamsters?

void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.

I know where Olof is coming from. I hear high pitch whirring and chirping noises when running programs where the FPS would be at least in the middle 100's. Also, some noticeable tiny whirring sounds during load time in one of my current projects- when I am inserting many thousands of objects onto a list, which takes a couple of seconds, before the first main loop runs.

But I figure, hey, I have an onboard sound card, so I wouldn't expect one to have all the best shielding in the world to prevent those noises.

New game in progress: Project SeedWorld

My development blog: Electronic Meteor

This topic is closed to new replies.

Advertisement