/ibm-watson-tts-php

IBM Watson Text to Speech PHP Library to convert written text into natural-sounding audio in a variety of langauages and voices using IBM Watson Text to Speech Service

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

IBM Watson Text-To-Speech PHP Library

Convert written text into natural-sounding audio in a variety of languages and voices.
This package use IBM Watson Text To Speech service.


Using the Library

Installation

Intall library in PHP project using composer

composer require tbetool/ibm-watson-tts

Using Library

After installing the library, create WatsonTts object

$watson = new WatsonTts(
    'watson_username', 
    'watson_password', 
    'watson_url'
);

Watson username, password, url can be obtained by creating an instance of service. For more detail follow Getting Started Guide.

Setting output path

Set absolute path of the directory where to save the output. You don't need to provide a file name as it will be auto generated.

$path = '/aboslute/path/to/directory';

$watson->setOutputPath($path);

Convert Text to Speech

Pass text to convert to speech.

$file = $watson->tts('Hello World');

This will return the absolute path of the file created if text to speech conversion is successful, otherwise will throw Exception.


Exception handling

Every function throws an Exception in case of any error/issue. Bind the code block within try-catch block to catch any exception occurred.

Ex:

try {
    $watson->setAudioFormat('mp3');
} catch (Exception $exception) {
    echo $exception->getMessage();
}

will throw and exception Not a valid audio format. Allowed formats: wav, ogg as mp3 audio format is not supported as of now


Other callable methods

Set Audio Format
$watson->setAudioFormat('wav');

allowed formats: wav, ogg
default: wav

Set Language
$watson->setLanguage('en-US');

allowed languages: See List   default: en-US

Set Voice
$watson->setVoice('MichaelVoice');

allowed voices: See List
default: MichaelVoice


Supported language and voice list

list of supported language and voice strings

Name language voice gender description
es-LA_SofiaVoice es-LA SofiaVoice female Sofia: Latin American Spanish (español latinoamericano) female voice.
pt-BR_IsabelaVoice pt-BR IsabelaVoice female Isabela: Brazilian Portuguese (português brasileiro) female voice.
en-GB_KateVoice en-GB KateVoice female Kate: British English female voice.
de-DE_BirgitVoice de-DE BirgitVoice female Birgit: Standard German of Germany (Standarddeutsch) female voice.
en-US_AllisonVoice en-US AllisonVoice female Allison: American English female voice.
fr-FR_ReneeVoice fr-FR ReneeVoice female Renee: French (français) female voice.
it-IT_FrancescaVoice it-IT FrancescaVoice female Francesca: Italian (italiano) female voice.
es-ES_LauraVoice es-ES LauraVoice female Laura: Castilian Spanish (español castellano) female voice.
ja-JP_EmiVoice ja-JP EmiVoice female Emi: Japanese (日本語) female voice.
es-ES_EnriqueVoice es-ES EnriqueVoice male Enrique: Castilian Spanish (español castellano) male voice.
de-DE_DieterVoice de-DE DieterVoice male Dieter: Standard German of Germany (Standarddeutsch) male voice.
en-US_LisaVoice en-US LisaVoice female Lisa: American English female voice.
en-US_MichaelVoice en-US MichaelVoice male Michael: American English male voice.
es-US_SofiaVoice es-US SofiaVoice female Sofia: North American Spanish (español norteamericano) female voice.

Bug Reporting

If you found any bug, create an issue.


Support and Contribution

Something is missing?

  • Fork the repositroy
  • Make your contribution
  • make a pull request