Does ICE have info about who is speaking?

Ice/DBus, Web-Interfaces, Management tools

Does ICE have info about who is speaking?

Postby nickeh » Tue Dec 09, 2014 7:55 pm

Hi,

I have read the Slice API Documentation but I did not find any information about about who is speaking/whispering/shouting so is it possible? Or is there any other way to get information about who is speaking to my client using python?

I have the normal Mumble client running on a headless computer and I need to show who is talking by using leds above "push to talk" buttons so the user knows which button to press to talk to that user (without the others listening).

If this sound strange please take a look at my thread about using Mumble as a intercom system viewtopic.php?f=7&t=1517#p5415

Thanks in advance.
nickeh
 
Posts: 11
Joined: Fri Dec 05, 2014 9:05 am

Re: Does ICE have info about who is speaking?

Postby natenom » Tue Dec 09, 2014 8:45 pm

You can use idlesecs to get that, from the documentation:
Code: Select all
int idlesecs;
    Idle time. This is how many seconds it is since the user last spoke. Other activity is not counted.


A user who is currently speaking has a idlesecs value of 0.
User avatar
natenom
Team member
Team member
 
Posts: 79
Joined: Wed Sep 23, 2009 11:40 pm
Location: Germany

Re: Does ICE have info about who is speaking?

Postby nickeh » Tue Dec 09, 2014 8:55 pm

Yes, but I do not know if the users is talking to my client. If a user is talking to somebody else the idleseconds is also 0, right?

In my case I have different channels, for example one for the video crew, one for the audio crew, one for light and so on. There can be many conversations going on in the different channels at the same time. But sometimes a users (one pre assigned in every channel) from another channel needs to talk (pre assigned whisper shortcut) to me and I need to know who that is. I would need to get the same data that the client uses to drive the blue/red lips, is that even possible using ICE or by any other method?
nickeh
 
Posts: 11
Joined: Fri Dec 05, 2014 9:05 am

Re: Does ICE have info about who is speaking?

Postby fwaggle » Wed Dec 10, 2014 2:40 am

I don't believe the server provides that information to anyone. You can't even do it with a connected client, because the server only tells your client a) that a user is speaking and you can hear it and b) I believe they're flagged for whisper/shout versus regular speech.

The server doesn't communicate why you can hear someone, which could be that they're in the same channel as you (trivially guessed), that they're whispering/shouting (I believe they're flagged with the same flag, so you can't tell whether they're whispering your client directly, or shouting at the channel you're in), that you're in a linked channel, etc.

And as far as I know, Ice doesn't have any information on who's talking to who and why, you can just tell if someone has talked recently as detailed above.
Full disclosure: I run a semi-commercial Mumble host, and my opinions do not reflect the opinions of the Mumble project.
Avatar is stolen from here
User avatar
fwaggle
Team member
Team member
 
Posts: 212
Joined: Tue Oct 06, 2009 10:40 pm
Location: Australia

Re: Does ICE have info about who is speaking?

Postby nickeh » Wed Dec 10, 2014 4:26 pm

OK, I was afraid of that :(

Would it be possible to get information about who is talking from the client in any way? Maybe by making a plugin that relays the data to the clipboard for example? I could maybe read the clipboard from my python script...
nickeh
 
Posts: 11
Joined: Fri Dec 05, 2014 9:05 am

Re: Does ICE have info about who is speaking?

Postby fwaggle » Wed Dec 10, 2014 9:00 pm

We don't really have any decent framework for general purpose plugins - our only plugins are for positional audio at the moment.

We could, in theory, expand the RPC stuff that's in the client to allow this, but it would be the same caveats as I mentioned above: you could tell who is talking that you can hear, and I believe you can tell whether it's "normal talking" or "whisper/shouting" (as a binary choice, ie you cannot, as far as I know, discern whispering from shouting). The client has no way of knowing if people are talking in other channels, etc.

From the sounds of it, with your project, you're going to want to build a modified server that does expose this information via Ice as that would be the cleanest way to accomplish it.
Full disclosure: I run a semi-commercial Mumble host, and my opinions do not reflect the opinions of the Mumble project.
Avatar is stolen from here
User avatar
fwaggle
Team member
Team member
 
Posts: 212
Joined: Tue Oct 06, 2009 10:40 pm
Location: Australia

Re: Does ICE have info about who is speaking?

Postby nickeh » Thu Dec 11, 2014 6:02 am

I see...

I was just thinking that by doing it in the client I could handle everything locally and the client would also only see users that are talking to me. I do not need to see if they are speaking/whispering/shouting it is enough if I know that they are speaking to me...
nickeh
 
Posts: 11
Joined: Fri Dec 05, 2014 9:05 am

Re: Does ICE have info about who is speaking?

Postby Lindee » Thu Dec 11, 2014 3:20 pm

Can you run a separate program/routine/whatever to just check the status of the PTT button? and use that program for activation/notification via the lights?
Lindee
 
Posts: 83
Joined: Fri Sep 19, 2014 12:20 pm

Re: Does ICE have info about who is speaking?

Postby nickeh » Thu Dec 11, 2014 3:46 pm

Lindee: Great idea, yes that would work since all the clients are triggered by a python middleware but I'll first try to make it work within the client. But if I can't make it work, I'll use your idea. Thx!

I'm now plowing thru the sourcecode of Mumble to find where the lips and username are being rendered onto screen. When I find it I will try to make it do something besides changing .svg images onscreen :)
nickeh
 
Posts: 11
Joined: Fri Dec 05, 2014 9:05 am


Return to Scripting

Who is online

Users browsing this forum: No registered users and 2 guests

cron