Signal Features

General Principles

Before we dive into the individual features, there are a few fundamental concepts that apply to all frequency-domain descriptors.

The Role of Windowing

The Fast Fourier Transform assumes that the signal segment it processes is periodic. In practice, this is almost never the case. When we take a finite excerpt from a longer signal and apply the FFT directly, we introduce artificial discontinuities at the edges. These manifest as spectral leakage — energy that should be concentrated at a single frequency spreads across neighbouring bins.

To mitigate this, we multiply the signal segment by a window function before applying the FFT. The choice of window — Hann, Hamming, Blackman, Blackman–Harris, or others — involves a trade-off between frequency resolution and sidelobe suppression. Because all frequency-domain features are derived from the spectrum, they are all affected by the choice of window. Comparing features computed with different windows is rarely meaningful unless the window is taken into account.

For a detailed discussion of window functions, their properties, and how to choose the right one for your application, see the dedicated article: Window Functions in Digital Signal Processing.

From Spectrum to Features

The FFT gives us a complex-valued spectrum:

\[ X(k) = \sum_{n=0}^{N-1} x(n) \cdot e^{-j 2 \pi k n / N}, \quad k = 0, 1, \dots, N-1 \]

where N is the window length and k corresponds to frequency fk = k · Fs / N (with Fs being the sampling rate). For real-valued signals, only the first N/2 + 1 bins are needed, as the rest are redundant due to conjugate symmetry.

From this spectrum we typically compute two derived quantities:

  • Magnitude spectrum: |X(k)| — used for amplitude-related features.
  • Power spectrum: P(k) = |X(k)|² — used for energy-related features.

Most spectral features are computed directly from P(k) or |X(k)|. The distinction is important because some features operate on amplitude, while others are defined in terms of power.

Frame-Based Processing

Audio and vibration signals are rarely stationary — their properties change over time. To capture how the signal evolves, we process it in short overlapping frames. Typical frame lengths range from 10 to 50 milliseconds. For each frame, we extract a set of features, resulting in a sequence of feature vectors over time. This sequence can then be used to track changes, detect events, or recognize patterns. The overlap between consecutive frames (usually 50% to 75%) ensures that we do not miss transitions that fall near frame boundaries.

This frame-based approach is the foundation of nearly all practical feature extraction in DSP, and it is assumed throughout the rest of this article.


Spectral Features

Spectral features are computed directly from the magnitude or power spectrum. They describe the shape, distribution, and energy concentration of the spectrum without attempting to model its finer structure. These are among the most intuitive and widely used descriptors in DSP.

All formulas below use the following notation:

  • X(k) — complex spectrum at frequency bin k
  • P(k) — power spectrum: P(k) = |X(k)|²
  • fk — frequency corresponding to bin k: fk = k · Fs / N
  • N — FFT size (number of samples in the window)
  • Fs — sampling rate in Hz
  • k — frequency bin index, ranging from 0 to N/2

All sums are taken over k = 0 to k = N/2, covering the full usable frequency range for real-valued signals.

Spectral Centroid

The spectral centroid is the center of gravity of the spectrum. It indicates where the "mass" of the spectrum lies in terms of frequency.

\[ C = \frac{\sum_{k} f_k \cdot P(k)}{\sum_{k} P(k)} \]

A higher centroid means the spectrum is shifted toward higher frequencies — the sound is "brighter" or "sharper." A lower centroid indicates more energy in the lower frequencies — the sound is "darker" or "warmer." This feature is commonly used in music genre classification, timbre analysis, and distinguishing vowel sounds in speech.

Spectral Spread (Bandwidth)

The spectral spread is the standard deviation of the spectrum around the centroid. It measures how wide the spectral distribution is.

\[ B = \sqrt{ \frac{\sum_{k} (f_k - C)^2 \cdot P(k)}{\sum_{k} P(k)} } \]

A small spread indicates a tonal signal — energy is concentrated around a single frequency (e.g., a pure tone). A large spread suggests a noisy signal or one with a broad frequency range. This feature is useful for distinguishing tonal from noisy signals and for vibration analysis.

Spectral Skewness

Spectral skewness is the third central moment of the spectrum, normalized by the spread. It measures the asymmetry of the spectral distribution.

\[ S = \frac{\sum_{k} (f_k - C)^3 \cdot P(k)}{\sum_{k} P(k) \cdot B^3} \]

