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

Last reviewed: 7/8/2021

HOW Article ID: H072110

The information in this article applies to:

  • LexiconKit 7
  • SpeechKit 10
  • VoiceMarkupKit 7

Summary

Explore ways to do more with Cepstral Speech Technology.

More Information

Chant Developer Workbench 2021 includes LexiconKit to generate pronunciations for synthesis clarity, 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 Cepstral lexicons, speech synthesis, and Speech Synthesis Markup Language (SSML).

Develop applications that do more with Cepstral Speech Technology

Generate pronunciation phonemes with LexiconKit to use with SSML for Cepstral voices.


// Instantiate LexiconKit object
NLexiconKit _LexiconKit = new CLexiconKit();
// Set license properties
_LexiconKit.SetLicense("LicenseRegistrationNumber", "LicenseSerialNumber");
// Create synthesizer
NSwiftSynthesizer _Synthesizer = _LexiconKit.CreateSwiftSynthesizer();

// Generate phonemes
string _Phonemes = _Synthesizer.GeneratePhonemes("tomato", "Noun");

// Instantiate LexiconKit object
CLexiconKit* _LexiconKit = new CLexiconKit();
// Set license properties
_LexiconKit->SetLicense(L"LicenseRegistrationNumber", L"LicenseSerialNumber");
// Create synthesizer
CSwiftSynthesizer* _Synthesizer = _LexiconKit->CreateSwiftSynthesizer();

// Generate phonemes
wchar_t* _Phonemes = _Synthesizer->GeneratePhonemes(L"tomato", L"Noun");

// Instantiate LexiconKit
CLexiconKit* _LexiconKit = new CLexiconKit();
// Set license properties
_LexiconKit->SetLicense("LicenseRegistrationNumber", "LicenseSerialNumber");
// Create synthesizer
CSwiftSynthesizer* _Synthesizer = _LexiconKit->CreateSwiftSynthesizer();

// Generate phonemes
String _Phonemes = _Synthesizer->GeneratePhonemes("tomato", "Noun");

var 
    _LexiconKit: TLexiconKit;
    _Synthesizer: TSwiftSynthesizer;
    _Phonemes: string;
begin
    // Instantiate LexiconKit
    _LexiconKit := TLexiconKit.Create();
    // Set license properties
    _LexiconKit.SetLicense('LicenseRegistrationNumber', 'LicenseSerialNumber');
    // Create synthesizer
    _Synthesizer := _LexiconKit.CreateSwiftSynthesizer();

    // Generate phonemes
    _Phonemes := _Synthesizer.GeneratePhonemes('tomato', 'Noun');

// Instantiate LexiconKit
JLexiconKit _LexiconKit = new JLexiconKit();
// Set license properties
_LexiconKit.setLicense("LicenseRegistrationNumber", "LicenseSerialNumber");
// Create synthesizer
JSwiftSynthesizer _Synthesizer = _LexiconKit.createSwiftSynthesizer();

// Generate phonemes
String _Phonemes = _Synthesizer.generatePhonemes("tomato", "Noun");

Dim _LexiconKit As NLexiconKit
Dim WithEvents _Synthesizer As NSwiftSynthesizer
Dim _Phonemes As String
' Instantiate LexiconKit
_LexiconKit = New NLexiconKit()
' Set license properties
_LexiconKit.SetLicense("LicenseRegistrationNumber", "LicenseSerialNumber")
' Create synthesizer
_Synthesizer = _LexiconKit.CreateSwiftSynthesizer()

' Generate phonemes
_Phonemes = _Synthesizer.GeneratePhonemes("tomato", "Noun")

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


// Instantiate SpeechKit
NSpeechKit _SpeechKit = new NSpeechKit();
// Set license properties
_SpeechKit.SetLicense("LicenseRegistrationNumber", "LicenseSerialNumber");
// Create synthesizer
NSwiftSynthesizer _Synthesizer = _SpeechKit.CreateSwiftSynthesizer();

// Synthesize speech for playback
_Synthesizer.Speak("Hello world.", (int)SWIFTSPEAKFLAGS.SWIFT_ASYNC);

// Synthesize speech to file
_Synthesizer.Speak("Hello world.", (int)SWIFTSPEAKFLAGS.SWIFT_ASYNC, "myaudio.wav", (int)SPSTREAMFORMAT.SPSF_Default);

// Instantiate SpeechKit
CSpeechKit* _SpeechKit = new CSpeechKit();
// Set license properties
_SpeechKit->SetLicense(L"LicenseRegistrationNumber", L"LicenseSerialNumber");
// Create synthesizer
CSwiftSynthesizer* _Synthesizer = _SpeechKit->CreateSwiftSynthesizer();

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

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

