Skip to content

Commit 08571c1

Browse files
author
Ludovic Malfait
committed
STL2019 - Merged official code and documentation
2 parents f8a0202 + 4aee06b commit 08571c1

37 files changed

+2564
-1774
lines changed

doc/g191.md

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,34 @@
1-
# Draft Recommendation ITU-T G.191 - Software tools for speech and audio coding standardization
21

3-
**IMPORTANT NOTE:** This markdown document is a working text in preparation to the standardization of the next release of the Software Tool Library. The official text for Recommendation ITU-T G.191 is available here: [https://www.itu.int/rec/T-REC-G.191](https://www.itu.int/rec/T-REC-G.191)
2+
**IMPORTANT NOTE:**
3+
This markdown document provides the main text of Recommendation ITU-T G.191, the Software Tool Library, but it does not reflect the entire text of the Recommendation. Please refer to the official Recommendation ITU-T G.191 for the complete text: [https://www.itu.int/rec/T-REC-G.191](https://www.itu.int/rec/T-REC-G.191)
44

5+
# Recommendation ITU-T G.191 - Software tools for speech and audio coding standardization
56

67
## Summary
78

8-
This Recommendation provides source code for speech and audio processing modules for narrowband, wideband and super-wideband telephony applications. The set includes codecs, filters, noise generators, etc.
9+
Recommendation ITU-T G.191 provides source code for speech and audio processing modules for narrowband, wideband and super-wideband telephony applications. The set includes codecs, filters, noise generators.
910

10-
This revision introduces changes to ITU-T G.191 Annex A, which describes the ITU-T Software Tools (STL) containing a high-quality, portable C code library for speech processing applications. This new release of the STL, also known as STL2018, incorporates new basic operators to accommodate state-of-the-art processor architectures which supports wide accumulators, SIMD (Single Instruction Multiple Data) and VLIW (Very Long Instruction Word). Thus the new operators provides support for 64-bit accumulator, complex numbers, enhanced 32-bit operations and additional control code operators.
11+
This edition introduces changes to Annex A, which describes the ITU-T Software Tools (STL) containing a high-quality, portable C code library for speech processing applications. This release of the STL, also known as STL2019, incorporates new basic operators to accommodate state-of-the-art processor architectures which supports wide accumulators, SIMD (Single Instruction Multiple Data) and VLIW (Very Long Instruction Word). Thus, the new operators provides support for 64-bit accumulator, complex numbers, enhanced 32-bit operations and additional control code operators.
1112

12-
The software package was reworked to make it available as a truly open-source project and is therefore hosted on an open-source collaboration platform. The build toolchain is now using CMake to generate platform-dependent and tool-dependent build scripts as well as to execute regression tests for each module in the STL.
13+
The software package was reworked to make it available as a truly open-source project and is therefore hosted on an open-source collaboration platform. The build toolchain uses CMake to generate platform-dependent and tool-dependent build scripts as well as to execute regression tests for each module in the STL.
1314

14-
This Recommendation includes an electronic attachment containing STL2018 Software Tool Library and manual.
15+
Recommendation ITU-T G.191 includes an electronic attachment containing STL2019 and manual.
1516

1617
## Keywords
1718

18-
G.711, G.722, G.726, G.728, sv56, MNRU, reverb, filters, DSP operators, open source
19+
DSP operators, filters, MNRU, open source, reverb, STL2019, G.711, G.722, G.726, G.728, sv56.
1920

2021
## 1. Scope
2122

22-
The purpose of this Recommendation is to provide a set of common, coherent and portable signal processing tools to facilitate the development of speech and audio coding algorithms, in particular within the standardization environment where the following situations often happen:
23+
This Recommendation provides a set of common, coherent and portable signal processing tools to facilitate the development of speech and audio coding algorithms, in particular within the standardization environment where the following situations often happen:
2324

24-
* In many cases, experimental results generated with different software tools may not be directly compared.
25+
* experimental results generated with different software tools may not be directly compared;
2526

26-
* Software tools used by different organizations may not perfectly conform to related ITU‑T Recommendations, which may delay ITU-T standardization processes.
27+
* software tools used by different organizations may not perfectly conform to related ITU‑T Recommendations, which may delay ITU-T standardization processes;
2728

28-
* ITU-T Recommendations may leave scope for different implementations.
29+
* ITU-T Recommendations may leave scope for different implementations;
2930

30-
* New speech and audio coding standards are increasing in complexity, leading to non‑bitexact specifications; furthermore, appropriate testing procedures to assure interoperability of different implementations are needed.
31+
* new speech and audio coding standards are increasing in complexity, leading to non‑bitexact specifications; furthermore, appropriate testing procedures to assure interoperability of different implementations are needed.
3132

3233

3334
## 2. References
@@ -38,11 +39,9 @@ The following ITU-T Recommendations and other references contain provisions whic
3839
|--------------|-------------------------------------------|
3940
| [ITU-T G.192] | Recommendation ITU-T G.192 (1996), *A common digital parallel interface for speech standardization activities* |
4041
| [ITU-T G.711] | Recommendation ITU-T G.711 (1988), *Pulse code modulation (PCM) of voice frequencies* |
41-
| [ITU-T G.711.1] | Recommendation ITU-T G.711 (2012), *Wideband embedded extension for ITU-T G.711 pulse code modulation* |
4242
| [ITU-T G.712] | Recommendation ITU-T G.712 (2001), *Transmission performance characteristics of pulse code modulation channels* |
4343
| [ITU-T G.718] | Recommendation ITU-T G.718 (2008), *Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s* |
44-
| [ITU-T G.721] | Recommendation ITU-T G.722 (1988), *32 kbit/s adaptive differential pulse code modulation (ADPCM)* |
45-
| [ITU-T G.722] | Recommendation ITU-T G.722 (1988), *7 kHz audio-coding within 64 kbit/s* |
44+
| [ITU-T G.722] | Recommendation ITU-T G.722 (2012), *7 kHz audio-coding within 64 kbit/s* |
4645
| [ITU-T G.726] | Recommendation ITU-T G.722 (1990), *40, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM)* |
4746
| [ITU-T G.727] | Recommendation ITU-T G.727 (1990), *5-, 4-, 3- and 2-bit/sample embedded adaptive differential pulse code modulation (ADPCM)* |
4847
| [ITU-T G.728] | Recommendation ITU-T G.728 (2012), *Coding of speech at 16 kbit/s using low-delay code excited linear prediction* |
@@ -52,21 +51,36 @@ The following ITU-T Recommendations and other references contain provisions whic
5251
| [ITU-T P.56] | Recommendation ITU-T P.56 (2011), *Objective measurement of active speech level* |
5352
| [ITU-T P.341] | Recommendation ITU-T P.341 (2011), *Transmission characteristics for wideband digital loudspeaking and hands-free telephony terminals* |
5453
| [ITU-T P.810] | Recommendation ITU-T P.810 (1996), *Modulated noise reference unit (MNRU)* |
55-
| [ITU-T P.830] | Recommendation ITU-T P.830 (1996), *Subjective performance assessment of telephone-band and wideband digital codecs* |
5654

57-
## 3. Abbreviations and acronyms
55+
## 3. Definitions
56+
57+
None.
58+
59+
## 4. Abbreviations and acronyms
5860

5961
This Recommendation uses the following abbreviations and acronyms:
6062

6163
|||
6264
|------|-----------------------------------------------------------|
63-
| STL | Software Tool Library |
64-
| SIMD | Single Instruction Multiple Data |
65-
| VLIW | Very Long Instruction Word |
65+
| FFT | Fast Fourier Transform |
66+
| FIR | Finite Impulse Response |
67+
| FIR-IRS | Finite Impulse Response-Intermediate Reference System |
68+
| IIR | Infinite Impulse Response |
69+
| PCM | Pulse Code Modulation |
70+
| ROM | Read Only Memory |
71+
| RPE-LTP | Regular Pulse Excitation-Long Term Prediction |
72+
| STL | Software Tool Library |
73+
| STL | Software Tool Library |
74+
| SIMD | Single Instruction Multiple Data |
75+
| VLIW | Very Long Instruction Word |
76+
77+
## 5. Conventions
6678

67-
## 4. Software tools
79+
None.
6880

69-
To clarify the use of the set of software tools, arranged as a software tool library, the ITU-T makes the following recommendations:
81+
## 6. Software tools
82+
83+
To clarify the use of the set of software tools, arranged as a software tool library (STL), ITU-T makes the following recommendations:
7084

7185
1) The software tools specified in Annex A should be used as building modules of signal processing blocks to be used in the process of generation of ITU-T Recommendations, particularly those concerned with speech and audio coding algorithms.
7286