A positive skewness indicates that the spectrum is asymmetric toward higher frequencies — the tail extends toward the high end. A negative skewness means the opposite — the spectrum leans toward lower frequencies. This feature is used in musical timbre analysis and mechanical diagnostics, where changes in asymmetry can indicate wear or damage.

Spectral Kurtosis

Spectral kurtosis is the fourth central moment, normalized by the spread and shifted by 3 so that a normal distribution gives zero.

\[ K = \frac{\sum_{k} (f_k - C)^4 \cdot P(k)}{\sum_{k} P(k) \cdot B^4} - 3 \]

A positive kurtosis means the spectrum has a sharp, narrow peak — energy is highly concentrated. A negative kurtosis means the spectrum is flat or has multiple peaks. This feature is used for detecting impulsive noise and analyzing machine vibrations, where impacts or sudden events produce high kurtosis values.

Spectral Roll-off

The spectral roll-off is the frequency below which a certain percentage R (typically 85% or 95%) of the total spectral energy is contained. In other words, it is the lowest frequency f such that the cumulative energy up to f reaches at least R% of the total energy.

\[ f_{rolloff} = \min \left\{ f \; \middle| \; \sum_{k=0}^{f} P(k) \ge R \cdot \sum_{k} P(k) \right\} \]

This feature distinguishes signals with rich high-frequency content (e.g., music) from those with limited frequency range (e.g., speech). A high roll-off frequency means significant energy extends to high frequencies; a low roll-off means the signal is mostly low-frequency. It is widely used in speech recognition and audio content classification.

Spectral Flux

The spectral flux measures the change in the spectrum between two consecutive frames. It is defined as the squared difference between the magnitude spectra of adjacent frames.

\[ F(t) = \sum_{k} \left( |X_t(k)| - |X_{t-1}(k)| \right)^2 \]

High flux values indicate rapid changes in the spectrum — onsets of notes, percussive attacks, or fast transients. Low flux means the spectrum is stable over time. This feature is used for onset detection, audio segmentation, and rhythm analysis.

Spectral Entropy

Spectral entropy measures the "flatness" or "spread" of the spectrum using Shannon's information entropy. The power spectrum is first normalized to a probability distribution.

\[ p(k) = \frac{P(k)}{\sum_{k} P(k)} \]
\[ H = -\sum_{k} p(k) \cdot \log_2 p(k) \]

A high entropy indicates a flat, noise-like spectrum where energy is distributed evenly across all frequencies. A low entropy indicates a tonal, peaked spectrum where energy is concentrated in a few bins. This feature is used to distinguish between tonal and noisy signals, and in speech/music discrimination.

Spectral Flatness

Spectral flatness is the ratio of the geometric mean to the arithmetic mean of the power spectrum. It is often expressed in decibels.

\[ F_{flat} = \frac{ \left( \prod_{k} P(k) \right)^{1/K} }{ \frac{1}{K} \sum_{k} P(k) } \]

where K = N/2 + 1 is the number of frequency bins.

A flatness close to 1 (0 dB) means the spectrum is flat — characteristic of white noise. A flatness close to 0 (very negative dB) means the spectrum is highly peaked — characteristic of a pure tone or a highly harmonic signal. This feature is closely related to spectral entropy but is computationally simpler.

Relative Energy in Frequency Bands

Instead of a single number, this feature provides a vector of values. The spectrum is divided into several frequency bands (e.g., 0–250 Hz, 250–1000 Hz, 1000–4000 Hz, 4000–Nyquist), and for each band we compute the ratio of energy in that band to the total spectral energy.

\[ E_{band} = \frac{\sum_{k \in band} P(k)}{\sum_{k} P(k)} \]

This describes the spectral balance of the signal — how energy is distributed across the frequency range. It is used in instrument classification, environmental sound analysis, and equalization applications.

Harmonic Features

Harmonic features go beyond the simple spectral shape descriptors above. They attempt to model the harmonic structure of the signal — the presence of multiples of a fundamental frequency. These features include:

  • Harmonic-to-Noise Ratio (HNR) — the ratio of periodic (harmonic) energy to noise energy.
  • Inharmonicity — the degree to which overtones deviate from exact multiples of the fundamental.
  • Odd-to-Even Harmonic Ratio — the ratio of energy in odd harmonics to even harmonics, used in instrument classification (e.g., clarinet vs. violin).

These features are more complex to compute, as they require pitch detection and harmonic tracking. They are covered separately in a dedicated article on harmonic analysis.


