I have made an audio clip of some local train noise, and run it through a spectral analyser:
Here's a screen-capture if you can't view that:
As I watch the graph while listening, I can see three or four lines at the bottom, which are between 500Hz and 4000 Hz, that start and finish when my brain subjectively says the sound is annoying. About two thirds in there's a high pitched line (around 10K), that's much less annoying but also of interest.
I am trying to come up with some objective identification and measurement of this to help monitor the problem. I'm a software engineer with an engineering background, but I don't have much DSP knowledge, and that's what I think would help here. I'm happy using DSP software libraries, and some applied maths.
So my main two questions are:
What methods can I use to measure those lines (the two lines around 500Hz and 1100Hz look to be the loudest)? I've looked a little into 'tone detection', but although the lines are there, it's quite fuzzy. Potentially machine learning could identify the pattern, but so far as I know at best it would be 'yes/no' - much harder to have a continuous output. That's not to mention the training data needed. One final thought is a bandpass filter around those lines, but I think they may go up or down with the speed of the train.
How can normalise the amplitude? I don't have a recording of before when I thought the noise was fine. I'm wondering if there's some objective method to capture 'background sound energy' (not the right term), so I can put a meaningful number on the amplitude of those lines. I can then survey locals to get an idea of what threshold people start to get annoyed by it.
I know that noise is a very subjective thing. However, I've been able to collect contacts of 100s of locals who agree this is the particular sound that's annoying. Trying to put a number on it may be futile, but I'd like to know why if so.
I have a local train noise issue - the good news is the local transport authority are able to rectify it by lubricating the tracks. However - if the lubrication runs out, it's then quite an effort organising enough people to complain so that it gets refilled. I'm hoping by recording this data it'll be much easier to justify.