Google Cloud Console TTS. Prevod textu na reč cez API na Linuxe

Dnes | 22:14 | Blog | Slavomír

Nadväzujem na predchádzajúci článok o službách Google Cloud Console (odkaz tu).

Prečo sa zaoberať API keď existuje aj grafické rozhranie Vertex AI? Nevýhoda Vertex AI (odkaz tu) je to, že podporuje maximálne len 500 znakov čo je asi tak na štyri vety. Praktické využitie takmer žiadne.

Riešenie je API. Je navyše cenovo výhodné. 4 milióny znakov mesačne je zadarmo.

Je zaujímavé, že ja ako človek s minimálnymi programátorskými skúsenosťami / schopnosťami som zvládol API TTS relatívne ľahko. Veľkou pomocou mi bola zabudovaná AI, ktorá dobre pracuje aj v slovenčine.

Jedná sa o prácu v termináli. Ak sa vyskytnú akékoľvek chybové hlášky, treba ich poslať AI a tá sa opraví a pomôže s tým čo treba zmeniť. Umenie úspechu tiež spočíva v správne položených otázkach.

 

Obsah .json súboru. FLAC audio formát nepodporuje, tak som tam dal WAV formát. „LINEAR16“ je podkategória WAV

{

"parent": "projects/nazov_project_ID/locations/global",

"audioConfig": {

"audioEncoding": "LINEAR16",

"sampleRateHertz": 24000

},

"input": {

"text": "Tu vložte váš dlhý text, ktorý môže mať až do 1MB znakov. Toto API je určené pre dlhé texty, ktoré prekračujú 5000 bajtov. Výstupný súbor bude uložený priamo do Google Cloud Storage bucketu, ktorý ste si vytvorili."

},

"voice": {

"languageCode": "sk-SK",

"name": "sk-SK-Chirp3-HD-Alnilam",

"ssmlGender": "MALE"

},

"output_gcs_uri": "gs://nazov_bucketu/dlhy_text_chirp3-male.wav"

}

 

Do terminálu zadaný vstupný a výstupný .json súbor

curl -X POST \

-H "Authorization: Bearer $(gcloud auth print-access-token)" \

-H "Content-Type: application/json; charset=utf-8" \

-H "x-goog-user-project: nazov_project_ID" \

-d @request.json \

"https://texttospeech.googleapis.com/v1beta1/projects/nazov_project_ID/locations/global:synthesizeLongAudio" \

-o long_audio_response.json

Vyžiadanie zoznamu hlasov cez terminál

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \

-H "Content-Type: application/json; charset=utf-8" \

-H "x-goog-user-project: nazov_project_ID" \

"https://texttospeech.googleapis.com/v1/voices" \

-o voices.json

Prílohy