Cepstral Features

Cepstrum

When we look at the spectrum of a sound — say, a human voice — it is never just a smooth curve. We always see something like a jagged mountain range: peaks rising at nearly equal distances from each other, and beneath them a smoother, rounded shape that outlines the overall contour. These two elements — the fine teeth and the smooth envelope — carry completely different information, yet in the spectrum they are superimposed and difficult to separate.

In a speech signal, for example, the teeth come from the rhythmic closures of the vocal folds — they determine the pitch of the voice. The smooth envelope, on the other hand, is shaped by how the mouth, tongue, and lips modify the path of the sound — it is precisely this that makes vowels sound different ("a" vs. "o"). These two processes operate simultaneously, and their results are mixed in the spectrum in a way that is hard to untangle directly.

Cepstral analysis offers a clever workaround. If we take the spectrum and move to a logarithmic scale, the smooth envelope and the jagged structure — which were multiplied together — become added instead. They are no longer fused; they are simply two different things placed on top of each other. Then we apply the inverse Fourier transform and obtain what we call the cepstrum. In this new domain, things arrange differently: the components responsible for the smooth envelope gather near the beginning, while those that draw the teeth pop up further away as distinct peaks. Thus, the two components that were indistinguishable in the spectrum become clearly separated in the cepstrum.

This separation is why cepstral analysis is so important in speech processing — it allows us to examine separately what the person is saying and what voice they are using, without losing the information we need for either task.

Formally, the cepstrum is defined as the inverse Fourier transform (IFFT) of the logarithm of the power spectrum:

\[ c(n) = \text{IFFT} \left\{ \log \left( |X(k)|^2 \right) \right\} \]

The resulting sequence c(n) is in the so-called quefrency domain (a play on the word "frequency"). The independent variable n has units of time, but it represents periodicities in the spectrum rather than time itself. Peaks in the cepstrum at certain quefrencies correspond to harmonic spacings in the spectrum — in speech, this reveals the fundamental frequency (pitch) of the speaker. The lower quefrencies correspond to the smooth envelope of the spectrum — the filter characteristics of the vocal tract.

Important: The cepstrum uses only the magnitude spectrum — the phase information is discarded. This is acceptable because the phase tends to be less informative for the source-filter separation problem.

MFCC (Mel-Frequency Cepstral Coefficients)

MFCCs are the most widely used cepstral features in speech and audio processing. They follow the same general idea as the cepstrum, but they introduce two key modifications:

  1. The spectrum is filtered through a bank of triangular filters distributed along the Mel scale — a perceptual frequency scale that approximates the nonlinear frequency resolution of the human ear. The Mel scale is approximately linear below 1 kHz and logarithmic above it, meaning we have better resolution at low frequencies.
  2. The energy from each filter is logarithmically compressed, and then a Discrete Cosine Transform (DCT) is applied, rather than the full inverse FFT. The DCT produces a compact set of coefficients — typically 13 to 20 — that are decorrelated and capture the most important information.

The computational steps for MFCC extraction are as follows:

  1. Apply a window function (e.g., Hamming) and compute the FFT for each frame.
  2. Pass the magnitude spectrum through a Mel filter bank consisting of 20–40 triangular filters spaced according to the Mel scale.
  3. Compute the logarithm of the energy in each filter.
  4. Apply the DCT to the log-energy vector, producing the MFCCs.

The first few coefficients (usually excluding the zeroth coefficient, c0, which represents the total energy) capture the overall spectral shape, while higher coefficients represent finer details. In practice, the first 13 coefficients are most common, often augmented with the zeroth coefficient if energy information is needed. MFCCs are the de facto standard in speaker identification, speech recognition, audio classification, and even medical diagnostics such as detecting voice disorders.

Dynamic features: To capture temporal changes, first and second derivatives of the MFCCs (delta and delta-delta coefficients) are often added. These describe how the MFCCs evolve over time, which is critical for capturing transitions in speech and other time-varying signals.

Normalization: In many systems, MFCCs are normalized using Cepstral Mean and Variance Normalization (CMVN) to reduce the influence of the recording channel and background noise.

MFCC Coefficients chart

The bar chart below shows a typical set of 12 MFCC coefficients (excluding the zeroth coefficient). These coefficients describe the spectral envelope of the signal.

