Powered by Universal Speech Solutions LLC


UniMRCP 0.7.0 Released

UniMRCP 0.7.0 (r1064) has been released and now is available for

Source Distribution

Windows Installer

Windows SDK Installer

Dependency Packages

This release fixes a few significant issues, which affect project usability under high load (stress testing).
It also introduces new ASR and TTS plugins based on open source PocketSphinx and Flite engines respectively.

Changes since previous release 0.6.0 (r930) include:
  • Using wakeable pollset in MRCPv2 server and client stacks
  • The terminate Remaining RTSP Sessions does not free all sessions (Anthony Masse, Issue-26)
  • Open log file in binary mode (Anthony Masse)
  • Allow trailing slash in RTSP URIs (V.Batrak)
  • Fixed crash while processing malformed SDP message
  • Failed to Find Channel errors (cpsoares, Issue-27)
  • Fixed the remaining issues related to message segmentation (Anthony Masse)
  • Fixed crash of client stack caused by race condition in mrcp-sofiasip module
  • Fixed potential crash of server stack (mrcp_session_destroy() should be called last)
  • Fixed potential crash of client stack (do not reference session object, since response to termination request has been sent)
  • Fixed conditial jump which depends on uninitialized value in mpf_decoder and mpf_encoder
  • Introduced wrappers around APR pool creators
  • Using rotation between multiple log files, instead of rollover in a single file (Anthony Masse)
  • Added LPCM codec as linear 16bit PCM codec in host order, while L16 is linear 16bit PCM codec in network order (Christopher Rienzo)
  • Added acinclude.m4 to allow autoreconf -i to work (Mike Jerris)
  • Fixed Mac OS X build (Mike Jerris)
  • Added PocketSphinx plugin
  • Added Flite plugin (Garmt)
  • Added the NOTICE file corresponding to the section 4 d of the Apache License (Jean-Michel Reghem)
  • RTP port management potential issues (cpsoares, Issue-34)
  • Decimal values in a mrcp_recog_header_t strangely rounded to the nearest tenth in the SET-PARAMS messages (Curatica, Issue-35)
  • Application freeze upon call to mrcp_client_shutdown (cpsoares, Issue-28)
  • Added basic NLSML document processor
  • Enhanced state machines to STOP in-progress SPEAK and RECOGNIZE requests on session termination
  • Stale MRCP sessions upon MRCP link disconnection (cpsoares, Issue-36)
  • Thread safe APR pools (cpsoares, Issue-29)

Thanks for using UniMRCP.
Arsen Chaloyan
The author of UniMRCP

Flite Plugin Available

I would like to announce the availability of Flite TTS plugin for UniMRCP server.
Special thanks goes to Garmt, who initially contributed and helped develop the plugin.

Currently supported TTS features are as follows:

English voices:
  • awb
  • kal
  • rms
  • slt
  • STOP
Synthesizer Speech Data:
  • text/plain

For the instructions on how to build and configure Flite with UniMRCP refer to

Please note, everything is working now, nevertheless this is basic availability only.
I have mostly tested the integrated solution in the following setup
SIPPhone -> FreeSWITCH/UniMRCPClient -> UniMRCPServer/Flite

Feedback is welcome.

Arsen Chaloyan
The author of UniMRCP

PocketSphinx Plugin Available

I would like to announce the availability of PocketSphinx ASR plugin for UniMRCP server.

PocketSphinx UniMRCP server can be used with an MRCP compliant client, which supports JSGF grammar.
Currently supported ASR features are as follows:

  • STOP
  • Noinput-Timeout
  • Recognition-Timeout
  • Completion-Cause
  • Completion-Reason
  • Save-Waveform
Grammar: JSGF

For the instructions on how to build and configure PocketSphinx with UniMRCP refer to

Please note, everything is working now, nevertheless this is basic availability only.
I have mostly tested the integrated solution in the following setup
SipPhone -> FreeSWITCH/UniMRCPClient -> UniMRCPServer/PocketSphinx

However it requires further testing in different environments from different speakers, e.t.c.
In other words, your feedback is welcome.

Arsen Chaloyan
The author of UniMRCP

UniMRCP 0.6.0 Released

UniMRCP 0.6.0 (r930) has been released and now is available for download.

Source Distribution

Windows Installer

Windows SDK Installer

Windows Installer has been built using
- APR-1.2.12
- Sofia-SIP-1.12.10 + patch submitted to issue-25
- Visual Studio 2005 (release build)

This is a bug fix release, which contains mostly backward compatible minor API changes.

Changes since previous release 0.5.0 (r828) include:
- Modifications on MRCP headers (Patrick, issue-17)
- Fixed crash of client stack in case of error, when answer contains no SDP
- NAT related enhancements (Garmt, issue-12)
- Enhancements of prosody-volume and prosody-rate params (Bayram, issue-18)
- Fixed string tables of MRCP headers
- Fixed processing of DEFINE-LEXICON request (Mahmoud)
- Fixed processing of consecutive SPEAK and STOP requests (Mahmoud, issue-23)
- Added support for resource discovery (SIP OPTIONS and RTSP DESCRIBE) in server stack (Bayram, issue-19)
- Fixed potential dead lock in MPF layer
- Added CSeq header field in RTSP Announce event generated by server (dbansal, issue-21)
- Enhanced MPF layer to avoid additional transformations when possible (virtualson)
- Reworked RTSP client stack, fixed interoperability with Acapela MRCPv1 server (Garik, issue-22)
- Added resource discovery API to client stack (chaojenh, issue-24)
- Fixed crash on Ubuntu 64bit (Chaitanya)
- Fixed sporadic crash, while referencing dangling pointer in network client/server stacks (Garik)
- Fixed file handle leak in demo synthesizer plugin
- Modified the logger to be able to create and use the same singleton object in core and plugins (Garmt)
- Fixed several valgrind warnings related to memory initialization and usage

Thanks for using UniMRCP.
Arsen Chaloyan

Project Ecosystem

I would like to present the ecosystem of the project I thought about
I used to focus primary on the software development, which is
definitely crucial task towards successful project, but still is not
enough. I want to establish an ecosystem which will "work" for all of
The key components are:

1. Community
The role of community in an open source project development is
evidence. I have been trying to build robust community around the
project. The community is not so big and active at the moment, but at
least it keeps growing. I really welcome and appreciate everybody's

2. Sponsorship
Sponsorship ensures the health, sustainability and encourages growth
of the project

3. Partnership
I'm looking forward for technology related partnership in order to
deliver complete, seamlessly integrated and carefully tested

4. Services
Commercial support packages insure the successful deployment of the
projects you develop.
Custom development options are also available.

This is just the way I see the project can be further evolved.
Actually nothing is going to be changed dramatically. Meantime please
feel free to discuss any suggestions and thoughts you may have.

Arsen Chaloyan.
The creator of UniMRCP.

Announcement Group

Subscribe to the Announcements Group if you prefer to receive news and press releases only. Please note that announcements are normally posted to the Discussion Group as well.