При кодировании звука все работает нормально. является MP3, но при кодировке LINEAR16 объединение не работает. Аудио содержит только первую часть.
В документации сказано, что метод ->getAudioContent() возвращает аудио в кодировке bace64_encoded, но при использовании с php он не кодируется, а только аудиофайл. Вы можете увидеть, как это работает, в этом файле:
https://storage.googleapis.com/gspeech- ... c53c2d.mp3
Я предоставляю код, который делает основной материал. Есть идеи, как объединить аудиофайлы в кодировке LINEAR16 с помощью PHP?
Код: Выделить всё
...
use Google\Cloud\TextToSpeech\V1\AudioConfig;
use Google\Cloud\TextToSpeech\V1\AudioEncoding;
use Google\Cloud\TextToSpeech\V1\SsmlVoiceGender;
use Google\Cloud\TextToSpeech\V1\SynthesisInput;
use Google\Cloud\TextToSpeech\V1\TextToSpeechClient;
use Google\Cloud\TextToSpeech\V1\VoiceSelectionParams;
$client = new TextToSpeechClient();
$synthesisInputText = new SynthesisInput();
$audioConfig = new AudioConfig();
// $audioConfig->setAudioEncoding(AudioEncoding::MP3); works fine
$audioConfig->setAudioEncoding(AudioEncoding::LINEAR16);
$voice = new VoiceSelectionParams();
$voice->setLanguageCode('en-US');
$voice->setName('en-US-Neural2-A');
$media_total = '';
foreach($txt_array as $k => $txt) {
$synthesisInputText->setText($txt);
$response = $client->synthesizeSpeech($synthesisInputText, $voice, $audioConfig);
$media = $response->getAudioContent();
// $media = base64_encode($media); did not work
$media_total .= $media;
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... -files-php
Мобильная версия