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

Last reviewed: 7/8/2022

HOW Article ID: H072209

The information in this article applies to:

  • LexiconKit 8
  • SpeechKit 11
  • VoiceMarkupKit 8

Summary

Explore ways to do more with Acapela Speech Technology.

More Information

Chant Developer Workbench 2022 includes LexiconKit to manage 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 Acapela pronunciations, speech synthesis, and Speech Synthesis Markup Language (SSML).

Develop applications that do more with Acapela Speech Technology

Edit pronunciation phonemes with LexiconKit to use with markup tags for Acapela voices.


// Instantiate LexiconKit
NLexiconKit _LexiconKit = new NLexiconKit();
// Set credentials
_LexiconKit.SetCredentials("Credentials");
// Create synthesizer
NAcaTTSSynthesizer _Synthesizer = _LexiconKit.CreateAcaTTSSynthesizer();

// Speak phonemes
_Synthesizer.SpeakPhonemes("h e l @U1");

// Instantiate LexiconKit object
CLexiconKit* _LexiconKit = new CLexiconKit();
// Set credentials
_LexiconKit->SetCredentials(L"Credentials");
// Create synthesizer
CAcaTTSSynthesizer* _Synthesizer = _LexiconKit->CreateAcaTTSSynthesizer();

// Speak phonemes
_Synthesizer->SpeakPhonemes(L"h e l @U1");

// Instantiate LexiconKit
CLexiconKit* _LexiconKit = new CLexiconKit();
// Set credentials
_LexiconKit->SetCredentials("Credentials");
// Create synthesizer
CAcaTTSSynthesizer* _Synthesizer = _LexiconKit->CreateAcaTTSSynthesizer();

// Speak phonemes
_Synthesizer->SpeakPhonemes("h e l @U1");

var 
    _LexiconKit: TLexiconKit;
    _Synthesizer: TAcaTTSSynthesizer;
    _Phonemes: string;
begin
    // Instantiate LexiconKit
    _LexiconKit := TLexiconKit.Create();
    // Set credentials
    _LexiconKit.SetCredentials('Credentials');
    // Create synthesizer
    _Synthesizer := _LexiconKit.CreateAcaTTSSynthesizer();

    // Speak phonemes
    _Synthesizer.SpeakPhonemes('h e l @U1');

// Instantiate LexiconKit
JLexiconKit _LexiconKit = new JLexiconKit();
// Set credentials
_LexiconKit.setCredentials("Credentials");
// Create synthesizer
JAcaTTSSynthesizer _Synthesizer = _LexiconKit.createAcaTTSSynthesizer();

// Speak phonemes
_Synthesizer.speakPhonemes("h e l @U1");

Dim _LexiconKit As NLexiconKit
Dim WithEvents _Synthesizer As NAcaTTSSynthesizer
Dim _Phonemes As String
' Instantiate LexiconKit
_LexiconKit = New NLexiconKit()
' Set credentials
_LexiconKit.SetCredentials("Credentials")
' Create synthesizer
_Synthesizer = _LexiconKit.CreateAcaTTSSynthesizer()

' Speak phonemes
_Synthesizer.SpeakPhonemes("h e l @U1")

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
NAcaTTSSynthesizer _Synthesizer = _SpeechKit.CreateAcaTTSSynthesizer();

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

// Synthesize speech to file
_Synthesizer.Speak("Hello world.", (int)ACATTSSPEAKFLAGS.ACATTS_ASYNC, "myaudio.wav", (int)ACATTSWAVFORMATFLAGS.ACATTS_FORMAT_PCM);

// Instantiate SpeechKit
CSpeechKit* _SpeechKit = new CSpeechKit();
// Set credentials
_SpeechKit->SetCredentials(L"Credentials");
// Create synthesizer
CAcaTTSSynthesizer* _Synthesizer = _SpeechKit->CreateAcaTTSSynthesizer();

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

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

// Instantiate SpeechKit
CSpeechKit* _SpeechKit = new CSpeechKit();
// Set credentials
_SpeechKit->SetCredentials("Credentials");
// Create synthesizer
CAcaTTSSynthesizer* _Synthesizer = _SpeechKit->CreateAcaTTSSynthesizer();

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

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

var 
    _SpeechKit: TSpeechKit;
    _Synthesizer: TAcaTTSSynthesizer;
    _Phonemes: string;
begin
    // Instantiate SpeechKit
    _SpeechKit := TSpeechKit.Create();
    // Set credentials
    _SpeechKit.SetCredentials('Credentials');
    // Create synthesizer
    _Synthesizer := _SpeechKit.CreateAcaTTSSynthesizer();

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

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

