Невозможно выполнить длинный синтез звука. Ни номер клиентского проекта: 863017906842, ни идентификатор: project-219819 Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно выполнить длинный синтез звука. Ни номер клиентского проекта: 863017906842, ни идентификатор: project-219819

Сообщение Anonymous »

Я пытаюсь создать длинный звук из текста с помощью API преобразования текста в речь Google, используя PHP-клиент google/cloud-text-to-speech.
Я создал учетную запись службы и предоставили ей разрешения в сегменте, как описано во всех двух ссылках
https://angnasution.com/2023/07/long-au ... to-speech/
https:// angnasution.com/2023/07/using-google-cloud-text-to-speech-api-with-python/
Я использую следующий PHP-код:
require_once 'vendor/autoload.php';
putenv('GOOGLE_APPLICATION_CREDENTIALS=C:\Users\Name\Projects\google-text-to-speech\project-219819-da3fdd6a76ad.json');

use Google\Cloud\TextToSpeech\V1\AudioConfig;
use Google\Cloud\TextToSpeech\V1\AudioEncoding;
use Google\Cloud\TextToSpeech\V1\Client\TextToSpeechLongAudioSynthesizeClient;
use Google\Cloud\TextToSpeech\V1\SsmlVoiceGender;
use Google\Cloud\TextToSpeech\V1\SynthesisInput;
use Google\Cloud\TextToSpeech\V1\SynthesizeLongAudioRequest;
use Google\Cloud\TextToSpeech\V1\VoiceSelectionParams;

try {

$client = new TextToSpeechLongAudioSynthesizeClient();

$synthesisInputText = (new SynthesisInput())
->setText('Hola, ¿cómo estás? gracias por venir.');

$voice = (new VoiceSelectionParams())
->setLanguageCode('es-ES')
->setName('es-ES-Standard-A')
->setSsmlGender(SsmlVoiceGender::FEMALE);

$effectsProfileId = 'handset-class-device';

$audioConfig = (new AudioConfig())
->setAudioEncoding(AudioEncoding::LINEAR16)
->setSpeakingRate(0.75)
->setEffectsProfileId(array($effectsProfileId));

$request = (new SynthesizeLongAudioRequest())
->setParent('projects/project/locations/global')
->setOutputGcsUri('gs://bucket/audios/ejemplo.mp3')
->setInput($synthesisInputText)
->setVoice($voice)
->setAudioConfig($audioConfig);
$response = $client->synthesizeLongAudio($request);
$audioContent = $response->getAudioContent();

file_put_contents('output-long.mp3', $audioContent);
echo '' . PHP_EOL;

$textToSpeechClient->close();
} catch(Exception $e) {
echo $e->getMessage();
}

Но когда я запускаю его, я получаю следующую ошибку

{ "message": "Невозможно выполнить длинный звук синтез. Ни номер клиентского проекта: 863009906802, ни идентификатор: project-219819 не соответствуют ресурсному проекту: Bucket", "code": 3, "status": "INVALID_ARGUMENT", "details": []

Есть идеи?
Спасибо
----------- - РЕШЕНИЕ ---------
Очень просто, необходимо указать идентификатор проекта, а не название :-(
->setParent('projects/project-219819/locations/global')


Подробнее здесь: https://stackoverflow.com/questions/792 ... mber-86301
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»