Vocalware API Reference
Vocalware API Reference
Table of Contents
INTRODUCTION............................................................................................................. 2
SELECT THE API FLAVOR TO USE .......................................................................... 2
ADDITIONAL RESOURCES ......................................................................................... 3
THE JAVASCRIPT & ACTIONSCRIPT APIS............................................................ 3
INTRODUCTION ................................................................................................................ 3
PROGRAMMING FOR MOBILE ........................................................................................... 4
USING YOUR EMBED CODE .............................................................................................. 4
JavaScript Instructions ............................................................................................... 4
ActionScript 3 Instructions ......................................................................................... 5
ActionScript 2 Instructions ......................................................................................... 5
PLAYBACK CONTROL FUNCTIONS .................................................................................... 6
sayText (txt,voice,lang,engine,[effect], [effLevel])..................................................... 6
setPlayerVolume (level) .............................................................................................. 7
stopSpeech ()............................................................................................................... 7
freezeToggle () ............................................................................................................ 8
setStatus (interruptMode,progressInterval,reserved1,reserved2) .............................. 8
STATUS CALLBACK FUNCTIONS ....................................................................................... 9
Embedding in an HTML page: ................................................................................... 9
Embedding in a Flash movie: ..................................................................................... 9
vw_apiLoaded (apiID) .............................................................................................. 10
vw_audioProgress (percentPlayed).......................................................................... 10
vw_talkStarted ()....................................................................................................... 11
vw_talkEnded () ........................................................................................................ 11
vw_audioStarted ().................................................................................................... 11
vw_audioEnded () ..................................................................................................... 12
THE HTTP REST API................................................................................................... 13
THE HTTP GEN REQUEST ............................................................................................ 13
SESSION VERIFICATION .................................................................................................. 15
EXAMPLE ....................................................................................................................... 15
GENERATING THE CHECKSUM........................................................................................ 16
AUDIO TIMING META-DATA .......................................................................................... 16
APPENDIX A: LANGUAGES AND VOICES ............................................................ 18
APPENDIX B: EXPRESSIVE CUES ........................................................................... 22
Introduction
The Vocalware API enables you to use our cloud based Text-To-Speech service, to
generate & play audio in real-time within your online application. By the term online
application we refer to any online program, including: web pages, Flash widget, or
native code apps on either desktop, server or mobile device. The only requirement is that
your application has access to an internet connection fast enough to stream 48kbps audio.
The Vocalware API allows you to generate audio and control audio playback. The API
comes in three flavors: JavaScript/HTML5, ActionScript (Flash) and HTTP-REST
- so it can be easily incorporated into any application. Whether your application runs inbrowser or standalone, on mobile, desktop or server - one of our API flavors will work
for you.
The Vocalware API supports TTS in over 20 languages, with several voices available in
most. The API allows you to specify the language and voice to use, as well as optional
audio effects such as pitch, echo, etc.
Additional Resources
If you have any questions, or run into difficulty when trying to use any of our APIs,
please check out our support pages, where you will be able to access:
Frequently Asked Questions covering a large number of issues.
API examples, including full source code, covering all three APIs and each of the API
functions listed here.
Important caveats / pitfalls to avoid Your embed code is specific to your account and for your protection will allow
playback only from the domain(s) you specify. Specifying a domain is
mandatory. Your API will not function without it.
The vw_apiLoaded status callback is dispatched when the API is ready. It is
therefore advisable to implement the vw_apiLoaded callback and avoid
calling any API function prior to loading confirmation. API functions work only
after the API has completed loading.
In the next sections you will find instructions and code examples explaining how to use
your embed code as well as a listing of the API function calls.
JavaScript Instructions
Paste your embed code into your HTML pages BODY section. Needless to say that your
page must have a BODY section to be able to fulfill this requirement This instruction
applies to mobile as well as non-mobile web pages.
The exact location within your HTML is not significant, though it is best not to include it
within FORM brackets or other nested HTML structures.
Use the Javascript API functions defined below.
ActionScript 3 Instructions
1. Run Adobe Flash CS3 or higher.
2. Click Layer 1
3. If you do not see the Actions > Frame window label in the middle left of the screen,
click Actions.
4. Add the following block of code into the Actions Frame window.
Security.allowDomain("content.oddcast.com");
var ldr:Loader;
var req:URLRequest;
var vw_player:MovieClip;
var _example_ui:MovieClip;
req = new URLRequest("EMBED_CODE");
ldr = new Loader();
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHan
dler);
ldr.load(req);
addChild(ldr);
function completeHandler($ev:Event):void
{
trace("EXAMPLE --- COMPLETE HANDLER "+$ev.target);
vw_player = MovieClip(ldr.content);
}
5. Copy your embed code and Paste where you see EMBED_CODE above.
Note: In the HTML file make sure that allowScriptAccess' is set to 'always'.
6. Declare event listeners in the completeHandler function if call back functions will be
used, for example:
vw_player.addEventListener(vw_apiLoaded, vw_apiLoaded);
ActionScript 2 Instructions
1.
2.
3.
4.
5. Drag Symbol 1 from the Library window to the upper left corner of the Scene
window. Replace with instance_name.
6. Click Layer 1
7. If you do not see the Actions > Frame window label in the middle left of the screen,
click Actions.
8. Copy your embed code and Paste into the Actions Frame window.
9. The line below should appear in the Actions for the first Frame of the first Scene of
your movie:
System.security.allowDomain("vhost.oddcast.com", "vhssa.oddcast.com", "vhss-c.oddcast.com", "vhss-d.oddcast.com");
10. The line below should appear in the Actions for the Scene. Replace instance_name
with the name of the instance name you entered for the symbol you inserted, and
replace EMBED_CODE with your embed code.
instance_name.loadMovie("EMBED_CODE");
11. Declare all callback functions that you wish to use, for example:
function vw_apiLoaded(){
//any commands that should be triggered here;
}
voice
lang
engine
effect
S Speed
levels: -3, -2, -1, 1, 2, 3
R Robotic:
o Bullhorn
level: 3 (note: levels 1 and 2 are
deprecated)
T Time:
o Echo
level: 1
o Reverb
level: 2
o Flanger
level: 3
o Phase
level: 4
W Whisper
levels: 1, 2, 3
effLevel Optional. Integer. Effect level must be provided if effect is
provided.
Examples:
sayText(Hello World,1,1,1)
sayText(Hello World,1,1,1,S,-2)
setPlayerVolume (level)
Set playback volume, or mute the audio.
Arguments:
level
Example:
setPlayerVolume(10)
Note:
Setting the volume to 0, does not stop playback or the audio stream. It only affects
the audio volume. To stop playback, use the function stopSpeech(). To pause
playback, use the function freezeToggle().
Calling this function has no effect on some mobile browsers.
stopSpeech ()
Stop audio playback in progress. If audio is not currently playing, stopSpeech has no
effect (i.e. it does not prevent speech that has not yet begun).
Arguments:
None.
Example:
stopSpeech()
freezeToggle ()
Toggle between the pause and play states. If playback is in progress, it is paused. If
playback is paused, it is resumed from the point it was paused.
Arguments:
None.
Example:
freezeToggle()
setStatus (interruptMode,progressInterval,reserved1,reserved2)
Set several status values which govern various aspects of playback.
Arguments:
interruptMode
Required. Integer (0/1) Default = 0.
If set to 0 consecutive audio playback function calls
(sayText) are queued for consecutive playback.
If set to 1 current audio is interrupted when sayText is
called.
progressInterval
Required. Non-negative Integer Default = 0.
The audio progress interval value controls progress
callbacks which take place during playback. The callback
function
vw_audioProgress(percent_played)
is called during playback if the value of progressInterval
is non-zero. The non-zero value determines the frequency
of the call.
The value must be an integer greater than or equal to 0.
When greater than 0, the callback
"vw_audioProgress(percent_played)" is triggered at the
frequency specified by the number (in seconds). The
2015 Oddcast Inc.
ActionScript 3
To receive the status callbacks you need to register an event listener for each callback
function. Heres an example of loading the content and registering as a listener for the
vw_talkStarted event:
loader:Loader = new Loader();
loader.loaderContentInfo.addEventListener(Event.COMPLETE,
setListeners);
loader.load( /* your AS3 embed code here */ );
function setListeners():void
{
MovieClip(loader.content).addEventListener(vw_talkStarted,talkS
tartedHandler);
function talkStartedHandler():void{ trace(talk started); }
}
vw_apiLoaded (apiID)
Triggered when the API is fully loaded. Use this callback to verify API is ready, prior to
making any function calls.
Arguments:
The id of the api being loaded.
Example - JavaScript & ActionScript2
apiID
function vw_apiLoaded(apiID){
alert(the API is loaded);
}
Example - ActionScript3
MovieClip(loader.content).addEventListener(vw_apiLoaded,ap
iLoadedHandler);
function apiLoadedHandler(event:*):void{
trace(api loaded. Id=+ event.data);
}
vw_audioProgress (percentPlayed)
Called during playback, if and only if the progressInterval status is set.
vw_audioProgress is repeatedly called at regular intervals during playback. The intervals
are determined according to the value of the progressInterval status. See setStatus API
call for information about how to set this value.
This callback can be used to enable synchronization between playback and other events
taking place at the same time. For example: highliting text segments, or visual elements
on the page in coordination with speech playback.
Arguments
A value between 0 and 100 which indicated the
proportion of audio already played.
Example - JavaScript & ActionScript2
percentPlayed
function vw_audioProgress(percentPlayed) {
}
10
Example - ActionScript3
MovieClip(loader.content).addEventListener(vw_audioProgress,audi
oProgHandler);
function audioProgHandler(event:*):void{
trace(percent played: + event.data.percent);
}
vw_talkStarted ()
Triggered when the audio playback begins.
Example - JavaScript & ActionScript2
function vw_talkStarted(){
}
Example - ActionScript3
MovieClip(loader.content).addEventListener(vw_talkStarted,talkS
tartedHandler);
function talkStartedHandler(event:*):void{
trace(talk started);
}
vw_talkEnded ()
Triggered when audio playback is done.
Example - JavaScript & ActionScript2
function vw_talkEnded(){
}
Example - ActionScript3
MovieClip(loader.content).addEventListener(vw_talkEnded,talkEnde
dHandler);
function talkEndedHandler ():void{
trace(talk ended);
}
vw_audioStarted ()
Triggered when audio playback begins. Unlike vw_talkStarted() this event is fired for
each audio playback in a sequence. In ActionScript3, the event contains a data property
which provides direct references to the Sound object (event.data.sound) and the
SoundChannel (event.data.sound_channel) to allow advanced control for as3 developers.
11
Example - ActionScript3
MovieClip(loader.content).addEventListener(vw_audioStarted,audio
StartedHandler);
function audioStartedHandler(event:*):void{
var sound:Sound = event.data.sound;
var sound_channel:SoundChannel = event.data.sound_channel;
trace(audio started);
}
vw_audioEnded ()
Triggered when audio playback ends. Unlike talkEnded() this event is fired for each
audio playback in a sequence.
Example - JavaScript & ActionScript2
function vw_audioEnded(){
}
Example - ActionScript3
MovieClip(loader.content).addEventListener(vw_audioEnded,audEnde
dHandler);
function audEndedHandler ():void{
trace(audio ended);
}
12
CS
Description
Engine Id.
Language Id.
Voice Id.
Text to be used for audio creation (Encoded)
swf or mp3. Default is mp3
Sound effect type. Default is empty (no effect)
Sound effect level. Default is empty (no effect)
Account id
API id
Used to verify the session (see Session Verification section)
Optionally use HTTP header status codes to return success or
error. Values:
0 do not use HTTP codes (default)
1 use HTTP codes
Checksum implemented as an md5 of all above parameter and
secret word
CS = md5 (EID + LID + VID + TXT + EXT + FX_TYPE + FX_LEVEL + ACC + API
+ SESSION + HTTP_ERR + SECRET PHRASE)
Return values:
In case of success, mp3 or swf binary stream is returned. The audio data is single channel
(mono), has a 22Khz sample rate and is encoded at a 48Kbps bitrate.
In case of failure, two types of error codes are used:
13
1. In Stream error codes are always returned in case of failure. The Code is
returned within the audio binary data, and begins with the string Error.
2. HTTP Header status codes are only returned if HTTP_ERR parameter is
set to 1. Otherwise, code 200 will always be returned. By default, this
parameter is set to 0 (for backward compatibility).
The following are the error codes returned for each type:
In-Stream Error Codes (always returned in case of error)
Error Code
Message
More Info
100
No data found in request.
Missing all request parameters.
101
Missing Required Parameter
Missing EID
102
Missing Required Parameter
Missing LID
103
Missing Required Parameter
Missing VID
104
Missing Required Parameter
Missing TXT
105
Missing Required Parameter
Missing ACC
106
Missing Required Parameter
Missing API
107
Missing Required Parameter
Missing CS
201
Unknown account id
ACC failed verification
202
Invalid session
SESSION failed verification
203
Invalid checksum
Checksum failure
204
Authorization failure
Verification failed (General)
205
Inactive account
Inactive account
206
Invalid API
API ID not assigned to account
300
General error
General error
301
Too many TTS Requests
Too many TTS Requests
302
TTS Failed
TTS Failed
400
APS Failed
APS Failed
HTTP Header Status Codes (returned only if requested)
Error Code
Description
200
Successful TTS request
400
Bad (malformed) request. Modify the request before resubmitting.
401
Unauthorized request.
503
The server is temporarily unable to fulfill the request. OK to resubmit.
14
Session Verification
Session verification is an optional feature designed to protect your account. Heres how it
works:
When your application makes an HTTP GEN request, and if the checksum proves to
be authentic, we call a predefined URL on your servers (the Callback URL).
You specify the Callback URL for us to use as part of your Vocalware account
security settings.
The call is an HTTP POST request, with two parameters your account ID and the
session ID you provided when making the GEN request.
When we call you you may authorize the session, or reject it.
If the Callback URL for the account is not setup, or if the Session parameter is not
provided, then no callback attempt is made.
If the Callback URL for the account is not setup, checksum is calculated without the
Session parameter even if present.
Note: we cache your responses. Subsequent GEN calls that provide the same session
ID will not always generate a callback.
Why use session verification?
If your GEN requests originate from your server, there is no need to setup session
verification. But if you are making GEN requests from a client application (i.e. a web
page) then session verification is highly advisable to secure your account.
Verification Syntax:
POST request to account Callback URL.
Parameter
ACC
SESSION
Description
Account id
Provided session id
Return Values
1
0
Description
SESSION is valid
Error invalid session
Example
This example page demonstrates how to put together the HTTP GEN request:
http://www.vocalware.com/support/rest-api
15
16
To coordinate audio playback within your application (i.e. to display captions etc.) you
may want to take advantage of timing data Vocalware stores in an ID3 tag. The tag
includes multiple bits of information the following explanation will focus on the text
and timing.
In the ID3 tag look for "timed_phonemes" then look for the letter "W" (uppercase).
each W denotes a "Word" and is followed by four comma separated symbols:
1. start time (in miliseconds)
2. end time
3. amplitude
4. the text
Example: An audio generated from the text "one two three test"
audio_duration = "1.708";
date = "20130827_15:10:40.088";
host = "ODDAPS003";
kbps = "48";
khz = "22050";
lip_string =
"f0=1&f1=5&f2=7&f3=6&f4=1&f5=1&f6=12&f7=13&f8=13&f9=6&f10=15&f11=15&f12=1
5&f13=9&f14=9&f15=6&f16=6&f17=0&f18=0&f19=0&f20=0&f21=0&nofudge=1&lipvers
ion=2&ok=1";
timed_phonemes = "P,0,46,51,x
S,46,1336,71,.
G,46,256,78,8
W,46,256,78,one
P,46,106,86,w
P,106,186,95,^
P,186,256,54,n
G,256,476,71,8
W,256,476,71,two
P,256,336,67,t
P,336,476,74,U
G,476,736,77,8
W,476,736,77,three
P,476,546,66,T
P,546,576,87,R
P,576,736,80,E
W,736,1336,64,test
P,736,796,63,t
P,796,1026,90,e
P,1026,1196,64,s
P,1196,1336,24,t
P,1336,1686,0,x";
17
Language
ID
Arabic
27
Catalan
Chinese
10
Danish
19
Dutch
11
English
Esperanto
31
Finnish
23
French
Galician
15
German
Greek
Italian
Japanese
12
Korean
13
Norwegian
20
Polish
14
Portuguese
Romanian
30
Russian
21
Spanish
Swedish
Turkish
16
18
Engine ID = 2
Language
English
English
English
English
English
English
English
English
English
English
Spanish
Spanish
Spanish
Spanish
Spanish
Spanish
Spanish
Spanish
Spanish
Spanish
German
German
French
French
French
French
French
Catalan
Catalan
Catalan
Portuguese
Portuguese
Portuguese
Portuguese
Portuguese
Italian
Italian
Italian
Italian
Italian
Italian
Italian
Lang.
ID
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
3
3
4
4
4
4
4
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
Voice Name
Voice ID
Susan
Dave
Elizabeth
Simon
Catherine
Allison
Steven
Alan
Grace
Veena
Carmen
Juan
Francisca
Diego
Esperanza
Jorge
Carlos
Soledad
Leonor
Ximena
Stefan
Katrin
Bernard
Jolie
Florence
Charlotte
Olivier
Montserrat
Jordi
Empar
Gabriela
Amalia
Eusebio
Fernanda
Felipe
Paola
Silvana
Valentina
Luca
Marcello
Roberto
Matteo
1
2
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
2
3
2
3
4
5
6
1
2
3
1
2
3
4
5
1
2
3
5
6
7
8
19
Gende
r
F
M
F
M
F
F
M
M
F
F
F
M
F
M
F
M
M
F
F
F
M
F
M
F
F
F
M
F
M
F
F
F
M
F
M
F
F
F
M
M
M
M
Description Expressive
Cues*
US
US
UK
UK
UK
US
US
Australian
Australian
Indian
Castilian
Castilian
Chilean
Argentine
Mexican
Castilian
American
American
Castilian
American
European
European
European
Canadian
Canadian
Valencian
Brasilian
European
European
Brazilian
Brazilian
7
Giulia
9
F
Italian
7
Federica
10
F
Italian
8
Afroditi
1
F
Greek
8
Nikos
3
M
Greek
9
Annika
1
F
Swedish
9
Sven
2
M
Swedish
10
Linlin
1
F
Mandarin
Chinese
10
Lisheng
2
F
Mandarin
Chinese
11
Willem
1
M
Dutch
11
Saskia
2
F
Dutch
14
Zosia
1
F
Polish
14
Krzysztof
2
M
Polish
15
Carmela
1
F
Galician
16
Kerem
1
M
Turkish
16
Zeynep
2
F
Turkish
16
Selin
3
F
Turkish
19
Frida
1
F
Danish
19
Magnus
2
M
Danish
Vilde
1
F
Norwegian 20
Henrik
2
M
Norwegian 20
21
Olga
1
F
Russian
21
Dmitri
2
M
Russian
23
Milla
1
F
Finnish
23
Marko
2
M
Finnish
27
Tarik
1
M
Arabic
27
Laila
2
F
Arabic
Ioana
1
F
Romanian 30
31
Ludoviko
1
M
Esperanto
* Expressive Cues are a set of special tags which you may use in your text to
specify distinct non-verbal expressions, such as laughing, crying, sighing,
coughing, etc. Expressive Cues can be used only with a subset of voices, as
indicated above. For a complete list of Expressive Cue tags see separate
documentation.
Engine ID = 3
Language
English
English
English
English
English
English
English
Lang.
ID
1
1
1
1
1
1
1
Voice
Name
Kate
Paul
Julie
Bridget
Hugh
Ashley
James
20
Voice
ID
1
2
3
4
5
6
7
Gender Description
F
M
F
F
M
F
M
US
US
US
UK
UK
US
US
Spanish
Spanish
French
Chinese
Chinese
Chinese
Japanese
Japanese
Korean
Korean
2
2
4
10
10
10
12
12
13
13
Violeta
Francisco
Chloe
Lily
Hui
Liang
Show
Misaki
Yumi
Junwoo
21
1
2
1
1
3
4
2
3
1
2
F
M
F
F
F
M
M
F
F
M
Mexican
Mexican
Canadian
Mandarin
Mandarin
Mandarin
NOTE: You must prepend all Expressive Cues with a \ character before using them in API
functions. For example:
sayText(Hello World \\_Laugh,5,1,2);
22
23
\_Duh
\_Eh
\_Eugh
\_Hiccup \_Hiccup_01 \_Hiccup_02
\_Hm \_Hm_01
\_Hurrah
\_Kiss \_Kiss_01 \_Kiss_02 \_Kiss_03
\_Laugh \_Laugh_01 \_Laugh_02 \_Laugh_03 \_Laugh_04 \_Laugh_05
\_Mmm \_Mmm_01
\_Oh \_Oh_01 \_Oh_02
\_Oho
\_Ooh \_Ooh_01
\_Oops
\_Pain \_Pain_01 \_Pain_02
\_Phoarr
\_Raspberry \_Raspberry_01 \_Raspberry_02
\_Sigh \_Sigh_01
\_Sneeze \_Sneeze_01 \_Sneeze_02
\_Sniff \_Sniff_01 \_Sniff_02
\_Snore \_Snore_01
\_Sshhh
\_Swallow
\_Throat \_Throat_01 \_Throat_02 \_Throat_03
\_Tuttut
\_Uh \_Uh_01
\_Uhuh \_Uhuh_01 \_Uhuh_02 \_Uhuh_03
\_Um
\_Whistle \_Whistle_01 \_Whistle_02 \_Whistle_03 \_Whistle_04 \_Whistle_05
\_Woh \_Woh_01 \_Woh_02
\_Wow
\_Yawn \_Yawn_01
\_Yuck
\_Yummy
French: Jolie
\_Aaah
\_Aah
\_Ah
\_Aie \_Aie_01
\_Bah
\_Ben
\_Berk
\_Bleah
\_Bof
\_Breath \_Breath_01 \_Breath_02 \_Breath_03 \_Breath_04
24
\_Chut \_Chut_01
\_Click \_Click_01 \_Click_02
\_Cough \_Cough_01 \_Cough_02
\_Ehe
\_Ehi
\_Ehm
\_Euhh
\_Heho \_Heho_01
\_Hep \_Hep_01
\_HmHm
\_HuHu
\_Hum
\_Laugh \_Laugh_01 \_Laugh_02 \_Laugh_03 \_Laugh_04 \_Laugh_05 \_Laugh_06
\_Laugh_07 \_Laugh_08 \_Laugh_09
\_Mmm
\_Mmum
\_Oh
\_Oho \_Oho_01
\_Ooh
\_Ops
\_Ouf
\_Pfuit
\_Prrr
\_Ptt_01 \_Ptt_02
\_Rrrr
\_Smack \_Smack_01 \_Smack_02 \_Smack_03 \_Smack_04
\_Sniff \_Sniff_01 \_Sniff_02 \_Sniff_03 \_Sniff_04
\_Swallow \_Swallow_01 \_Swallow_02
\_TChut
\_Throat \_Throat_01
\_Toh
\_Tt
\_Tttt
\_Uff
\_Uh \_Uh_01
\_Wao \_Wao_01
\_Whistle \_Whistle_01 \_Whistle_02 \_Whistle_03 \_Whistle_04 \_Whistle_05
\_Whistle_06 \_Whistle_07
\_Wuuh
\_Yawn \_Yawn_01 \_Yawn_02 \_Yawn_03 \_Yawn_04
German: Katrin
\_Ah \_Aha
\_Aha
\_Bleah \_Bleah_01 \_Bleah_02 \_Bleah_03 \_Bleah_04
25
26
\_Toh
\_Uuu
\_Whistle \_Whistle_01 \_Whistle_02 \_Whistle_03 \_Whistle_04
\_Wow \_Wow_1 \_Wow_2
\_Yawn \_Yawn_01
Italian: Giulia
\_Ah_01 \_Ah_02 \_Ah_03 \_Aha \_Ahahah
\_Aha \_Ahahah
\_Ahahah
\_Bah
\_Breath \_Breath_01 \_Breath_02 \_Breath_03 \_Breath_04
\_Click \_Click_01 \_Click_02
\_Cough \_Cough_01 \_Cough_02 \_Cough_03 \_Cough_04
\_Di'
\_Eh \_Ehe
\_Laugh \_Laugh_01 \_Laugh_02 \_Laugh_03 \_Laugh_04
\_Mah
\_Mhm \_Mhm_01 \_Mhm_02 \_Mhm_03 \_Mhm_04
\_Mmm \_Mmm_01 \_Mmm_02 \_Mmm_03
\_Oh \_Oho
\_Smack \_Smack_01 \_Smack_02 \_Smack_03 \_Smack_04
\_Swallow
\_Throat \_Throat_01 \_Throat_02 \_Throat_03
\_Toh
Italian: Luca
\_Aagh
\_Acci \_Acci_01
\_Ah \_Ah_01
\_Arf \_Arf_01
\_Argh \_Argh_01 \_Argh_02 \_Argh_03 \_Argh_04
\_Azz \_Azz_01
\_Bah \_Bah_01 \_Bah_02 \_Bah_03
\_Bau \_Bau_01 \_Bau_02 \_Bau_03
\_Beh \_Beh_01 \_Beh_02 \_Beh_03 \_Beh_04 \_Beh_05 \_Beh_06 \_Beh_07 \_Beh_08
\_Beh_09
\_Bleah \_Bleah_01 \_Bleah_02
\_Boh \_Boh_01 \_Boh_02
\_Breath \_Breath_01 \_Breath_02 \_Breath_03 \_Breath_04 \_Breath_05 \_Breath_06
\_Breath_07 \_Breath_08 \_Breath_09 \_Breath_10 \_Breath_11 \_Breath_12
\_Buh \_Buh_01
\_Buuu \_Buuu_01 \_Buuu_02
\_Click \_Click_01 \_Click_02 \_Click_03 \_Click_04 \_Click_05 \_Click_06
27
28
\_Uffa
\_Ufff \_Ufff_01 \_Ufff_02 \_Ufff_03
\_Uh \_Uh_01 \_Uh_02 \_Uh_03 \_Uh_04
\_Uhuh \_Uhuh_01 \_Uhuh_02
\_Ups \_Ups_01 \_Ups_02 \_Ups_03 \_Ups_04 \_Ups_05
\_Uuuu \_Uuuu_01 \_Uuuu_02
\_Whistle \_Whistle_01 \_Whistle_02 \_Whistle_03 \_Whistle_04 \_Whistle_05
\_Whistle_06 \_Whistle_07 \_Whistle_08 \_Whistle_09 \_Whistle_10 \_Whistle_11
\_Whistle_12 \_Whistle_13
\_Wow \_Wow_01 \_Wow_02 \_Wow_03 \_Wow_04 \_Wow_05
\_Yawn \_Yawn_01 \_Yawn_02
\_Yeah \_Yeah_01 \_Yeah_02 \_Yeah_03 \_Yeah_04 \_Yeah_05
\_Yeee \_Yeee_01 \_Yeee_02 \_Yeee_03
\_Yo \_Yo_01 \_Yo_02 \_Yo_03
\_Yuhu \_Yuhu_01 \_Yuhu_02 \_Yuhu_03 \_Yuhu_04
\_Yuppi \_Yuppi_01 \_Yuppi_02
Italian: Paola
\_Acci \_Acci_01
\_Argh
\_Atciu'
\_Azz
\_Bah
\_Bau \_Bau_01
\_Beh \_Beh_01
\_Bleah
\_Boh
\_Breath \_Breath_01
\_Buh \_Buh_01
\_Buuu
\_Cough \_Cough_01 \_Cough_02
\_Cry \_Cry_01
\_Deh
\_Di'
\_Eh \_Ehm
\_Embe'
\_Gasp
\_Gnam
\_Grrr
\_Hah
\_Haha \_Haha_01
\_Heh \_Hehe
\_Hei
\_Hihi
\_Hoho
29
\_Huhu
\_Laugh \_Laugh_01 \_Laugh_02 \_Laugh_03 \_Laugh_04 \_Laugh_05 \_Laugh_06
\_Mah \_Mah_01
\_Mhm
\_Miao \_Miao_01
\_Miii
\_Mmm \_Mmm_01
\_Oh \_Oho
\_Oi
\_Ops \_Ops_01
\_Pf
\_Prrr \_Prrr_01 \_Prrr_02 \_Prrr_03
\_Shhh
\_Shht
\_Smack \_Smack_01
\_Sniff \_Sniff_01
\_Swallow \_Swallow_01 \_Swallow_02
\_Throat \_Throat_01 \_Throat_02 \_Throat_03 \_Throat_04
\_Toh \_Toh_01
\_Ue'
\_Uff
\_Whistle \_Whistle_01 \_Whistle_02 \_Whistle_03
\_Wow
\_Yawn \_Yawn_01 \_Yawn_02 \_Yawn_03
\_Yeah
\_Yeee
\_Yo
\_Yuhu
\_Yuppi
30