# Text to Speech tied to App Variable working in Preview but not in Live testing

**URL:** <https://community.thunkable.com/t/text-to-speech-tied-to-app-variable-working-in-preview-but-not-in-live-testing/3509652>\
**Category:** Questions about Thunkable X\
**Created:** [January 26, 2025, 3:51am UTC](https://community.thunkable.com/t/text-to-speech-tied-to-app-variable-working-in-preview-but-not-in-live-testing/3509652 "2025-01-26T03:51:03Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![spm10](https://avatars.discourse-cdn.com/v4/letter/s/f6c823/32.png) [@spm10](https://community.thunkable.com/u/spm10)\
**Post date:** [January 26, 2025, 3:51am UTC](https://community.thunkable.com/t/text-to-speech-tied-to-app-variable-working-in-preview-but-not-in-live-testing/3509652/1 "2025-01-26T03:51:03Z")

</div>

I’ve read all of the threads and tried everything.

I’m using some text to speech blocks in my app, and when I preview it on my computer via the browser it works perfectly. However, when I live test it on my iOS device the text to speech is silent. I took vibrate and focus/do not disturb off and enabled Spoken Content in my settings etc.

It’s weird because I hear correct audio on the live test for functions where I used a [say “set text” in English] block, but any block that I used a [say “App Variable” in English] doesn’t have audio in the Live test.

Again, everything works in the preview via the browser on my computer, and on the iOS live test its the only the text to speech blocks that are saying an input that is an app variable.

Any help would be extremely helpful. This is my first app and I would really like to get this working!

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [January 26, 2025, 5:03pm UTC](https://community.thunkable.com/t/text-to-speech-tied-to-app-variable-working-in-preview-but-not-in-live-testing/3509652/2 "2025-01-26T17:03:54Z")

</div>

Are you able to share the project link so others can test it on iOS devices?

---

<div class="post-metadata">

**Author:** ![spm10](https://avatars.discourse-cdn.com/v4/letter/s/f6c823/32.png) [@spm10](https://community.thunkable.com/u/spm10)\
**Post date:** [January 28, 2025, 3:31pm UTC](https://community.thunkable.com/t/text-to-speech-tied-to-app-variable-working-in-preview-but-not-in-live-testing/3509652/3 "2025-01-28T15:31:16Z")

</div>

Thank you!

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [January 28, 2025, 3:58pm UTC](https://community.thunkable.com/t/text-to-speech-tied-to-app-variable-working-in-preview-but-not-in-live-testing/3509652/4 "2025-01-28T15:58:40Z")

</div>

![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/3/0/30e9098121264ac5d2453cc581e6f7e773a2b216.png)

Can you share it again using the Share button?

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/e/f/ef9480686c8739eb72de3024fcc4f711eeb60928.png)

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [January 28, 2025, 10:34pm UTC](https://community.thunkable.com/t/text-to-speech-tied-to-app-variable-working-in-preview-but-not-in-live-testing/3509652/6 "2025-01-28T22:34:26Z")

</div>

That link works. The problem is the `say` block requires a text value but you are giving it numeric values.

For example, these blocks will say “Hello… seven” but ignore the 3:

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/a/7/a7ab80462de334cc7dde1b4d818e22bc7089e14f.png)

To fix this, you need to convert numbers to text by joining the numbers (variables) with an empty string (“”):

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/c/6/c6e20b7486a7da30877d3ca3b0f662a4b127939e.png)

Personally, I’d create a function for this:

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/f/a/fa5ce08bb7099b47b7bb2fe0c1f5618e76b0a5f3.png)

---

<div class="post-metadata">

**Author:** ![spm10](https://avatars.discourse-cdn.com/v4/letter/s/f6c823/32.png) [@spm10](https://community.thunkable.com/u/spm10)\
**Post date:** [January 29, 2025, 12:47am UTC](https://community.thunkable.com/t/text-to-speech-tied-to-app-variable-working-in-preview-but-not-in-live-testing/3509652/7 "2025-01-29T00:47:53Z")

</div>

Thank you! That solved it! Really appreciate your prompt response and fantastic guidance!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/0/f/0f59f292712368bce16ff80133ae10de8a6f27e8.png) [@system](https://community.thunkable.com/u/system)\
**Post date:** [April 29, 2025, 12:48am UTC](https://community.thunkable.com/t/text-to-speech-tied-to-app-variable-working-in-preview-but-not-in-live-testing/3509652/8 "2025-04-29T00:48:47Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