@@ -76,17 +90,18 @@ To clarify the use of the set of software tools, arranged as a software tool lib
7690

7791
The software tools are maintained on an open-source collaboration platform [b-STLgit]. The build toolchain is implemented using the CMake framework [b-CMake] to generate build scripts crafted for the target platform and to execute regression tests for each module in the STL.
7892

79-
## 3. License and copyright
93+
## 7. License and copyright
8094

81-
The modules in the ITU-T Software Tool Library (STL) are free software; they can be redistributed and/or modified under the terms of the "ITU-T software tools General Public License" of Annex B, as published by the ITU-T; this applies to any of the versions of the modules in the STL.
95+
The modules in the ITU-T STL are free software; they can be redistributed or modified under the terms of Annex B; this applies to any of the versions of the modules in the STL.
8296

8397
The STL has been carefully tested and it is believed that both the modules and the example programs on their usage conform to their description documents. Nevertheless, the ITU-T STL is provided "as is", in the hope that it will be useful, but without any warranty.
8498

85-
The STL is intended to help the scientific community to achieve new standards in telecommunications more efficiently, and for such must not be sold, entirely or in parts. The original developers, except where otherwise noted, retain ownership of their copyright, and allow their use under the terms and conditions of the "ITU-T software tools General Public License".
86-
99+
The STL is intended to help the scientific community to achieve new standards in telecommunications more efficiently, and for such must not be sold, entirely or in parts. The original developers, except where otherwise noted, retain ownership of their copyright, and allow their use under the terms and conditions of Annex B.
100+
87101
## Bibliography
88102

89103
|||
90104
|--------------|-------------------------------------------|
91-
| [b-STLgit] | ITU (2018), *ITU-T Software Tool Library*, GitHub repository, https://github.com/openitu/STL. |
92-
| [b-CMake] | Kitware (2018), *CMake*, https://cmake.org/. |
105+
| [b-CMake] | Kitware (2018), CMake, https://cmake.org/. |
106+
| [b-GSM 06.10] | ETSI Recommendation GSM 06.10 (1992), GSM full-rate speech transcoding. |
107+
| [b-STLgit] | ITU (2018), ITU-T Software Tool Library, GitHub repository, https://github.com/openitu/STL. |

0 commit comments

Comments
 (0)