Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
c4996a5
correction
FhGSpCo Jun 29, 2025
d5a49c7
feat(p56): extend speech voltmeter to support arbitrary bit depths
Apr 28, 2026
5aa41cb
chore(build): update CMake minimum version and clean up .gitignore
Apr 28, 2026
447610c
🔧 chore(build): enforce 32-bit build configuration
May 11, 2026
9a466a0
🔧 chore: add /build to .gitignore
May 11, 2026
6fd5d37
Add gain_chk tool with CMake, CTest and docs. Integrate gain_chk into…
TomV76 May 14, 2026
44a86e0
feat(sv56): enhance speech voltmeter for arbitrary bit depths
May 21, 2026
827065c
🧪 test(sv56): update test configurations and working directories
May 26, 2026
2cb97da
addition of SHQ/HP50 filters and EID AMR tool, used in 3GPP SA4
May 26, 2026
7efd9a5
Add WAV file I/O support to all audio-processing tools
May 26, 2026
cc48435
add "random" tool introduced for EVS in 3GPP S4-121078.
sdoehla-iis May 27, 2026
f0bbdde
Add documentation for the gain_chk tool, detailing its functionality,…
TomV76 May 27, 2026
8e17715
Update gain_chk documentation and integrate it into the STL manual. A…
TomV76 May 27, 2026
00c9bba
Fix compilation errors on modern C compilers and CMake >= 3.28
May 27, 2026
9f3c399
is54/uvselp: fix segfault by adding ANSI C prototypes
May 28, 2026
360ec45
Fix ctest failures on macOS/Linux without changing tool behavior
May 28, 2026
dafb0df
🛠️ chore(cmake): update minimum version and remove 32-bit enforcement
May 28, 2026
9782426
feat(sv56): add variable bit-width support and new utilities
May 28, 2026
bf9eb76
Add GitHub Actions CI workflow, fix cf portability and basop output
May 28, 2026
5016f7b
Merge branch 'fix/ctest-portability' into STL_2026_itu_submission
May 28, 2026
f71219c
Merge branch 'fix/uvselp-knr-prototypes' into STL_2026_itu_submission
May 28, 2026
f52bb4b
Merge branch 'fix/add-ci' into STL_2026_itu_submission
May 28, 2026
8eea667
Merge branch 'feature/wav-io' into STL_2026_itu_submission
May 28, 2026
63d89d3
CI: upload LaTeX manual PDF as artifact
May 28, 2026
d35a760
Merge branch 'pr-178' into STL_2026_itu_submission
May 28, 2026
9650a51
Fix CTest line-ending mismatch on Unix/macOS
May 29, 2026
0676caf
Improve gain_chk documentation
May 29, 2026
1585264
Merge pull request #1 from ludomal/pr-179-fixes
TomV76 May 29, 2026
02734da
more issues in description of the operators
FhGSpCo May 29, 2026
0c7aa82
🔥 chore(sv56): remove test data files from .gitignore
May 29, 2026
353558a
feat(sv56): add reference and source files for 16, 24, and 32 bit audio
May 29, 2026
0dee4f7
add unit tests for random in unsup
sdoehla-iis May 29, 2026
af21e6a
add entry in LaTeX documentation
sdoehla-iis May 29, 2026
339fb3e
Merge branch 'pr-179' into STL_2026_itu_submission
May 30, 2026
d285494
Integrate gain_chk with wav_io and add shared text comparison utility
May 30, 2026
be8aaf3
Fix ctest failures on macOS/Linux without changing tool behavior
May 28, 2026
82f8a32
Merge branch 'fix/ctest-portability' into STL_2026_itu_submission
May 30, 2026
7f4946e
Fix WAV I/O: propagate sample rate, validate parameters, fix seeking
May 30, 2026
00f0596
Fix remaining fseek/stat issues in g722demo, signal-diff, calc-snr, m…
May 30, 2026
242b841
Add wav_io support to sine generator
May 30, 2026
77b2e1c
minor correction of filter main + addition of cmake testing
May 30, 2026
2781925
is54/uvselp: fix segfault by adding ANSI C prototypes
May 28, 2026
29f6e41
Fix compfile portability: replace POSIX read()/lseek() with fread()/f…
May 31, 2026
1c9678a
Fix signal-diff and oper portability: replace POSIX I/O with standard C
May 31, 2026
4159f13
Fix printf format warnings in test_precision.c
May 31, 2026
ee1462a
fix: W_neg grammar ("variables" -> "variable")
May 31, 2026
7b68ebf
Merge remote-tracking branch 'ludomal/feature/wav-io' into STL_2026_i…
May 31, 2026
0871a1e
Merge branch 'fix/add-ci' into STL_2026_itu_submission
May 31, 2026
45bfa1d
Merge branch 'fix/ctest-portability' into STL_2026_itu_submission
May 31, 2026
a27a422
Merge remote-tracking branch 'ludomal/fix/uvselp-knr-prototypes' into…
May 31, 2026
63ce07c
Merge remote-tracking branch 'ludomal/pr-178' into STL_2026_itu_submi…
May 31, 2026
6d7eb6a
Merge branch 'jr2804/feature/p56-bitdepth-extension' into STL_2026_it…
May 31, 2026
047c985
Remove stale uvselp verify tests and arm64 refs
May 31, 2026
45e4ce6
Revert test_precision.c fopen to 'w' mode (matches ctest-portability …
May 31, 2026
2da5825
Fix basop test_precision.c: use unsigned int for 32-bit hex output
May 31, 2026
1e9aa7d
Fix printf format warnings in test_precision.c
May 31, 2026
3a10410
CI: add 32-bit (gcc -m32) build and test job
May 31, 2026
4097362
CI: add i386 container and ARM32 QEMU build jobs
May 31, 2026
3c120b1
CI: fix i386 container (use QEMU) and 32-bit cmake config
May 31, 2026
01ee2fb
CI: install g++-multilib for 32-bit C++ linking
May 31, 2026
15edcc4
CI: use ubuntu:22.04 with --platform linux/386 for i386 job
May 31, 2026
fe7310d
CI: use debian:bullseye for i386 container (ubuntu lacks i386 manifests)
May 31, 2026
92a03bc
CI: suppress debconf noise and reduce install size in QEMU containers
May 31, 2026
73c8397
Remove wav-sv56 integration tests (sv56 no longer uses wav_io)
May 31, 2026
9ab2160
Remove wav-g726 tests for g726demo (expects A-law input, not PCM)
May 31, 2026
10770f3
Fix sb2 test: add dependency on sb1 (needs bytswpd.tst created first)
May 31, 2026
0d63e4b
CI: remove Release config from Windows build (use default Debug)
May 31, 2026
f1b2c9e
CI: revert Windows to Release config (Debug too slow)
May 31, 2026
2e2ef6b
Fix sb tests: add WORKING_DIRECTORY and proper dependency chain
May 31, 2026
8ecdda3
Fix sb tests: use absolute paths for Windows compatibility
May 31, 2026
9c582f4
Fix sb tests: write output to build dir (source tree may be read-only)
May 31, 2026
b2db4d4
additional updates to documentation
May 31, 2026
4e76389
Fix sb tests: use FIXTURES chain to enforce sequential execution
May 31, 2026
d760b3d
Fix sb tests: add RESOURCE_LOCK to prevent file access race on Windows
May 31, 2026
597dc44
Debug sb2: add sha256sum check before sb2 to verify file exists
May 31, 2026
5d72dd4
Fix sb -over: create temp file in same directory as input
May 31, 2026
9324aec
Fix sb -over: create temp file in same directory as input
May 31, 2026
2135108
CI: increase i386 container timeout to 45min (QEMU is slow)
May 31, 2026
8cf7517
CI: add -msse2 -mfpmath=sse to 32-bit builds (match 64-bit FP results)
May 31, 2026
341dd07
CI: fix quoting of 32-bit cmake flags
May 31, 2026
992d3c0
Fix sv56test verify: use CRLF-tolerant text comparison
May 31, 2026
1b80306
Fix sb tests: output to build dir, fixture chain, resource lock
May 31, 2026
f396042
CI: install python3 in QEMU containers (needed for wmc_tool tests)
May 31, 2026
11afdd4
Fix wmc_tool tests: expand globs explicitly for container compatibility
May 31, 2026
4936be7
Fix g726-vbr verify tests: use signal-diff with 1-LSB tolerance
May 31, 2026
d440915
Fix wmc_tool and g726-vbr tests for cross-platform compatibility
May 31, 2026
aed8a67
CI: skip wmc_tool glob tests in QEMU containers (shell expansion issue)
May 31, 2026
26a6db1
Debug: print wmc_tool test script arguments to diagnose container fai…
May 31, 2026
1c16a0d
CI: remove test exclusions from QEMU containers (run all tests)
May 31, 2026
ae18fd1
Add GitHub Actions CI with big-endian (s390x) testing
May 31, 2026
6b2354c
CI: switch s390x to cross-compile + QEMU emulator for tests
Jun 1, 2026
853c1b8
CI: use static linking for s390x to avoid missing dynamic linker
Jun 1, 2026
32ea343
Integrate dlyerr_2_errpat into src/eid/ (from PR #180)
Jun 2, 2026
c00ff7a
Integrate eid-amr into src/eid/ with softbit (from PR #188)
Jun 2, 2026
cda4d73
Add SHQ2/SHQ3 and HP50 filters to FIR module (from PR #188)
Jun 2, 2026
264a72c
Add EID-AMR section to STL manual (doc/manual/eid.tex)
Jun 2, 2026
588aa3f
Add EID-AMR section to STL manual (doc/manual/eid.tex)
Jun 2, 2026
066d322
Add dlyerr_2_errpat documentation (README + LaTeX manual)
Jun 2, 2026
5d1d5a7
Use softbit save_g192/save_byte for G.192 output in dlyerr_2_errpat
Jun 2, 2026
af16c0f
Fix documentation and build issues in FIR filter additions
Jun 2, 2026
1c2b8c2
Add comprehensive manual documentation for random tool
Jun 2, 2026
a454ec9
doc(sv56): update manual for arbitrary bit depth support
May 27, 2026
8667c9b
Merge branch 'fix/add-ci' into STL_2026_itu_submission
Jun 2, 2026
2d3cb33
Merge branch 'fix/ctest-portability' into STL_2026_itu_submission
Jun 2, 2026
4a9c069
Merge branch 'sv56_integration' into STL_2026_itu_submission
Jun 2, 2026
929e116
Merge branch 'PR182' into STL_2026_itu_submission
Jun 2, 2026
124e785
Merge branch 'pr180' into STL_2026_itu_submission
Jun 2, 2026
ee57df8
Merge branch 'pr188' into STL_2026_itu_submission
Jun 2, 2026
9fea132
Fix LaTeX build: replace \text{} with \mathrm{} in unsup.tex
Jun 2, 2026
8e00889
Fix LaTeX build: replace \mod with \bmod in unsup.tex
Jun 2, 2026
482b945
Fix Windows CRLF test failure: use compare_files --ignore-eol for tex…
Jun 2, 2026
f706f6c
Merge branch 'pr180' into STL_2026_itu_submission
Jun 2, 2026
042e132
CI: restore s390x (big-endian) and i386 (32-bit) jobs
Jun 3, 2026
264f374
Add comprehensive manual documentation for random tool
Jun 2, 2026
37c08f2
Fix LaTeX build: replace \text{} with \mathrm{} in unsup.tex
Jun 2, 2026
14dfbde
Fix LaTeX build: replace \mod with \bmod in unsup.tex
Jun 2, 2026
c3366df
CI: add python3 to i386 container (needed for wmc_tool tests)
Jun 3, 2026
2b95914
CI: restore 32-bit gcc (-m32) build job
Jun 3, 2026
00217b9
Merge branch 'dev' into pr188
ragotsa Jun 3, 2026
aa2c020
Merge pull request #1 from ludomal/pr188
ragotsa Jun 3, 2026
f34b9bd
Merge branch 'dev' into pr188_fir
ragotsa Jun 3, 2026
2c11ccb
Merge pull request #2 from ludomal/pr188_fir
ragotsa Jun 3, 2026
e82db9d
Revert "Proposed improvements to eid-amr"
ragotsa Jun 3, 2026
ca456f4
Merge pull request #3 from ragotsa/revert-1-pr188
ragotsa Jun 3, 2026
e85e021
accepted updates to EID
Jun 3, 2026
76b33b5
Merge branch 'pr188' into STL_2026_itu_submission
Jun 4, 2026
3351935
feat(sv56): re-integrate WAV I/O with multi-bit-depth support
Jun 4, 2026
4ed394e
Merge branch 'sv56_wavio' into STL2026_sv56_wavio
Jun 4, 2026
276f35e
ci: trigger CI
Jun 4, 2026
f46e277
ci: add STL_2026_itu_submission to pull_request triggers
Jun 4, 2026
559b282
fix(cmake): remove reference to non-existent src/eid-amr
Jun 4, 2026
1546c70
fix(test): use CRLF-tolerant text comparison for log verify tests
Jun 4, 2026
1dd843d
fix(test): use CRLF-tolerant text comparison for log verify tests
Jun 4, 2026
cb2301d
doc(sv56): update README with WAV support and bit-depth comparison
Jun 4, 2026
bcaf5b6
Merge branch 'sv56_wavio' into STL2026_sv56_wavio
Jun 4, 2026
1328b94
Merge branch 'random-s4-121078' into PR182
sdoehla-iis Jun 4, 2026
85cfd61
Merge pull request #2 from ludomal/PR182
sdoehla-iis Jun 4, 2026
c1bfec2
test(sv56): add 12-bit test cases for bitno backward compatibility
Jun 5, 2026
4a1c219
refactor(sv56): remove sv56-util.h, use wav_io.h in actlevel.c
Jun 8, 2026
35f0e8d
Merge branch 'sv56_wavio' into STL2026_sv56_wavio
Jun 8, 2026
2005e30
Merge branch 'sdoehla-random' into STL_2026_itu_submission
Jun 8, 2026
a251fc8
Remove stale add_subdirectory(src/eid-amr) from root CMakeLists.txt
Jun 8, 2026
f1a3a92
Merge branch 'STL_2026_itu_submission' into STL2026_sv56_wavio
Jun 8, 2026
dd3d3b9
doc: update documentation for STL2026
Jun 8, 2026
563c75d
ci: retrigger CI
Jun 8, 2026
6d30df8
Merge branch 'openitu-dev' into STL2026_sv56_wavio
Jun 8, 2026
e21ef21
fix: resolve merge conflict marker in CMakeLists.txt
Jun 8, 2026
10c4350
fix(test): add -equiv 1 tolerance to HP50 filter verify tests
Jun 8, 2026
7beddfe
fix(test): skip wmc_tool Python tests when Python3 not available
Jun 8, 2026
3352078
Merge pull request #1 from ludomal/sv56_wavio
jr2804 Jun 9, 2026
98d1e36
fix: initialize reltol in compfile.c (pre-existing MSVC crash)
Jun 9, 2026
7905106
Merge branch 'fix/ctest-portability' into STL2026_sv56_wavio
Jun 9, 2026
a208e84
fix(test): add -equiv 1 tolerance to p50fbmnru overflow clipping test
Jun 9, 2026
18f0d87
Merge branch 'fix/ctest-portability' into STL2026_sv56_wavio
Jun 9, 2026
1524d6a
ci: enable MSVC C4700 as error (uninitialized variable use)
Jun 9, 2026
a744e71
fix(test): use signal-diff instead of cf for overflow tolerance test
Jun 9, 2026
84835f4
ci: apply /we4700 only to C (not C++) to avoid wmc_tool issues
Jun 9, 2026
1042ae7
fix: initialize uninitialized variables in wmc_tool c_parser.cpp
Jun 9, 2026
2f6150e
ci: re-enable /we4700 for C++ (wmc_tool uninit vars now fixed)
Jun 9, 2026
f5e49bd
✨ feat(wav_io): add support for 8/16/24/32-bit PCM and 32-bit float WAV
Jun 9, 2026
1e1056a
🐛 fix(wav_io): correct bps check for 8-bit samples (not 1-bit!)
Jun 9, 2026
a06c21d
ci: keep /we4700 only for C on Windows
Jun 9, 2026
545c35e
feat(sv56): update actlev for 24/32-bit WAV support
Jun 9, 2026
b2cbeca
Merge pull request #2 from ludomal/sv56_wavio
jr2804 Jun 9, 2026
9b48cb6
Merge branch 'feature/p56-bitdepth-extension' of https://github.com/j…
Jun 9, 2026
0dbc803
Merge branch 'sv56_wavio' into STL2026_sv56_wavio
Jun 10, 2026
170f12f
fix: initialize uninitialized variables caught by Memory Sanitizer
Jun 10, 2026
743326c
fix: initialize uninitialized variables (MSan-verified)
Jun 10, 2026
e787eca
Merge branch 'fix/uninit-variables' into STL2026_sv56_wavio
Jun 10, 2026
3be8508
fix(mnru): guard SHRT_MIN/SHRT_MAX with #ifndef (MSVC redefinition wa…
Jun 11, 2026
04d1df1
fix: resolve MSVC warnings in p50fbmnru.c and plcferio.c
Jun 11, 2026
6597031
docs: add Windows build instructions to README
Jun 11, 2026
7fd2d22
Add P.863/P.863.2 resampling filters (factors 2, 3, 4, 6)
Jun 11, 2026
8584cb6
Merge PR #194: fix uninitialized variables (MSan/MSVC)
Jun 11, 2026
993aef2
Merge PR #195: Add P.863/P.863.2 resampling filters
Jun 11, 2026
aeb8e5c
docs: simplify branching model in README (from PR #191)
Jun 12, 2026
7cd03ae
docs: fix typo in README (ans -> and)
Jun 12, 2026
bcc1ecc
chore: update .gitignore comment for clarity
Jun 12, 2026
d24ab54
docs: add gain_chk and wav_io to G.191 Annex A
Jun 12, 2026
55992da
docs(g191): fix basop operator signatures per PR #178 corrections
Jun 12, 2026
53e14f1
chore: enforce LF line endings for shell scripts
Jun 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Binary test data files - prevent CRLF corruption
src/unsup/test_data/cftest1.dat binary

# Shell scripts must use LF
*.sh text eol=lf
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches: [dev, main, STL_2026_itu_submission]
pull_request:
branches: [dev, main]
branches: [dev, main, STL_2026_itu_submission]

jobs:
build-and-test:
Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:
run: |
# Exclude build directory from Windows Defender to avoid scan delays
powershell -Command "Add-MpPreference -ExclusionPath '${{ github.workspace }}'"
cmake .
cmake . -DCMAKE_C_FLAGS="/we4700"

- name: Build (Unix)
if: runner.os != 'Windows'
Expand Down
9 changes: 6 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*.tmp
[Bb]in/

# Generated test files
# Generated test output files
*05g10.*
*.[am]16
*.[am]24
Expand Down Expand Up @@ -47,8 +47,6 @@ src/is54/test_data/voice.bec
src/is54/test_data/voice.hbs
!src/is54/test_data/voice.log
src/is54/test_data/voice.rek
src/sv56/test_data/voice.prc
src/sv56/test_data/voice.rms
src/unsup/test_data/astrip.blk
src/unsup/test_data/undo.txt
src/utl/test_data/voice.rnp
Expand Down Expand Up @@ -97,3 +95,8 @@ bld/
.vs/
*vcxproj*
*.sln*
.vscode/
/build
*.double
stderr.txt
stdout.txt
8 changes: 5 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
cmake_minimum_required(VERSION 3.1)
project(STL2023 VERSION 2023)
add_definitions( -DVERSION_STL="${CMAKE_PROJECT_NAME}" )
cmake_minimum_required(VERSION 3.10...3.31)
project(STL2026 VERSION 2026)

add_definitions( -DVERSION_STL="${CMAKE_PROJECT_NAME}" -DCMAKE_POLICY_VERSION_MINIMUM=3.5 )

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

Expand All @@ -24,6 +25,7 @@ add_subdirectory(src/eid)
add_subdirectory(src/esdru)
add_subdirectory(src/fir)
add_subdirectory(src/freqresp)
add_subdirectory(src/gain_chk)
add_subdirectory(src/g711)
add_subdirectory(src/g711iplc)
add_subdirectory(src/g722)
Expand Down
50 changes: 37 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
README for the _ITU-T Software Tool Library_ (STL)
===

The STL provides software for speech- and audio-related speech processing, including narrowband (telephony), wideband ans super-wideband applications.
The STL provides software for speech- and audio-related speech processing, including narrowband (telephony), wideband and super-wideband applications.
This includes codecs, noise generators, filter, etc.

The STL is standardized by ITU-T in [Recommendation ITU-T G.191 "Software tools for speech and audio coding standardization"](http://itu.int/ITU-T/G.191).
Expand All @@ -18,6 +18,8 @@ To build the STL tools, you need:

Not so recent C compilers might also work (not tested).

## Linux / macOS

```shell
#Download source code
git clone https://github.com/openitu/STL
Expand All @@ -26,16 +28,40 @@ git clone https://github.com/openitu/STL
cd STL

#Generate platform dependent build scripts using CMake
#For using a specific generator see CMake parameter "-G"
cmake .

##Build STL tools
#Build STL tools
cmake --build .

##Run tests (optional)
#Run tests (optional)
ctest
```

## Windows

Prerequisites:
* Visual Studio with the **"Desktop development with C++"** workload installed
* CMake (included with Visual Studio, or install separately)

```powershell
#Download source code
git clone https://github.com/openitu/STL

#Enter directory
cd STL

#Generate Visual Studio project files (adjust version as needed)
cmake -G "Visual Studio 18 2026" .

#Build STL tools
cmake --build . --config Release

#Run tests (optional)
ctest -C Release
```

> **Note:** On Windows, you must specify a configuration (`Release` or `Debug`) for both the build and test steps.

# Licenses
The STL, and all of its derivations, is subject to the "ITU-T General Public License", which is a modified version of the GPL1.
Please read the file `LICENSE.md` for the terms and conditions.
Expand All @@ -57,13 +83,12 @@ The primary audience using, maintaining and extending the STL is primarily const
We distinguish between (1) the STL code development in the open source environment, and (2) the maintenance and update of Recommendation ITU-T G.191 in the standardization environment.

## Open source environment (GitHub):
* It follows the best practices for open source code development
* It follows the best practices for open source code development.
* Participation is open and encouraged to anyone interested in the development of the STL, independent of ITU membership.
* The open source environment will have three branches of the STL:
1. Master branch — the latest ITU-T approved version of the STL (starting with STL2009);
2. Development branch — to advance the STL code and add new features; and
3. Submission branch — to submit new stable code to SG12.
* Proposals submitted to the development branch document motivation and intended merits.
* The repository uses a single long-lived branch:
* **`main`** — the latest version of the STL, updated upon ITU-T approval.
* **Feature/fix branches** — short-lived branches for new tools or changes, merged via pull requests.
* Approved versions are marked with git tags (e.g., `STL2024`, `STL2026`).
* Any tools in the library should satisfy the principles outlined in clauses 2.3 and 2.4 of the G.191: ITU-T Software Tool Library 2009 User's manual, in particular with respect to testing of portability and compliance.
* New tools:
* should not overlap in functionality provided by other tools already in the library, unless there is community consensus on the benefits of such approach;
Expand All @@ -73,11 +98,10 @@ We distinguish between (1) the STL code development in the open source environme
* Changes to existing tools:
* should provide sufficient evidence that the changes do not break existing code (in particular, backward compatibility), unless there is community consensus that this is the best approach;
* should respect the license of the tool.
* The development branch is used for discussion and consensus building on a stable version, for inclusion in the submission branch.

## Standardization environment ([ITU-T Study Group 12](https://itu.int/go/tsg12)):
* Participation is limited to those who can participate in the standardization work in ITU-T SG12.
* The Editor of ITU-T G.191 monitors the change process in the open source environment.
* Upon availability of sufficient stable material in the submission branch, the Editor of ITU-T G.191 submits a TD to Q2/12 summarizing the proposed changes and related discussion, and provides a snapshot of the submission branch as basis for a revised version of ITU-T G.191.
* Upon availability of sufficient stable material, the Editor of ITU-T G.191 opens a pull request against `main`, submits a TD to Q2/12 summarizing the proposed changes, and provides the PR as basis for a revised version of ITU-T G.191.
* The TD is considered by Q2/12, and action is taken following the alternative approval procedure (AAP) for ITU-T Recommendations.
* The Editor of ITU-T G.191 provides feedback on the actions taken to the developers in the open source environment, and, upon approval of a revised version of G.191, updates the master branch of the open source environment.
* The Editor of ITU-T G.191 provides feedback on the actions taken to the developers in the open source environment, and, upon approval of a revised version of G.191, merges the PR into `main` and tags the release.
25 changes: 25 additions & 0 deletions cmake/CompareTextFiles.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# cmake/CompareTextFiles.cmake
# Compare two text files, ignoring line-ending differences (CRLF vs LF).
#
# Usage (from a -P script):
# include(/path/to/CompareTextFiles.cmake)
# compare_text_files(GOT <file> EXPECTED <file> [LABEL <name>])

function(compare_text_files)
cmake_parse_arguments(_CTF "" "GOT;EXPECTED;LABEL" "" ${ARGN})

file(READ "${_CTF_GOT}" _got)
string(REPLACE "\r\n" "\n" _got "${_got}")

file(READ "${_CTF_EXPECTED}" _want)
string(REPLACE "\r\n" "\n" _want "${_want}")

if(NOT _got STREQUAL _want)
message(FATAL_ERROR "Text file mismatch: ${_CTF_LABEL}\n--- got ---\n${_got}\n--- expected ---\n${_want}")
endif()
endfunction()

# Auto-invoke when called via cmake -P with -D variables
if(DEFINED GOT AND DEFINED EXPECTED)
compare_text_files(GOT "${GOT}" EXPECTED "${EXPECTED}" LABEL "${LABEL}")
endif()
24 changes: 12 additions & 12 deletions doc/g191.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,27 @@ Please refer to the official Recommendation ITU-T G.191 for the complete text: [

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.

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 STL2024, incorporates:
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 STL2026, incorporates:

* BS1770demo improvements:
* WAV file I/O support with multi-bit-depth (16/24/32-bit) processing for all tools

- a new RMS option disabling the gating function for background noise measurement,
* Extensions to the speech voltmeter (sv56) for arbitrary bit-depth processing

- the handling of the edge case where all gating blacks are below -70 LKFS,
* A delay-and-error profile to frame-erasure pattern conversion tool (dlyerr\_2\_errpat) for jitter buffer emulation (3GPP S4-121077)

- improved reporting with scaling factor being reported in the linear and log domains.
* An EID for 3GPP AMR bitstreams (eid-amr)

* WMC Tool updates:
* A pseudo-random selection tool (random) for EVS processing scripts (3GPP S4-121078)

- New command line parameter to allow control on the number of frames per second (default still 50)
* SHQ2/SHQ3 half-band and HP50 high-pass FIR filters

- Export information on all memory allocations occurring during runtime

- Example script for graphical analysis and profiling of dymanic memory allocation
* P.863/P.863.2 resampling FIR filters for rate-change factors 2, 3, 4 and 6 (as published in ETSI TR 103 138)

- Bugs fixes and code improvements
* A per-band gain verification tool (gain\_chk) for codec and speech-processing validation

Recommendation ITU-T G.191 includes an electronic attachment containing STL2024 and manual.
* Cross-platform portability fixes with expanded CTest regression coverage

Recommendation ITU-T G.191 includes an electronic attachment containing STL2026 and manual.

## Keywords

Expand Down
Loading
Loading