User Guide

From Fiona Docs
Jump to: navigation, search


What is Fiona?

Fiona stands for Framework for Interactive-services Over Natural-conversational Agents and it’s an exciting new online platform to create the next generation of Virtual Agents and Avatars: more interactive, more striking and smarter.

Avatars and Virtual Agents consist of different components and functionalities, for example a TTS, an emotion recognition module, or the appearance of the character. In Fiona these components are called sparks.

Who is inside Fiona?

Fiona integrates the knowledge from all these groups into Virtual Agents and Avatars to build a mind able to understand human beings.


There are many people all over the world developing and researching in different fields related to Artificial Intelligence and Human Computer Interaction, but they are very focused on a very specific subject. Fiona is the platform that brings together all this knowledge and effort to accelerate the process to build an artificial mind.


People around the world with the right knowledge can create sparks to get extra money or share them for free.

Designers & Artists

Virtual Agents and Avatars need a body to show their emotions, to speak, etc. A character whether it’s 3D or 2D is also a spark.


There are some companies that already have a product, like a TTS. This kind of companies can use Fiona as a new supply network to sell their products.

Consulting Firms

Virtual Agents’ market is growing really fast and companies demand better online services for their customers. Consulting firms can make fast delivery on projects with Fiona. They only have to choose the sparks they need, build their Virtual Agents and make them work at someone’s website.

How you can be part of Fiona

Easy enough: Go to and press Join to participate or click hereto go straight. Fulfill the data we ask you for and click in Register. You should receive an email at the address you give us, so go check your email and click in the activation link. Now your account has been activated and you are part of Fiona’s community.

Remember, Fiona is still in its first steps of development, and we are only giving access to small groups of people.

How you can enter Fiona

Go to and insert your email and your password at the top of the page. Then, press Enter Fiona.

Remember, Fiona is still in its first steps of development, and we are only giving access to small groups, so if you are not able to enter Fiona, please send us an email at fiona(at)

Your Account

You can change your data going to Account. Once you change it click on Save and your data will be saved.

Important: As we move forward in Fiona’s development, more options will be added to complete your account and profile.


At the SparkUp zone you can upload your sparks and see the result on your Virtual Agent. Explore your files and select your spark. Remember you should upload a .zip or .rar file. In case you don’t, your spark will not be uploaded. Please, read the Spark Developer Guide to learn how to create new sparks.

Once uploaded, your spark will appear at the SparkLink Zone.

SparkLink zone


Here you will be able to manage your sparks and link them with each other to build your avatar.

SparkLink Zone

Avatar Builder

At your left you have the tools needed to build your avatar. If you click on the plus sign, it will appear a list with either Sparks, Asking Interfaces or Answering Interfaces.


There are a lot of different sparks you can combine. You will have available the sparks we give as default, your own sparks and the ones you buy at the SparkStore. To use them you only have to drag and drop the spark into the Linking Zone.

List of default Sparks:

  • 3D Character: It’s your 3D character.
  • AV Input:
  • Camera Control: It lets you change the camera position. Select the spark and go to properties to change the values.
  • Voice Start: It allows your avatar to start talking when you launch it. You can also change the text you want your avatar to say.
  • Festival TTS: It’s the spark that receives the text from the Voice Start and changes it to spoken words. It’s the TTS.
  • Audio Manager:
  • Face Tracker: It detects your face through your camera.
  • Eye Contact: It makes the avatar to follow your face.

The sparks showed in this document are in Bold Text.


You need interfaces for the sparks to be able to communicate with other sparks. Each interface has its own purpose and not all the interfaces can be used with every spark.

We provide you with 2 groups of interfaces: Asking Interfaces (the green ones) and Answering Interfaces (the pink ones). There is always a dialogue between them. The Asking Interfaces call and the Answering Interfaces get the call.

Each type interface has its own icon and its own name. These feature are the same no matther if it's an Asking Interface or an Answering Interface.

Only interfaces with the same icon can be connected together and it must be one interface from each group (green and pink), like you see in the picture.

The name of the interfaces showed in this text will be in Italics.


Asking Interfaces

The Asking Interfaces are the ones that initiate the call and wait for the Answering Interfaces to get it.

Answering Interfaces

These interfaces are called Answering Interfaces, because they are the ones that receive the call from the Asking Interfaces.

List of Interfaces

Name Meaning Asking Interface Answering Interface
IAnimation It’s what makes your avatar move
IApplication Used to launch a process
IAudioConsumer Used to send and receive audio
IAudioManager Used to manage an audio buffer
ICamera Used to set position, angles and different parameters of the avatar's camera
IConcurrent Used to start/stop threads
IErrorFix Used to handle errors
IEyes Sets the position of the eyes
IEventQueue .
IFaceExpression Used to change the expression of avatar's face
IHead Sets avatar's head position
IMovement Used to update avatar's movements produced by sparks that control these motions
IUserFacePosition Used to send and receive the position of the detected human face through the camera
IVideoConsumer Used to send and receive video frames
IFlowVoice Used to communicate with a TextToSpeech
IVoiceControl Used to control voice


At your right you will be able to change the properties of a spark. Depending on the spark you choose you will have different properties to change.

For example, if you select Voice Start you will be able to change the text your avatar says.


Linking Zone

Here is where you can drag and drop the sparks and interfaces from the avatar builder and connect them with each other to build your avatar. Linking Zone

Creating the Avatar

The first thing you need to begin building your avatar is the 3D Character, which is the main spark. Go to the Avatar Builder, then click on Sparks and select 3D Character and drop it on the Linking Zone.

Once you have the main spark you can link it with others through the interfaces. The 3D Character should be connected with every single spark you want to use.

Each spark has specific interfaces allowed. For example the 3D Character is the spark that more interfaces lets you use, because is the one that should be linked to the rest of the sparks.

If you select your spark when it’s in the Linking Zone, the interfaces allowed will appear. Depending in what sparks you want to connect, you will use different interfaces.

Each sparks have its own specifications to make it easier for you to use them.

To create your first avatar quickly follow the Quick Start Guide

SparkRender Zone

Once your avatar is ready, take it to the production enviroment!

This feature will be explained as it becomes available.


Here you'll find the Spark market. The place to buy, sell and share Sparks.

This feature will be explained as it becomes available.

Connection issues

If you are watching an overlay icon is because we are streaming the avatar using the RTMPT protocol, which is significantly slower and more error-prone. This situation often occurs when you are behind a firewall/proxy. Contact with your IT system administrator for a better perfomance.

Personal tools