How do I develop applications that do more with CereProc Speech Technology?

Last reviewed: 7/8/2022

HOW Article ID: H072211

The information in this article applies to:

  • SpeechKit 11
  • VoiceMarkupKit 8

Summary

Explore ways to do more with CereProc Speech Technology.

More Information

Chant Developer Workbench 2022 includes SpeechKit to synthesize text to speech and VoiceMarkupKit to markup text for tailored speech synthesis. It also provides an interative toolset for editing and testing speech synthesis and Speech Synthesis Markup Language (SSML).

Develop applications that do more with CereProc Speech Technology

Generate text to speech with SpeechKit for playback or persistence to a file.


// Instantiate SpeechKit
NSpeechKit _SpeechKit = new NSpeechKit();
// Set credentials
_SpeechKit.SetCredentials("Credentials");
// Create synthesizer
NCereVoiceSynthesizer _Synthesizer = _SpeechKit.CreateCereVoiceSynthesizer();
// Configure engine properties
_Synthesizer.SetProperty("EnginePath", "path\\cerevoice_eng\\lib");
_Synthesizer.SetProperty("VoicePath", "path\\cerevoices");
_Synthesizer.SetProperty("RootCertificate", "path\\root_certificate.pem");
_Synthesizer.SetProperty("ClientCRT", "path\\xx_client.crt");
_Synthesizer.SetProperty("ClientKey", "path\\xx_client.key");
_Synthesizer.SetProperty("License", "path\\xx_license.lic");

// Synthesize speech for playback
_Synthesizer.Speak("Hello world.", 0);

// Synthesize speech to file
_Synthesizer.Speak("Hello world.", 0, "myaudio.wav", 0);

// Instantiate SpeechKit
CSpeechKit* _SpeechKit = new CSpeechKit();
// Set credentials
_SpeechKit->SetCredentials(L"Credentials");
// Create synthesizer
CCereVoiceSynthesizer* _Synthesizer = _SpeechKit->CreateCereVoiceSynthesizer();
// Configure engine properties
_Synthesizer->SetProperty(L"EnginePath", L"path\\cerevoice_eng\\lib");
_Synthesizer->SetProperty(L"VoicePath", L"path\\cerevoices");
_Synthesizer->SetProperty(L"RootCertificate", L"path\\root_certificate.pem");
_Synthesizer->SetProperty(L"ClientCRT", L"path\\xx_client.crt");
_Synthesizer->SetProperty(L"ClientKey", L"path\\xx_client.key");
_Synthesizer->SetProperty(L"License", L"path\\xx_license.lic");

// Synthesize speech for playback
_Synthesizer->Speak(L"Hello world.", 0);

// Synthesize speech to file
_Synthesizer->Speak(L"Hello world.", 0, L"myaudio.wav", 0);

// Instantiate SpeechKit
CSpeechKit* _SpeechKit = new CSpeechKit();
// Set credentials
_SpeechKit->SetCredentials("Credentials");
// Create synthesizer
CCereVoiceSynthesizer* _Synthesizer = _SpeechKit->CreateCereVoiceSynthesizer();
// Configure engine properties
_Synthesizer->SetProperty("EnginePath", "path\\cerevoice_eng\\lib");
_Synthesizer->SetProperty("VoicePath", "path\\cerevoices");
_Synthesizer->SetProperty("RootCertificate", "path\\root_certificate.pem");
_Synthesizer->SetProperty("ClientCRT", "path\\xx_client.crt");
_Synthesizer->SetProperty("ClientKey", "path\\xx_client.key");
_Synthesizer->SetProperty("License", "path\\xx_license.lic");

// Synthesize speech for playback
_Synthesizer->Speak("Hello world.", 0);

// Synthesize speech to file
_Synthesizer->Speak("Hello world.", 0, "myaudio.wav", 0);

var 
    _SpeechKit: TSpeechKit;
    _Synthesizer: TCereVoiceSynthesizer;
    _Phonemes: string;
begin
    // Instantiate SpeechKit
    _SpeechKit := TSpeechKit.Create();
    // Set credentials
    _SpeechKit.SetCredentials('Credentials');
    // Create synthesizer
    _Synthesizer := _SpeechKit.CreateCereVoiceSynthesizer();
    // Configure engine properties
    _Synthesizer.SetProperty('EnginePath', 'path\\cerevoice_eng\\lib');
    _Synthesizer.SetProperty('VoicePath', 'path\\cerevoices');
    _Synthesizer.SetProperty('RootCertificate', 'path\\root_certificate.pem');
    _Synthesizer.SetProperty('ClientCRT', 'path\\xx_client.crt');
    _Synthesizer.SetProperty('ClientKey', 'path\\xx_client.key');
    _Synthesizer.SetProperty('License', 'path\\xx_license.lic');

    // Synthesize speech for playback
    _Synthesizer.Speak('Hello world.', 0);

    // Synthesize speech to file
    _Synthesizer.Speak('Hello world.', 0, 'myaudio.wav', 0);

// Instantiate SpeechKit
JSpeechKit _SpeechKit = new JSpeechKit();
// Set credentials
_SpeechKit.setCredentials("Credentials");
// Create synthesizer
JCereVoiceSynthesizer _Synthesizer = _SpeechKit.createCereVoiceSynthesizer();
// Configure engine properties
_Synthesizer.setProperty("EnginePath", "path\\cerevoice_eng\\lib");
_Synthesizer.setProperty("VoicePath", "path\\cerevoices");
_Synthesizer.setProperty("RootCertificate", "path\\root_certificate.pem");
_Synthesizer.setProperty("ClientCRT", "path\\xx_client.crt");
_Synthesizer.setProperty("ClientKey", "path\\xx_client.key");
_Synthesizer.setProperty("License", "path\\xx_license.lic");

