The A-Files
Research toolkit for evaluating audio steganography and watermarking: payload recovery, signal quality, robustness, capacity and empirical detectability under a shared experimental protocol. Includes a Python API, declarative experiments and a browser-based research interface.
Documentation · UI guide · References
Quick start
Python 3.10–3.12:
pip install the-a-files
taf-eval direct-no-metrics
Bundled VCTK and LibriSpeech subsets support initial experiments. FFmpeg is needed for codec attacks; PESQ may require C++ build tools. See installation and optional models.
Methods · 30
- Sample and adaptive embedding: LSB, prime-factor interpolation, FBS-LSB, AAC-STC.
- Transforms: DCT-Delta-LSB, DWT-LSB, DCT-b1, norm-space, FSVC, blind SVD, LWT, wireless DWT-LSB, sync-code DWT-DCT, EMD.
- Phase: phase coding, improved phase coding.
- Spread spectrum and quantisation: DSSS, ISS, QIM / ST-DM.
- Echo: single echo, backward–forward echo, time-spread echo.
- Statistical: patchwork, histogram, low-frequency amplitude modification.
- Reversible: prediction-error expansion (PEE), which also restores the exact cover.
- Neural and approximated learned schemes: FGAS, LE-GA, AudioSeal, WavMark.
Mechanisms, implementation limits and paper references.
Attacks
- Noise:
awgn,pink_noise,impulse_noise. - Coding:
codec, withmp3,aac,opus,vorbisshortcuts. - Filtering:
low_pass,high_pass,band_pass,notch,smoothing. - Sampling and quantisation:
resample,clock_drift,bit_depth. - Amplitude:
gain,clipping,compression_dynamic. - Time and pitch:
time_shift,crop,zero_padding,sample_jitter,dropout,time_stretch,speed,pitch_shift. - Acoustics:
echo,reverb,acoustic_channel. - Pipelines:
streaming_upload,voice_call,broadcast,over_the_air,desync_attack.
Individual descriptions, parameters and scientific context.
Metrics · 25
- Signal and spectral distortion: SNR, SNRseg, fwSNRseg, WSS, LLR, CD, MCD, BSD, LSD, MRSC, SI-SDR, BSSEval v4.
- Perceptual quality: PESQ, ViSQOL Audio, Csig, Cbak, Covl, MOSNet.
- Intelligibility: CSII, NCM, STOI, eSTOI, STGI, wSTMI.
- Reverberation-related: SRMR.
BER, exact-message recovery, payload rate and processing time are reported separately. Definitions, score directions and references.
Research UI
The whole platform (PostgreSQL, API and web client) runs in Docker from the published images; only
docker-compose.yml is needed:
curl -O https://raw.githubusercontent.com/pawel-kaczmarek/The-A-Files/master/docker-compose.yml
docker compose up -d --no-build
The web client is at http://localhost:3000 and the API at http://localhost:8000 (OpenAPI at /docs).
Prepared corpora and uploads live in the taf-data volume. TAF_IMAGE_TAG selects a release (default latest;
edge follows master). In a repository checkout, docker compose up -d --build builds the images locally;
TAF_EXTRAS=platform,neural (or platform,ai) then adds the optional neural baselines or TensorFlow to the API.
For development, start only the database and run the API and web client locally:
docker compose up -d db
pip install -e ".[platform]"
taf-api
In a second terminal:
cd web
npm ci
npm run dev
Open http://localhost:3000. Create an experiment, select data, methods, payloads, attacks and metrics, review the execution plan, then start a run. Results include statistics, individual trials with audio playback, provenance and CSV/Markdown/LaTeX exports. English and Polish are available. Step-by-step UI guide.
Quality is measured separately for embedding and attack damage. Published results and local measurements remain distinct; implementation adaptations are documented in the method catalogue. GitHub Pages hosts the documentation; the research UI runs with the Python API and PostgreSQL.
Licence and authors
GPL-3.0-or-later. Paweł Kaczmarek and Zbigniew Piotrowski — Military University of Technology, Faculty of Electronics. Scientific background and bibliography.
Metadata
Release files for the-a-files 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| the_a_files-2.0.0.tar.gz | 18.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| the_a_files-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.8 MB
Release files / the_a_files-2.0.0.tar.gz
| Download URL | the_a_files-2.0.0.tar.gz |
|---|---|
| Size | 18.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1efed807aca847fed34fbef21a6b11240125335f245355c4aca1546d83461f41
|
|
BLAKE2b-256 checksum How to use checksums |
c509fa0a6886313994415b8f4d061a213c5eeaf33529ca462a26cc45fd9e05a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / the_a_files-2.0.0-py3-none-any.whl
| Download URL | the_a_files-2.0.0-py3-none-any.whl |
|---|---|
| Size | 18.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49e7f44eb4e85579ee70fe869ea07c8f1fa487b5c541f876c4ff5dbd88f5b152
|
|
BLAKE2b-256 checksum How to use checksums |
2a3dd3761b7f2330c7f0231197549afc84341525520c6ceabe9a31d1e22f12d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency log