diff --git a/api.html b/api.html index 2fbbea759..86e637bf4 100644 --- a/api.html +++ b/api.html @@ -23197,7 +23197,7 @@ res = model.generate(input=kwargs["input"]) print(res) -
class

_BatchRequest

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
class _BatchRequest:
+
class

_BatchRequest

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
class _BatchRequest:
     def __init__(self, inputs, kwargs):
         self.inputs = inputs
         self.kwargs = kwargs
@@ -23206,7 +23206,7 @@
         self.result = None
         self.error = None
 
-
class

ThreadSafeGenerateModel

funasr.bin.realtime_ws ยท View on GitHub โ†—

Protect mutable AutoModel runtime configuration across session threads.

+
class

ThreadSafeGenerateModel

funasr.bin.realtime_ws ยท View on GitHub โ†—

Protect mutable AutoModel runtime configuration across session threads.

๐Ÿ“„ Source code
class ThreadSafeGenerateModel:
     """Protect mutable AutoModel runtime configuration across session threads."""
 
@@ -23220,15 +23220,15 @@
 
     def __getattr__(self, name):
         return getattr(self.model, name)
-

Methods

.generate(*args, **kwargs) L57

No documentation yet.

๐Ÿ“„ Source
    def generate(self, *args, **kwargs):
+

Methods

.generate(*args, **kwargs) L58

No documentation yet.

๐Ÿ“„ Source
    def generate(self, *args, **kwargs):
         with self.lock:
             return self.model.generate(*args, **kwargs)
 
-
method

ThreadSafeGenerateModel.generate(*args, **kwargs)

funasr.bin.realtime_ws.ThreadSafeGenerateModel ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def generate(self, *args, **kwargs):
+
method

ThreadSafeGenerateModel.generate(*args, **kwargs)

funasr.bin.realtime_ws.ThreadSafeGenerateModel ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def generate(self, *args, **kwargs):
         with self.lock:
             return self.model.generate(*args, **kwargs)
 
-
class

RealtimeBatchingEngine

funasr.bin.realtime_ws ยท View on GitHub โ†—

Serialize the shared engine while batching compatible session requests.

+
class

RealtimeBatchingEngine

funasr.bin.realtime_ws ยท View on GitHub โ†—

Serialize the shared engine while batching compatible session requests.

๐Ÿ“„ Source code
class RealtimeBatchingEngine:
     """Serialize the shared engine while batching compatible session requests."""
 
