Reproduzir a função de conversão de texto em fala durante uma ligação

Este trecho de código reproduz uma mensagem de conversão de texto em fala na chamada especificada.

Exemplo

Substitua as seguintes variáveis no código de exemplo:

ChaveDescrição
VOICE_CALL_ID

The UUID of the call leg.

VOICE_TEXT

The text of the message to play into the call.

VOICE_LANGUAGE

Language to use for the speech - see Supported Languages.

Pré-requisitos

Execute o seguinte comando no prompt do terminal para criar o arquivo ` JWT ` para autenticação:

export JWT=$(nexmo jwt:generate $PATH_TO_PRIVATE_KEY application_id=$NEXMO_APPLICATION_ID)

Escreva o código

Adicione o seguinte ao arquivo ` play-tts-into-a-call.sh`:

curl -X PUT https://api.nexmo.com/v1/calls/$VOICE_CALL_ID/talk\
  -H "Authorization: Bearer $JWT"\
  -H "Content-Type: application/json"\
  -d '{"text": "'"$VOICE_TEXT"'", "language": "'"$VOICE_LANGUAGE"'"}'

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

bash play-tts-into-a-call.sh

Pré-requisitos

npm install @vonage/server-sdk

Crie um arquivo chamado ` play-tts-into-a-call.js ` e insira o seguinte código:

const { Vonage } = require('@vonage/server-sdk');

const vonage = new Vonage({
  applicationId: VONAGE_APPLICATION_ID,
  privateKey: VONAGE_PRIVATE_KEY,
});

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` play-tts-into-a-call.js`:

vonage.voice.playTTS(
  VOICE_CALL_ID,
  {
    action: 'talk',
    text: VOICE_TEXT,
    language: 'en-US',
  })
  .then((resp) => console.log(resp))
  .catch((error) => console.error(error));

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

node play-tts-into-a-call.js

Pré-requisitos

Adicione o seguinte ao arquivo ` build.gradle`:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Crie um arquivo chamado ` PlayTextToSpeechIntoCall ` e adicione o código a seguir ao método ` main `:

val client = Vonage {
    applicationId(VONAGE_APPLICATION_ID)
    privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` PlayTextToSpeechIntoCall `:

val response = client.voice.call(VOICE_CALL_ID).startTalk(VOICE_TEXT) {
    language(VOICE_LANGUAGE)
}

Ver código-fonte completo

Execute seu código

Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.kt.voice ` pelo pacote que contém ` PlayTextToSpeechIntoCall`:

gradle run -Pmain=com.vonage.quickstart.kt.voice.PlayTextToSpeechIntoCall

Pré-requisitos

Adicione o seguinte ao arquivo ` build.gradle`:

implementation 'com.vonage:server-sdk:9.3.1'

Crie um arquivo chamado ` SendTalkToCall ` e adicione o código a seguir ao método ` main `:

VonageClient client = VonageClient.builder()
        .applicationId(VONAGE_APPLICATION_ID)
        .privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
        .build();

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` SendTalkToCall `:

var payload = TalkPayload.builder(VOICE_TEXT).language(VOICE_LANGUAGE).build();
client.getVoiceClient().startTalk(VOICE_CALL_ID, payload);

Ver código-fonte completo

Execute seu código

Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.voice ` pelo pacote que contém ` SendTalkToCall`:

gradle run -Pmain=com.vonage.quickstart.voice.SendTalkToCall

Pré-requisitos

Install-Package Vonage

Escreva o código

Adicione o seguinte ao arquivo ` PlayTextToSpeech.cs`:

var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);

var command = new TalkCommand() { Text = VOICE_TEXT, Language = "en-US"};

var response = await client.VoiceClient.StartTalkAsync(VOICE_CALL_ID, command);

Ver código-fonte completo

Pré-requisitos

composer require vonage/client

Escreva o código

Adicione o seguinte ao arquivo ` index.php`:

require_once __DIR__ . '/../../vendor/autoload.php';

$keypair = new \Vonage\Client\Credentials\Keypair(file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH), VONAGE_APPLICATION_ID);
$client = new \Vonage\Client($keypair);
$action = new \Vonage\Voice\NCCO\Action\Talk(TEXT);
$action->setLanguage('en-US');

$client->voice()->playTTS(
    UUID,
    $action
);

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

php index.php

Pré-requisitos

pip install vonage python-dotenv

Escreva o código

Adicione o seguinte ao arquivo ` play-tts-into-call.py`:

from vonage import Auth, Vonage
from vonage_voice import CallMessage, TtsStreamOptions

client = Vonage(
    Auth(
        application_id=VONAGE_APPLICATION_ID,
        private_key=VONAGE_PRIVATE_KEY,
    )
)

response: CallMessage = client.voice.play_tts_into_call(
    uuid=VOICE_CALL_ID,
    tts_options=TtsStreamOptions(text=VOICE_TEXT, language=VOICE_LANGUAGE),
)

pprint(response)

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

python voice/play-tts-into-call.py

Pré-requisitos

gem install sinatra sinatra-contrib

Escreva o código

Adicione o seguinte ao arquivo ` play-text-to-speech-into-a-call.rb`:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: VONAGE_PRIVATE_KEY
)

response = client.voice.talk.start(VOICE_CALL_ID, text: VOICE_TEXT, language: VOICE_LANGUAGE)

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

ruby play-text-to-speech-into-a-call.rb

Experimente

Ao executar o código, uma mensagem de conversão de texto em fala é reproduzida na chamada identificada pelo UUID especificado.

Leitura complementar

  • Teleconferência - Este guia explica os dois Concepts que a Vonage associa a uma chamada: “leg” e “conversação”.