Class DominantSpeakerIdentification
-
- All Implemented Interfaces:
-
org.jitsi.utils.dsi.ActiveSpeakerDetector
public class DominantSpeakerIdentification<T> extends AbstractActiveSpeakerDetector<T>
Implements ActiveSpeakerDetector with inspiration from the paper "Dominant Speaker Identification for Multipoint Videoconferencing" by Ilana Volfin and Israel Cohen.
Lyubomir Marinov
-
-
Constructor Summary
Constructors Constructor Description DominantSpeakerIdentification()Initializes a new DominantSpeakerIdentification instance. DominantSpeakerIdentification(long silenceTimeout)DominantSpeakerIdentification(Clock clock, ScheduledExecutorService executor)DominantSpeakerIdentification(Clock clock, ScheduledExecutorService executor, long silenceTimeout)
-
Method Summary
Modifier and Type Method Description synchronized voidsetLoudestConfig(int numLoudestToTrack_, int energyExpireTimeMs_, int energyAlphaPct_)Set energy ranking options JSONObjectdoGetJSON()Retrieves a JSON representation of this instance for the purposes of the REST API of Videobridge. TgetDominantSpeaker()Gets the identifier of the dominant speaker. synchronized booleanisAmongLoudest(T id)Query whether a particular endpoint is currently one of the loudest speakers. SpeakerRankinglevelChanged(T id, int level)Notifies this ActiveSpeakerDetector about the latest/current audio level of a stream/speaker identified by a specific synchronization source identifier/SSRC. -
Methods inherited from class org.jitsi.utils.dsi.AbstractActiveSpeakerDetector
addActiveSpeakerChangedListener, removeActiveSpeakerChangedListener -
Methods inherited from class org.jitsi.utils.dsi.ActiveSpeakerDetector
removeActiveSpeakerChangedListener -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
DominantSpeakerIdentification
DominantSpeakerIdentification()
Initializes a new DominantSpeakerIdentification instance.
-
DominantSpeakerIdentification
DominantSpeakerIdentification(long silenceTimeout)
-
DominantSpeakerIdentification
DominantSpeakerIdentification(Clock clock, ScheduledExecutorService executor)
-
DominantSpeakerIdentification
DominantSpeakerIdentification(Clock clock, ScheduledExecutorService executor, long silenceTimeout)
- Parameters:
clock- The clock to useexecutor- The executor in which to schedule periodic decision-making.silenceTimeout- the interval of no speech after which we switch to silence (fire an event with active speakernull.
-
-
Method Detail
-
setLoudestConfig
synchronized void setLoudestConfig(int numLoudestToTrack_, int energyExpireTimeMs_, int energyAlphaPct_)
Set energy ranking options
-
doGetJSON
JSONObject doGetJSON()
Retrieves a JSON representation of this instance for the purposes of the REST API of Videobridge.
By the way, the method name reflects the fact that the method handles an HTTP GET request.
- Returns:
a JSONObject which represents this instance of the purposes of the REST API of Videobridge
-
getDominantSpeaker
T getDominantSpeaker()
Gets the identifier of the dominant speaker.
-
isAmongLoudest
synchronized boolean isAmongLoudest(T id)
Query whether a particular endpoint is currently one of the loudest speakers.
-
levelChanged
SpeakerRanking levelChanged(T id, int level)
Notifies this ActiveSpeakerDetector about the latest/current audio level of a stream/speaker identified by a specific synchronization source identifier/SSRC.
-
-
-
-