A generatív MI és a mesterséges intelligencia rengeteget fejlődött. A szövegfelolvasás viszont régebbi technológia, már jó ideje elérhető. Most ezt bontom ki, több nézőpontból is bemutatom. Akár kezdő, akár profi vagy, ez segít átlátni a Google Text to Speech API működését.
Mielőtt belevágnánk, tisztázzuk az alapfogalmakat, hogy biztos lábakon álljunk.
Szétválasztjuk a két technológiát: a szövegfelolvasást és az API-kat, és megnézzük, mi a Google Cloud szerepe az egészben.
Szerkesztői megjegyzés: A lehető legjobb szövegfelolvasó API-t keresed? Próbáld ki a Speechify jól dokumentált, könnyen használható text to speech API-ját.
Szövegfelolvasás
Sokat írtam erről a témáról, elolvashatod a Mi az a szövegfelolvasás című blogomat, és megnézheted a beszédszintézisről szóló írásomat is. Ezek mélyebben belemennek a témába, de most pár mondatban összefoglalom.
A szövegfelolvasás beszédszintézis-technológiát használ arra, hogy a szövegeket mesterséges hangokká alakítsa. Számos felhasználási területe van – segíti a diszlexiásokat, a gyengénlátókat, és hatékonyabbá teszi a munkát.
API
Az API az Application Programming Interface rövidítése, magyarul alkalmazásprogramozási felület. Röviden: összeköt két alkalmazást. Ha például hangos tartalommal dolgozó appot fejlesztesz, amelynek szövegfelolvasó funkció is kell, ezt megépítheted te is, vagy rácsatlakozhatsz egy meglévő szövegfelolvasó API-ra, mint például a text to speech API.
Te az appodra koncentrálhatsz, miközben a szövegfelolvasást egy API intézi, így gyakorlatilag be tudod „húzni” ezt a funkciót.
Google Cloud API
Itt jön képbe a Google Cloud. A Google fejlesztett egy szövegfelolvasó API-t, amelyet többféle árszabással kínál fejlesztőknek. Ha kifejezetten olyan saját appot vagy webappot szeretnél készíteni, amely szövegfelolvasó funkcióra épít, ezt könnyen elérheted a Google TTS szolgáltatásával (a TTS a text to speech rövidítése).
Gyors kezdőt találsz a Google Cloud Console oldalon: https://cloud.google.com/. Itt éred el az oktatóanyagokat, a fiókkezelést, a wavenet hangokat és sok minden mást.
A Google Cloud maga egy felhőplatform, amely számos moduláris szolgáltatást kínál. Egyet vagy akár többet is használhatsz közülük. Ehhez minden API-hoz hitelesítő kulcsot kell létrehoznod. A legtöbb szolgáltatás fizetős, de néhányhoz jár ingyenes keret is.
A Google 2014-ben vásárolta fel a DeepMindot a szövegfelolvasási technológiáért és a neurális hálózat-fejlesztésért. Ha DeepMind nevet látsz, az ma már Google DeepMind – ugyanaz a cég.
Most, hogy ezeket tisztáztuk, nézzük meg közelebbről a Google Cloud Text to Speech API-t.
A Google Text to Speech API jellemzői
A Google globális technológiai éllovas. A TTS API esetében világszínvonalú, folyamatosan fejlődő funkciókra számíthatsz.
Nagy hűségű hangzás
A Google szövegfelolvasó hangjai a legjobbak közé tartoznak. Szinte emberi hangzásúak, természetes intonációval. Jelenleg azok vezetnek, akik a legélethűbb hangzást hozzák.
Hangválaszték
A Google szerint náluk található az egyik legszélesebb hangválaszték, így a projekted nem lesz ugyanolyan, mint a többi, vagy épp a konkurenseké.
Saját hang létrehozása
Ez már a hangmásolás technológiájához tartozik. Felveheted a saját hangod vagy másét (engedéllyel), és ezzel a mintával bármilyen szöveget felolvastathatsz.
Neurális hangok
A neurális hangminőség a kínálat csúcsa. Ezeket is nemzetköziesítheted, ha külföldi közönséget is megcéloznál.
Stúdió hangok
A stúdió hangok csúcsminőségűek, mintha profi stúdióban vették volna fel őket – rendkívül professzionálisak.
Hanghangolás
Válassz hangot, majd állítsd a sebességet, a magasságot és más jellemzőket – így teljesen a saját ízlésedre szabhatod a hangstílust.
Mennyibe kerül a Google Text to Speech API?
Az ár a minőségtől és a szöveg hosszától függ. Minél természetesebb a hang, annál többe kerül, de még a legjobb hangok is viszonylag olcsók.
| Hang típusa | Ingyenes/hó | Ingyenes keret után |
| Neural2 hangok | 0–1 millió bájt | 16 USD/millió bájt |
| Polyglot hangok | 0–1 millió bájt | 16 USD/millió bájt |
| Stúdió hangok | 0–100 000 bájt | 160 USD/millió bájt |
| Standard hangok | 0–4 millió karakter | 4 USD/millió karakter |
| Wavenet hangok | 0–1 millió karakter | 16 USD/millió karakter |
Mi a különbség a karakterek és a bájtok között?
Ahogy látható, az ár attól is függ, mennyire jó minőségű hangot választasz. A hangkódolás és feldolgozás eltér a különböző szinteken. Az olcsóbb, például Standard Voice-oknál karakter alapon számolnak árat.
Ez azt jelenti, hogy ha a projekted 4 millió karakterből áll, 16 dollárba kerül ezek felolvasása standard hanggal.
A stúdió hangok használata viszont nagyobb teljesítményt igényel, itt bájt alapon számolnak. Egyes nyelvekben, például japánban, egy karakter akár több bájtból is állhat.
A pontos árazáshoz fontos tudni, milyen nyelven dolgozol, átlagosan hány bájt jut egy karakterre, hogy tudd, mire számíthatsz költségben.
Hogyan állítsd be a Google Cloud Platform Text to Speech API-t?
- Készíts Google Cloud-fiókot, vagy jelentkezz be itt
- Hozz létre új projektet, és adj neki nevet.
- Adj hozzá számlázási módot. Csak a tényleges használatért fizetsz.
- Válaszd ki a projekted, és társítsd a számlával.
- Aktiváld a Text-to-Speech API-t. Használd a keresősávot, írd be: „speech”.
- Válaszd ki a Cloud Text-to-Speech API-t.
- Állítsd be a hitelesítést. Útmutatóhoz keresd: Set up authentication for Text-to-Speech.
Ki is próbálhatod a Text-to-Speech API-t projekt létrehozása nélkül:
- Válaszd a TRY THIS API lehetőséget.
- A Text-to-Speech API bekapcsolásához kattints az ENABLE gombra.
Nézd meg a Google Cloud dokumentációt további segítségért.
Hogyan lehet kikapcsolni a Text to Speech API-t?
A Text-to-Speech API letiltásához nyisd meg a Google Cloud Platform irányítópultot, kattints az „APIs overview” linkre az APIs dobozban, keresd meg a Text-to-Speech API-t, kattints rá, majd fent válaszd a „DISABLE API” gombot.
Kezdd el a Google Text to Speech API-val
Ha már beállítottad a projekted, akár parancssorból is nekiláthatsz a használatának.
gcloud initHozz létre helyi hitelesítést
gcloud auth application-default loginMost telepítheted a klienskönyvtárat. Példaként a Node.js-t mutatom.
npm install --save @google-cloud/text-to-speechA Google Cloud Text to Speech API ezeket a nyelveket támogatja:
- Go
- Java
- Node.js
- C++
- C#
- PHP
- Python
- Ruby
- TypeScript
- Terraform
- YAML
Hogyan működik a Google Cloud API?
Minden egy egyszerű API-hívással indul. Elküldöd a szöveget, és visszakapod a felolvasott hangfájlt. A kérésben megadhatod a hangot, a nyelvet és sok egyéb beállítást, majd a szövegfelolvasó API visszaküldi neked a kész hangfájlt.
A szövegfelolvasó klienskönyvtárak telepítéséről és használatáról itt találsz részletes leírást. A példák Node.js-ben lesznek, de használhatsz más nyelvet is, például Pythont vagy PHP-t.
const textToSpeech = require('@google-cloud/text-to-speech');
const fs = require('fs');
const util = require('util');
const client = new textToSpeech.TextToSpeechClient();
/**
* TODO(developer): Uncomment the following lines before running the sample.
*/
// const text = 'Text to synthesize, eg. hello';
// const outputFile = 'Local path to save audio file to, e.g. output.mp3';
const request = {
input: {text: text},
voice: {languageCode: 'en-US', ssmlGender: 'FEMALE'},
audioConfig: {audioEncoding: 'MP3'},
};
const [response] = await client.synthesizeSpeech(request);
const writeFile = util.promisify(fs.writeFile);
await writeFile(outputFile, response.audioContent, 'binary');
console.log(`Audio content written to file: ${outputFile}`);Ennyi! Beállítottad a Google Cloud Text to Speech API-t, és elküldted az első kérésed. A hangfájlt több formátumban is visszakapod, például OGG vagy MP3 formában.
Néhány tipp a Google Text to Speech API használatához
A Google Text to Speech (TTS) API sok területen kínál rugalmas megoldást. Néhány tipikus felhasználás:
- Szövegfelolvasás látássérülteknek: Alkalmazásokban az írott tartalom hangzóvá tétele, hogy digitális információt látássérült felhasználók is elérhessék.
- Automatizált telefonrendszerek: Természetes hangú üzenetek készítése ügyfélszolgálati rendszerekhez.
- Médiatartalom hangalámondás: Élethű felolvasók videókhoz, podcastekhez, multimédiás tartalmakhoz.
- Szövegfelolvasás fordított tartalmakhoz: Fordított szövegek hangosítása, nyelvtanulás és nemzetközi kommunikáció támogatására.
- Olvasássegítés diszlexiásoknak: TTS-funkciós alkalmazások olvasási nehézséggel élők támogatására.
- Hangos navigáció alkalmazásokban: Navigációs appoknál hangos útbaigazítás.
- Oktatási tartalom szövegfelolvasás: E-learning szövegek felolvasása a könnyebb megértés és jobb bevonódás érdekében.
- Produktivitási appokban beszédszintézis: TTS beépítése jegyzetelő, feladatkezelő appokba – hangos visszajelzéshez vagy információhoz.
- Természetes hangú virtuális asszisztensek: Virtuális asszisztensek fejlesztése beszédszintetizált, természetes hanggal.
- Hangos értesítések, figyelmeztetések: TTS-alapú értesítések IoT-eszközökön, a jobb felhasználói élményért.
Legjobb alternatívák a Google Cloud TTS API-ra
Tudomásom szerint 2022 januárjában több alternatíva is elérhető volt a Google Text to Speech API mellett. A szolgáltatások népszerűsége és tudása azóta változhatott. Íme néhány ismert alternatíva:
- Speechify Text to Speech API: A Speechify Text to Speech API több mint 1 000 élethű, érzelmes MI hangot kínál 60+ nyelven, regionális dialektusokkal. Nézd meg most.
- Amazon Polly: Az Amazon Web Services (AWS) szolgáltatása, természetes beszédszintézissel, több nyelven és hangon, jól integrálható az AWS ökoszisztémával.
- Microsoft Azure Speech Service: Az Azure Speech Service tartalmaz szövegfelolvasást, számos alkalmazáshoz alkalmas – például asszisztensekhez, navigációhoz.
- IBM Watson Text to Speech: Az IBM Watson Text to Speech szolgáltatása természetes hangokat kínál különböző hangstílusokkal.
- Nuance Communications: A Nuance beszéd- és hangfelismerő megoldásokat kínál, többek között szövegfelolvasást is, például egészségügyben, autóiparban, ügyfélszolgálatban.
- CereProc: A CereProc szövegfelolvasó cég kiváló minőségű szintetikus hangokat kínál (akadálymentesítéshez, szórakoztatáshoz stb.).
- iSpeech: Az iSpeech felhőalapú szövegfelolvasást biztosít sok nyelven – appokhoz, weboldalakhoz is alkalmas.
- ResponsiveVoice: A ResponsiveVoice egy egyszerű, olcsó szövegfelolvasó API, amely sok nyelvet támogat, webes alkalmazásokhoz ideális.
- Neospeech: A Neospeech szövegfelolvasó megoldásai természetes hangokat kínálnak, főként e-learningre és szórakoztatásra.
- ReadSpeaker: A ReadSpeaker online és offline szövegfelolvasó megoldásokat szállít (weboldalakhoz, e-learninghez, akadálymentesítéshez).
- Acapelabox: Az Acapela Group felhőalapú szövegfelolvasó API-t kínál több nyelvhez – iparágak széles körében.
GYIK
A Google több hangkategóriát is kínál, és szinte mindegyikhez tartozik ingyenes keret. Példa: az alap hangok 1 millió bájtig ingyenesek, utána 16 dollár/millió bájt. Tehát egy bizonyos karakter-/bájt mennyiségig díjmentes.
Létre kell hozni egy fiókot a https://cloud.google.com/text-to-speech/ oldalon, és ott követni a lépéseket. A blogban is részletesen összefoglaltam.
A Google Cloud-fiókba belépve hozz létre egy projektet, majd ott generálhatsz API-kulcsot.
A Google szövegfelolvasó API URL-je: https://cloud.google.com/text-to-speech/
Valójában nincs egyetlen egységes próbaidőszak a Google Cloudhoz. Többféle szolgáltatás létezik, mindegyiknek mások a feltételei és az ingyenes keretei.
Nem, a Google Cloud szövegfelolvasó API használatához internetkapcsolat szükséges.
A Google Cloud szolgáltatások (például a Text to Speech API) hitelesítése API-kulccsal, OAuth 2.0-val vagy szolgáltatásfiókkal történhet. Az alkalmazás típusától függ, melyik megoldás a legjobb.
5 csillagra értékelem. Könnyen használható, a kereső funkciója remek, és az árképzés is korrekt. Összességében nagyon jó termék.
A Google Text to Speech API klienskönyvtárakat kínál több nyelvhez, például Pythonhoz. Emellett támogatja a REST API-t is, így bármilyen nyelvvel használható, amely tud HTTP-kérést küldeni.
Android appba való integrációhoz a TextToSpeech osztályt és API-kérést kell használnod. Részletes útmutató az Android fejlesztői dokumentációban található.
JavaScript alkalmazásban HTTP-kéréssel csatlakozhatsz az API végpontjához. Az API-kérést és a választ a kódban kell lekezelni. Részletek a hivatalos dokumentációban.