The first few coefficients (C1, C2, C3) typically have larger magnitudes and represent the broad shape of the spectrum. Higher coefficients (C6 and above) represent finer spectral details and are often closer to zero. In practice, these 12 numbers serve as a compact "fingerprint" of the sound.

LPCC (Linear Predictive Cepstral Coefficients)

LPCCs are obtained from Linear Predictive Coding (LPC) — a method that models the vocal tract as an all-pole filter. The LPC coefficients represent the filter that best predicts the next sample from previous samples. These coefficients are then transformed into the cepstral domain using a recursive formula, producing the LPCCs.

LPCCs were widely used in early speech recognition systems and in speech coding applications (e.g., GSM mobile telephony). They are closely related to the spectral envelope, but unlike MFCCs, they do not use a perceptual scale. In modern systems, MFCCs have largely replaced LPCCs because MFCCs are more robust to noise and better match human perception.

Nonetheless, LPCCs are still encountered in some legacy systems and in applications where computational simplicity and a direct link to the vocal tract model are important, such as low-bit-rate audio coding (e.g., MP3, AAC, where the spectral envelope is represented in the cepstral domain).

Cepstral Analysis – Visual Explanation

The plots below illustrate the key idea behind cepstral analysis. We start with a spectrum that contains both a smooth envelope and fine harmonic peaks. In the logarithmic domain, these two components become additive, and after the inverse Fourier transform, they separate clearly in the cepstrum.

Spectrum: The blue line shows the spectrum (envelope × harmonics). The orange dashed line shows the smooth envelope (vocal tract response). In this domain, they are multiplied and cannot be separated easily.

Log spectrum: After taking the logarithm, the envelope and harmonics become additive. The green line shows the log spectrum; the orange dashed line shows the log envelope.

Cepstrum: The inverse Fourier transform of the log spectrum. The smooth envelope gathers near zero quefrency (left). The harmonic peaks appear as distinct spikes further to the right.


Chroma Features

Chroma features, also known as chromagrams, are a special type of feature designed specifically for music analysis. They represent the spectral energy in terms of the 12 musical semitones (pitch classes): C, C#, D, D#, E, F, F#, G, G#, A, A#, B. The key idea is that chroma features are independent of octave — they sum the energy across all octaves for each semitone.

This octave-invariance is what makes chroma features so useful. A C note played on a piano, a C note on a guitar, and a C note sung by a voice will all contribute to the same chroma bin, regardless of which octave they are in. This allows chroma features to capture the harmonic content and tonal structure of music without being distracted by octave changes, instrumentation, or timbre.

How Chroma Features Are Computed

The computation of chroma features involves the following steps:

  1. Compute the magnitude spectrum of the signal using a windowed FFT.
  2. Map each frequency bin to its corresponding musical pitch. The reference frequency for middle A (A4) is 440 Hz. The frequency of a note with pitch class m (0 to 11, where 0 = C) and octave o is given by:
\[ f(m, o) = 440 \cdot 2^{(m - 9)/12} \cdot 2^{o - 4} \]

where m is the pitch class (0 to 11), o is the octave number, and the exponent (m - 9)/12 accounts for the fact that A corresponds to m = 9.

  1. For each pitch class c (0 to 11), sum the energy of all frequency bins that fall within the frequency range of that pitch class across all octaves. Typically, the range is limited to a certain frequency band (e.g., 50 Hz to 4000 Hz) to cover the most musically relevant range.
  2. The result is a 12-element vector, one for each semitone. This vector can be normalized to unit length or to sum to 1, depending on the application.

In practice, the mapping is not a hard assignment but uses a weighted sum. Each frequency bin contributes to the nearest pitch class with a weight that depends on the distance in cents (a logarithmic unit for musical intervals, where 100 cents equal one semitone). This reduces aliasing and produces smoother chroma vectors.

Interpretation and Use

The chroma vector is essentially a harmonic fingerprint of the music at a given moment. A chord, for example, will activate several semitone bins simultaneously — a C major chord (C, E, G) will have strong energy at bins 0, 4, and 7. This makes chroma features directly suitable for chord recognition and harmonic analysis.

Because chroma features are robust to changes in instrumentation, dynamics, and octave, they are widely used in:

  • Chord recognition — identifying the harmonic progression of a piece.
  • Music retrieval — searching for songs by humming or by a short audio fragment (audio fingerprinting).
  • Key detection — determining the musical key of a piece.
  • Structural analysis — finding repeated sections in a song (e.g., chorus, verse).

