Difference between revisions of "Voice"

From Second Life Wiki
Jump to navigation Jump to search
(→‎Technical: SLVoice section added)
m (Fixed some Mac-related wording / terminology)
 
(53 intermediate revisions by 10 users not shown)
Line 1: Line 1:
'''Voice''' is a feature that made its debut on its own grid and beta viewer in March of 2007[http://news.cnet.co.uk/gamesgear/0,39029682,49289943,00.htm].
{{Help|Multimedia=*|Communication=*|Glossary=*}}
'''Voice''' is the ability to speak and hear other Residents in Second Life.  See [[Voice Mentors: Getting Started with Voice]] for some introductory information.


==Frequently Asked Questions ==
==Frequently Asked Questions ==
Line 9: Line 10:
The [[Voice Mentors|Voice Mentors group]] and [[Voice in SL: A Community Forum]] are advocacy and help groups for users having problems adjusting to the new system.
The [[Voice Mentors|Voice Mentors group]] and [[Voice in SL: A Community Forum]] are advocacy and help groups for users having problems adjusting to the new system.


==Technical==
==Settings==
You can set your preferences directly in your '''Documents and Settings\<user>\Application Data\SecondLife\user_settings\settings.xml''' file, or you can set them from the viewer.
 
Some settings can be made through the UI panels, but all can be set from the [[advanced menu]].
 
If you haven't already done so, you enable the Advanced menu using
* '''PC''' - {{KeyCombo|ctrl=*|alt=*|D}}
* '''Mac''' - {{KeyCombo|ctrl=*|opt=*|D}}
 
{{KBnote| In some cases, there may be a shortcut conflict with another application. In which case, hold down {{KeyCombo|ctrl=*|alt=*|shift=*|D}}.}} (not to be confused with {{KeyCombo|ctrl=*|alt=*|Del}}). 
Then select:
: Advanced -> Debug Settings
Note:  If you are on Mac OS X, this key combination can possibly hide your Dock. If this happens, click the Apple icon (upper left) then click Dock, then click Turn Hiding Off.
 
 
 
to get the Debug Settings window.  In the selection box, hit the triangle to bring up the list of debug variables and select the setting that you wish to change.
 
Here is a list of settings relating to Voice chat together with their default values and descriptions.
 
 
:;AudioLevelMic
::1.0
::Audio level of microphone input
 
:;AudioLevelVoice
::1.0
::Audio level of voice chat
 
:;EnablePushToTalk
::TRUE
::Must hold down a key or moouse button when talking into your microphone
 
:;EnableVoiceChat
::FALSE
::Enable talking to other Residents with a microphone
 
:;Mute Voice (starting in version 1.19.0)
::FALSE
::Voice plays at 0 volume (streaming audio still takes up bandwidth)
 
:;FloaterActiveSpeakersRect
::0 300 250 0
::Rectangle for active speakers window
 
:;OverdrivenColor
::1.0 0.0 0.0 1.0
::Color of various indicators when Resident is speaking too loud.
 
:;PushToTalkButton
::MiddleMouse
::Which button or keyboard key is used for push-to-talk
 
:;PushToTalkToggle
::FALSE
::Should the push-to-talk button behave as a toggle
 
:;ShowVoiceChannelPopup (starting in version 1.19.0)
::FALSE
::Controls visibility of the current voice channel popup above the voice tab
 
:;SpeakingColor
::0.0 1.0 0.0 1.0
::Color of various indicators when Resident is speaking on a voice channel.
 
:;VivoxDebugLevel
::-1
::Logging level to use when launching the vivox daemon


Voice in Second Life uses [http://www.vivox.com/ Vivox] technology that is based on RTP (using the [http://www.linphone.org/index.php/eng/code_review/ortp oRTP] library), SIP (using the amsip library from [http://www.antisip.com/ Antisip]), [http://www.openal.org/ OpenAL], [http://tinyxpath.sourceforge.net/ TinyXPath], [http://www.openssl.org/ OpenSSL], and [http://curl.haxx.se/ libcurl] for the transmission of voice data. The positional 3D audio is achieved with technology from [http://www.dw.com/about.php DiamondWare]. These technologies are contained in external daemon software that is started and stopped by the Second Life client.
:;VivoxDebugServerName
::bhd.vivox.com
::Hostname of the vivox account server to use for voice when not connected to Agni.


The SecondLife viewer handles configuration, control, and display functions, but the voice streams (from the microphone and from the Vivox voice server) do not enter the viewer.  Unfortunately the source code for the external SLVoice daemon is not available due to contractual obligations between Linden Labs and Vivox.
:;VoiceCallsFriendsOnly
::FALSE
::Only accept voice calls from Residents on your friends list


The executables can be found in the Program Files\SecondLife directory of the runtime and in the linden\indra\newview\vivox-runtime\(platform) directory of the source distribution.
:;VoiceEarLocation
::0
::Location of the virtual ear for voice


* SLVoice.exe
:;VoiceHost
** Thin wrapper around the [http://www.vivox.com/ Vivox] SDK
::127.0.0.1
** Launched when voice is enabled in SL
::Client SLVoice host to connect to
** Runs a TCP server that listens and replies to commands and queries using an XML format
* SLVoiceAgent.exe
** Actually called the [http://www.dw.com/about.php DiamondWare] Thin Voice Client
** Launched by SLVoice
** Unclear how this fits in the communication chain
* vivoxsdk.dll
** The [http://www.vivox.com/ Vivox] SDK
** Used by SLVoice.exe
** Uses a solution from [http://www.antisip.com/ Antisip] for SIP, RTP, and G.711
** Uses [http://www.openal.org/ OpenAL] for playing and recording audio
** Additionally implements the [http://www.itu.int/rec/T-REC-G.722.1-200505-I/en G.722.1/C] (aka Siren14) codec
* ortp.dll
** Real-time Transport Protocol (RFC3550) stack under LGPL
** Used by vivoxsdk.dll
** Originally from [http://www.linphone.org/index.php/eng/code_review/ortp Linphone]
** Distributed as part of amsip by [http://www.antisip.com/ Antisip]
* wrap_oal.dll
** [http://www.openal.org/ OpenAL], a cross-platform 3D audio API
** Used by vivoxsdk.dll
* alut.dll
** The [http://openal.org/openal_webstf/specs/alut.html OpenAL Utility Toolkit (ALUT)]
** Used by vivoxsdk.dll
* ssleay32.dll and libeay32
** From the [http://www.openssl.org/ OpenSSL Project], a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library.
** Used by SLVoiceAgent.dll
* tntk.dll and srtp.dll
** Part of the [http://www.dw.com/about.php DiamondWare] distribution
** Apparently not used


:;VoiceImageLevel0
::041ee5a0-cb6a-9ac5-6e49-41e9320507d5
::Texture UUID for voice image level 0


:;VoiceImageLevel1
::29de489d-0491-fb00-7dab-f9e686d31e83
::Texture UUID for voice image level 1


See also: [[Third Party Libraries]]
:;VoiceImageLevel2
::29de489d-0491-fb00-7dab-f9e686d31e83
::Texture UUID for voice image level 2


:;VoiceImageLevel3
::29de489d-0491-fb00-7dab-f9e686d31e83
::Texture UUID for voice image level 3


===SLVoice===
:;VoiceImageLevel4
::29de489d-0491-fb00-7dab-f9e686d31e83
::Texture UUID for voice image level 4


SLVoice is started from the viewer in SLVoiceClient::stateMachine() using:
:;VoiceImageLevel5
::29de489d-0491-fb00-7dab-f9e686d31e83
::Texture UUID for voice image level 5


:'''SLVoice.exe -p tcp -h -c -ll <''VivoxDebugLevel, default -1''>'''
:;VoiceImageLevel6
::29de489d-0491-fb00-7dab-f9e686d31e83
::Texture UUID for voice image level 6


usage: '''SLVoice [''flags'']'''
:;VoiceInputAudioDevice
::Default
::Audio input device to use for voice


valid flags are:
:;VoiceOutputAudioDevice
:   [-ll <log-level>] 0-5, or -1 for no logging
::Default
:    [-lf <log-folder>]
::Audio output device to use for voice
:   [-lp <log-file prefix>]
:   [-ls <log-file suffix>]
:   [-p tcp]
:    [-i <address>] application sends requests to this address
:    [-o <address>] gateway sends responses and events to this address]
:    [-vo] vivox only functionality
:    [-ov] (undocumented and unused)
:    [-c]  (undocumented but used)
:    [-h]  (undocumented but used)
:    [-r]  (undocumented and unused)


SLVoice.exe was called  vivox-gw.exe in the beta release, so you may still see some references to the old name.
:;VoicePort
::44124
::Client SLVoice port to connect to


====IP Address====
:;WarnFirstVoice
The SecondLife viewer uses IP address 127.0.0.1 (localhost), port 44124 to communicate with SLVoice, the voice client gateway.
::FALSE
::Enables FirstVoice warning dialog


It is possible to connect to a client gateway running on another host.  This is useful for testing.  To do this, launch the gateway on a nearby host,
==Recording==


: '''SLVoice.exe -p tcp -i 0.0.0.0:44124'''
See [[User:Torley Linden|Torley Linden's]] page on [[Voice recording]]


and modify the code in SLVoiceClient::stateMachine() to set the host IP address, '''mDaemonHost'''.
==LipSync==


====Logging====
See the [[LipSync]] page for information on lip sync for voice chat.


The logging for SLVoice is controlled by a viewer variable, VivoxDebugLevel.  You can set it directly in your '''Documents and Settings\<user>\Application Data\SecondLife\user_settings\settings.xml''' file
==Technical==


:: <nowiki><!</nowiki>--Logging level to use when launching the vivox daemon-->
Voice in Second Life uses [http://www.vivox.com/ Vivox] technology that is based on RTP (using the [http://www.linphone.org/index.php/eng/code_review/ortp oRTP] library), SIP (using the amsip library from [http://www.antisip.com/ Antisip]), [http://www.openal.org/ OpenAL], [http://tinyxpath.sourceforge.net/ TinyXPath], [http://www.openssl.org/ OpenSSL], and [http://curl.haxx.se/ libcurl] for the transmission of voice data. The positional 3D audio is achieved with technology from [http://www.dw.com/about.php DiamondWare]. These technologies are contained in external daemon software that is started and stopped by the Second Life client.
:: <VivoxDebugLevel value="5 -lf myDirectory -lp myPrefix -ls .txt"/>


or you can set it from the viewer.
For more details, see the [[Voice/Technical]] page, or have a look at the official [http://jira.secondlife.com/secure/attachment/12026/Vivox-SLVoice-SDK-2007-09-20.pdf ViVox documentation on the JIRA].


[[Category:Voice]]


[[Category:Features]]
[[Category:Voice]] [[Category:Features]]

Latest revision as of 01:11, 13 August 2012

Voice is the ability to speak and hear other Residents in Second Life. See Voice Mentors: Getting Started with Voice for some introductory information.

Frequently Asked Questions

There's an exhaustive Voice FAQ which provides answers to many questions about the new voice feature.

Groups

The Voice Mentors group and Voice in SL: A Community Forum are advocacy and help groups for users having problems adjusting to the new system.

Settings

You can set your preferences directly in your Documents and Settings\<user>\Application Data\SecondLife\user_settings\settings.xml file, or you can set them from the viewer.

Some settings can be made through the UI panels, but all can be set from the advanced menu.

If you haven't already done so, you enable the Advanced menu using

  • PC - Ctrl-Alt-D
  • Mac - Ctrl-⌥ Alt-D
KBnote.png Note: In some cases, there may be a shortcut conflict with another application. In which case, hold down Ctrl-Alt-⇧ Shift-D.

(not to be confused with Ctrl-Alt-Del).

Then select:

Advanced -> Debug Settings

Note: If you are on Mac OS X, this key combination can possibly hide your Dock. If this happens, click the Apple icon (upper left) then click Dock, then click Turn Hiding Off.


to get the Debug Settings window. In the selection box, hit the triangle to bring up the list of debug variables and select the setting that you wish to change.

Here is a list of settings relating to Voice chat together with their default values and descriptions.


AudioLevelMic
1.0
Audio level of microphone input
AudioLevelVoice
1.0
Audio level of voice chat
EnablePushToTalk
TRUE
Must hold down a key or moouse button when talking into your microphone
EnableVoiceChat
FALSE
Enable talking to other Residents with a microphone
Mute Voice (starting in version 1.19.0)
FALSE
Voice plays at 0 volume (streaming audio still takes up bandwidth)
FloaterActiveSpeakersRect
0 300 250 0
Rectangle for active speakers window
OverdrivenColor
1.0 0.0 0.0 1.0
Color of various indicators when Resident is speaking too loud.
PushToTalkButton
MiddleMouse
Which button or keyboard key is used for push-to-talk
PushToTalkToggle
FALSE
Should the push-to-talk button behave as a toggle
ShowVoiceChannelPopup (starting in version 1.19.0)
FALSE
Controls visibility of the current voice channel popup above the voice tab
SpeakingColor
0.0 1.0 0.0 1.0
Color of various indicators when Resident is speaking on a voice channel.
VivoxDebugLevel
-1
Logging level to use when launching the vivox daemon
VivoxDebugServerName
bhd.vivox.com
Hostname of the vivox account server to use for voice when not connected to Agni.
VoiceCallsFriendsOnly
FALSE
Only accept voice calls from Residents on your friends list
VoiceEarLocation
0
Location of the virtual ear for voice
VoiceHost
127.0.0.1
Client SLVoice host to connect to
VoiceImageLevel0
041ee5a0-cb6a-9ac5-6e49-41e9320507d5
Texture UUID for voice image level 0
VoiceImageLevel1
29de489d-0491-fb00-7dab-f9e686d31e83
Texture UUID for voice image level 1
VoiceImageLevel2
29de489d-0491-fb00-7dab-f9e686d31e83
Texture UUID for voice image level 2
VoiceImageLevel3
29de489d-0491-fb00-7dab-f9e686d31e83
Texture UUID for voice image level 3
VoiceImageLevel4
29de489d-0491-fb00-7dab-f9e686d31e83
Texture UUID for voice image level 4
VoiceImageLevel5
29de489d-0491-fb00-7dab-f9e686d31e83
Texture UUID for voice image level 5
VoiceImageLevel6
29de489d-0491-fb00-7dab-f9e686d31e83
Texture UUID for voice image level 6
VoiceInputAudioDevice
Default
Audio input device to use for voice
VoiceOutputAudioDevice
Default
Audio output device to use for voice
VoicePort
44124
Client SLVoice port to connect to
WarnFirstVoice
FALSE
Enables FirstVoice warning dialog

Recording

See Torley Linden's page on Voice recording

LipSync

See the LipSync page for information on lip sync for voice chat.

Technical

Voice in Second Life uses Vivox technology that is based on RTP (using the oRTP library), SIP (using the amsip library from Antisip), OpenAL, TinyXPath, OpenSSL, and libcurl for the transmission of voice data. The positional 3D audio is achieved with technology from DiamondWare. These technologies are contained in external daemon software that is started and stopped by the Second Life client.

For more details, see the Voice/Technical page, or have a look at the official ViVox documentation on the JIRA.