PollyVoice
Amazon Polly text-to-speech for Blueprints and C++: text and SSML to playable sounds, viseme lip sync and subtitles from speech marks, an SSML builder, lexicons, memory β¦
Highlights
All 11 features βPollyVoice gives your game a voice for any text, including text that only exists at runtime: player names, procedural quests, AI-generated dialogue, accessibility narration, or thousands of lines you do not want to record.
Synthesize Speech turns text or SSML into a sound wave that plays like any other sound - Play Sound 2D, audio components, attenuation, looping and sound classes all work. Choose any Polly voice and the Standard, Neural, Long-Form or Generative engine, set language codes for bilingual voices and apply pronunciation lexicons. Synthesize And Play speaks a line in 2D or at a world location in one node, Synthesize To File writes MP3, Ogg Vorbis, raw PCM or WAV files, and Preload Phrases fills the cache for a whole level on the loading screen.
Synthesize With Speech Marks adds viseme, word, sentence and SSML mark timings. The PollyVoice Lip Sync component plays the speech and drives your character's mouth morph targets with smooth blending between shapes, and fires On Viseme, On Word, On Sentence, On SSML Mark and On Finished for subtitles, word highlighting, gestures and camera cuts. Timeline helpers return the viseme, word or sentence at any time, bake morph curves for Sequencer or Animation Blueprints, and export SRT subtitles.
Seventeen pure SSML builder nodes create breaks, emphasis, prosody, maximum duration, say-as, phonemes, aliases, foreign phrases, paragraphs, sentences, marks, whispering, dynamic range compression and newscaster or conversational styles - no tag typing required.
Every line is cached in memory and on disk, keyed by text and voice settings, so it is paid for once and then plays instantly, even after a restart. Get Cached Sound plays preloaded lines without any network access.
Describe Voices, Get Voice Info and Find Voices For Language build voice pickers. Put, Get, List and Delete Lexicon manage pronunciations, and speech synthesis tasks render long text (up to 100,000 characters) into an S3 bucket with optional SNS notification. Load WAV As Sound Wave, Save PCM As WAV and Create Sound Wave From PCM handle your own audio too.
Players get credentials from an Amazon Cognito identity pool, as guests or signed in through Set Login Token; static keys and the default AWS credential chain are available for development, editor tools and servers. Requests run on background worker threads with automatic retries and every result arrives on the game thread.
PollyVoice is part of the Alpha XP AWS collection for Unreal Engine 4.27 and 5.8. It includes the AWS SDK for C++ prebuilt for Win64, Linux and Android and ships with styled HTML documentation.
Key features
- Synthesize Speech: text or SSML to a playable sound wave (Standard, Neural, Long-Form,
- Synthesize With Speech Marks and Get Speech Marks: viseme, word, sentence and SSML marks
- Synthesize And Play 2D / At Location, Synthesize To File (MP3, Ogg Vorbis, PCM, WAV),
- Lip Sync component: viseme morph targets with blending, events for visemes, words,
- Timeline helpers, default viseme map, morph weight evaluation, curve baking, SRT
- 17 SSML builder nodes, Escape Text For SSML, Strip SSML Tags, Count Billable Characters
- Memory and disk cache with size budgets; Get Cached Sound for offline playback
- Voices, pronunciation lexicons and asynchronous S3 synthesis tasks
- WAV load and save, sound waves from your own PCM
- Amazon Cognito identity pools, static keys and the default AWS credential chain
- 85 Blueprint nodes, cancellable latent nodes, C++ API with a native callback
Blueprint & C++ API
The API is organised into these entry points:
| Class | Type | Nodes | Use it for |
|---|---|---|---|
| PollyVoiceLibrary | Function library | 24 | Configuration, identity, defaults, cache and audio helpers for PollyVoice. |
| PollyVoiceSsmlLibrary | Function library | 17 | Static nodes β callable from anywhere, no object needed. |
| PollyVoiceLipSyncLibrary | Function library | 11 | Speech-mark timelines, viseme-to-morph mapping, curves and subtitles. |
| PollyVoiceLipSyncComponent | Actor component | 10 | Plays speech and keeps a character's mouth and your UI in sync with it: drives viseme morph targets on a skeletal mesh and fires events for every viseme, word⦠|
| PollyVoiceSoundWave | Sound Wave Procedural | 4 | A sound built at runtime from 16-bit PCM (speech from Polly, a WAV file or your own samples). |
| Async action nodes | Latent Blueprint nodes | 2 | Latent node with success / failure output pins. |
Callable runs when executed Β· Pure no exec pin, returns a value Β· LatentAsync finishes later and fires its outputs
PollyVoice 2
| Node | Type | Available on | Description |
|---|---|---|---|
| Cancel | Async | Async | Stops waiting for this request: none of its output pins fire any more. The request itself may still complete on AWS. |
| Is Finished | Async | Async | True after Cancel was called or the node finished. |
Config 7
| Node | Type | Available on | Description |
|---|---|---|---|
| Set Region(Region: String) | Callable | Static | Switches the AWS region used by every following request. |
| Set Credential Mode(Mode: Polly Voice Credential Mode) | Callable | Static | Overrides the credential mode from the project settings at runtime. |
| Is Configured() β Boolean, Problem | Pure | Static | Checks the settings and returns false with a reason when requests cannot work yet. |
| Set Default Voice(Voice Id: String) | Callable | Static | Voice used when a request leaves Voice empty, for example "Matthew". Empty = back to the project setting. |
| Set Default Engine(Engine: Polly Voice Engine) | Callable | Static | Engine used when a request asks for "Project Default". |
| Set Default Language(Language Code: String) | Callable | Static | Language code used when a request leaves Language Code empty, for example "en-GB" for a bilingual voice. Empty = the voice's own language. |
| Set Default Sample Rate(Sample Rate: Integer) | Callable | Static | Sample rate in Hz used when a request leaves Sample Rate at 0: 8000 or 16000 for sounds, up to 24000 for MP3 / Ogg files. |
Identity 5
| Node | Type | Available on | Description |
|---|---|---|---|
| Set Login Token(Provider: String, Token: String) | Callable | Static | Signs the player in to the Cognito identity pool with a token from an identity provider. |
| Clear Login Tokens | Callable | Static | Forgets all login tokens and the cached identity (the player becomes a guest again). |
| Set Static Credentials(Access Key Id: String, Secret Access Key: String, Session Token: String) | Callable | Static | Uses these credentials from now on (Static Keys mode), for example temporary keys handed out by your own backend. |
| Get Identity Id() β String | Pure | Static | The Cognito identity id of this player, empty until credentials were resolved once. |
| Make User Pool Provider Name(Region: String, User Pool Id: String) β String | Pure | Static | Builds the identity-pool login key of a Cognito user pool: cognito-idp.<region>.amazonaws.com/<user pool id>. |
Cache 7
| Node | Type | Available on | Description |
|---|---|---|---|
| Get Cached Sound(Text: String, Options: Polly Voice Synthesis Options) β Polly Voice Sound Wave | Callable | Static | Returns the cached sound of this line without contacting AWS, or None when it is not cached yet (reads the disk cache synchronously - lines are small). |
| Is Cached(Text: String, Options: Polly Voice Synthesis Options) β Boolean | Pure | Static | True when the audio of this line is in the memory or disk cache. |
| Remove From Cache(Text: String, Options: Polly Voice Synthesis Options) | Callable | Static | Forgets one line (memory and disk), for example after you changed a lexicon. |
| Clear Cache(Memory: Boolean, Disk: Boolean) | Callable | Static | Empties the memory cache, the disk cache or both. |
| Set Cache Directory(Directory: String) | Callable | Static | Moves the disk cache to another folder (relative = below Saved). Empty = back to the project setting. |
| Set Cache Limits(Memory MB: Integer, Disk MB: Integer) | Callable | Static | Changes the cache budgets in MB; 0 keeps the current value. Older lines are removed when a budget is exceeded. |
| Get Cache Stats() β Polly Voice Cache Stats | Pure | Static | Number of lines and bytes in the memory and disk caches. |
Audio 3
| Node | Type | Available on | Description |
|---|---|---|---|
| Create Sound Wave From Pcm(Pcm: Array of Byte, Sample Rate: Integer, Num Channels: Integer) β Polly Voice Sound Wave | Callable | Static | Makes a playable sound from interleaved 16-bit signed little-endian samples (mono or stereo). |
| Save PCM As WAV(Pcm: Array of Byte, Sample Rate: Integer, Num Channels: Integer, File Path: String) β Boolean | Callable | Static | Writes 16-bit PCM as a WAV file. Relative paths are below the project's Saved folder. Returns false when the file cannot be written. |
| Load WAV As Sound Wave(File Path: String) β Polly Voice Sound Wave, Problem | Callable | Static | Loads a WAV file (PCM 8/16/24/32-bit or 32-bit float, mono or stereo) as a playable sound. None + Problem on failure. |
Voices 1
| Node | Type | Available on | Description |
|---|---|---|---|
| Find Voices For Language(Voices: Array of Polly Voice Voice Info, Language Code: String, Engine: Polly Voice Engine, Gender: Polly Voice Gender, Include Bilingual: Boolean) β Array of Polly Voice Voice Info | Pure | Static | Filters a voice list (from Describe Voices) to the voices that speak a language. |
Synthesis 1
| Node | Type | Available on | Description |
|---|---|---|---|
| Count Billable Characters(Text: String) β Integer | Pure | Static | Characters Polly bills for this text: every character of plain text, only the spoken text of SSML (tags are free). |
LipSync 21
| Node | Type | Available on | Description |
|---|---|---|---|
| Play Speech(Sound: Sound Base, Marks: Array of Polly Voice Speech Mark) β Audio Component | Callable | Component | Plays a sound and lip-syncs it. Marks empty = the speech marks stored in a PollyVoice sound. |
| Play Timeline(Timeline: Polly Voice Timeline) | Callable | Component | Runs the lip sync and events of a timeline without playing audio, for example when the sound plays elsewhere. |
| Stop | Callable | Component | Stops the speech and the lip sync, resets the mouth and fires On Finished. |
| Is Playing() β Boolean | Pure | Component | True while speech or a timeline is running. |
| Get Current Viseme() β String | Pure | Component | The viseme code currently shown ("sil" while silent). |
| Get Current Word() β String, Word Index | Pure | Component | The word currently spoken and its index; empty in pauses. |
| Get Playback Time() β Float | Pure | Component | Seconds since the speech started. |
| Set Target Mesh(Mesh: Skeletal Mesh Component) | Callable | Component | Drives this mesh instead of the owner's first skeletal mesh (for example a separate head mesh). |
| Set Viseme Map(New Map: Array of Polly Voice Viseme Mapping) | Callable | Component | Replaces the viseme map and resets morph targets of the old map. |
| Get Morph Weights() β Array of Polly Voice Morph Weight | Pure | Component | The morph weights applied this frame (also useful to drive an animation blueprint yourself). |
| Build Timeline(Marks: Array of Polly Voice Speech Mark, Duration: Float) β Polly Voice Timeline | Pure | Static | Turns speech marks into viseme / word / sentence / SSML-mark timelines with end times. Duration 0 = estimated from the last mark. |
| Get Viseme At Time(Timeline: Polly Voice Timeline, Time: Float) β Boolean, Viseme, Progress | Pure | Static | The viseme active at Time and how far through it playback is (0..1). False before the first and after the last viseme. |
| Get Word At Time(Timeline: Polly Voice Timeline, Time: Float) β Boolean, Word, Word Index | Pure | Static | The word spoken at Time and its index in Timeline.Words. False in pauses. |
| Get Sentence At Time(Timeline: Polly Voice Timeline, Time: Float) β Boolean, Sentence | Pure | Static | The sentence spoken at Time, for example for a subtitle line. False when there is none. |
| Parse Speech Marks(Json Lines: String) β Boolean, Marks | Pure | Static | Reads speech marks in Polly's JSON-lines format, for example the output file of a speech synthesis task. |
| Make Default Viseme Map(Prefix: String) β Array of Polly Voice Viseme Mapping | Pure | Static | A viseme map onto the common viseme morph target names PP, FF, TH, DD, kk, CH, SS, RR, aa, E, ih, oh, ou (named Prefix + name, for example "viseme_PP"; silenceβ¦ |
| Map Viseme To Morph Targets(Viseme: String, Viseme Map: Array of Polly Voice Viseme Mapping) β Array of Polly Voice Morph Weight | Pure | Static | The morph targets and weights a viseme drives in a viseme map. |
| Evaluate Morph Weights(Timeline: Polly Voice Timeline, Viseme Map: Array of Polly Voice Viseme Mapping, Time: Float, Blend Time: Float, Intensity: Float) β Array of Polly Voice Morph Weight | Pure | Static | Morph weights at Time with smooth transitions: each viseme fades into the next over Blend Time seconds. |
| Build Viseme Curves(Outer: Object, Timeline: Polly Voice Timeline, Viseme Map: Array of Polly Voice Viseme Mapping, Blend Time: Float) β Array of Polly Voice Morph Curve | Callable | Static | Bakes one float curve per morph target (time -> weight), for example for a timeline, Sequencer or an animation blueprint. |
| Apply Morph Weights(Mesh: Skeletal Mesh Component, Weights: Array of Polly Voice Morph Weight) | Callable | Static | Sets the morph targets on a skeletal mesh (weights from Evaluate Morph Weights). |
| Export Subtitles SRT(Timeline: Polly Voice Timeline, Max Characters: Integer) β String | Pure | Static | Subtitles in SRT format from the sentence marks (or words grouped into lines of up to Max Characters when there are no sentence marks). |
Sound 4
| Node | Type | Available on | Description |
|---|---|---|---|
| Get Pcm Data() β Array of Byte | Pure | Sound Wave Procedural | The raw audio: interleaved 16-bit signed little-endian samples (see Save PCM As WAV). |
| Get Sound Speech Marks() β Array of Polly Voice Speech Mark | Pure | Sound Wave Procedural | Speech marks that came with this sound (empty when none were requested). |
| Get Timeline() β Polly Voice Timeline | Pure | Sound Wave Procedural | The speech marks as viseme / word / sentence timelines with start and end times. |
| Get Spoken Text() β String, Voice Id | Pure | Sound Wave Procedural | The text (or SSML) this sound was synthesized from, and the voice that spoke it. |
SSML 17
| Node | Type | Available on | Description |
|---|---|---|---|
| Make SSML Document(Body: String) β String | Pure | Static | Wraps a fragment in <speak>...</speak> (unchanged when it already is a document). Send the result with Text Type Auto or SSML. |
| SSML Break(Strength: Polly Voice Break Strength, Time Ms: Integer) β String | Pure | Static | A pause: Time Ms > 0 gives an exact length (up to 10000 ms), otherwise the Strength is used. |
| SSML Emphasis(Text: String, Level: Polly Voice Emphasis) β String | Pure | Static | Stresses the words (standard voices; neural voices ignore it). |
| SSML Prosody(Text: String, Rate Percent: Integer, Pitch Percent: Integer, Volume Db: Float) β String | Pure | Static | Speaking rate, pitch and volume. Rate 100 = normal (20..200), Pitch in percent (-33..+50, standard voices only), Volume in dB (-6 = half, +6 = double). |
| SSML Max Duration(Text: String, Seconds: Float) β String | Pure | Static | Makes Polly speak the text in at most this many seconds, for example to fit a line to an animation (standard and neural voices). |
| SSML Say As(Text: String, Interpret As: Polly Voice Say As, Format: String) β String | Pure | Static | How to read the text: characters, numbers, dates, times, addresses, phone numbers or bleeped. Format is used for dates, for example "mdy". |
| SSML Phoneme(Text: String, Phonetic: String, X Sampa: Boolean) β String | Pure | Static | Pronounces the text with a phonetic spelling in IPA (or X-SAMPA), for example names of fantasy places. |
| SSML Sub(Text: String, Alias: String) β String | Pure | Static | Speaks Alias instead of Text, for example "W3C" -> "World Wide Web Consortium". |
| SSML Language(Text: String, Language Code: String) β String | Pure | Static | Speaks the words in another language with the current voice, for example "fr-FR" for a French phrase. |
| SSML Paragraph(Text: String) β String | Pure | Static | A paragraph (adds the longer pause between paragraphs). |
| SSML Sentence(Text: String) β String | Pure | Static | A sentence (adds the pause between sentences and produces a sentence speech mark). |
| SSML Mark(Name: String) β String | Pure | Static | A named mark: with SSML speech marks Polly reports when it is reached (the lip-sync component fires On SSML Mark). |
| SSML Amazon Effect(Text: String, Effect: Polly Voice Effect) β String | Pure | Static | Whispered speech, soft phonation or dynamic range compression (louder, clearer speech for noisy scenes). |
| SSML Speaking Style(Text: String, Style: Polly Voice Speaking Style) β String | Pure | Static | Newscaster or conversational speaking style (neural voices that support it, for example Matthew, Joanna, Lupe). |
| Escape Text For SSML(Text: String) β String | Pure | Static | Escapes &, <, >, " and ' so any text can be placed inside SSML. |
| Append SSML(Document: String, Fragment: String) β String | Pure | Static | Adds a fragment to a document: inside the closing </speak> when Document is one, otherwise appended with a space. |
| Strip SSML Tags(Ssml: String) β String | Pure | Static | The spoken text of an SSML document without tags, for example for subtitles. |
Events & delegates
Bind these in Blueprint (drag off the object β Bind Event) or with AddDynamic in C++.
| Event | Parameters | Fires on | When it fires |
|---|---|---|---|
| On Success | Speech (Polly Voice Speech), Error (Polly Voice Error) | PollyVoiceSynthesizeAction | |
| On Failure | Speech (Polly Voice Speech), Error (Polly Voice Error) | PollyVoiceSynthesizeAction | |
| On Started | Audio Component (Audio Component), Speech (Polly Voice Speech), Error (Polly Voice Error) | PollyVoicePlayAction | Playback started: Audio Component plays the sound (stop or fade it like any audio component). |
| On Progress | Done (Integer), Total (Integer) | PollyVoicePreloadAction | |
| On Completed | Loaded Count (Integer), Failed Texts (Array of String), First Error (Polly Voice Error) | PollyVoicePreloadAction | |
| On Viseme | Viseme (String), Duration (Float) | PollyVoiceLipSyncComponent | A new viseme (mouth shape) starts; Duration is how long it lasts. |
| On Word | Word (String), Word Index (Integer) | PollyVoiceLipSyncComponent | A word starts (for karaoke text or word highlighting). |
| On Sentence | Text (String) | PollyVoiceLipSyncComponent | A sentence starts (for subtitles). |
| On Ssml Mark | Text (String) | PollyVoiceLipSyncComponent | An SSML <mark name="..."/> is reached (trigger gestures, camera cuts or gameplay at exact points of a line). |
| On Finished | β | PollyVoiceLipSyncComponent | The speech ended or Stop was called. |
Project settings
Configure once under Project Settings βΊ Plugins βΊ PollyVoice β values are saved to the project's config .ini, so they travel with the project and your build.
| Setting | Section | Type | What it does |
|---|---|---|---|
| Region | Connection | String | AWS region used for Polly and the identity pool, for example "us-east-1" or "eu-west-1". |
| Credential Mode | Credentials | Credential Mode | Where request credentials come from. |
| Identity Pool Id | Credentials | String | Cognito identity pool, for example "us-east-1:01234567-89ab-cdef-0123-456789abcdef". |
| Allow Guest Access | Credentials | Boolean | Allow unauthenticated (guest) identities before Set Login Token is called. The pool must allow guest access too. |
| Access Key Id | Credentials | String | Access key for Static Keys mode. Keys saved here end up in DefaultGame.ini - use them for development and servers only. |
| Secret Access Key | Credentials | String | Secret key for Static Keys mode. |
| Allow Static Keys In Shipping | Credentials | Boolean | Static keys are refused in Shipping builds unless this is enabled (for example on a dedicated server). |
| Endpoint Override | Connection | String | Custom endpoint, for example a local emulator. Empty = the regional AWS endpoint. |
| Request Timeout Ms | Connection | Integer | Total time a request may take, in milliseconds. |
| Connect Timeout Ms | Connection | Integer | Time allowed to open the connection, in milliseconds. |
| Max Retries | Connection | Integer | Automatic retries with exponential back-off for throttled and transient failures. |
| Worker Threads | Connection | Integer | Worker threads that run requests in the background (requests never block the game thread). |
| Verify SSL | Connection | Boolean | Verify TLS certificates. Only disable for a local emulator. |
| Log Sdk Warnings | Connection | Boolean | Forward SDK warnings and errors to the Output Log (LogPollyVoice). |
| Default Voice | Synthesis | String | Voice used when a node leaves Voice empty, for example "Joanna", "Matthew", "Amy", "Vicki" or "Takumi". |
| Default Engine | Synthesis | Engine | Engine used when a node asks for "Project Default" (Standard, Neural, Long-Form or Generative; the voice must support it). |
| Default Language Code | Synthesis | String | Language code applied when a node leaves Language Code empty, for bilingual voices ("en-US", "es-ES"). Empty = the voice's own language. |
| Default Sample Rate | Synthesis | Integer | Sample rate in Hz of synthesized sounds when a node leaves Sample Rate at 0: 8000 or 16000 (PCM); MP3 / Ogg files also allow 22050 and 24000. |
| Memory Cache | Cache | Boolean | Keep synthesized speech in memory so the same line is never requested twice while the game runs. |
| Max Memory Cache MB | Cache | Integer | Memory cache budget in MB (16 kHz mono speech takes about 1.9 MB per minute). |
| Disk Cache | Cache | Boolean | Keep synthesized speech on disk so lines survive restarts (saved as WAV + speech marks next to it). |
| Cache Directory | Cache | String | Disk cache folder; relative paths are below the project's Saved folder. |
| Max Disk Cache MB | Cache | Integer | Disk cache budget in MB; the least recently used lines are removed first. |
Options & enums
| Enum | Values |
|---|---|
| Credential Mode | Cognito Identity Pool Static Keys Default Credential Chain |
| Engine | Project Default Standard Neural Long-Form Generative |
| Text Type | Auto Plain Text SSML |
| File Format | MP3 Ogg Vorbis PCM (raw) WAV |
| Mark Type | Sentence Word Viseme SSML Mark |
| Gender | Any Female Male |
| Task Status | Unknown Scheduled In Progress Completed Failed |
| Break Strength | None Extra Weak Weak Medium Strong Extra Strong |
| Emphasis | Strong Moderate Reduced |
| Say As | Characters Spell Out Cardinal Ordinal Digits Fraction Unit Date Time Address Expletive Telephone |
| Effect | Whispered Dynamic Range Compression Soft Phonation |
| Speaking Style | Newscaster Conversational |
Compatibility
One ready-made build per engine version is included in the download β copy the one that matches your project.
| Platform | Supported in |
|---|---|
| Windows | Editor & packaged |
| Linux | Editor & packaged |
| Android | Packaged builds |
| Module | Type | Loading phase |
|---|---|---|
| PollyVoice | Runtime | Default |
Technical details
| Code modules | PollyVoice (Runtime), PollyVoiceSdk (External, Source/ThirdParty - prebuilt AWS SDK for C++) |
|---|---|
| Blueprints | 0 Β· C++ classes: 20 |
| Network replicated | No |
| Development platforms | Windows: Yes, Mac: No, Linux: Yes |
| Target build platforms | Win64, Linux, Android |
| Third-party software | Yes - AWS SDK for C++ 1.11.916 (Apache-2.0), with the AWS Common Runtime libraries, in Source/ThirdParty/PollyVoiceSdk |
| Engine versions | Unreal Engine 4.27 Β· 5.8 β a build for each is included |
| C++ classes | 20 + 13 structs |
| Blueprint nodes | 68 |
| Events | 10 |
| Documentation | Documentation.html (in the download) |
| Download | PollyVoice.zip Β· 35 MB |
| Version | v1.0.0 |
What's in the download
| File | What it is |
|---|---|
| PollyVoice 4.27.zip | Plugin build for Unreal Engine 4.27 |
| PollyVoice 5.8.zip | Plugin build for Unreal Engine 5.8 |
| Documentation.html | Documentation (open in a browser) |
Quick start
- Unzip the download and pick the build that matches your engine (4.27 Β· 5.8).
- Copy the PollyVoice folder into your project's Plugins/ folder (create it if needed).
- Open the project, enable PollyVoice under Edit βΊ Plugins and restart the editor.
- Fill in Project Settings βΊ Plugins βΊ PollyVoice.
- Right-click in any Blueprint graph and search PollyVoice β or include the public headers from C++.
- Package for your target platform (Windows, Linux, Android).
Good to know
Built for Unreal Engine 4.27 and 5.8. Requires an AWS account; Amazon Polly usage is billed by AWS per character (cached lines are free). On Linux and Android the SDK uses the engine's libcurl and OpenSSL and the engine's certificate store. On Win64 the SDK is one DLL with a plugin-specific name, so PollyVoice can be installed next to other AWS-based plugins. Never ship long-term access keys in a game client: use a Cognito identity pool for players. Developed and maintained by Alpha XP.
Everything included
- Synthesize Speech: text or SSML to a playable sound wave (Standard, Neural, Long-Form,β¦
- Synthesize With Speech Marks and Get Speech Marks: viseme, word, sentence and SSML marks
- Synthesize And Play 2D / At Location, Synthesize To File (MP3, Ogg Vorbis, PCM, WAV),β¦
- Lip Sync component: viseme morph targets with blending, events for visemes, words,β¦
- Timeline helpers, default viseme map, morph weight evaluation, curve baking, SRTβ¦
- 17 SSML builder nodes, Escape Text For SSML, Strip SSML Tags, Count Billable Characters
- Memory and disk cache with size budgets; Get Cached Sound for offline playback
- Voices, pronunciation lexicons and asynchronous S3 synthesis tasks
- WAV load and save, sound waves from your own PCM
- Amazon Cognito identity pools, static keys and the default AWS credential chain
- 85 Blueprint nodes, cancellable latent nodes, C++ API with a native callback
Platforms
Requirements
- Unreal Engine 4.27 and 5.8
- Develop on Windows (Win64)
- Blueprints and C++
In the download
Personal
One non-commercial project
- 1 activation seat
- 1 year of updates
- One end product
- Non-commercial use
- Community support
- 14-day refund window
Commercial
Ship paid products
- 5 activation seats
- 1 year of updates
- One paid end product
- Unlimited end users
- Priority support
- Source files
- 14-day refund window
Extended
Resell & white-label
- Unlimited activation seats
- Lifetime updates
- Unlimited end products
- White-label & resell
- 1-hour SLA
- Seat-free team use
- 14-day refund window
One purchase per product, no subscription. Each licence comes with a signed key β 1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended. Paid licences can be refunded within 14 days from your order page.
- v1.0.0Latest
- Unreal Engine 4.27 and 5.8
- Blueprint and C++ API, HTML documentation
Be the first to review PollyVoice β reviews come from customers who bought it, so every one is a verified purchase.
Frequently asked
How do I get the files after paying?
Straight after checkout you land on your order page with the download button and your licence key. A receipt is emailed to you, and every order stays in My library.
Which licence do I need?
Personal β One non-commercial project. Commercial β Ship paid products. Extended β Resell & white-label. The Licences tab compares them side by side.
On how many devices can I activate it?
1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended.
How long do I get updates?
Personal: 1 year of updates, Commercial: 1 year of updates, Extended: lifetime updates, counted from your purchase.
Can I get a refund?
Yes β paid licences can be refunded within 14 days, straight from your order page.
Is the download safe?
The file was scanned with ClamAV when it was published. Its SHA-256 checksum is listed under Features β In the download, so you can verify the file you receive.
Do I need an account?
No. Checkout only needs your email. Signing in keeps all your purchases, keys and downloads together in My library.
More like this
AudioLens
Real-time audio analysis: FFT spectrum, onset and beat detection, and a full set of time- and frequency-domain descriptors..
β β β β β No reviews yetTTechHarbour$14.00BlueprintTCP
BlueprintTCP lets you connect to any TCP server and exchange data entirely from Blueprints β no C++ and no networking boilerplate.
β β β β β No reviews yetTTechHarbour$12.99BluetoothLink
Bluetooth Low Energy for Unreal - scan, connect, read, write and subscribe to BLE devices on Android and iOS.
β β β β β No reviews yetTTechHarbour$11.99ClusterLink
SocketCluster realtime client for Unreal - pub/sub channels, auth engine and JSON codec, usable from Blueprints.
β β β β β No reviews yetTTechHarbour$11.99