AlgoTron DSP Software for Telecoms & Audio
a TI DSP Third Party Network Member

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us

Contact us


P.56 Speech Level Meter DSP C Code

Description: implements the ITU P.56 Speech Level Meter function (Method B). The P.56 function is intended primarily for speech level measurement. Over a time interval, the algorithm obtains the active level of an irregular signal such as speech by discerning and measuring in only the active signal periods. In parallel, the long-term level is measured as the true RMS value of the signal overall, irrespective of active and inactive signal periods. A further result given by the process is the activity factor, that is the proportion of the total active signal period to the total measurement time.
          The C code is suitable for any processor with an ANSI-compliant C compiler. It is designed especially for efficient operation on low-cost fixed-point DSP- and general-purpose micro-processors. All data memory is specified as 16-bit integer words. Multiplies are integer 16x16-bit with 32-bit products.
        The software is in the form of three callable subroutines: one is for initialisation where a user-set measurement time in samples is input, one is for processing of each new sample, and one is for computing the results. If required, the results routine can be called at any time prior to the expiry of the set measurement time. Otherwise, the results are calculated automatically at the end of the set time. Further calls of the main per-sample routine cause the process to be repeated. The sample rate can be 8kHz, 9.6kHz, or 16kHz.
         The user is responsible for sample input and for accepting the three results: long-term level, active level, and activity factor. The software can be operated in a multi-channel mode: a pointer is set to each per-channel block of memory at each sub-routine call. By making multiple sub-routine calls, the code can be operated on blocks of samples. The code is load-balanced so that, except when the results are computed, there is no MIPS variation per sample. A comprehensive user's guide is provided with the code.


Measurement time range: To 74 hours (8ksam/s) in sample periods
Dynamic range: 68dB
Resolution/accuracy*: 0.1dB in level measurement, 0.1% in activity factor

- *activity-related results accuracies are subject to the P.56 measurement process

Processor Load:

MIPS# Data memory (words) Prog memory (bytes)#
1.1 58(per channel) 1.1k

- #example figures from compiling for the TI TMS320C5000(C55x) DSP processor; operation at 8kHz sample rate

Availability: NOW - sale is under licence - integration support offered

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us