Я создал учетную запись службы и предоставили ей разрешения в сегменте, как описано во всех двух ссылках
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 не соответствуют проекту ресурса: ведро", "код": 3, "статус": "INVALID_ARGUMENT", "подробности": []
Есть идеи?
Подробнее здесь: https://stackoverflow.com/questions/792 ... mber-86301
Мобильная версия