One of the other issues your experiencing is the fan is also resonating already with what ever object it’s on. In your case, it’s a window sill made of wood. So adding a speaker on the same location is just gonna resonate even more.
As mentioned by others, phase cancellations is all about timing the sound waveforms to be inverse. There are quite a lot of variables that have an effect on sound in a room environment, including other frequencies generated by the room and reverb it creates.
Have you considered having a second (identical) fan that you locate strategically to obtain some destructive interference over some region of the room? It’s probably very difficult to obtain a good result, and even then it would be over limited regions of the room, but perhaps it’s worth a try.
I've worked with a lot of smaller fans (120mm). IMO they are ideal for experiments like yours. For pulling through high end filters you need a lot of pressure. 120mm fans get great pressure at 2200-2600rpm, but they have annoying hums at that speed. 1800rpm is sufficient and much lower noise, but not ideal.
What if you took a spectrogram of the sound to identify the dominant frequencies. Then you use Fourier Analysis to break it down into its component frequencies, prioritizing the dominant frequencies identified in the spectrogram. Then you could play destructive interference on specific component frequencies? Would this work?
I once tried to build "smart curtains" which listen to the outside noise and then play the inverse sound indoors to cancel it. It has been close to a decade now so I don't remember all the small details, but if I remember correctly, the exact distance from the cancellation speaker to the listening ear also matters a lot. Definitely don't let me discourage you though, I could be wrong. :)
If I had to guess, and the reason noise cancellation is always done right next to the ear, is that a sound source like this is going to also bounce off of a lot. The window behind the fan, for example, and that wave is going to be differently phased than what hits your ear directly from the device.
I bet if you measured the distance from your ear directly to the speaker and the distance directly to the fan motor or whatever part is making the 312hz, and then carefully lined up the phases to be inverted, you could still get a lot of it cancelled, but as soon as you moved your ear more than an inch or so, it would stop working. It also just may never work due to what I said above. It would be neat to try, though.
Now I'm wondering if there would be any hope of locating a microphone array in the room with you, then using a speaker a known distance from your ear that was tied to that to make this happen. I bet if you modeled the room and all noise sources and then tracked the ear, you could get a lot of it.
I wonder if you could set up a microphone positioned near where you ears typically are. Sample the noise, emit a noise from the loudspeaker that is generated by a highly parameterized function. Do a stepwise global optimization search for the set of parameter values that minimizes the noise sampled by the microphone.
One of the other issues your experiencing is the fan is also resonating already with what ever object it’s on. In your case, it’s a window sill made of wood. So adding a speaker on the same location is just gonna resonate even more.
As mentioned by others, phase cancellations is all about timing the sound waveforms to be inverse. There are quite a lot of variables that have an effect on sound in a room environment, including other frequencies generated by the room and reverb it creates.
Have you considered having a second (identical) fan that you locate strategically to obtain some destructive interference over some region of the room? It’s probably very difficult to obtain a good result, and even then it would be over limited regions of the room, but perhaps it’s worth a try.
I blew out my other one!!!!
Before or while trying what I suggested? 😂
I've worked with a lot of smaller fans (120mm). IMO they are ideal for experiments like yours. For pulling through high end filters you need a lot of pressure. 120mm fans get great pressure at 2200-2600rpm, but they have annoying hums at that speed. 1800rpm is sufficient and much lower noise, but not ideal.
thanks for the feedback. Can I DM you? Would be really interested to chat
For sure!
What if you took a spectrogram of the sound to identify the dominant frequencies. Then you use Fourier Analysis to break it down into its component frequencies, prioritizing the dominant frequencies identified in the spectrogram. Then you could play destructive interference on specific component frequencies? Would this work?
I once tried to build "smart curtains" which listen to the outside noise and then play the inverse sound indoors to cancel it. It has been close to a decade now so I don't remember all the small details, but if I remember correctly, the exact distance from the cancellation speaker to the listening ear also matters a lot. Definitely don't let me discourage you though, I could be wrong. :)
maybe try a larger slower fan
You need to change the phase by 180 degrees to cancel out the sound. It is in a way a delay but not quite.
If you remove the grid, the fan will be more silent
I wonder if an acoustic ‘bass trap’ would help? Similar to treating a room for hifi or home theater
If I had to guess, and the reason noise cancellation is always done right next to the ear, is that a sound source like this is going to also bounce off of a lot. The window behind the fan, for example, and that wave is going to be differently phased than what hits your ear directly from the device.
I bet if you measured the distance from your ear directly to the speaker and the distance directly to the fan motor or whatever part is making the 312hz, and then carefully lined up the phases to be inverted, you could still get a lot of it cancelled, but as soon as you moved your ear more than an inch or so, it would stop working. It also just may never work due to what I said above. It would be neat to try, though.
Now I'm wondering if there would be any hope of locating a microphone array in the room with you, then using a speaker a known distance from your ear that was tied to that to make this happen. I bet if you modeled the room and all noise sources and then tracked the ear, you could get a lot of it.
I wonder if you could set up a microphone positioned near where you ears typically are. Sample the noise, emit a noise from the loudspeaker that is generated by a highly parameterized function. Do a stepwise global optimization search for the set of parameter values that minimizes the noise sampled by the microphone.