// Instantiate SpeechKit
JSpeechKit _SpeechKit = new JSpeechKit();
// Set credentials
_SpeechKit.setCredentials("Credentials");
// Create synthesizer
JAcaTTSSynthesizer _Synthesizer = _SpeechKit.createAcaTTSSynthesizer();

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

// Synthesize speech to file
_Synthesizer.speak("Hello world.", ACATTSSPEAKFLAGS.ACATTS_ASYNC, "myaudio.wav", ACATTSWAVFORMATFLAGS.ACATTS_FORMAT_PCM);

Dim _SpeechKit As NSpeechKit
Dim WithEvents _Synthesizer As NAcaTTSSynthesizer
' Instantiate SpeechKit
_SpeechKit = New NSpeechKit()
' Set credentials
_SpeechKit.SetCredentials("Credentials")
' Create synthesizer
_Synthesizer = _SpeechKit.CreateAcaTTSSynthesizer()

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

' Synthesize speech to file
_Synthesizer.Speak("Hello world.", ACATTSSPEAKFLAGS.ACATTS_ASYNC, "myaudio.wav", ACATTSWAVFORMATFLAGS.ACATTS_FORMAT_PCM )

Generate AcaTTS Tags with VoiceMarkupKit to tailor speech synthesis.


NVoiceMarkupKit _VoiceMarkupKit = new NVoiceMarkupKit();
_VoiceMarkupKit.SetCredentials("Credentials");
NAcaTTSVoiceMarkup _AcaTTSVoiceMarkup = _VoiceMarkupKit.CreateAcaTTSVoiceMarkup();

string markup = _AcaTTSVoiceMarkup.GenerateMarkup("Rate", "150", "This text is spoken above the baseline at rate");

CVoiceMarkupKit* _VoiceMarkupKit = new CVoiceMarkupKit();
_VoiceMarkupKit->SetCredentials("Credentials");
CAcaTTSVoiceMarkup* _AcaTTSVoiceMarkup = _VoiceMarkupKit->CreateAcaTTSVoiceMarkup();

wchar_t* markup = _AcaTTSVoiceMarkup->GenerateMarkup(L"Rate", L"150", L"This text is spoken above the baseline at rate");

CVoiceMarkupKit* _VoiceMarkupKit = new CVoiceMarkupKit();
_VoiceMarkupKit->SetCredentials("Credentials");
CAcaTTSVoiceMarkup* _AcaTTSVoiceMarkup = _VoiceMarkupKit->CreateAcaTTSVoiceMarkup();

string markup = _AcaTTSVoiceMarkup->GenerateMarkup("Rate", "150", "This text is spoken above the baseline at rate");

var 
    _VoiceMarkupKit: TVoiceMarkupKit;
    _AcaTTSVoiceMarkup: TAcaTTSVoiceMarkup;
    markup: string;  
begin       
    _VoiceMarkupKit := TVoiceMarkupKit.Create();  
    _VoiceMarkupKit.SetCredentials('Credentials');  
    _AcaTTSVoiceMarkup := _VoiceMarkupKit.CreateAcaTTSVoiceMarkup();   

    markup = _AcaTTSVoiceMarkup.GenerateMarkup('Rate', '150', 'This text is spoken above the baseline at rate');

JVoiceMarkupKit _VoiceMarkupKit = new JVoiceMarkupKit();
_VoiceMarkupKit.setCredentials("Credentials");
JAcaTTSVoiceMarkup _AcaTTSVoiceMarkup = _VoiceMarkupKit.createAcaTTSVoiceMarkup();

String markup = _AcaTTSVoiceMarkup.generateMarkup("Rate", "150", "This text is spoken above the baseline at rate");

Dim _VoiceMarkupKit As NVoiceMarkupKit = Nothing
Dim _AcaTTSVoiceMarkup As NAcaTTSVoiceMarkup = Nothing
Dim markup as String
_VoiceMarkupKit = New NVoiceMarkupKit()
_VoiceMarkupKit.SetCredentials("Credentials")
_AcaTTSVoiceMarkup = _VoiceMarkupKit.CreateAcaTTSVoiceMarkup()

markup = _AcaTTSVoiceMarkup.GenerateMarkup("Rate", "150", "This text is spoken above the baseline at rate")

Develop and test applications that do more with Acapela Speech Technology

Developers use Chant Developer Workbench with LexiconKit to manage pronunciations, 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 Acapela 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 Tags with Acapela voices.

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