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:

enter image description here

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:

  1. 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.

  2. 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.

  • 2
    $\begingroup$ Analysis like this, without some sort of calibration, is only going to give you a qualitative description of the sound. To prove it is too loud, you should get a SPL decibel meter. I used to have one when I recorded bands to let them know when they were too loud. $\endgroup$ Commented Jul 2, 2020 at 13:17
  • $\begingroup$ @CedronDawg - qualitative would be fine too. The 'too loud' could effectively be calibrated with surveying local residents. $\endgroup$ Commented Jul 3, 2020 at 11:03
  • $\begingroup$ I agree with the comment by Cedron Dawg on calibration. If you still want to monitor those signal features, it is relatively easy to do so and an answer could be provided. However, it would be risky to associate that technical answer with an answer to the train noise problem. $\endgroup$
    – A_A
    Commented Jul 3, 2020 at 11:05
  • $\begingroup$ Thanks both of you. I've been campaigning about this for a couple of years - and I'm actually heartened that it's worked in the past. This is specifically in London, and fortunately there's some people in City Hall with enough clout to do something about it. So this really is me trying to make it all more of an ongoing thing we can react to quickly rather than a few weeks of 'oh yes I thought it was sounding louder'. $\endgroup$ Commented Jul 4, 2020 at 12:31

1 Answer 1


One of the radio stations around here used to have the slogan "It may not be your favorite song, but it has a lot of the same notes." A DFT analysis can tell you what notes are present, and at what intensity. With calibration, you can even measure the real world level. This doesn't get anywhere near psycho-acoustics though.

What you could possibly use it for it to define an objective measureable standard of when the greasing needs to be done. The loudness of the noise is going to be dependent upon where you measure it, so calibration and absolute values aren't that useful. What you need, as you alluded to, is comparable recordings of the sound when the tracks are well greased vs when they get annoying.

With those in hand there are several techniques you can use to make quantitative comparisons. The difficulty for you is that your intended audience will likely not have the technical understanding to comprehend any sophisiticated analysis so you are going to have to try to reduce down to a simple number or two, or a nice visual image that expresses the data succinctly. I think you already have the latter with your spectogram. For the former, a simple sum of the magnitudes of the bins in the frequency range of interest should be adequate.

Now, if you can track such a metric throughout a greasing cycle or two, then you can establish objective criteria (by association) of when the noise has reached the same level of annoyance. Just because you are a concerned citizen, maybe you could email this value to the railroad company for every train passing and they will gladly monitor your numbers, thank you for your service, and send somebody out every time it reaches a threshold value.

Dream on? Yep.

If there is a local noise ordinance, you can perhaps work with your local politicians rather than the transport authority.

  • $\begingroup$ I get your point about naivety when it comes to local transport authorities. This is more for the local politicians. Probably overkill - but for me an interesting additional approach. I'm being very cautious about making any claims about the data. And yes - "psycho-accoustics" is certainly a big factor. I recall asking one neighbour if the train noise annoyed them, and they said what train noise? Just at that moment the screeching started, and I asked if that really didn't bother them. And they exclaimed "oh yes, that's awful! I didn't know that's the train!." $\endgroup$ Commented Jul 4, 2020 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.