Many ship horns can be simply summarised as a device that blows periodic air through a pipe. For many ships the pipe is straight and as such does not introduce any modulation effects into the output waveform. However, as the sound moves through the air, it is modulated by an unknown air transfer function. This new modulated waveform is further modified by the effects of additive wind noise, that introduces its own random magnitude and phase components.
A possible solution to this problem is to make use of the Cepstrum, i.e. Cepstral analysis. Cepstral analysis has found many uses in speech analysis, as voiced speech can be thought of as periodic excitations travelling through a collection of different shaped oral cavities (i.e. the trachea, mouth etc.) and other anatomical components, such as the lips and tongue. The net effect of these cavities and components (referred to as the vocal tract transfer function) modulates the original excitation in order to produce the desired sound.
Thus, in order to analyse the horn’s tone, it is necessary to separate it from the unknown transfer function – Cepstral analysis was used for this purpose.
Normalised Cepstrum of wind noise only
Normalised Cepstrum of wind + ship horn (the pitch of the horn signal can clearly be seen)
Using the ASN Filter designer’s signal analyser, our engineers were able to quickly conduct Cepstral data analysis of captured sound files and build a detection algorithm. As seen in the second plot, the pitch of the horn signal can clearly be seen, which formed the basis of the classfication system.
Non-linear spectral subtraction (NLSS) is a powerful audio ehancement technique that calculates the signal-to-noise ratio per FFT (fast Fourier transform) frequency bin of the average noise magnitude spectrum, and current averaged magnitude spectrum, prior to the spectral subtraction operation. The virtue of this operation results in signifcantly higher quality enhanced audio devote of annoying artificats.
The demo and audio samples
The various algorithms described above were combined into a Matlab GUI and presented to the client. Click on the audio files below to listen to horn + wind noise and the enhanced version. As heard, the enhancement algorithm has worked very well, and has attentuated a majority of the wind noise without destroying the wanted horn signal.