Chroma features are typically extracted from each frame of the audio signal, producing a sequence of vectors over time. When plotted as a heatmap with time on the horizontal axis and pitch class on the vertical axis, the result is called a chromagram. Chromagrams are a powerful visualization tool for understanding the tonal content and harmonic structure of music.

Computational Considerations

The main computational cost of chroma features lies in the initial FFT and the mapping step. The mapping can be precomputed as a fixed transformation matrix that converts the FFT magnitude spectrum to the 12 chroma bins. This makes chroma extraction very fast in practice, especially when applied to short frames.

A common variant is the enhanced chroma or chroma DCT, which applies a DCT to the chroma vector to decorrelate the bins and reduce the dimensionality, similar to the MFCC approach. However, the plain 12-bin chroma vector is often sufficient for many music analysis tasks.


Modulation Spectra

So far we have looked at features that describe the spectrum at a single moment in time. But sound changes over time — speech has rhythm, music has tempo, and mechanical vibrations evolve. The modulation spectrum captures how the spectrum itself changes over time.

Think of it as a "spectrum of a spectrum." First we compute the regular spectrum (frequency vs. amplitude). Then we look at how the energy in each frequency band fluctuates over time, and we compute the spectrum of those fluctuations. The result is a two-dimensional representation: one axis is the acoustic frequency (the original spectrum), and the other is the modulation frequency (how fast the energy changes).

This is particularly useful because different types of signals have different modulation patterns. Speech, for example, has strong modulation in the 4–8 Hz range (the rate of syllables). Music has modulation at the tempo (1–3 Hz) and at note onsets (10–30 Hz). A steady tone has almost no modulation at all. By examining the modulation spectrum, we can distinguish between these cases without needing to recognize the actual content.

Computing the Modulation Spectrum

The modulation spectrum is computed in two steps:

  1. Time-frequency representation: We start with a spectrogram — a sequence of short-time spectra over time. This gives us energy P(t, f), where t is the frame index and f is the frequency bin.
  2. Modulation analysis: For each frequency bin f, we take the time-varying energy P(t, f) and apply a Fourier transform along the time axis. This reveals the modulation frequencies present in that band.

The result is M(ω, f), where ω is the modulation frequency (in Hz) and f is the acoustic frequency. This is the modulation spectrum, often visualized as a heatmap.

Interpreting the Heatmap

In the heatmap below, the vertical axis shows acoustic frequency (low to high), and the horizontal axis shows modulation frequency (how fast the energy changes). Brighter areas indicate stronger modulation activity.

  • Low modulation frequencies (0–5 Hz): Slow changes — rhythm, tempo, syllable rate.
  • Mid modulation frequencies (5–20 Hz): Note onsets, transients, fast speech.
  • High modulation frequencies (> 20 Hz): Rapid fluctuations, often noise-like.
Modulation Spectrum Visualization

The interactive heatmap below shows a simulated modulation spectrum. The data is synthetic, but it mimics the typical pattern of a speech signal — strong modulation in the low frequencies (4–8 Hz) across the mid-range acoustic frequencies.

What We See in the Heatmap

The heatmap above is a simulation, but it illustrates the key features of a modulation spectrum:

  • Bright region at 4–8 Hz modulation: This is typical for speech — the rhythm of syllables. The energy is concentrated in the mid-frequency acoustic range (500–2000 Hz), which is where most speech energy lies.
  • Very low modulation (< 2 Hz): This corresponds to slow changes like musical tempo or the overall envelope of a phrase.
  • High modulation (> 20 Hz): Often associated with noise-like signals, such as fricatives (/s/, /ʃ/) in speech or percussion in music.
Practical Applications

The modulation spectrum is used in several important tasks:

  • Speech/music discrimination: Speech has a characteristic modulation peak at 4–8 Hz, while music has its main modulation at the tempo (1–3 Hz) and at note onsets (10–30 Hz).
  • Emotion recognition in speech: Fast modulation (high frequency) is associated with excitement or anger; slow modulation with calmness or sadness.
  • Music genre classification: Different genres have different modulation patterns — dance music has strong tempo-related modulation, classical music has smoother, slower modulation.
  • Audio enhancement: By identifying and modifying the modulation spectrum, we can reduce noise or emphasize certain temporal features.

The modulation spectrum is a powerful tool because it captures the temporal dynamics of the signal — something that static spectral features miss entirely. It bridges the gap between frequency-domain analysis and time-domain behavior.