// Instantiate SpeechKit
CSpeechKit* _SpeechKit = new CSpeechKit();
// Set license properties
_SpeechKit->SetLicense("LicenseRegistrationNumber", "LicenseSerialNumber");
// Create synthesizer
CSwiftSynthesizer* _Synthesizer = _SpeechKit->CreateSwiftSynthesizer();

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

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

var 
    _SpeechKit: TSpeechKit;
    _Synthesizer: TSwiftSynthesizer;
    _Phonemes: string;
begin
    // Instantiate SpeechKit
    _SpeechKit := TSpeechKit.Create();
    // Set license properties
    _SpeechKit.SetLicense('LicenseRegistrationNumber', 'LicenseSerialNumber');
    // Create synthesizer
    _Synthesizer := _SpeechKit.CreateSwiftSynthesizer();

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

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

// Instantiate SpeechKit
JSpeechKit _SpeechKit = new JSpeechKit();
// Set license properties
_SpeechKit.setLicense("LicenseRegistrationNumber", "LicenseSerialNumber");
// Create synthesizer
JSwiftSynthesizer _Synthesizer = _SpeechKit.createSwiftSynthesizer();

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

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

Dim _SpeechKit As NSpeechKit
Dim WithEvents _Synthesizer As NSwiftSynthesizer
' Instantiate SpeechKit
_SpeechKit = New NSpeechKit()
' Set license properties
_SpeechKit.SetLicense("LicenseRegistrationNumber", "LicenseSerialNumber")
' Create synthesizer
_Synthesizer = _SpeechKit.CreateSwiftSynthesizer()

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

' Synthesize speech to file
_Synthesizer.Speak("Hello world.", SWIFTSPEAKFLAGS.SWIFT_ASYNC, "myaudio.wav", SPSTREAMFORMAT.SPSF_Default)

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


NVoiceMarkupKit _VoiceMarkupKit = new NVoiceMarkupKit();
_VoiceMarkupKit.SetLicense("LicenseRegistrationNumber", "LicenseSerialNumber");
NW3CSSMLVoiceMarkup _W3CSSMLVoiceMarkup = _VoiceMarkupKit.CreateW3CSSMLVoiceMarkup();

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

CVoiceMarkupKit* _VoiceMarkupKit = new CVoiceMarkupKit();
_VoiceMarkupKit->SetLicense(L"LicenseRegistrationNumber", L"LicenseSerialNumber");
CW3CSSMLVoiceMarkup* _W3CSSMLVoiceMarkup = _VoiceMarkupKit->CreateW3CSSMLVoiceMarkup();

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

CVoiceMarkupKit* _VoiceMarkupKit = new CVoiceMarkupKit();
_VoiceMarkupKit->SetLicense("LicenseRegistrationNumber", "LicenseSerialNumber");
CW3CSSMLVoiceMarkup* _W3CSSMLVoiceMarkup = _VoiceMarkupKit->CreateW3CSSMLVoiceMarkup();

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

var 
    _VoiceMarkupKit: TVoiceMarkupKit;
    _W3CSSMLVoiceMarkup: TW3CSSMLVoiceMarkup;
    markup: string;  
begin       
    _VoiceMarkupKit := TVoiceMarkupKit.Create();  
    _VoiceMarkupKit.SetLicense('LicenseRegistrationNumber', 'LicenseSerialNumber');  
    _W3CSSMLVoiceMarkup := _VoiceMarkupKit.CreateW3CSSMLVoiceMarkup();   

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

JVoiceMarkupKit _VoiceMarkupKit = new JVoiceMarkupKit();
_VoiceMarkupKit.setLicense("LicenseRegistrationNumber", "LicenseSerialNumber");
JW3CSSMLVoiceMarkup _W3CSSMLVoiceMarkup = _VoiceMarkupKit.createW3CSSMLVoiceMarkup();

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

Dim _VoiceMarkupKit As NVoiceMarkupKit = Nothing
Dim _W3CSSMLVoiceMarkup As NW3CSSMLVoiceMarkup = Nothing
Dim markup as String
_VoiceMarkupKit = New NVoiceMarkupKit()
_VoiceMarkupKit.SetLicense("LicenseRegistrationNumber", "LicenseSerialNumber")
_W3CSSMLVoiceMarkup = _VoiceMarkupKit.CreateW3CSSMLVoiceMarkup()

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

Develop and test applications that do more with Cepstral Speech Technology

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

Use LexiconKit to create and edit a lexicon of word pronunciations for Cepstral voices.

Cepstral Pronunciation Editing
Cepstral Pronunciation Editing: Create and edit Cepstral default pronunciations faster by using the auto generation feature. Simply type the word, space, and 0 to generate the default pronunciation for editing.

Use SpeechKit to test and analyze speech synthesis with Cepstral 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 Cepstral 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.