Amazon Polly on palvelu, joka muuttaa tekstin eläväksi puheeksi. Se mahdollistaa kokonaisen luokan sovellusten kehittämisen, jotka voivat muuntaa tekstin puheeksi useilla kielillä.
Chatbotit, äänikirjat ja muut tekstistä puheeksi -sovellukset voivat käyttää tätä palvelua yhdessä muiden AWS AI- tai koneoppimispalvelujen kanssa. Esimerkiksi, Amazon-Lex ja Amazon Polly voidaan yhdistää chatbotiksi, joka osallistuu kaksisuuntaiseen keskusteluun käyttäjän kanssa ja suorittaa tiettyjä tehtäviä käyttäjän komentojen perusteella. Amazonin transkriptio, Amazon Käännä, ja Amazon Polly voidaan yhdistää puheen litteroimiseksi tekstiksi lähdekielellä, kääntämiseksi toiselle kielelle ja puhumiseksi.
Tässä viestissä esittelemme mielenkiintoisen lähestymistavan tekstin korostamiseen, kun se puhutaan Amazon Pollylla. Tätä ratkaisua voidaan käyttää monissa tekstistä puheeksi -sovelluksissa seuraaviin tehtäviin:
- Lisää visuaalisia ominaisuuksia kirjojen, verkkosivustojen ja blogien ääneen
- Lisää ymmärrystä, kun asiakkaat yrittävät ymmärtää tekstiä nopeasti, kun se puhutaan
Ratkaisumme antaa asiakkaalle (tässä esimerkissä selaimelle) mahdollisuuden tietää, mitä tekstiä (sanaa tai lausetta) Amazon Polly puhuu milloin tahansa. Tämä mahdollistaa sen, että asiakas voi dynaamisesti korostaa tekstiä, kun se puhutaan. Tällainen ominaisuus on hyödyllinen visuaalisen avun tarjoamiseksi puheelle aiemmin mainituissa käyttötapauksissa.
Ratkaisuamme voidaan laajentaa suorittamaan muitakin tehtäviä tekstin korostamisen lisäksi. Selain voi esimerkiksi näyttää kuvia, toistaa musiikkia tai tehdä muita animaatioita käyttöliittymässä, kun tekstiä puhutaan. Tämä ominaisuus on hyödyllinen luotaessa dynaamisia äänikirjoja, koulutussisältöä ja monipuolisempia tekstistä puheeksi -sovelluksia.
Ratkaisun yleiskatsaus
Ratkaisun ytimessä käytetään Amazon Pollya muuttamaan tekstijono puheeksi. Teksti voidaan syöttää selaimesta tai API-kutsun kautta ratkaisumme paljastamaan päätepisteeseen. Amazon Pollyn tuottama puhe tallennetaan äänitiedostona (MP3-muodossa) Amazonin yksinkertainen tallennuspalvelu (Amazon S3)-kauha.
Pelkän äänitiedoston avulla selain ei kuitenkaan löydä, mitä tekstin osia puhutaan hetkessä, koska meillä ei ole tarkkoja tietoja siitä, milloin jokainen sana puhutaan.
Amazon Polly tarjoaa tavan saada tämä puhemerkkien avulla. Puhemerkit tallennetaan tekstitiedostoon, joka näyttää ajan (mitattu millisekunteina äänen alusta), jolloin kukin sana tai lause puhutaan.
Amazon Polly palauttaa puhemerkkiobjektit rivierotetussa JSON-virrassa. Puhemerkkiobjekti sisältää seuraavat kentät:
- Aika: – Aikaleima millisekunteina vastaavan äänivirran alusta
- Tyyppi – Puhemerkin tyyppi (lause, sana, viseemi tai SSML)
- Aloita – Syöttötekstin objektin alun siirtymä tavuina (ei merkkeinä) (ei sisällä viseemimerkkejä)
- pää – Objektin lopun siirtymä tavuina (ei merkkeinä) syöttötekstissä (ei sisällä viseemiä)
- Arvo – Tämä vaihtelee puhemerkin tyypin mukaan:
- SSML – SSML-tunniste
- Viseme – Viseemin nimi
- Sana tai tuomita – Syötetyn tekstin osamerkkijono, joka on rajattu alku- ja loppukentillä
Esimerkiksi lause "Marylla oli pieni lammas" voi antaa sinulle seuraavan puhemerkkitiedoston, jos käytät sitä SpeechMarkTypes
= ["sana", "lause"] API-kutsussa puhemerkkien saamiseksi:
Sana "had" (rivin 3 lopussa) alkaa 373 millisekuntia äänivirran alkamisen jälkeen, alkaa tavusta 5 ja päättyy syöttötekstin tavuun 8.
Arkkitehtuurin yleiskatsaus
Ratkaisumme arkkitehtuuri on esitetty seuraavassa kaaviossa.
Ratkaisun verkkosivustomme on tallennettu Amazon S3:lle staattisina tiedostoina (JavaScript, HTML), joita isännöidään Amazon CloudFront (1) ja toimitetaan loppukäyttäjän selaimeen (2).
Kun käyttäjä kirjoittaa tekstiä selaimeen yksinkertaisen HTML-lomakkeen kautta, se käsitellään selaimen JavaScriptillä. Tämä kutsuu API:n (3) kautta Amazon API -yhdyskäytävä, kutsuaksesi an AWS Lambda toiminto (4). Lambda-toiminto kutsuu Amazon Pollya (5) puheen (ääni) ja puheen (JSON) tiedostojen luomiseksi. Amazon Pollylle soitetaan kaksi puhelua ääni- ja puhemerkkitiedostojen hakemiseksi. Kutsut tehdään JavaScript async -funktioilla. Näiden puheluiden tulos on ääni- ja puhemerkkitiedostot, jotka on tallennettu Amazon S3:een (6a). Jotta useat käyttäjät eivät korvaa toistensa tiedostoja S3-säilössä, tiedostot tallennetaan kansioon, jossa on aikaleima. Tämä minimoi mahdollisuudet, että kaksi käyttäjää korvaa toistensa tiedostot Amazon S3:ssa. Tuotantojulkaisussa voimme käyttää tehokkaampia tapoja erotella käyttäjien tiedostoja käyttäjätunnuksen tai aikaleiman ja muiden ainutlaatuisten ominaisuuksien perusteella.
Lambda-toiminto luo puhe- ja puhemerkkitiedostoille esiallekirjoitetut URL-osoitteet ja palauttaa ne selaimeen taulukon muodossa (7, 8, 9).
Kun selain lähettää tekstitiedoston API-päätepisteeseen (3), se saa takaisin kaksi ennalta allekirjoitettua URL-osoitetta äänitiedostolle ja puhemerkkitiedostolle yhdessä synkronisessa kutsussa (9). Tämä ilmaistaan avainsymbolilla nuolen vieressä.
Selaimen JavaScript-toiminto hakee puhemerkkitiedoston ja äänen niiden URL-kahvoista (10). Se asettaa äänisoittimen toistamaan ääntä. (Tähän tarkoitukseen käytetään HTML-äänitunnistetta).
Kun käyttäjä napsauttaa toistopainiketta, se jäsentää edellisessä vaiheessa haetut puhemerkit luodakseen sarjan ajastettuja tapahtumia aikakatkaisuja käyttämällä. Tapahtumat kutsuvat takaisinsoittotoiminnon, joka on toinen JavaScript-toiminto, jota käytetään korostamaan puhuttua tekstiä selaimessa. Samanaikaisesti JavaScript-toiminto suoratoistaa äänitiedoston URL-kahvastaan.
Tuloksena on, että tapahtumat suoritetaan sopivina aikoina tekstin korostamiseksi sellaisena kuin se puhutaan, kun ääntä toistetaan. JavaScript-aikakatkaisujen käyttö mahdollistaa äänen synkronoinnin korostetun tekstin kanssa.
Edellytykset
Tämän ratkaisun suorittamiseksi tarvitset AWS-tili kanssa AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) käyttäjä, jolla on lupa käyttää Amazon CloudFrontia, Amazon API Gatewayta, Amazon Pollya, Amazon S3:a, AWS Lambdaa ja AWS Step Functions -toimintoja.
Käytä Lambdaa puheen ja puhemerkkien luomiseen
Seuraava koodi kutsuu Amazon Pollyn synthesize_speech
toiminto kahdesti noutaaksesi ääni- ja puhemerkkitiedoston. Niitä ajetaan asynkronisina funktioina ja koordinoidaan palauttamaan tulos samaan aikaan lupausten avulla.
JavaScript-puolella tekstin korostus tehdään korostuspainikkeella (aloitus, lopetus, sana) ja ajoitetut tapahtumat asetetaan setTimers()
:
Vaihtoehtoiset lähestymistavat
Edellisen lähestymistavan sijaan voit harkita muutamia vaihtoehtoja:
- Luo sekä puhemerkit että äänitiedostot Step Functions -tilakoneen sisällä. Tilakone voi kutsua rinnakkaisen haaran ehdon kutsuakseen kahta erilaista lambda-toimintoa: yhden puheen ja toisen puheen merkkien muodostamiseksi. Tämän koodin löydät osoitteesta käyttämällä askelfunktioita alikansiossa Githubin repossa.
- Kutsu Amazon Polly asynkronisesti ääni- ja puhemerkkien luomiseksi. Tätä lähestymistapaa voidaan käyttää, jos tekstisisältö on suuri tai käyttäjä ei tarvitse reaaliaikaista vastausta. Lisätietoja pitkien äänitiedostojen luomisesta on kohdassa Pitkien äänitiedostojen luominen.
- Pyydä Amazon Pollya luomaan ennalta allekirjoitettu URL-osoite suoraan käyttämällä
generate_presigned_url
soita Amazon Polly -asiakasohjelmaan Boto3:ssa. Jos käytät tätä lähestymistapaa, Amazon Polly luo ääni- ja puhemerkit joka kerta uudelleen. Nykyisessä lähestymistavassamme tallennamme nämä tiedostot Amazon S3:een. Vaikka näitä tallennettuja tiedostoja ei voi käyttää selaimella koodiversiossamme, voit muokata koodia toistamaan aiemmin luotuja äänitiedostoja hakemalla ne Amazon S3:sta (sen sijaan, että luot tekstin äänen uudelleen Amazon Pollylla). Meillä on enemmän koodiesimerkkejä Amazon Pollyn käyttämiseen Pythonilla AWS-koodikirjastossa.
Luo ratkaisu
Koko ratkaisu löytyy meiltä Github-repo. Luo tämä ratkaisu tilillesi noudattamalla README.md-tiedoston ohjeita. Ratkaisu sisältää mm AWS-pilven muodostuminen malli resurssien tarjoamiseksi.
Uudelleenjärjestäminen
Voit puhdistaa tässä esittelyssä luodut resurssit seuraavasti:
- Poista S3-ryhmät, jotka on luotu tallentamaan CloudFormation-malli (Säilö A), lähdekoodi (Säilö B) ja verkkosivusto (
pth-cf-text-highlighter-website-[Suffix]
). - Poista CloudFormation-pino
pth-cf
. - Poista puhetiedostot sisältävä S3-ämpäri (
pth-speech-[Suffix]
). Tämä ämpäri on luotu CloudFormation-mallilla Amazon Pollyn luomien ääni- ja puhemerkkitiedostojen tallentamiseen.
Yhteenveto
Tässä viestissä näytimme esimerkin ratkaisusta, joka voi korostaa tekstiä, kun se puhutaan Amazon Pollylla. Se kehitettiin käyttämällä Amazon Polly -puhemerkkiominaisuutta, joka tarjoaa meille merkit äänitiedoston jokaisen sanan tai lauseen alkamispaikalle.
Ratkaisu on saatavilla CloudFormation-mallina. Se voidaan ottaa käyttöön sellaisenaan missä tahansa verkkosovelluksessa, joka suorittaa tekstistä puheeksi muuntamisen. Tämä olisi hyödyllistä visuaalisten ominaisuuksien lisäämisessä kirjojen ääneen, huulisynkronointiominaisuuksilla varustettuihin avatareihin (käyttäen viseme-puhemerkkejä), verkkosivustoihin ja blogeihin sekä kuulovammaisten auttamiseksi.
Sitä voidaan laajentaa suorittamaan muita tehtäviä tekstin korostamisen lisäksi. Selain voi esimerkiksi näyttää kuvia, toistaa musiikkia ja tehdä muita animaatioita käyttöliittymässä, kun tekstiä puhutaan. Tämä ominaisuus voi olla hyödyllinen luotaessa dynaamisia äänikirjoja, koulutussisältöä ja monipuolisempia tekstistä puheeksi -sovelluksia.
Toivotamme sinut tervetulleeksi kokeilemaan tätä ratkaisua ja oppimaan lisää asiaan liittyvistä AWS-palveluista seuraavista linkeistä. Voit laajentaa toimintoja omien tarpeidesi mukaan.
kirjailijasta
Varad G Varadarajan on AWS:n Digital Native Businesses (DNB) -asiakkaiden luotettu neuvonantaja ja alan teknologiajohtaja. Hän auttaa heitä suunnittelemaan ja rakentamaan innovatiivisia ratkaisuja mittakaavassa AWS-tuotteiden ja -palvelujen avulla. Varadin kiinnostusalueita ovat IT-strategiakonsultointi, arkkitehtuuri ja tuotehallinta. Työn ulkopuolella Varad nauttii luovasta kirjoittamisesta, elokuvien katselusta perheen ja ystävien kanssa sekä matkustamisesta.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. Autot / sähköautot, hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- BlockOffsets. Ympäristövastuun omistuksen nykyaikaistaminen. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/highlight-text-as-its-being-spoken-using-amazon-polly/
- :on
- :On
- :ei
- $ YLÖS
- 1
- 10
- 100
- 11
- 12
- 17
- 19
- 22
- 23
- 33
- 7
- 8
- 9
- a
- kyky
- Meistä
- pääsy
- saatavilla
- Pääsy
- Tili
- lisää
- lisä-
- neuvonantaja
- Jälkeen
- uudelleen
- AI
- Tuki
- yksin
- vaihtoehdot
- Vaikka
- Amazon
- Amazon API -yhdyskäytävä
- Amazon Polly
- Amazon Web Services
- an
- ja
- animaatiot
- Toinen
- Kaikki
- api
- Hakemus
- sovellukset
- lähestymistapa
- lähestymistavat
- sopiva
- arkkitehtuuri
- OVAT
- alueet
- Ryhmä
- AS
- At
- audio-
- saatavissa
- avatarit
- välttää
- odottaa
- AWS
- AWS Lambda
- AWS-vaihetoiminnot
- takaisin
- perustua
- BE
- koska
- Alku
- ovat
- lisäksi
- blogit
- Kirjat
- sekä
- Sivuliike
- selain
- rakentaa
- yritykset
- nappia
- by
- soittaa
- Puhelut
- CAN
- kyvyt
- valmiudet
- tapauksissa
- tietty
- mahdollisuudet
- ominaisuudet
- merkkejä
- chatbot
- chatbots
- luokka
- asiakas
- koodi
- yhdistetty
- ehto
- yhdessä
- Harkita
- Console
- konsultointi
- sisältää
- pitoisuus
- jatkaa
- Keskustelu
- Muuntaminen
- muuntaa
- koordinoi
- Ydin
- vastaava
- luoda
- luotu
- luo
- Luominen
- Luova
- CTO
- Nykyinen
- Asiakkaat
- esittely
- Riippuen
- käyttöön
- yksityiskohdat
- kehitetty
- Kehitys
- eri
- digitaalinen
- suoraan
- DNB
- do
- asiakirja
- ei
- tehty
- Dont
- dynaaminen
- dynaamisesti
- kukin
- Aikaisemmin
- koulutus-
- mahdollistaa
- loppu
- päätepiste
- päättyy
- tarttuu
- syöttää
- Koko
- virhe
- Tapahtumat
- Joka
- esimerkki
- Esimerkit
- avoin
- laajentaa
- perhe
- Ominaisuus
- harvat
- ala
- Fields
- filee
- Asiakirjat
- Löytää
- viimeistely
- seurata
- jälkeen
- varten
- muoto
- muoto
- löytyi
- ystäviä
- alkaen
- etuosa
- etupään
- toiminto
- toiminnallisuus
- tehtävät
- portti
- tuottaa
- syntyy
- synnyttää
- GitHub
- Antaa
- antaa
- Go
- HAD
- kahva
- Vetimet
- Olla
- he
- kuulo
- auttaa
- Korostaa
- Korostettu
- korostus
- isännöi
- HTML
- http
- HTTPS
- i
- ID
- Identiteetti
- if
- kuvien
- in
- sisältää
- Mukaan lukien
- ilmoitettu
- tiedot
- innovatiivinen
- panos
- sisällä
- välitön
- sen sijaan
- ohjeet
- korko
- mielenkiintoinen
- tulee
- vedotaan
- IT
- SEN
- JavaScript
- json
- avain
- Tietää
- Kieli
- kielet
- suuri
- OPPIA
- oppiminen
- Pituus
- antaa
- Kirjasto
- linja
- linkit
- vähän
- Pitkät
- kone
- koneoppiminen
- tehty
- johto
- monet
- Merkitse
- mainitsi
- ML
- muokata
- lisää
- Elokuvat
- moninkertainen
- Musiikki
- syntyperäinen
- Tarve
- tarpeet
- Uusi
- hiljattain
- seuraava
- objekti
- esineet
- saada
- of
- offset
- on
- ONE
- or
- Muut
- meidän
- ulos
- ulostulo
- ulkopuolella
- Parallel
- osat
- Ihmiset
- Suorittaa
- suorittaa
- lupa
- Paikka
- Platon
- Platonin tietotieto
- PlatonData
- Pelaa
- pelataan
- soitin
- Kirje
- esittää
- esitetty
- edellinen
- aiemmin
- Käsitelty
- Tuotteet
- tuotehallinta
- tuotanto
- Tuotteemme
- lupaus
- Promises
- tarjoaa
- tarjoamalla
- säännös
- tarkoitus
- nopeasti
- reaaliaikainen
- vapauta
- merkityksellinen
- Esittelymateriaalit
- vastaus
- johtua
- palata
- Tuotto
- luja
- ajaa
- s
- sama
- Asteikko
- lähettää
- tuomita
- Sarjat
- palvelu
- Palvelut
- setti
- Setit
- näyttää
- osoittivat
- Näytä
- puoli
- Yksinkertainen
- samanaikaisesti
- ratkaisu
- Ratkaisumme
- lähde
- lähdekoodi
- puhua
- erityinen
- puhe
- puhuttu
- pino
- Alkaa
- alkaa
- Osavaltio
- Vaihe
- Askeleet
- Levytila
- verkkokaupasta
- tallennettu
- Strategia
- virta
- puroihin
- jono
- niin
- symboli
- tahdistus
- TAG
- tehtävät
- sapluuna
- Teksti puheeksi
- että
- -
- Lähde
- Valtion
- heidän
- Niitä
- Nämä
- tätä
- Kautta
- aika
- ajastettu
- kertaa
- aikaleima
- että
- Kääntää
- Matkustaminen
- luotettu
- yrittää
- kääntyy
- kaksi
- tyyppi
- ymmärtää
- unique
- URL
- us
- käyttää
- käytetty
- käyttäjä
- Käyttäjät
- käyttötarkoituksiin
- käyttämällä
- arvo
- arvot
- versio
- oli
- katsomassa
- Tapa..
- we
- verkko
- Web-sovellus
- verkkopalvelut
- Verkkosivu
- sivustot
- tervetuloa
- Mitä
- kun
- joka
- vaikka
- KUKA
- koko
- with
- sana
- Referenssit
- olisi
- kirjoittaminen
- Voit
- Sinun
- zephyrnet