Time-domain Features

Not all useful features come from the frequency domain. Some of the most practical descriptors are computed directly from the raw signal, without any Fourier transform. These time-domain features are computationally cheap, easy to interpret, and often complement the spectral features we have already covered.

Time-domain features are particularly useful in applications where speed is critical — embedded systems, real-time monitoring, or low-power devices. They are also a good first step in analysing a signal before deciding whether more expensive frequency-domain processing is needed.

Zero-Crossing Rate (ZCR)

The zero-crossing rate counts how many times the signal changes sign within a frame. For a discrete signal, this is the number of times the sample values go from positive to negative or from negative to positive.

\[ Z = \frac{1}{N-1} \sum_{n=1}^{N-1} \left| \text{sign}(x(n)) - \text{sign}(x(n-1)) \right| \]

The intuition is simple: a signal that crosses zero often has high-frequency content. A pure sine wave, for example, crosses zero twice per period — at higher frequencies, it crosses more often per unit time. A noisy signal, on the other hand, tends to have many zero crossings because the values jump around randomly.

In practice, ZCR is widely used in speech processing to distinguish between voiced sounds (like vowels, which have a low ZCR) and unvoiced sounds (like /s/ or /f/, which have a high ZCR). It is also used in music analysis to separate percussive instruments (high ZCR) from sustained ones (low ZCR).

ZCR is extremely cheap to compute — it requires no multiplications, only comparisons. This makes it a popular choice for real-time applications.

RMS Energy

RMS (Root Mean Square) energy is a measure of the signal's overall power within a frame. It is defined as:

\[ E_{rms} = \sqrt{ \frac{1}{N} \sum_{n=0}^{N-1} x^2(n) } \]

This is simply the square root of the average of the squared sample values. It gives a sense of how "loud" the signal is at a given moment. Unlike the peak amplitude, which can be misleading for short transients, RMS energy reflects the effective power of the signal.

RMS energy is used in many applications: detecting silent or noisy segments, adjusting gain in audio systems, measuring the dynamic range of a recording, or even in speech activity detection (VAD) to determine whether someone is speaking.

One common trick is to compute RMS energy on a sliding window and use it as a rough envelope of the signal — this reveals the overall shape of the amplitude over time, which is useful for detecting onsets and offsets.

Short-Time Energy (STE)

The Short-Time Energy is a measure of the total energy of the signal within a short frame. Unlike RMS energy, which represents the average power, STE gives the accumulated energy over the frame. It is defined as:

\[ E = \sum_{n=0}^{N-1} x^2(n) \]

This is simply the sum of the squared sample values in the frame. The name "Short-Time" refers to the fact that the energy is computed over a short segment, rather than over the entire signal. This makes it sensitive to changes in the signal's amplitude over time.

STE is particularly useful in applications where the absolute energy level matters — for example, detecting the presence or absence of a signal, measuring the intensity of a transient event, or comparing the loudness of different frames. In speech processing, STE is often used to distinguish between voiced and unvoiced segments, as well as to detect silence or background noise.

Unlike RMS, which normalises by the frame length, STE grows with the frame size. This makes it less suitable for comparing frames of different lengths, but more intuitive when the frame size is fixed. In many real-time systems, STE is computed using a sliding window, providing a running measure of the signal's energy.

Because STE only requires squaring and summing, it is computationally efficient. It is often used as a first-pass detector before applying more expensive operations like spectral analysis.

Crest Factor

The crest factor is the ratio of the peak amplitude to the RMS energy of a signal:

\[ CF = \frac{ \max(|x(n)|) }{ E_{rms} } \]

This simple ratio tells us how "peaky" the signal is. A pure sine wave has a crest factor of approximately √2 ≈ 1.414, because the peak is 1.414 times the RMS value. A square wave has a crest factor of 1, because the peak and the RMS are equal. An impulsive signal — like a drum hit or a click — has a very high crest factor, because the peak is much larger than the average power.

The crest factor is widely used in vibration analysis and machine diagnostics. A sudden change in the crest factor can indicate a developing fault, such as a bearing defect or an impact in a rotating machine. In audio, it is used to assess the dynamic range of a recording — a high crest factor means a wide dynamic range, while a low crest factor suggests heavy compression.

Because the crest factor is based only on the peak and the RMS, it is extremely fast to compute and does not require any frequency analysis.

Practical Considerations

