Short Circuiting umsazurevoices.xml & Taking Voices Direct From Azure ?

43 views
Skip to first unread message

erj

unread,
Jun 14, 2023, 7:08:31 AM6/14/23
to UniMRCP
Hi All,
We have an application which displays a list of Azure voices based on the result of an Azure API call and we then found that some of those voices weren't in the umsazurevoices.xml file and so were rejected by the server during a SPEAK request.

Operations are asking me if there is any way of skipping the server check of this file and effectively having the voices list delegated to Azure otherwise we'll have to maintain this file i.e. static config on the server which is not ideal.

Thanks
Ed James

Arsen Chaloyan

unread,
Jun 16, 2023, 7:26:54 PM6/16/23
to uni...@googlegroups.com
Hi Ed,

There are many different partly historical aspects when it comes to selection of voices for the Azure TTS API. When Microsoft initially introduced the API, the voice names were unbelievably long containing some characters which not all the IVRs would allow to use as a voice name. This is where the requirement of having mapping between the names used over MRCP and Azure REST API came from, which resulted in the configuration file umsazurevoices.xml. That was probably 5 or 6 years ago. Later, Microsoft also introduced short names for the same voices which makes sense and partly solves the problem but now it is harder to get rid of the additional file umsazurevoices.xml, as the voice names defined in that file have been used in production for many years by too many different organizations, and introducing any breaking change would not be appropriate.

In the meantime, I'm thinking of adding an option to implicitly populate the voices on initial loading of the server, as it is done for other TTS plugins, such as AWS Polly and Nuance SS. This would solve the problem with maintaining umsazurevoices.xml as you mentioned. BTW, if you list the missing voices which you currently use, I can add them to the default configuration which will be available with the next release. You can also continue to maintain your local copy, if needed, but I understand that is not convenient.

There is currently no way of specifying the voice transparently from the client application without using the internal mapping, but this is another option that can be considered for implementation.



--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/cda81e2d-dfdf-405b-89b7-843edffdbb5fn%40googlegroups.com.


--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org

Chris Franklin

unread,
Jul 24, 2026, 7:32:09 AM (8 days ago) Jul 24
to UniMRCP
This question has come up again. Has any progress been made on this?

Arsen Chaloyan

unread,
Jul 29, 2026, 5:00:37 PM (2 days ago) Jul 29
to uni...@googlegroups.com
Yes, the latest Azure SS 1.30.0 allows to achieve what you need. Set the new configuration attribute skip-voice-map to true and specify/pass the voice name transparently.

Reply all
Reply to author
Forward
0 new messages