Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) IBM Cloud - Text to Speech - Synthesize Audio (GET)Synthesizes text to audio that is spoken in the specified voice. For more information, see https://cloud.ibm.com/apidocs/text-to-speech#synthesize-audio-get
#include <C_CkHttpW.h> #include <C_CkStringBuilderW.h> #include <C_CkBinDataW.h> void ChilkatSample(void) { HCkHttpW http; BOOL success; const wchar_t *myBaseUrl; HCkStringBuilderW sbUrl; int numReplaced; const wchar_t *textToSynthesize; HCkBinDataW bdResponseBody; int respStatusCode; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttpW_Create(); CkHttpW_putLogin(http,L"apikey"); CkHttpW_putPassword(http,L"my_apikey"); CkHttpW_putBasicAuth(http,TRUE); // Use your base URL shown in the credentials web page (below your apikey) myBaseUrl = L"https://api.us-south.text-to-speech.watson.cloud.ibm.com/instances/31941e96-7b89-4d56-8993-9cd8f18ec2d8"; sbUrl = CkStringBuilderW_Create(); CkStringBuilderW_Append(sbUrl,myBaseUrl); CkStringBuilderW_Append(sbUrl,L"/v1/synthesize?accept=ACCEPT_TYPE&voice=CHOSEN_VOICE&text=TEXT_TO_SYNTHESIZE"); // Choose "audio/wav" for the output file type. numReplaced = CkStringBuilderW_Replace(sbUrl,L"ACCEPT_TYPE",CkHttpW_urlEncode(http,L"audio/wav")); // See the choices for voices at https://cloud.ibm.com/apidocs/text-to-speech#synthesize-audio-get numReplaced = CkStringBuilderW_Replace(sbUrl,L"CHOSEN_VOICE",L"en-US_MichaelVoice"); textToSynthesize = L"When life gives you lemons, order the lobster tail."; numReplaced = CkStringBuilderW_Replace(sbUrl,L"TEXT_TO_SYNTHESIZE",CkHttpW_urlEncode(http,textToSynthesize)); // Send the GET to synthesize the voice. // The response file will be contained in bdResponseBody bdResponseBody = CkBinDataW_Create(); success = CkHttpW_QuickGetBd(http,CkStringBuilderW_getAsString(sbUrl),bdResponseBody); if (success == FALSE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkHttpW_Dispose(http); CkStringBuilderW_Dispose(sbUrl); CkBinDataW_Dispose(bdResponseBody); return; } respStatusCode = CkHttpW_getLastStatus(http); wprintf(L"response status code = %d\n",respStatusCode); if (respStatusCode == 200) { success = CkBinDataW_WriteFile(bdResponseBody,L"qa_output/lobster.wav"); wprintf(L"Success!\n"); } else { wprintf(L"%s\n",CkBinDataW_getString(bdResponseBody,L"utf-8")); } CkHttpW_Dispose(http); CkStringBuilderW_Dispose(sbUrl); CkBinDataW_Dispose(bdResponseBody); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.