All three time-domain features share some common characteristics:

  • Low computational cost — they require only basic arithmetic and comparisons.
  • No windowing or FFT needed — they work directly on the raw samples.
  • Frame-based — like spectral features, they are typically computed on short overlapping frames.
  • Complementary to spectral features — they capture different aspects of the signal and can be combined for better analysis.

These features are not a replacement for frequency-domain analysis — rather, they are a simple and effective first layer of description. In many practical systems, a few time-domain features are used as a fast filter to decide whether more expensive frequency-domain processing is worth performing.


Summary Table of Signal Features

The table below summarizes all the features covered in this article. It provides a quick reference for their type, dependency on the FFT, and primary applications.

Feature Type Depends on FFT? Primary Application
Spectral Centroid Spectral Yes Brightness, timbre
Spectral Spread Spectral Yes Tonality vs. noise
Spectral Skewness Spectral Yes Spectral asymmetry
Spectral Kurtosis Spectral Yes Impulsiveness, peaks
Spectral Roll-off Spectral Yes Instrument distinction
Spectral Flux Spectral Yes (2+ frames) Onset detection
Spectral Entropy Spectral Yes Tonality vs. noise
Spectral Flatness Spectral Yes Noise vs. tonal detection
MFCC Cepstral Yes Speech recognition
LPCC Cepstral Yes (via LPC) Speech coding
Chroma Chromatic Yes Chords, harmony
Modulation Spectra Modulation Yes (2D) Rhythm, tempo, emotion
Zero-Crossing Rate (ZCR) Time-domain No Voiced/unvoiced
RMS Energy Time-domain No Dynamics, loudness
Crest Factor Time-domain No Impulsiveness

This table is intended as a quick reference. For detailed derivations, code examples, and practical advice, refer to the individual articles on each feature group.

The choice of which features to use depends entirely on the application. In speech recognition, MFCCs dominate. In music analysis, chroma and modulation spectra are indispensable. In vibration monitoring, spectral kurtosis and crest factor are the first things to check. And in many cases, a combination of features from different domains gives the best results.

Keep in mind that these features are not meant to be used blindly. Understanding what each feature measures, how it behaves, and what its limitations are is essential for applying them effectively. The mathematics is straightforward — the art lies in choosing the right features for the right problem.


Conclusion

We have covered a wide range of signal features — from simple time-domain descriptors like RMS energy and zero-crossing rate, through spectral statistics such as centroid and kurtosis, to more advanced representations like MFCCs, chroma features, and modulation spectra. Each of these features offers a different perspective on the signal, highlighting different aspects of its structure and content.

There is no universal "best" feature. The choice depends entirely on the problem at hand. Speech recognition systems rely heavily on MFCCs because they mimic human perception and separate source from filter. Music analysis benefits from chroma features because they capture harmonic content regardless of octave. Machine diagnostics often start with spectral kurtosis and crest factor because they are sensitive to impacts and wear. In many cases, combining features from different domains yields the most robust results.

Regardless of which features you choose, one factor remains constant: the choice of window function. As discussed in the dedicated article on window functions, every frequency-domain feature is affected by the window applied before the FFT. The window determines the trade-off between spectral resolution and leakage suppression:

  • Spectral resolution — how well the FFT can separate closely spaced frequencies. A rectangular window (no tapering) gives the best resolution but suffers from severe leakage.
  • Spectral leakage — the spreading of energy from a strong frequency component into neighbouring bins. A window with strong tapering (e.g., Blackman–Harris) suppresses leakage effectively but broadens the main lobe, reducing resolution.

This trade-off affects every feature that depends on the spectrum: centroid, roll-off, MFCCs, chroma, and even modulation spectra. Comparing features computed with different windows is rarely meaningful. For consistency, always use the same window when extracting features from different signals or frames.

If you are new to window functions, or if you need a refresher on how they work and how to choose the right one, I strongly recommend reading the Window Functions in Digital Signal Processing article. It covers the mathematics, the trade-offs, and provides a practical selection guide.

With the features and principles outlined in this article, you now have a solid foundation for analysing and describing signals in the frequency domain. The next step is to apply these tools to your own data — whether that is speech, music, vibration, or any other time-varying signal. The mathematics is straightforward; the real skill lies in understanding what each feature tells you about the signal and how to interpret the results in the context of your application.

For deeper dives into specific feature groups, refer to the individual articles on spectral features, MFCCs, chroma, and modulation analysis.