You will only receive transcriptions from APIs for which you have provided valid credentials (except Windows, which does not require any).
Note that Google streaming speech-to-text uses a JSON credentials file, which must be saved under "GoogleStreamingSpeechToTextProgram" under Application.streamingAssetsPath, and whose name must match the "JSON Credentials File Name" field of the "Google Streaming Speech To Text Service" component of "Canvas/SpeechToTextServiceWidgets/GoogleStreamingSpeechToTextService".
The SoX application must be located within Application.streamingAssetsPath/ThirdParty/SoX/Windows for Windows environments, and Application.streamingAssetsPath/ThirdParty/SoX/MacOSX otherwise. Google streaming and non-streaming speech-to-text both rely on SoX (Sound eXchange), which must be manually added to the project.UniWeb can be found on the Unity Asset Store here. Google non-streaming and Wit.ai non-streaming speech-to-text both rely on UniWeb, which must be manually added to the project.Watson streaming and non-streaming speech-to-text both rely on IBM's Watson SDK for Unity, which must be manually added to the project.Windows and Google streaming speech-to-text will only work in Windows environments.UniWeb Note: as it has been pointed out, UniWeb seems to no longer be maintained and you could easily replace it with other options.Matthew Schoen from Unity Labs has given us permission to include his JSON library in the package.Example of speech-to-text service usage.AudioRecordingManager functions and properties.Speech-to-text services and results base functions and properties.Speech-to-text services and results inheritance hierarchy.This article on the Unity Labs website explains some of the concepts behind speech recognition and discusses the motivation behind this package.įrequently asked questions can be found here. There is also a sample scene that compares each of these APIs. C++ for the Windows class.įor putting them together, you should use Unity's directive to do that.This plugin interfaces Windows streaming, Wit.ai non-streaming, Google streaming/non-streaming, and IBM Watson streaming/non-streaming speech-to-text.
You have to make plugin for the Android class using Java, Objective-C for the iOS and MacOs classes.
There are tons of examples of how to use these on the internet. The only downside is that it is time consuming to make one for each platform. The only difference are the classes used. If you want to make one yourself then the process is very similar to my Speech to Text solution. If you are only targeting Android and iOS then go for this Easy TTS which cost $5. You have two options: Buy a plugin or make your own. If it is a Windows API or a managed dll then it won't work on Android or iOS.
Dlls files don't work on Android or iOS unless it is an unmanaged dll file without Windows specified API.