0
Answered

multiple independent scenes with Speak Text-To-Speech Audio via API

himanshu 11 months ago updated by Gil Sideman 11 months ago 2

I want to use multiple avatars/scenes on one page and add Speak Text-To-Speech Audio individually using API or other controls. I cannot find any example of it, except conversation one. But conversation one is not my case.

Thanks

Answer

Answer
Under review

Hello!

Each SitePal Scene, when embedded into your page, is embedded in a "Portal", which is our name for the "embedded placeholder" defined by the embed code, in which your Scene is loaded.

So when you embed a SitePal Scene into your web page, first comes the Portal, which then loads the specified Scene.


In most cases you do not need to know or care about this distinction between Scene and Portal, but in some cases you do.


One such case is when you want to hide ("unload") the Scene from your page, or replace it with another. You can do that by instructing the Portal to unload or load a Scene.


The other case is when there are multiple Scenes embedded in your web page, and you need to address them individually with API calls. The Portal is an addressable object. When the embed code first loads into your page, you can get the Portal ID as a return value from the embed function. Then use that value to direct API calls to the Portal.

This is done using the 'setPortal' call. When you call 'setPortal' - you are letting us know that all further API function calls should be directed at that Portal. This includes 'sayText' & 'sayAudio' calls. 

That's how we implemented the SitePal conversation example, and that is also the answer to your question.


Please see this example - https://sitepal.com/api/examples/conversation.html

and take note how the Portal ID is initially retrieved when the embed code loads, and how 'setPortal' is called whenever it is the next character's turn to talk.

So even though you may not be looking to implement a conversation - this example is entirely relevant to your question.

For more information please see the section: "Portals & Embedding Multiple Characters on a Page" in the API reference - https://www.sitepal.com/docs/vhost_API_Reference.pdf  (on page 6), and see the API calls related to Portals, documented on p.26. 


I hope this is clear & helpful.

Regards,

Gil 

The SitePal Team


Answer
Under review

Hello!

Each SitePal Scene, when embedded into your page, is embedded in a "Portal", which is our name for the "embedded placeholder" defined by the embed code, in which your Scene is loaded.

So when you embed a SitePal Scene into your web page, first comes the Portal, which then loads the specified Scene.


In most cases you do not need to know or care about this distinction between Scene and Portal, but in some cases you do.


One such case is when you want to hide ("unload") the Scene from your page, or replace it with another. You can do that by instructing the Portal to unload or load a Scene.


The other case is when there are multiple Scenes embedded in your web page, and you need to address them individually with API calls. The Portal is an addressable object. When the embed code first loads into your page, you can get the Portal ID as a return value from the embed function. Then use that value to direct API calls to the Portal.

This is done using the 'setPortal' call. When you call 'setPortal' - you are letting us know that all further API function calls should be directed at that Portal. This includes 'sayText' & 'sayAudio' calls. 

That's how we implemented the SitePal conversation example, and that is also the answer to your question.


Please see this example - https://sitepal.com/api/examples/conversation.html

and take note how the Portal ID is initially retrieved when the embed code loads, and how 'setPortal' is called whenever it is the next character's turn to talk.

So even though you may not be looking to implement a conversation - this example is entirely relevant to your question.

For more information please see the section: "Portals & Embedding Multiple Characters on a Page" in the API reference - https://www.sitepal.com/docs/vhost_API_Reference.pdf  (on page 6), and see the API calls related to Portals, documented on p.26. 


I hope this is clear & helpful.

Regards,

Gil 

The SitePal Team