Skip to main content

Package to run ABC-MRT16 intelligibility tests

Project description

ABC-MRT16 Python Package

Code for running articulation band correlation - modified rhyme tests (ABC-MRT).

Building and Installing the Package Locally

To install the package run the following:

pip install abcmrt16

Alternatively, to build and install the package, clone this repository and run the following from the root of the git repository :

pip install .

Background

This software implements the ABC-MRT16 algorithm for objective estimation of speech intelligibility. The algorithm is discussed in detail in [1] and [2]. ABC-MRT is short for “Articulation Band Correlation Modified Rhyme Test.” The software was originally written by NTIA/ITS in MATLAB (https://github.com/NTIA/ABC-MRT16), but has now been ported to Python.

The Modified Rhyme Test (MRT) [3] is a protocol for evaluating speech intelligibility using human subjects. The subjects are presented with the task of identifying one of six different words that take the phonetic form CVC. The six options differ only in the leading or trailing consonant. MRT results take the form of success rates (corrected for guessing) that range from 0 (guessing) to 1 (correct identification in every case).
These success rates form a measure of speech intelligibility in this specific (MRT) context.

Articulation Band Correlation-MRT (ABC-MRT) is a signal processing algorithm that processes MRT audio files and produces success rates. The goal of ABC-MRT is to produce success rates that agree with those produced by MRT. Thus ABC-MRT is an automated or objective version of MRT and no human subjects are required.

ABC-MRT performs a narrowband (nominally 4 kHz) analysis. ABC-MRT16 is applicable to narrowband, wideband, superwideband, and fullband speech. ABC-MRT processes the first 17 AI bands while ABC-MRT16 processes all 20 AI bands, as well as an additional "AI Band 21" that covers 7 kHz to 20 kHz. Of equal importance is that ABC-MRT16 incorporates a model for attention that allows it to properly operate across the different bandwidths without any bandwidth detection or switching.

Unless backwards compatibility is required, ABC-MRT16 is the recommended algorithm, even if only narrowband conditions are to be tested. The attention model makes it superior to ABC-MRT. ABC-MRT16 is the only algorithm that has been ported to Python.

The software provided here runs using the Python interpreter.

Application of ABC-MRT(16) to a speech communication system-under-test (SUT) requires two steps.

  1. Pass a set of reference recordings through the SUT to produce a set of test recordings.
  2. Apply ABC-MRT(16) to the test recordings to produce a success rates that describe the intelligibility of the SUT.

All of these steps are run by the intelligibility measurement software found at https://github.com/usnistgov/intelligibility. Although it is possible to use stand alone, the GUI available at https://github.com/usnistgov/mcvqoe is also recommended.

References

[1] S. Voran "Using articulation index band correlations to objectively estimate speech intelligibility consistent with the modified rhyme test," Proc. 2013 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, October 20- 23, 2013. Available at www.its.bldrdoc.gov/audio after October 20, 2013.

[2] S. Voran "A multiple bandwidth objective speech intelligibility estimator based on articulation index band correlations and attention," Proc. 2017 IEEE International Conference on Acoustics, Speech, and Signal Processing, New Orleans, March 5-9, 2017. Available at www.its.bldrdoc.gov/audio.

[3] ANSI S3.2, "American national standard method for measuring the intelligibility of speech over communication systems," 1989.

Legal

NTIA

THE NATIONAL TELECOMMUNICATIONS AND INFORMATION ADMINISTRATION, INSTITUTE FOR TELECOMMUNICATION SCIENCES ("NTIA/ITS") DOES NOT MAKE ANY WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA ACCURACY. THIS SOFTWARE IS PROVIDED "AS IS."
NTIA/ITS does not warrant or make any representations regarding the use of the software or the results thereof, including but not limited to the correctness, accuracy, reliability or usefulness of the software or the results.

You can use, copy, modify, and redistribute the NTIA/ITS developed software upon your acceptance of these terms and conditions and upon your express agreement to provide appropriate acknowledgments of NTIA's ownership of and development of the software by keeping this exact text present in any copied or derivative works.

The user of this Software ("Collaborator") agrees to hold the U.S. Government harmless and indemnifies the U.S. Government for all liabilities, demands, damages, expenses, and losses arising out of the use by the Collaborator, or any party acting on its behalf, of NTIA/ITS' Software, or out of any use, sale, or other disposition by the Collaborator, or others acting on its behalf, of products made by the use of NTIA/ITS' Software.

NIST

This software was developed by employees of the National Institute of Standards and Technology (NIST), an agency of the Federal Government. Pursuant to title 17 United States Code Section 105, works of NIST employees are not subject to copyright protection in the United States and are considered to be in the public domain. Permission to freely use, copy, modify, and distribute this software and its documentation without fee is hereby granted, provided that this notice and disclaimer of warranty appears in all copies.

THE SOFTWARE IS PROVIDED 'AS IS' WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND FREEDOM FROM INFRINGEMENT, AND ANY WARRANTY THAT THE DOCUMENTATION WILL CONFORM TO THE SOFTWARE, OR ANY WARRANTY THAT THE SOFTWARE WILL BE ERROR FREE. IN NO EVENT SHALL NIST BE LIABLE FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO, DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN ANY WAY CONNECTED WITH THIS SOFTWARE, WHETHER OR NOT BASED UPON WARRANTY, CONTRACT, TORT, OR OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY PERSONS OR PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED FROM, OR AROSE OUT OF THE RESULTS OF, OR USE OF, THE SOFTWARE OR SERVICES PROVIDED HEREUNDER.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abcmrt16-1.0.1.tar.gz (355.9 MB view details)

Uploaded Source

Built Distribution

abcmrt16-1.0.1-py3-none-any.whl (355.9 MB view details)

Uploaded Python 3

File details

Details for the file abcmrt16-1.0.1.tar.gz.

File metadata

  • Download URL: abcmrt16-1.0.1.tar.gz
  • Upload date:
  • Size: 355.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.1

File hashes

Hashes for abcmrt16-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f0b9e00d54b1b19f7bb790dbdc252c676bb148f7b23a6865a48b655f7a7d2e17
MD5 ee2739e6f1fea81c6ddedfa71868bd6b
BLAKE2b-256 57b2e7970a86bec5270ba33365f28a577ce766d5a971d08ca98ff9a488bf6049

See more details on using hashes here.

File details

Details for the file abcmrt16-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: abcmrt16-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 355.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.1

File hashes

Hashes for abcmrt16-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 71c393c241f5ea44366f6f8e79ce4db70e67bd1b1a948ea9444853b903f21051
MD5 1bd4e5946b5197614002139d14698020
BLAKE2b-256 b721cace2b2d178364ce8f6a9e1ca68e258e07790de86cb11534126e7229f3a1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page