Asked
— Edited
Hello y'all, I've created a C# project and I'm already able to do basically the same as the Bing Speech Recognition plugin does, but I also need to make my EZ-B (JD) "speaks" in another language. I've installed a Microsoft voice, but that's a pretty bad one, and the Azure platform offers two very nice voices to be used.
Right now I'm stuck with how I send the voice received from Azure to the EZ-B. Azure offers a variety of audio formats.
Has anyone tried this before? I've gone through some of the tutorials in the SDK but couldn't find one that does something like that.
Thanks! Gilvan
I updated the plugin tutorial to include instructions on how to output audio: https://synthiam.com/Tutorials/UserTutorials/146/24
I also created a plugin with complete example and source code: https://synthiam.com/redirect/legacy?table=plugin&id=202
DJ,
Nice!
Do you have plans to add the Microsoft TTS Bing TTS feature to the existent plugin i.e. (EZ-Robot Bing plugin) ?
*** EDITED ***
Microsoft TTS? As in the speech synthesis? It has an output stream... Just do this..
@DJ,
Not that.
This: https://docs.microsoft.com/en-us/azure/cognitive-services/speech/api-reference-rest/bingvoiceoutput
@Mickey666Maus,
you are mixing up concepts.
I checked the Javascript code and runs on the browser the speech recognition and tts, after the speech recognition is done the browser calls api.ai.
All the work is done on the browser, the server only serves the page.
XMLHttpRequest is a javascript class to GET or POST data to a web server.
you have a similar function in EZ-script:
There is no limitation: a browser is a client application, you want another client application i.e. ARC to call a client ?
off course there are some exceptions i remember some years ago i used windows DDE (old stuff) https://en.wikipedia.org/wiki/Dynamic_Data_Exchange
to interact with Internet Explorer, and Microsoft Excel, etc.
To allow other clients to connect to an Application the application needs to expose a protocol, interfaces, methods etc.
@ptp, the example i provided will give you the ability to pipe any audio through the ez-b. Simply pipe PCM data at the sample rate specified in the example into any of the PlayData() overrides. It doesn't matter where you get the data from. If you get it from the link provided, cool. If you get it from a microphone, cool. If you get it from summoning a spirit ghost in the form of compatible audio data, cool.
Here is information in step-by-step for recap in case you haven't viewed the links i provided. Have fun!
Source Code: OutputAudioFromEZ-BSource.zip
*Dependency: Additional to adding ARC.exe and EZ-B.DLL, this plugin requires NAudio.DLL library to be added as a project reference. Remember to UNSELECT "Copy Files"!
This plugin provides the following examples:
Output Text to Speech You can output text to speech easily as well, using the following code example...
@DJ,
The code is clear, and i believe it helps/answers the initial request (Gilvan Gomes).
I believe Gilvan is trying to code a plugin to use Bing/Azure/Microsoft Cognitive TTS services with EZB.
To avoid overlapping features (User vs EZ-Robot) plugin.
I asked if you have plans to create a Bing TTS plugin or extend the existent Bing Recognition plugin.
Not immediate plans - looks pretty simple though. Specifically since the service returns a byte array of compatible audio. Simply pump it through the examples and voila, you got bing tts.
I don't think it belongs in the Bing Recognition plugin. It would be a plugin of its own. The bing recognition is for speech recognition, not speech synthesis. The configuration of the two are quite different from the user perspective.