PHP Classes

How to Implement PHP Voice Chat System Using the Package TradutorX: Let users send voice requests to ChatGPT or Google

Recommend this page to a friend!
  Info   View files Example   View files View files (18)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog (1)    
Last Updated Ratings Unique User Downloads Download Rankings
2024-04-05 (14 days ago) RSS 2.0 feedNot enough user ratingsTotal: 39 This week: 2All time: 10,864 This week: 30Up
Version License PHP version Categories
tradutorx 1.0.1MIT/X Consortium ...5PHP 5, Web services, Artificial intel...
Description 

Author

This package allows users to send voice requests to ChatGPT or Google Translate.

It provides a Web page that lets users record voice requests sent to the Web server.

A PHP script handles the requests on the Web server side by forwarding them to ChatGPT or Google Translate and returning answers to the users as text and voice responses.

The package supports many user languages. The documentation is currently in Portuguese.

Picture of Rodrigo Faustino
  Performance   Level  
Name: Rodrigo Faustino <contact>
Classes: 16 packages by
Country: Brazil Brazil
Innovation award
Innovation award
Nominee: 12x

Winner: 1x

Example

<?php

require '../vendor/autoload.php';

use
App\gpt\ChatGPT;
use
App\google\GoogleTranslator;
use
App\helper\CurlHandler;
use
App\TranslationRouter;
use
App\CacheHandler;

require_once
__DIR__ . '/config/config.php';

$curlHandler = new CurlHandler();
$cache = new CacheHandler();
$chatGPT = new ChatGPT(OPENAI_API_KEY, $curlHandler, $cache );
$googleTranslator = new GoogleTranslator(API, $curlHandler, $cache );
$router = new TranslationRouter($chatGPT, $googleTranslator);

if (
$_SERVER['REQUEST_METHOD'] == 'POST') {
   
$postData = file_get_contents('php://input');
   
$data = json_decode($postData, true);

   
$text = $data['text'] ?? '';
   
$langDestino = $data['langDestino'] ?? 'en';
   
$useGPT = $data['useGPT'] ?? false;
   
$response = $router->translate($text, $langDestino, $useGPT);

    echo
json_encode($response);
} else {
   
header('HTTP/1.1 405 Method Not Allowed');
    exit;
}


Details

Documentação do Sistema de Tradução Avatar Falante

> [!NOTE] > ## Visão Geral > O sistema consiste em uma aplicação de tradução de voz com interface web que interage com um backend PHP. > O frontend captura áudio, o backend realiza traduções utilizando APIs de terceiros e retorna o texto traduzido, que é então falado pelo avatar na interface.

Frontend

> [!TIP] > ## Estrutura HTML > O arquivo index.html define a estrutura da página web. Contém botões para iniciar a captura de áudio, selecionar o idioma e exibir o avatar falante.

JavaScript

> [!IMPORTANT] > ### Classe AvatarTradutor: > Responsável pela captura de áudio, seleção de idioma, comunicação com o backend para tradução e animação do avatar. > Usa a Web Speech API para reconhecimento de voz e síntese de fala. > Interage com o backend para obter traduções. > ## Funcionalidades > Captura de áudio e exibição de transcrição. > Seleção de idioma de tradução e serviço de tradução. > Comunicação com o backend para obter traduções e armazenar em cache resultados para otimizar buscas iguais no mesmo idioma destino.

Backend (PHP)

> [!TIP] > ## Classes e Padrões de Design > CacheHandler: > > Gerencia o cache de traduções para evitar chamadas repetidas às APIs. > - Padrão: Repositório. > CurlHandler: > > Realiza as chamadas cURL para as APIs de tradução. > - Padrão: Fachada. > GoogleTranslator e ChatGPT: > > Realizam a tradução utilizando APIs específicas. > - Padrão: Estratégia. > TranslationRouter: > > Encaminha a solicitação de tradução para a API apropriada. > - Padrão: Fachada.

> [!IMPORTANT] > ## Funcionalidades > Tradução de texto usando Google Translate ou GPT-3. > Armazenamento de traduções em cache para melhor desempenho. > Flexibilidade para alterar a fonte da tradução. > Arquivo de Entrada (backend/index.php) > Ponto de entrada para solicitações de tradução do frontend. > Processa solicitações POST, extrai dados e utiliza TranslationRouter para obter traduções. > [!TIP] > ## Como Executar o Sistema > Carregue o index.html em um navegador para acessar a interface do usuário. > Fale no microfone para capturar áudio e obter a tradução. > A tradução será falada pelo avatar na interface. > ## Considerações Adicionais > O sistema requer um servidor PHP para o backend. > As APIs de tradução podem necessitar de chaves de API configuradas no config.php. arquivo backend\config\config.php

<?php
  define('API', 'AIza'); //google tradutor
  define('OPENAI_API_KEY', 'sk-*');//api openai

  Files folder image Files  
File Role Description
Files folder imagebackend (3 files, 3 directories)
Files folder imagecss (1 file)
Files folder imageimg (5 files)
Files folder imagejs (2 files)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file index.html Data Application page
Accessible without login Plain text file readme.md Doc. Documentation

  Files folder image Files  /  backend  
File Role Description
Files folder imagegoogle (1 file)
Files folder imagegpt (1 file)
Files folder imagehelper (1 file)
  Plain text file CacheHandler.php Class Class source
  Accessible without login Plain text file index.php Example Example script
  Plain text file TranslationRouter.php Class Class source

  Files folder image Files  /  backend  /  google  
File Role Description
  Plain text file GoogleTranslator.php Class Class source

  Files folder image Files  /  backend  /  gpt  
File Role Description
  Plain text file ChatGPT.php Class Class source

  Files folder image Files  /  backend  /  helper  
File Role Description
  Plain text file CurlHandler.php Class Class source

  Files folder image Files  /  css  
File Role Description
  Accessible without login Plain text file style.css Data Auxiliary data

  Files folder image Files  /  img  
File Role Description
  Accessible without login Image file brasil.png Icon Icon image
  Accessible without login Image file france.png Icon Icon image
  Accessible without login Plain text file sequenia.svg Data Auxiliary data
  Accessible without login Image file spain.png Icon Icon image
  Accessible without login Image file usa.png Icon Icon image

  Files folder image Files  /  js  
File Role Description
  Accessible without login Plain text file app.js Data Auxiliary data
  Accessible without login Plain text file AvatarTradutor.js Data Auxiliary data

 Version Control Unique User Downloads Download Rankings  
 100%
Total:39
This week:2
All time:10,864
This week:30Up