<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Voice on GS_Play Gameplay Framework</title><link>https://gsplay.genomestudios.ca/categories/voice/</link><description>Recent content in Voice on GS_Play Gameplay Framework</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://gsplay.genomestudios.ca/categories/voice/index.xml" rel="self" type="application/rss+xml"/><item><title>Klatt Voice Synthesis</title><link>https://gsplay.genomestudios.ca/docs/the_basics/audio/klatt_voice/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/the_basics/audio/klatt_voice/</guid><description>&lt;p&gt;GS_Play includes a built-in text-to-speech system based on Klatt formant synthesis. The KlattVoiceComponent converts text to speech in real time with configurable voice parameters. Voices are positioned in 3D space and attenuate with distance, making synthesized speech feel like it comes from the character speaking.&lt;/p&gt;
&lt;p&gt;For component properties, voice parameter details, and the phoneme mapping system, see the &lt;a href="../../../framework/audio/"&gt;Framework API reference&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://gsplay.genomestudios.ca/images/audio/VoiceProfile.png" alt="Klatt Voice Profile asset in the O3DE Asset Editor"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2 id="contents"&gt;Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#how-it-works"&gt;How It Works&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#voice-configuration"&gt;Voice Configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ktt-tags"&gt;KTT Tags&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#phoneme-maps"&gt;Phoneme Maps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#spatial-audio"&gt;3D Spatial Audio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#quick-reference"&gt;Quick Reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#glossary"&gt;Glossary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#see-also"&gt;See Also&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="how-it-works"&gt;How It Works&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Configure&lt;/strong&gt; a voice using a KlattVoiceProfile — set frequency, speed, waveform, formants, and pitch variance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Assign&lt;/strong&gt; a KlattPhonemeMap — maps text characters to ARPABET phonemes for pronunciation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Speak&lt;/strong&gt; text from ScriptCanvas or C++ — the system converts text to phonemes and synthesizes audio in real time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Position&lt;/strong&gt; in 3D — the voice component uses KlattSpatialConfig for 3D audio positioning relative to the entity.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="voice-configuration"&gt;Voice Configuration&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Parameter&lt;/th&gt;
 &lt;th&gt;What It Controls&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Frequency&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Base voice pitch.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Speed&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Speech rate.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Waveform&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Voice quality — Saw, Triangle, Sin, Square, Pulse, Noise, Warble.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Formants&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Vocal tract resonance characteristics.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Pitch Variance&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Random pitch variation for natural-sounding speech.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Declination&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Pitch drop over the course of a sentence.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="ktt-tags"&gt;KTT Tags&lt;/h2&gt;
&lt;p&gt;KTT (Klatt Text Tags) allow inline parameter changes within speech text for expressive delivery:&lt;/p&gt;</description></item></channel></rss>