-
- 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.
-
-
Constructor Summary
Constructors Constructor Description DominantSpeakerIdentification()Initializes a new DominantSpeakerIdentification instance. DominantSpeakerIdentification(Clock clock, ScheduledExecutorService executor)
-
Method Summary
Modifier and Type Method Description synchronized voidsetLoudestConfig(int numLoudestToTrack_, int energyExpireTimeMs_, int energyAlphaPct_)Set energy ranking options voidenableSilenceDetection(@NotNull() T silenceId)Enable silence detection with the default interval. synchronized voidenableSilenceDetection(@NotNull() T silenceId, long timeout)Enable silence detection. 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(Clock clock, ScheduledExecutorService executor)
-
-
Method Detail
-
setLoudestConfig
synchronized void setLoudestConfig(int numLoudestToTrack_, int energyExpireTimeMs_, int energyAlphaPct_)
Set energy ranking options
-
enableSilenceDetection
void enableSilenceDetection(@NotNull() T silenceId)
Enable silence detection with the default interval. See enableSilenceDetection.
- Parameters:
silenceId- the special ID to use for silence.
-
enableSilenceDetection
synchronized void enableSilenceDetection(@NotNull() T silenceId, long timeout)
Enable silence detection. When enabled and the dominant speaker is silent for
timeoutms, this DSI will fire a dominant speaker changed event with IDsilenceId.- Parameters:
silenceId- the special ID to use for silencetimeout- the interval in milliseconds of no activity before switching tosilenceId.
-
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.
-
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.
-
-
-
-