// Synthesize speech for playback
_Synthesizer.speak("Hello world.", 0);

// Synthesize speech to file
_Synthesizer.speak("Hello world.", 0, "myaudio.wav", 0);

Dim _SpeechKit As NSpeechKit
Dim WithEvents _Synthesizer As NCereVoiceSynthesizer
' Instantiate SpeechKit
_SpeechKit = New NSpeechKit()
' Set credentials
_SpeechKit.SetCredentials("Credentials")
' Create synthesizer
_Synthesizer = _SpeechKit.CreateCereVoiceSynthesizer()
' Configure engine properties
_Synthesizer.SetProperty("EnginePath", "path\\cerevoice_eng\\lib")
_Synthesizer.SetProperty("VoicePath", "path\\cerevoices")
_Synthesizer.SetProperty("RootCertificate", "path\\root_certificate.pem")
_Synthesizer.SetProperty("ClientCRT", "path\\xx_client.crt")
_Synthesizer.SetProperty("ClientKey", "path\\xx_client.key")
_Synthesizer.SetProperty("License", "path\\xx_license.lic")

' Synthesize speech for playback
_Synthesizer.Speak("Hello world.", 0)

' Synthesize speech to file
_Synthesizer.Speak("Hello world.", 0, "myaudio.wav", 0)

Generate Speech Synthesis Markup Language (SSML) with VoiceMarkupKit to tailor speech synthesis.


NVoiceMarkupKit _VoiceMarkupKit = new NVoiceMarkupKit();
_VoiceMarkupKit.SetCredentials("Credentials");
NCereVoiceVoiceMarkup _CereVoiceVoiceMarkup = _VoiceMarkupKit.CreateCereVoiceVoiceMarkup();

string markup = _CereVoiceVoiceMarkup.GenerateMarkup("Rate", "5", "This text is spoken above the baseline at rate of five");

CVoiceMarkupKit* _VoiceMarkupKit = new CVoiceMarkupKit();
_VoiceMarkupKit->SetCredentials("Credentials");
CCereVoiceVoiceMarkup* _CereVoiceVoiceMarkup = _VoiceMarkupKit->CreateCereVoiceVoiceMarkup();

wchar_t* markup = _CereVoiceVoiceMarkup->GenerateMarkup(L"Rate", L"5", L"This text is spoken above the baseline at rate of five");

CVoiceMarkupKit* _VoiceMarkupKit = new CVoiceMarkupKit();
_VoiceMarkupKit->SetCredentials("Credentials");
CCereVoiceVoiceMarkup* _CereVoiceVoiceMarkup = _VoiceMarkupKit->CreateCereVoiceVoiceMarkup();

string markup = _CereVoiceVoiceMarkup->GenerateMarkup("Rate", "5", "This text is spoken above the baseline at rate of five");

var 
    _VoiceMarkupKit: TVoiceMarkupKit;
    _CereVoiceVoiceMarkup: TCereVoiceVoiceMarkup;
    markup: string;  
begin       
    _VoiceMarkupKit := TVoiceMarkupKit.Create();  
    _VoiceMarkupKit.SetCredentials('Credentials');  
    _CereVoiceVoiceMarkup := _VoiceMarkupKit.CreateCereVoiceVoiceMarkup();   

    markup = _CereVoiceVoiceMarkup.GenerateMarkup('Rate', '5', 'This text is spoken above the baseline at rate of five');

JVoiceMarkupKit _VoiceMarkupKit = new JVoiceMarkupKit();
_VoiceMarkupKit.setCredentials("Credentials");
JCereVoiceVoiceMarkup _CereVoiceVoiceMarkup = _VoiceMarkupKit.createCereVoiceVoiceMarkup();

String markup = _CereVoiceVoiceMarkup.generateMarkup("Rate", "5", "This text is spoken above the baseline at rate of five");

Dim _VoiceMarkupKit As NVoiceMarkupKit = Nothing
Dim _CereVoiceVoiceMarkup As NCereVoiceVoiceMarkup = Nothing
Dim markup as String
_VoiceMarkupKit = New NVoiceMarkupKit()
_VoiceMarkupKit.SetCredentials("Credentials")
_CereVoiceVoiceMarkup = _VoiceMarkupKit.CreateCereVoiceVoiceMarkup()

markup = _CereVoiceVoiceMarkup.GenerateMarkup("Rate", "5", "This text is spoken above the baseline at rate of five")

Develop and test applications that do more with CereProc Speech Technology

Developers use Chant Developer Workbench with SpeechKit to test and analyze speech synthesis and with VoiceMarkupKit to create, edit, and test Speech Synthesis Markup Language (SSML).

Use SpeechKit to test and analyze speech synthesis with CereProc voices.

Synthesizer Management
Synthesizer Management: Enumerate and test synthesizers with live playback or persisting synthesized speech to files.
Synthesizer Management
Synthesizer Management: Trace synthesis events in the Events window.

Use VoiceMarkupKit to create and edit SSML with CereProc voices.

SSML Editing
SSML Editing: Edit SAPI 5 and W3C Speech Synthesis Markup Language (SSML) faster with built-in intelliprompt that suggest valid markup syntax.