User Guide
Contents |
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.
Researchers
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.
Geeks
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.
Companies
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 http://www.sparkingtogether.com 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 http://www.sparkingtogether.com 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)sparkingtogether.com.
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.
SparkUp
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
Description
Here you will be able to manage your sparks and link them with each other to build your avatar.
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.
Sparks
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.
Interfaces
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 |
Properties
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.
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.
SparkStore
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.













