summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/spectrum/doc/src/spectrum.qdoc
blob: 25e0760a4135c0b65e81a81640ac94ad3f908725 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright (C) 2015 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \example spectrum
    \title Spectrum Example
    \ingroup multimedia_examples
    \examplecategory {Multimedia}
    \brief Analyzing a raw audio stream using the FFTReal library.

    \e Spectrum demonstrates how the \l{Qt Multimedia} module can be used to
    analyze an audio stream while recording it, and also play the recorded
    stream.

    \image spectrum-demo.png

    Because Qt Multimedia allows the application to access the raw audio
    stream, the data can either be inspected or modified by the application.
    The Spectrum Analyzer example displays three pieces of information while
    audio is being either captured or played back:

    \list
    \li Information about the raw audio stream, shown in the uppermost widget:
    \list
        \li The amount of data currently in the buffer, shown in blue
        \li The segment of data which was most recently analysed to compute
        the frequency spectrum, shown in green
        \li The raw audio waveform, shown in white and scrolling from right to
        left
    \endlist
    \li A representation of the frequency spectrum, shown at the lower left
    \li The current RMS level of the audio stream, and the recent 'high
    watermark' level, shown at the lower right
    \endlist

    Spectrum analysis is performed by calculating the Fast Fourier Transform
    (FFT) of a segment of audio data.  An open-source library,
    \l{http://ldesoras.free.fr/prod.html}{FFTReal} is used to compute the
    transform. FFTReal is available under the GNU Library General Public License
    2.0 or later.

    \include examples-run.qdocinc
*/