Results 1 to 4 of 4
Thread: Voice Recording, general
-
07-05-2012, 15:16 #1
-= TeamSpeak User =-
- Join Date
- Jan 2012
- Posts
- 6
Voice Recording, general
Hello, I have read everything I can find about voice recording in both the client and server manual of TS3 SDK.
From what I can see...
1. From the server it is possible to get voice data per client with onVoiceDataEvent but there is no time synchronisation.
What happens with silence? Is it up to me to insert the apropriate pauses to the file i write to?
If I want to record all chat in a channel, do I have to mix voice data from different clients myself?
What is the purpose of this function, the manual says server-side voice recording but how useful is it to only get voice data unmixed? It would be nice to be able to get per channel and set up a group of clients to be mixed together. The latter to work well when (simulating) talking and listening in multiple channels (by using whisper lists).
2. Clients have the onEditMixedPlaybackVoiceDataEvent to capture all voice data the client hears.
What happens with silence?
To record all talk in a channel I can join with another client and record all data it hears.
3. In the client manual, under voice recording it says "When using the above callbacks to record voice, you should notify the server when recording starts or stops"
Why do the server need to know if a client records or not?
What is the purpose of ts3client_startVoiceRecording and ts3client_stopVoiceRecording?
Are there any other ways to get voice data from multiple clients to be mixed together in the SDK?
Thanks!Last edited by MartinA; 07-05-2012 at 15:17. Reason: Spelling
-
07-05-2012, 15:33 #2
-= TeamSpeak Team =-
- Join Date
- Jul 2002
- Location
- Germany
- Posts
- 2,836
Yes this callback is per client ID, so unmixed sound data. The way it works is:
(1) At the beginning of any client starting to talk, you receive a onClientStartTalkingEvent callback, and onVoiceDataEvent begins firing for this client
(2) While the client is talking you will receive the onVoiceDataEvent every ~20ms, with voice data (or interpolated data if voice data was missing)
(3) When the client stops talking you get a onClientStopTalkingEvent callback, and the onVoiceDataEvent stops firing for this client.
Obviously you can mix recordings in any way you see fit, doing so (if you like) so that the exact conversation as took place in the channel is available. The mixing and offset of the individual transmission in time must be done by you in this case.
If you are looking to avoid the mixing part what you could do is use a "dummy" client that joins the room just to record, you can take the mixed audio signal from this dummy client and store this. Generally there are more flexible options obtaining and modifying audio streams on the client side (since the client actually has a full audio processing chain).
Yes what you say is correct, silence is silent audio, not sure what to say here.2. Clients have the onEditMixedPlaybackVoiceDataEvent to capture all voice data the client hears.
What happens with silence?
To record all talk in a channel I can join with another client and record all data it hears.
This is actually to notify other clients that you are recording. It is probably only important on the Client (and Client-SDK) side, for full SDK users I guess you might have your own consideration/laws to worry about concerning recording of private conversations.3. In the client manual, under voice recording it says "When using the above callbacks to record voice, you should notify the server when recording starts or stops"
Why do the server need to know if a client records or not?
What is the purpose of ts3client_startVoiceRecording and ts3client_stopVoiceRecording?
If you use the "custom device" mechanism on the client side you basically overwrite the playback part, implementing the "playback" yourself. You can for example just write the audio data to file...obviously this is all mixed data, since it is what is given to the sound card usually.Are there any other ways to get voice data from multiple clients to be mixed together in the SDK?
-
01-06-2012, 11:24 #3
-= TeamSpeak User =-
- Join Date
- Jun 2012
- Posts
- 1
Its always fun. i think this is a great information that you have posted here. I am very happy with this. Keep it up.
-
05-08-2012, 09:53 #4
-= TeamSpeak User =-
- Join Date
- Aug 2012
- Location
- india
- Posts
- 1
great tips thanks
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Similar Threads
-
Voice recording
By Radarsimulator in forum General QuestionsReplies: 1Last Post: 25-09-2011, 08:08 -
[Already on todo] Change voice icon color in general and with conditions
By Martin240 in forum Suggestions and FeedbackReplies: 1Last Post: 12-03-2010, 13:05 -
Recording / Voice Request
By whonows in forum [TeamSpeak 2] Client SupportReplies: 3Last Post: 18-01-2008, 15:32 -
General voice problem
By layr89 in forum [TeamSpeak 2] Client SupportReplies: 1Last Post: 13-05-2007, 13:16 -
Recording Voice Traffic
By badg3er in forum [TeamSpeak Classic] General QuestionsReplies: 2Last Post: 16-12-2002, 18:09


Reply With Quote
