Compandent Mobile application running MELPe Vocoder
Compandent developed a highly optimized MELPe STANAG-4591 codec implementation for mobile devices which require low power, and extremely low computational load and memory consumption. It also provide a sample implementation that demonstrates the MELPe codec and has proved useful for customers interested in developing mobile applications.
Compandent MELPe application is now available for download from the Google Play Store. Our Android and iOS applications, demonstrate the quality and speed of our hand optimized MELPe for ARM processors, which can be useful for many Android and iOS applications which require high quality voice in aggressive compression rate, low CPU complexity, and/or transmission over poor reception conditions, where MELPe can outperform perhaps any other vocoder.
Compandent MELPe Android and iOS Application includes the following steps:
- Select input, either a sample file or record your own voice file.
- Record your own voice file for MELPe processing in your own environment and background noise.
- Play button - to play the original input speech file (either the selected sample file or the recorded file)
- Select the desired MELPe test configuration, including the Rate (2400, 1200 or 600 bit/sec), NPP (Noise-PrePocessor) (on/off), Codec (on/off)
- Run MELPe button - to run Compandent MELPe NPP, encoder & decoder (gives you an indication the CPU computational percentage for each component). This step also creates an output file and activates the "Play Processed Speech" step.
- View the CPU % (of a single core) that used for the above MELPe processing.
- Play Processed Audio button - to play and listen to the NPP & compressed & decompressed output file created during the Run MELPe step, and to demonstrate the high quality of our MELPe suite, and its extremely low computational complexity.
We would greatly appreciate your review of our MELPe demo application, on the Google Play site.
Figure 3 Compandent's MELPe Android Application. Record your own voice file for MELPe processing in your own environment and background noise. Then, as above, you can play it on your mobile device, select the MELPe Codec and NPP configuration, run MELPe vocoder processing, view the CPU% for each of the MELPe elements, and play the output recorded speech. (c) All rights reserved.
The Compandent MELPe Android application project and source code are provided to our customers as a reference implementation project for the purpose of developing voice applications such as Secure Communication Interoperability Protocol (a.k.a. SCIP-210) or or Tactical Secure Voice Cryptographic Interoperability Specification (a.k.a. TSVCIS) based applications. As shown in Figure 4 below, our reference implementation is composed of the following three layers:
- The MELPe Native Code library, which was hand optimized for various ARM processors including the 64-bit ARMv8a and 32-bit ARMv7a,
- The Java Native Interface (JNI) C wrapper code demonstrating the initialization, configuration, and lower level calls to the varous functions within the native code MELPe library, and
- The Main Activity Java and XML fileswhich contain the user interface for configuring and calling the MELPe codec from Java.
Figure 4 Compandent's MELPe Android Application layers including the C wrapper and MELPe native code library. (c) All rights reserved.
Compandent MELPe software under Android was used and tested by NATO also as part of the development of Secure Communications Interoperability Protocols (SCIP).
Compandent MELPe software was used in Compandent created testbed device (MELCODER a.k.a. the NATO “gold standard” reference hardware for STANAG-4591) utilized by the NATO's test-laboratory as a part of the MELPe standard adoption process. The software package has passed tests that are similar to the quality and performance tests used in the MELPe development process and/or used in Compandent's MELPe testbed. The same Compandent expertise that contributed to the official NSA MELPe standard has since continued with the development, debugging, and code enhancements at Compandent, bringing the MELPe standard reference to the next level - the Compandent MELPe suite (a.k.a MELPe++ or MELPe-Plus-Plus). Compandent has leveraged its previous experience developing MELPe components for NSA to create a reliable and compliant package that conforms with modern DSP environments & tools.
Compandent also provides MELPe related DSP software & hardware in various COTS form factors and platforms, including multi-channel & multi-thread POSIX (Portable Operating System Interface) compliant software running on various platforms such as Linux, Windows PC, Android, iOS, MacOS, ARM, DSP, GHS, TI, Analog Devices, etc.. Such implementations are suitable for applications such as PDA, pocket PC, laptop, cell-phones, VoIP, satellite communications, secure voice, secure radio, Software Defined Radios (SDR) or software-programmable radio, STE (Secure Terminal Equipment), JTRS and MIDS terminals. Defense Contractors, please also refer to: Note to Defense Contractor Management and Engineering.
Please note: Compandent owns intellectual property (IP) in the official (standard) MELPe implementation, and any of its derivatives (see for example USCO certificate of copyright registration numbers: TX0006703781 (postfilt.asm), TX0006845325 (lpc_lib.asm), TX0007161044 (lpc_lib.c), , and many more. Any party intending to develop products based on MELPe should contact Compandent as well as other IP holders regarding licensing.
To report bugs or suggestions to the MELPe algorithm implementation please contact us
Ready to Test the MELPe Android DEMO App?
To download the Android MELPe demo application by potential customer please click (it supports 64-bit ARMv8 and 32-bit ARMv7 with DSP extensions).
* Note: by clicking you agree that this application will be used only for evaluation purpose only by potential customer, and not for any purpose of reverse engineering or competing with Compandent!
(c) All rights reserved.
Frequently Asked Questions (FAQ)
Frequently Asked Questions (FAQ) to provide helpful answers to your questions.