@@ -23259,7 +23259,7 @@
             )
         if isinstance(value, list):
             return (
-
View full source on GitHub โ†’

Methods

.generate(inputs, **kwargs) L114

No documentation yet.

๐Ÿ“„ Source
    def generate(self, inputs, **kwargs):
+
View full source on GitHub โ†’

Methods

.generate(inputs, **kwargs) L115

No documentation yet.

๐Ÿ“„ Source
    def generate(self, inputs, **kwargs):
         request_inputs = list(inputs) if isinstance(inputs, (list, tuple)) else [inputs]
         if not request_inputs:
             return []
@@ -23280,7 +23280,7 @@
             raise request.error
         return request.result
 
-
method

RealtimeBatchingEngine.generate(inputs, **kwargs)

funasr.bin.realtime_ws.RealtimeBatchingEngine ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def generate(self, inputs, **kwargs):
+
method

RealtimeBatchingEngine.generate(inputs, **kwargs)

funasr.bin.realtime_ws.RealtimeBatchingEngine ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def generate(self, inputs, **kwargs):
         request_inputs = list(inputs) if isinstance(inputs, (list, tuple)) else [inputs]
         if not request_inputs:
             return []
@@ -23301,7 +23301,7 @@
             raise request.error
         return request.result
 
-
function

detect_and_fix_hallucination(text, max_ngram_length, max_occurrences)

funasr.bin.realtime_ws ยท View on GitHub โ†—

Detect repeated patterns (hallucination) and truncate to keep one occurrence.

+
function

detect_and_fix_hallucination(text, max_ngram_length, max_occurrences)

funasr.bin.realtime_ws ยท View on GitHub โ†—

Detect repeated patterns (hallucination) and truncate to keep one occurrence.

๐Ÿ“„ Source code
def detect_and_fix_hallucination(text, max_ngram_length=12, max_occurrences=3):
     """Detect repeated patterns (hallucination) and truncate to keep one occurrence."""
     if not text or len(text) < max_ngram_length * 2:
@@ -23332,8 +23332,8 @@
                     continue
                 count += 1
             return count
-
View full source on GitHub โ†’
-
class

ClientEndpointVAD

funasr.bin.realtime_ws ยท View on GitHub โ†—

Track an utterance start without loading or running a VAD model.

+
View full source on GitHub โ†’
+
class

ClientEndpointVAD

funasr.bin.realtime_ws ยท View on GitHub โ†—

Track an utterance start without loading or running a VAD model.

๐Ÿ“„ Source code
class ClientEndpointVAD:
     """Track an utterance start without loading or running a VAD model."""
 
@@ -23346,20 +23346,20 @@
 
     def reset(self):
         self.current_speech_start = None
-

Methods

.start_utterance(start_ms) L443

No documentation yet.

๐Ÿ“„ Source
    def start_utterance(self, start_ms):
+

Methods

.start_utterance(start_ms) L444

No documentation yet.

๐Ÿ“„ Source
    def start_utterance(self, start_ms):
         if self.current_speech_start is None:
             self.current_speech_start = start_ms
-
.reset() L447

No documentation yet.

๐Ÿ“„ Source
    def reset(self):
+
.reset() L448

No documentation yet.

๐Ÿ“„ Source
    def reset(self):
         self.current_speech_start = None
 
-
method

ClientEndpointVAD.start_utterance(start_ms)

funasr.bin.realtime_ws.ClientEndpointVAD ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def start_utterance(self, start_ms):
+
method

ClientEndpointVAD.start_utterance(start_ms)

funasr.bin.realtime_ws.ClientEndpointVAD ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def start_utterance(self, start_ms):
         if self.current_speech_start is None:
             self.current_speech_start = start_ms
 
-
method

ClientEndpointVAD.reset()

funasr.bin.realtime_ws.ClientEndpointVAD ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def reset(self):
+
method

ClientEndpointVAD.reset()

funasr.bin.realtime_ws.ClientEndpointVAD ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def reset(self):
         self.current_speech_start = None
 
-
class

HybridSpeakerTracker

funasr.bin.realtime_ws ยท View on GitHub โ†—

Speaker diarization: streaming ClusterBackend + final re-clustering.

+
class

HybridSpeakerTracker

funasr.bin.realtime_ws ยท View on GitHub โ†—

Speaker diarization: streaming ClusterBackend + final re-clustering.

๐Ÿ“„ Source code
class HybridSpeakerTracker:
     """Speaker diarization: streaming ClusterBackend + final re-clustering."""
 
@@ -23390,7 +23390,7 @@
         self.all_chunks = deque(maxlen=max_history_chunks)
         self.all_embeddings = deque(maxlen=max_history_chunks)
         self.last_speaker_id = 0
-
View full source on GitHub โ†’

Methods

.assign_streaming(audio_samples, seg_start_s, seg_end_s, sentence) L483

Assign speaker ID during streaming using ClusterBackend.

+
View full source on GitHub โ†’

Methods

.assign_streaming(audio_samples, seg_start_s, seg_end_s, sentence) L484

Assign speaker ID during streaming using ClusterBackend.

๐Ÿ“„ Source
    def assign_streaming(self, audio_samples, seg_start_s, seg_end_s, sentence):
         """Assign speaker ID during streaming using ClusterBackend."""
         vad_seg = [[seg_start_s, seg_end_s, audio_samples]]
@@ -23413,7 +23413,7 @@
         self.distribute_spk(temp, sv_output)
         sentence["spk"] = temp[0].get("spk", self.last_speaker_id)
         self.last_speaker_id = sentence["spk"]
-
.finalize(sentences, min_split_s) L573

Final re-clustering for accurate speaker assignment.

+
.finalize(sentences, min_split_s) L574

Final re-clustering for accurate speaker assignment.

๐Ÿ“„ Source
    def finalize(self, sentences, min_split_s=3.0):
         """Final re-clustering for accurate speaker assignment."""
         if not self.all_embeddings or not sentences:
@@ -23444,13 +23444,13 @@
                 prefix.update(text=prefix_text, end=history_start_ms)
                 final_sentences.append(prefix)
                 current.update(
-
View full source โ†’
.reset() L667

No documentation yet.

๐Ÿ“„ Source
    def reset(self):
+
View full source โ†’
.reset() L668

No documentation yet.

๐Ÿ“„ Source
    def reset(self):
         self.speaker_centers = []
         self.speaker_center_updates = []
         self.all_chunks.clear()
         self.all_embeddings.clear()
         self.last_speaker_id = 0
-
.session_stats() L674

No documentation yet.

๐Ÿ“„ Source
    def session_stats(self):
+
.session_stats() L675

No documentation yet.

๐Ÿ“„ Source
    def session_stats(self):
         return {
             "speaker_history_chunks": len(self.all_chunks),
             "speaker_history_embeddings": len(self.all_embeddings),
@@ -23460,7 +23460,7 @@
             "last_speaker_id": self.last_speaker_id,
         }
 
-
method

HybridSpeakerTracker.assign_streaming(audio_samples, seg_start_s, seg_end_s, sentence)

funasr.bin.realtime_ws.HybridSpeakerTracker ยท View on GitHub โ†—

Assign speaker ID during streaming using ClusterBackend.

+
method

HybridSpeakerTracker.assign_streaming(audio_samples, seg_start_s, seg_end_s, sentence)

funasr.bin.realtime_ws.HybridSpeakerTracker ยท View on GitHub โ†—

Assign speaker ID during streaming using ClusterBackend.

๐Ÿ“„ Source code
    def assign_streaming(self, audio_samples, seg_start_s, seg_end_s, sentence):
         """Assign speaker ID during streaming using ClusterBackend."""
         vad_seg = [[seg_start_s, seg_end_s, audio_samples]]
@@ -23484,7 +23484,7 @@
         sentence["spk"] = temp[0].get("spk", self.last_speaker_id)
         self.last_speaker_id = sentence["spk"]
 
-
method

HybridSpeakerTracker.finalize(sentences, min_split_s)

funasr.bin.realtime_ws.HybridSpeakerTracker ยท View on GitHub โ†—

Final re-clustering for accurate speaker assignment.

+
method

HybridSpeakerTracker.finalize(sentences, min_split_s)

funasr.bin.realtime_ws.HybridSpeakerTracker ยท View on GitHub โ†—

Final re-clustering for accurate speaker assignment.

๐Ÿ“„ Source code
    def finalize(self, sentences, min_split_s=3.0):
         """Final re-clustering for accurate speaker assignment."""
         if not self.all_embeddings or not sentences:
@@ -23515,15 +23515,15 @@
                 prefix.update(text=prefix_text, end=history_start_ms)
                 final_sentences.append(prefix)
                 current.update(
-
View full source on GitHub โ†’
-
method

HybridSpeakerTracker.reset()

funasr.bin.realtime_ws.HybridSpeakerTracker ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def reset(self):
+
View full source on GitHub โ†’
+
method

HybridSpeakerTracker.reset()

funasr.bin.realtime_ws.HybridSpeakerTracker ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def reset(self):
         self.speaker_centers = []
         self.speaker_center_updates = []
         self.all_chunks.clear()
         self.all_embeddings.clear()
         self.last_speaker_id = 0
 
-
method

HybridSpeakerTracker.session_stats()

funasr.bin.realtime_ws.HybridSpeakerTracker ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def session_stats(self):
+
method

HybridSpeakerTracker.session_stats()

funasr.bin.realtime_ws.HybridSpeakerTracker ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def session_stats(self):
         return {
             "speaker_history_chunks": len(self.all_chunks),
             "speaker_history_embeddings": len(self.all_embeddings),
@@ -23533,7 +23533,7 @@
             "last_speaker_id": self.last_speaker_id,
         }
 
-
class

RealtimeASRSession

funasr.bin.realtime_ws ยท View on GitHub โ†—

Manages a single streaming ASR session.

+
class

RealtimeASRSession

funasr.bin.realtime_ws ยท View on GitHub โ†—

Manages a single streaming ASR session.

๐Ÿ“„ Source code
class RealtimeASRSession:
     """Manages a single streaming ASR session."""
 
@@ -23564,7 +23564,7 @@
         # length-L segment. Under concurrency that saturates the GPU and long-segment
         # requests time out. Capping the partial window to the most recent
         # `partial_window_sec` seconds makes interim re-decoding ~O(L) per segment
-
View full source on GitHub โ†’

Methods

.add_audio(pcm_bytes) L745

No documentation yet.

๐Ÿ“„ Source
    def add_audio(self, pcm_bytes):
+
View full source on GitHub โ†’

Methods

.add_audio(pcm_bytes) L746

No documentation yet.

๐Ÿ“„ Source
    def add_audio(self, pcm_bytes):
         audio_int16 = np.frombuffer(pcm_bytes, dtype=np.int16)
         audio_float = audio_int16.astype(np.float32) / 32768.0
         chunk_start_sample = self.total_samples
@@ -23589,10 +23589,10 @@
                     logger.info(f"Locked: [{seg[0]}-{seg[1]}ms] \"{seg_text[:40]}\"")
 
         self._compact_audio_buffer()
-
.should_decode() L879

No documentation yet.

๐Ÿ“„ Source
    def should_decode(self):
+
.should_decode() L880

No documentation yet.

๐Ÿ“„ Source
    def should_decode(self):
         threshold = self.first_chunk_samples if not self.first_decode_done else self.chunk_samples
         return (self.total_samples - self.last_decode_samples) >= threshold
-
.decode(is_final) L884

No documentation yet.

๐Ÿ“„ Source
    def decode(self, is_final=False):
+
.decode(is_final) L885

No documentation yet.

๐Ÿ“„ Source
    def decode(self, is_final=False):
         if is_final and self.endpoint_mode == "client":
             return self.commit()
 
@@ -23622,7 +23622,7 @@
 
         if len(seg_audio) < self.chunk_samples // 2:
             return self._build_response(is_final)
-
View full source โ†’
.commit() L952

Finalize one client-delimited utterance while keeping the session open.

+
View full source โ†’
.commit() L953

Finalize one client-delimited utterance while keeping the session open.

๐Ÿ“„ Source
    def commit(self):
         """Finalize one client-delimited utterance while keeping the session open."""
         if self.endpoint_mode != "client":
@@ -23640,7 +23640,7 @@
         response = self._build_response(is_final=True)
         self._reset_utterance_state()
         return response
-
.get_partial_decode_audio() L1015

Return the bounded audio window used for unstable partial decoding.

+
.get_partial_decode_audio() L1016

Return the bounded audio window used for unstable partial decoding.

๐Ÿ“„ Source
    def get_partial_decode_audio(self):
         """Return the bounded audio window used for unstable partial decoding."""
         seg_start_sample = int(self.vad.current_speech_start * self.sample_rate / 1000)
@@ -23654,7 +23654,7 @@
         decode_start_sample = max(self.audio_buffer_start_sample, decode_start_sample)
         start_ms = int(decode_start_sample * 1000 / self.sample_rate)
         return self._slice_audio(decode_start_sample, self.total_samples), start_ms
-
.session_stats() L1274

No documentation yet.

๐Ÿ“„ Source
    def session_stats(self):
+
.session_stats() L1282

No documentation yet.

๐Ÿ“„ Source
    def session_stats(self):
         stats = {
             "duration_ms": int(self.total_samples * 1000 / self.sample_rate),
             "total_samples": self.total_samples,
@@ -23669,7 +23669,7 @@
         if self.spk_tracker:
             stats.update(self.spk_tracker.session_stats())
         return stats
-
.reset() L1290

No documentation yet.

๐Ÿ“„ Source
    def reset(self):
+
.reset() L1298

No documentation yet.

๐Ÿ“„ Source
    def reset(self):
         self.audio_buffer = np.array([], dtype=np.float32)
         self.audio_buffer_start_sample = 0
         self.total_samples = 0
@@ -23686,7 +23686,7 @@
         if self.spk_tracker:
             self.spk_tracker.reset()
 
-
method

RealtimeASRSession.add_audio(pcm_bytes)

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def add_audio(self, pcm_bytes):
+
method

RealtimeASRSession.add_audio(pcm_bytes)

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def add_audio(self, pcm_bytes):
         audio_int16 = np.frombuffer(pcm_bytes, dtype=np.int16)
         audio_float = audio_int16.astype(np.float32) / 32768.0
         chunk_start_sample = self.total_samples
@@ -23712,11 +23712,11 @@
 
         self._compact_audio_buffer()
 
-
method

RealtimeASRSession.should_decode()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def should_decode(self):
+
method

RealtimeASRSession.should_decode()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def should_decode(self):
         threshold = self.first_chunk_samples if not self.first_decode_done else self.chunk_samples
         return (self.total_samples - self.last_decode_samples) >= threshold
 
-
method

RealtimeASRSession.decode(is_final)

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def decode(self, is_final=False):
+
method

RealtimeASRSession.decode(is_final)

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def decode(self, is_final=False):
         if is_final and self.endpoint_mode == "client":
             return self.commit()
 
@@ -23746,8 +23746,8 @@
 
         if len(seg_audio) < self.chunk_samples // 2:
             return self._build_response(is_final)
-
View full source on GitHub โ†’
-
method

RealtimeASRSession.commit()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

Finalize one client-delimited utterance while keeping the session open.

+
View full source on GitHub โ†’
+
method

RealtimeASRSession.commit()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

Finalize one client-delimited utterance while keeping the session open.

๐Ÿ“„ Source code
    def commit(self):
         """Finalize one client-delimited utterance while keeping the session open."""
         if self.endpoint_mode != "client":
@@ -23766,7 +23766,7 @@
         self._reset_utterance_state()
         return response
 
-
method

RealtimeASRSession.get_partial_decode_audio()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

Return the bounded audio window used for unstable partial decoding.

+
method

RealtimeASRSession.get_partial_decode_audio()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

Return the bounded audio window used for unstable partial decoding.

๐Ÿ“„ Source code
    def get_partial_decode_audio(self):
         """Return the bounded audio window used for unstable partial decoding."""
         seg_start_sample = int(self.vad.current_speech_start * self.sample_rate / 1000)
@@ -23781,7 +23781,7 @@
         start_ms = int(decode_start_sample * 1000 / self.sample_rate)
         return self._slice_audio(decode_start_sample, self.total_samples), start_ms
 
-
method

RealtimeASRSession.session_stats()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def session_stats(self):
+
method

RealtimeASRSession.session_stats()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def session_stats(self):
         stats = {
             "duration_ms": int(self.total_samples * 1000 / self.sample_rate),
             "total_samples": self.total_samples,
@@ -23797,7 +23797,7 @@
             stats.update(self.spk_tracker.session_stats())
         return stats
 
-
method

RealtimeASRSession.reset()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def reset(self):
+
method

RealtimeASRSession.reset()

funasr.bin.realtime_ws.RealtimeASRSession ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
    def reset(self):
         self.audio_buffer = np.array([], dtype=np.float32)
         self.audio_buffer_start_sample = 0
         self.total_samples = 0
@@ -23814,7 +23814,7 @@
         if self.spk_tracker:
             self.spk_tracker.reset()
 
-
function

load_models(args)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def load_models(args):
+
function

load_models(args)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def load_models(args):
     global _vllm_engine, _asr_kwargs, _vad_model, _spk_model
     if _vllm_engine is None:
         from funasr import AutoModel
@@ -23844,13 +23844,13 @@
             logger.info(f"Loaded {len(hotwords)} hotwords from '{hw_file}'")
 
         if getattr(args, 'language', None):
-
View full source on GitHub โ†’
-
function

create_speaker_tracker(spk_model, args)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def create_speaker_tracker(spk_model, args):
+
View full source on GitHub โ†’
+
function

create_speaker_tracker(spk_model, args)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def create_speaker_tracker(spk_model, args):
     if not getattr(args, "enable_spk", False) or spk_model is None:
         return None
     return HybridSpeakerTracker(spk_model, args.device)
 
-
function

create_vad(vad_model, args)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def create_vad(vad_model, args):
+
function

create_vad(vad_model, args)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def create_vad(vad_model, args):
     if getattr(args, "endpoint_mode", "server") == "client":
         return ClientEndpointVAD()
 
@@ -23874,7 +23874,7 @@
         setattr(session_model, name, session_config)
     return DynamicStreamingVAD(session_model)
 
-
function

log_session_stats(session)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def log_session_stats(session):
+
function

log_session_stats(session)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def log_session_stats(session):
     stats = session.session_stats()
     logger.info(
         "Session stats: duration_ms=%d audio_buffer_samples=%d "
@@ -23892,7 +23892,7 @@
     )
     return stats
 
-
function

build_websocket_serve_kwargs(args)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def build_websocket_serve_kwargs(args):
+
function

build_websocket_serve_kwargs(args)

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def build_websocket_serve_kwargs(args):
     return {
         "max_size": args.ws_max_size,
         "ping_interval": _positive_or_none(args.ws_ping_interval),
@@ -23900,7 +23900,7 @@
         "close_timeout": args.ws_close_timeout,
     }
 
-
function

build_arg_parser()

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def build_arg_parser():
+
function

build_arg_parser()

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def build_arg_parser():
     parser = argparse.ArgumentParser(description="Fun-ASR-Nano Streaming WebSocket Server")
     parser.add_argument("--port", type=int, default=10095)
     parser.add_argument("--model", type=str, default="FunAudioLLM/Fun-ASR-Nano-2512")
@@ -23930,8 +23930,8 @@
     parser.add_argument(
         "--decode-max-batch-size",
         type=int,
-
View full source on GitHub โ†’
-
function

cli_main()

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def cli_main():
+
View full source on GitHub โ†’
+
function

cli_main()

funasr.bin.realtime_ws ยท View on GitHub โ†—

No documentation yet.

๐Ÿ“„ Source code
def cli_main():
     args = build_arg_parser().parse_args()
     asyncio.run(main(args))