1 /****************************************************************************
3 ** Copyright (C) 2015 The Qt Company Ltd.
4 ** Contact: http://www.qt.io/licensing/
6 ** This file is part of the documentation of the Qt Toolkit.
8 ** $QT_BEGIN_LICENSE:FDL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see http://www.qt.io/terms-conditions. For further
15 ** information use the contact form at http://www.qt.io/contact-us.
17 ** GNU Free Documentation License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Free
19 ** Documentation License version 1.3 as published by the Free Software
20 ** Foundation and appearing in the file included in the packaging of
21 ** this file. Please review the following information to ensure
22 ** the GNU Free Documentation License version 1.3 requirements
23 ** will be met: http://www.gnu.org/copyleft/fdl.html.
26 ****************************************************************************/
29 \example demos/spectrum
30 \title Spectrum Analyzer
32 \brief The Spectrum Analyzer demo shows how the \l{QtMultimedia Module} can be
33 used in Qt applications to capture and then play back an audio stream.
35 \image spectrum-demo.png
37 Because QtMultimedia allows the application to access the raw audio
38 stream, the data can either be inspected or modified by the application.
39 The Spectrum Analyzer demo displays three pieces of information while
40 audio is being either captured or played back:
43 \o Information about the raw audio stream, shown in the uppermost widget:
45 \o The amount of data currently in the buffer, shown in blue
46 \o The segment of data which was most recently analysed to compute
47 the frequency spectrum, shown in green
48 \o The raw audio waveform, shown in white and scrolling from right to
51 \o A representation of the frequency spectrum, shown at the lower left
52 \o The current RMS level of the audio stream, and the recent 'high
53 watermark' level, shown at the lower right
56 Spectrum analysis is performed by calculating the Fast Fourier Transform
57 (FFT) of a segment of audio data. An open-source library,
58 \l{http://ldesoras.free.fr/prod.html}{FFTReal}, against which the
59 application is dynamically linked, is used to compute the transform.