diff --git a/docs/doctrees/environment.pickle b/docs/doctrees/environment.pickle
index 20a7ea1..62e3147 100644
Binary files a/docs/doctrees/environment.pickle and b/docs/doctrees/environment.pickle differ
diff --git a/docs/doctrees/index.doctree b/docs/doctrees/index.doctree
index 5609183..a59dbcc 100644
Binary files a/docs/doctrees/index.doctree and b/docs/doctrees/index.doctree differ
diff --git a/docs/html/_sources/index.rst.txt b/docs/html/_sources/index.rst.txt
index e57b0ad..acc105e 100644
--- a/docs/html/_sources/index.rst.txt
+++ b/docs/html/_sources/index.rst.txt
@@ -3,7 +3,7 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
-Welcome to whisper_live's documentation!
+Welcome to Whisper Live documentation!
========================================
.. toctree::
@@ -14,6 +14,7 @@ Welcome to whisper_live's documentation!
:members:
.. automodule:: whisper_live.client
+ :members:
diff --git a/docs/html/genindex.html b/docs/html/genindex.html
index 548b525..7b9a20f 100644
--- a/docs/html/genindex.html
+++ b/docs/html/genindex.html
@@ -33,11 +33,14 @@
A
+ |
B
|
C
|
D
|
F
|
G
|
M
+ |
O
+ |
P
|
R
|
S
|
T
@@ -53,10 +56,24 @@
+
B
+
+
C
@@ -79,6 +96,10 @@
G
+
O
+
+
+
P
+
+
R
@@ -115,10 +160,12 @@
S
@@ -126,6 +173,10 @@
T
+
-
-
whisper_live.server
@@ -160,6 +209,12 @@
+
diff --git a/docs/html/index.html b/docs/html/index.html
index cd207e0..60f8c65 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -5,7 +5,7 @@
- Welcome to whisper_live’s documentation! — whisper_live documentation
+ Welcome to Whisper Live documentation! — whisper_live documentation
@@ -29,8 +29,8 @@
-
-Welcome to whisper_live’s documentation!
+
+Welcome to Whisper Live documentation!
@@ -219,9 +219,201 @@ port (int): The port number to bind the server.
+
+
+class whisper_live.client. Client ( host = None , port = None , is_multilingual = False , lang = None , translate = False )
+Represents a client for audio recording and streaming to a server using WebSocket communication.
+This class allows audio recording from the microphone or playing audio from a file while streaming it to
+a server for transcription or translation. It uses PyAudio for audio recording and playback and WebSocket
+for communication with the server.
+
+Attributes: CHUNK (int): The size of audio chunks for recording and playback.
+FORMAT: The audio format used by PyAudio (paInt16 for 16-bit PCM).
+CHANNELS (int): The number of audio channels (1 for mono).
+RATE (int): The audio sampling rate in Hz (samples per second).
+RECORD_SECONDS (int): The maximum duration for audio recording in seconds.
+RECORDING (bool): Indicates whether recording is currently active.
+multilingual (bool): Indicates if multilingual transcription is enabled.
+language (str): The selected language for transcription.
+task (str): The transcription or translation task to be performed.
+uid (str): A unique identifier for the client.
+WAITING (bool): Indicates if the client is waiting for server availability.
+LAST_RESPONSE_RECIEVED (float): Timestamp of the last response received from the server.
+DISCONNECT_IF_NO_RESPONSE_FOR (int): Maximum time without server response before disconnection.
+
+
+
+
+static bytes_to_float_array ( audio_bytes )
+Convert audio data from bytes to a NumPy float array.
+It assumes that the audio data is in 16-bit PCM format. The audio data is normalized to
+have values between -1 and 1.
+
+Args: audio_bytes (bytes): Audio data in bytes.
+
+Returns: np.ndarray: A NumPy array containing the audio data as float values normalized between -1 and 1.
+
+
+
+
+
+
+close_websocket ( )
+Close the WebSocket connection and join the WebSocket thread.
+First attempts to close the WebSocket connection using self.client_socket.close() . After
+closing the connection, it joins the WebSocket thread to ensure proper termination.
+
+
+
+
+get_client_socket ( )
+Get the WebSocket client socket instance.
+
+Returns: WebSocketApp: The WebSocket client socket instance currently in use by the client.
+
+
+
+
+
+
+static on_message ( ws , message )
+Callback function called when a message is received from the server.
+It updates various attributes of the client based on the received message, including
+recording status, language detection, and server messages. If a disconnect message
+is received, it sets the recording status to False.
+
+Args: ws (websocket.WebSocketApp): The WebSocket client instance.
+message (str): The received message from the server.
+
+
+
+
+
+
+static on_open ( ws )
+Callback function called when the WebSocket connection is successfully opened.
+Sends an initial configuration message to the server, including client UID, multilingual mode,
+language selection, and task type.
+
+Args: ws (websocket.WebSocketApp): The WebSocket client instance.
+
+
+
+
+
+
+play_file ( filename )
+Play an audio file and send it to the server for processing.
+Reads an audio file, plays it through the audio output, and simultaneously sends
+the audio data to the server for processing. It uses PyAudio to create an audio
+stream for playback. The audio data is read from the file in chunks, converted to
+floating-point format, and sent to the server using WebSocket communication.
+This method is typically used when you want to process pre-recorded audio and send it
+to the server in real-time.
+
+Args: filename (str): The path to the audio file to be played and sent to the server.
+
+
+
+
+
+
+record ( out_file = 'output_recording.wav' )
+Record audio data from the input stream and save it to a WAV file.
+Continuously records audio data from the input stream, sends it to the server via a WebSocket
+connection, and simultaneously saves it to multiple WAV files in chunks. It stops recording when
+the RECORD_SECONDS duration is reached or when the RECORDING flag is set to False .
+Audio data is saved in chunks to the “chunks” directory. Each chunk is saved as a separate WAV file.
+The recording will continue until the specified duration is reached or until the RECORDING flag is set to False .
+The recording process can be interrupted by sending a KeyboardInterrupt (e.g., pressing Ctrl+C). After recording,
+the method combines all the saved audio chunks into the specified out_file .
+
+Args: out_file (str, optional): The name of the output WAV file to save the entire recording. Default is “output_recording.wav”.
+
+
+
+
+
+
+send_packet_to_server ( message )
+Send an audio packet to the server using WebSocket.
+
+Args: message (bytes): The audio data packet in bytes to be sent to the server.
+
+
+
+
+
+
+write_audio_frames_to_file ( frames , file_name )
+Write audio frames to a WAV file.
+The WAV file is created or overwritten with the specified name. The audio frames should be
+in the correct format and match the specified channel, sample width, and sample rate.
+
+Args: frames (bytes): The audio frames to be written to the file.
+file_name (str): The name of the WAV file to which the frames will be written.
+
+
+
+
+
+
+write_output_recording ( n_audio_file , out_file )
+Combine and save recorded audio chunks into a single WAV file.
+The individual audio chunk files are expected to be located in the “chunks” directory. Reads each chunk
+file, appends its audio data to the final recording, and then deletes the chunk file. After combining
+and saving, the final recording is stored in the specified out_file .
+
+Args: n_audio_file (int): The number of audio chunk files to combine.
+out_file (str): The name of the output WAV file to save the final recording.
+
+
+
+
+
+
+
+
+class whisper_live.client. TranscriptionClient ( host , port , is_multilingual = False , lang = None , translate = False )
+Client for handling audio transcription tasks via a WebSocket connection.
+Acts as a high-level client for audio transcription tasks using a WebSocket connection. It can be used
+to send audio data for transcription to a server and receive transcribed text segments.
+
+Args: host (str): The hostname or IP address of the server.
+port (int): The port number to connect to on the server.
+is_multilingual (bool, optional): Indicates whether the transcription should support multiple languages (default is False).
+lang (str, optional): The primary language for transcription (used if is_multilingual is False). Default is None, which defaults to English (‘en’).
+translate (bool, optional): Indicates whether translation tasks are required (default is False).
+
+Attributes: client (Client): An instance of the underlying Client class responsible for handling the WebSocket connection.
+
+Example: To create a TranscriptionClient and start transcription on microphone audio:
+`python
+transcription_client = TranscriptionClient(host="localhost", port=9090, is_multilingual=True)
+transcription_client()
+`
+
+
+
+
+
+
+whisper_live.client. resample ( file : str , sr : int = 16000 )
+# https://github.com/openai/whisper/blob/7858aa9c08d98f75575035ecd6481f462d66ca27/whisper/audio.py#L22
+Open an audio file and read as mono waveform, resampling as necessary,
+save the resampled audio
+
+Args: file (str): The audio file to open
+sr (int): The sample rate to resample the audio if necessary
+
+Returns: resampled_file (str): The resampled audio file
+
+
+
+
-Indices and tables
+Indices and tables
Index
Module Index
diff --git a/docs/html/objects.inv b/docs/html/objects.inv
index 00b0d2b..ca8d141 100644
--- a/docs/html/objects.inv
+++ b/docs/html/objects.inv
@@ -2,6 +2,4 @@
# Project: whisper_live
# Version:
# The remainder of this file is compressed using zlib.
-xڭn w?U5kN*ErF㭯%uL7*8L
-7l[+Hp
>Rw8<
-C 9Nʥd[S)B7ѭAH5Ftq&%A4-C8"E'9Pi ree_!\!C
ZDxބO!V7ФܐStґqZ|ˤhx-l=Z2#u"}+Pp.=b
i{\s,{/B{
\ No newline at end of file
+xڭUn0+\DʵJTJ^mA@A hNIvwuF8JI[̓DJ⸭l+_HYtf#SmP=:5]K
@h>IvrRB'hE[tjO
h#k!ǞniG*N
:#:+cOw`_},Qe902f_OT
\ No newline at end of file
diff --git a/docs/html/searchindex.js b/docs/html/searchindex.js
index bc25beb..5b26292 100644
--- a/docs/html/searchindex.js
+++ b/docs/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["Welcome to whisper_live\u2019s documentation!"], "terms": {"class": 0, "server": 0, "servecli": 0, "websocket": 0, "task": 0, "transcrib": 0, "devic": 0, "none": 0, "multilingu": 0, "fals": 0, "languag": 0, "client_uid": 0, "attribut": 0, "rate": 0, "int": 0, "The": 0, "audio": 0, "sampl": 0, "constant": 0, "set": 0, "16000": 0, "server_readi": 0, "str": 0, "A": 0, "messag": 0, "i": 0, "readi": 0, "disconnect": 0, "client": 0, "should": 0, "uniqu": 0, "identifi": 0, "data": 0, "byte": 0, "accumul": 0, "frame": 0, "transcript": 0, "type": 0, "e": 0, "g": 0, "whispermodel": 0, "whisper": 0, "model": 0, "speech": 0, "text": 0, "timestamp_offset": 0, "float": 0, "offset": 0, "timestamp": 0, "frames_np": 0, "numpi": 0, "ndarrai": 0, "arrai": 0, "store": 0, "frames_offset": 0, "list": 0, "segment": 0, "current_out": 0, "current": 0, "incomplet": 0, "prev_out": 0, "previou": 0, "t_start": 0, "start": 0, "exit": 0, "bool": 0, "flag": 0, "thread": 0, "same_output_threshold": 0, "threshold": 0, "consecut": 0, "same": 0, "output": 0, "show_prev_out_thresh": 0, "show": 0, "add_pause_thresh": 0, "ad": 0, "paus": 0, "blank": 0, "send_last_n_seg": 0, "number": 0, "last": 0, "send": 0, "wrapper": 0, "textwrap": 0, "textwrapp": 0, "format": 0, "pick_previous_seg": 0, "includ": 0, "connect": 0, "add_fram": 0, "frame_np": 0, "add": 0, "ongo": 0, "stream": 0, "buffer": 0, "thi": 0, "method": 0, "respons": 0, "maintain": 0, "allow": 0, "continu": 0, "addit": 0, "thei": 0, "ar": 0, "receiv": 0, "It": 0, "also": 0, "ensur": 0, "doe": 0, "exce": 0, "specifi": 0, "size": 0, "prevent": 0, "excess": 0, "memori": 0, "usag": 0, "If": 0, "45": 0, "second": 0, "discard": 0, "oldest": 0, "30": 0, "reason": 0, "empti": 0, "initi": 0, "provid": 0, "us": 0, "real": 0, "time": 0, "process": 0, "arg": 0, "cleanup": 0, "perform": 0, "befor": 0, "servic": 0, "necessari": 0, "stop": 0, "mark": 0, "gracefulli": 0, "destroi": 0, "resourc": 0, "associ": 0, "notifi": 0, "via": 0, "them": 0, "fill_output": 0, "combin": 0, "complet": 0, "result": 0, "wrap": 0, "two": 0, "line": 0, "each": 0, "contain": 0, "maximum": 0, "50": 0, "charact": 0, "fit": 0, "within": 0, "per": 0, "concaten": 0, "order": 0, "exist": 0, "most": 0, "recent": 0, "first": 0, "older": 0, "prepend": 0, "need": 0, "limit": 0, "3": 0, "detect": 0, "ani": 0, "preced": 0, "content": 0, "return": 0, "singl": 0, "string": 0, "speech_to_text": 0, "an": 0, "infinit": 0, "loop": 0, "wait": 0, "input": 0, "make": 0, "predict": 0, "util": 0, "asr": 0, "sent": 0, "histori": 0, "context": 0, "from": 0, "handl": 0, "durat": 0, "rais": 0, "except": 0, "issu": 0, "commun": 0, "update_seg": 0, "append": 0, "all": 0, "assum": 0, "updat": 0, "end": 0, "chronolog": 0, "one": 0, "repeat": 0, "seen": 0, "multipl": 0, "onli": 0, "onc": 0, "base": 0, "dict": 0, "dictionari": 0, "chunk": 0, "its": 0, "valid": 0, "transcriptionserv": 0, "repres": 0, "incom": 0, "vad_model": 0, "torch": 0, "modul": 0, "voic": 0, "activ": 0, "vad_threshold": 0, "clients_start_tim": 0, "track": 0, "max_client": 0, "max_connection_tim": 0, "get_wait_tim": 0, "calcul": 0, "estim": 0, "minut": 0, "recv_audio": 0, "over": 0, "vad": 0, "determin": 0, "reach": 0, "statu": 0, "until": 0, "slot": 0, "avail": 0, "clean": 0, "up": 0, "error": 0, "dure": 0, "run": 0, "host": 0, "port": 0, "9090": 0, "address": 0, "bind": 0, "index": 0, "search": 0, "page": 0}, "objects": {"whisper_live": [[0, 0, 0, "-", "client"], [0, 0, 0, "-", "server"]], "whisper_live.server": [[0, 1, 1, "", "ServeClient"], [0, 1, 1, "", "TranscriptionServer"]], "whisper_live.server.ServeClient": [[0, 2, 1, "", "add_frames"], [0, 2, 1, "", "cleanup"], [0, 2, 1, "", "disconnect"], [0, 2, 1, "", "fill_output"], [0, 2, 1, "", "speech_to_text"], [0, 2, 1, "", "update_segments"]], "whisper_live.server.TranscriptionServer": [[0, 2, 1, "", "get_wait_time"], [0, 2, 1, "", "recv_audio"], [0, 2, 1, "", "run"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"]}, "titleterms": {"welcom": 0, "whisper_l": 0, "": 0, "document": 0, "indic": 0, "tabl": 0}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Welcome to whisper_live\u2019s documentation!": [[0, "welcome-to-whisper-live-s-documentation"]], "Indices and tables": [[0, "indices-and-tables"]]}, "indexentries": {"serveclient (class in whisper_live.server)": [[0, "whisper_live.server.ServeClient"]], "transcriptionserver (class in whisper_live.server)": [[0, "whisper_live.server.TranscriptionServer"]], "add_frames() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.add_frames"]], "cleanup() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.cleanup"]], "disconnect() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.disconnect"]], "fill_output() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.fill_output"]], "get_wait_time() (whisper_live.server.transcriptionserver method)": [[0, "whisper_live.server.TranscriptionServer.get_wait_time"]], "module": [[0, "module-whisper_live.client"], [0, "module-whisper_live.server"]], "recv_audio() (whisper_live.server.transcriptionserver method)": [[0, "whisper_live.server.TranscriptionServer.recv_audio"]], "run() (whisper_live.server.transcriptionserver method)": [[0, "whisper_live.server.TranscriptionServer.run"]], "speech_to_text() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.speech_to_text"]], "update_segments() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.update_segments"]], "whisper_live.client": [[0, "module-whisper_live.client"]], "whisper_live.server": [[0, "module-whisper_live.server"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["Welcome to Whisper Live documentation!"], "terms": {"class": 0, "server": 0, "servecli": 0, "websocket": 0, "task": 0, "transcrib": 0, "devic": 0, "none": 0, "multilingu": 0, "fals": 0, "languag": 0, "client_uid": 0, "attribut": 0, "rate": 0, "int": 0, "The": 0, "audio": 0, "sampl": 0, "constant": 0, "set": 0, "16000": 0, "server_readi": 0, "str": 0, "A": 0, "messag": 0, "i": 0, "readi": 0, "disconnect": 0, "client": 0, "should": 0, "uniqu": 0, "identifi": 0, "data": 0, "byte": 0, "accumul": 0, "frame": 0, "transcript": 0, "type": 0, "e": 0, "g": 0, "whispermodel": 0, "whisper": [], "model": 0, "speech": 0, "text": 0, "timestamp_offset": 0, "float": 0, "offset": 0, "timestamp": 0, "frames_np": 0, "numpi": 0, "ndarrai": 0, "arrai": 0, "store": 0, "frames_offset": 0, "list": 0, "segment": 0, "current_out": 0, "current": 0, "incomplet": 0, "prev_out": 0, "previou": 0, "t_start": 0, "start": 0, "exit": 0, "bool": 0, "flag": 0, "thread": 0, "same_output_threshold": 0, "threshold": 0, "consecut": 0, "same": 0, "output": 0, "show_prev_out_thresh": 0, "show": 0, "add_pause_thresh": 0, "ad": 0, "paus": 0, "blank": 0, "send_last_n_seg": 0, "number": 0, "last": 0, "send": 0, "wrapper": 0, "textwrap": 0, "textwrapp": 0, "format": 0, "pick_previous_seg": 0, "includ": 0, "connect": 0, "add_fram": 0, "frame_np": 0, "add": 0, "ongo": 0, "stream": 0, "buffer": 0, "thi": 0, "method": 0, "respons": 0, "maintain": 0, "allow": 0, "continu": 0, "addit": 0, "thei": 0, "ar": 0, "receiv": 0, "It": 0, "also": 0, "ensur": 0, "doe": 0, "exce": 0, "specifi": 0, "size": 0, "prevent": 0, "excess": 0, "memori": 0, "usag": 0, "If": 0, "45": 0, "second": 0, "discard": 0, "oldest": 0, "30": 0, "reason": 0, "empti": 0, "initi": 0, "provid": 0, "us": 0, "real": 0, "time": 0, "process": 0, "arg": 0, "cleanup": 0, "perform": 0, "befor": 0, "servic": 0, "necessari": 0, "stop": 0, "mark": 0, "gracefulli": 0, "destroi": 0, "resourc": 0, "associ": 0, "notifi": 0, "via": 0, "them": 0, "fill_output": 0, "combin": 0, "complet": 0, "result": 0, "wrap": 0, "two": 0, "line": 0, "each": 0, "contain": 0, "maximum": 0, "50": 0, "charact": 0, "fit": 0, "within": 0, "per": 0, "concaten": 0, "order": 0, "exist": 0, "most": 0, "recent": 0, "first": 0, "older": 0, "prepend": 0, "need": 0, "limit": 0, "3": 0, "detect": 0, "ani": 0, "preced": 0, "content": 0, "return": 0, "singl": 0, "string": 0, "speech_to_text": 0, "an": 0, "infinit": 0, "loop": 0, "wait": 0, "input": 0, "make": 0, "predict": 0, "util": 0, "asr": 0, "sent": 0, "histori": 0, "context": 0, "from": 0, "handl": 0, "durat": 0, "rais": 0, "except": 0, "issu": 0, "commun": 0, "update_seg": 0, "append": 0, "all": 0, "assum": 0, "updat": 0, "end": 0, "chronolog": 0, "one": 0, "repeat": 0, "seen": 0, "multipl": 0, "onli": 0, "onc": 0, "base": 0, "dict": 0, "dictionari": 0, "chunk": 0, "its": 0, "valid": 0, "transcriptionserv": 0, "repres": 0, "incom": 0, "vad_model": 0, "torch": 0, "modul": 0, "voic": 0, "activ": 0, "vad_threshold": 0, "clients_start_tim": 0, "track": 0, "max_client": 0, "max_connection_tim": 0, "get_wait_tim": 0, "calcul": 0, "estim": 0, "minut": 0, "recv_audio": 0, "over": 0, "vad": 0, "determin": 0, "reach": 0, "statu": 0, "until": 0, "slot": 0, "avail": 0, "clean": 0, "up": 0, "error": 0, "dure": 0, "run": 0, "host": 0, "port": 0, "9090": 0, "address": 0, "bind": 0, "index": 0, "search": 0, "page": 0, "whisper_l": 0, "": 0, "is_multilingu": 0, "lang": 0, "translat": 0, "record": 0, "microphon": 0, "plai": 0, "file": 0, "while": 0, "pyaudio": 0, "playback": 0, "paint16": 0, "16": 0, "bit": 0, "pcm": 0, "channel": 0, "1": 0, "mono": 0, "hz": 0, "record_second": 0, "whether": 0, "enabl": 0, "select": 0, "uid": 0, "last_response_reciev": 0, "disconnect_if_no_response_for": 0, "without": 0, "static": 0, "bytes_to_float_arrai": 0, "audio_byt": 0, "convert": 0, "normal": 0, "have": 0, "valu": 0, "between": 0, "np": 0, "close_websocket": 0, "close": 0, "join": 0, "attempt": 0, "self": 0, "client_socket": 0, "after": 0, "proper": 0, "termin": 0, "get_client_socket": 0, "get": 0, "socket": 0, "instanc": 0, "websocketapp": 0, "on_messag": 0, "w": 0, "callback": 0, "function": 0, "call": 0, "when": 0, "variou": 0, "on_open": 0, "successfulli": 0, "open": 0, "configur": 0, "mode": 0, "play_fil": 0, "filenam": 0, "read": 0, "through": 0, "simultan": 0, "creat": 0, "point": 0, "typic": 0, "you": 0, "want": 0, "pre": 0, "path": 0, "out_fil": 0, "output_record": 0, "wav": 0, "save": 0, "directori": 0, "separ": 0, "can": 0, "interrupt": 0, "keyboardinterrupt": 0, "press": 0, "ctrl": 0, "c": 0, "option": 0, "name": 0, "entir": 0, "default": 0, "send_packet_to_serv": 0, "packet": 0, "write_audio_frames_to_fil": 0, "file_nam": 0, "write": 0, "overwritten": 0, "correct": 0, "match": 0, "width": 0, "written": 0, "which": 0, "write_output_record": 0, "n_audio_fil": 0, "individu": 0, "expect": 0, "locat": 0, "final": 0, "delet": 0, "transcriptioncli": 0, "act": 0, "high": 0, "level": 0, "hostnam": 0, "ip": 0, "support": 0, "primari": 0, "english": 0, "en": 0, "requir": 0, "underli": 0, "exampl": 0, "To": 0, "python": 0, "transcription_cli": 0, "localhost": 0, "true": 0, "resampl": 0, "sr": 0, "http": 0, "github": 0, "com": 0, "openai": 0, "blob": 0, "7858aa9c08d98f75575035ecd6481f462d66ca27": 0, "py": 0, "l22": 0, "waveform": 0, "paramet": [], "resampled_fil": 0}, "objects": {"whisper_live": [[0, 0, 0, "-", "client"], [0, 0, 0, "-", "server"]], "whisper_live.client": [[0, 1, 1, "", "Client"], [0, 1, 1, "", "TranscriptionClient"], [0, 3, 1, "", "resample"]], "whisper_live.client.Client": [[0, 2, 1, "", "bytes_to_float_array"], [0, 2, 1, "", "close_websocket"], [0, 2, 1, "", "get_client_socket"], [0, 2, 1, "", "on_message"], [0, 2, 1, "", "on_open"], [0, 2, 1, "", "play_file"], [0, 2, 1, "", "record"], [0, 2, 1, "", "send_packet_to_server"], [0, 2, 1, "", "write_audio_frames_to_file"], [0, 2, 1, "", "write_output_recording"]], "whisper_live.server": [[0, 1, 1, "", "ServeClient"], [0, 1, 1, "", "TranscriptionServer"]], "whisper_live.server.ServeClient": [[0, 2, 1, "", "add_frames"], [0, 2, 1, "", "cleanup"], [0, 2, 1, "", "disconnect"], [0, 2, 1, "", "fill_output"], [0, 2, 1, "", "speech_to_text"], [0, 2, 1, "", "update_segments"]], "whisper_live.server.TranscriptionServer": [[0, 2, 1, "", "get_wait_time"], [0, 2, 1, "", "recv_audio"], [0, 2, 1, "", "run"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"]}, "titleterms": {"welcom": 0, "whisper_l": [], "": [], "document": 0, "indic": 0, "tabl": 0, "whisper": 0, "live": 0}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Welcome to Whisper Live documentation!": [[0, "welcome-to-whisper-live-documentation"]], "Indices and tables": [[0, "indices-and-tables"]]}, "indexentries": {"client (class in whisper_live.client)": [[0, "whisper_live.client.Client"]], "serveclient (class in whisper_live.server)": [[0, "whisper_live.server.ServeClient"]], "transcriptionclient (class in whisper_live.client)": [[0, "whisper_live.client.TranscriptionClient"]], "transcriptionserver (class in whisper_live.server)": [[0, "whisper_live.server.TranscriptionServer"]], "add_frames() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.add_frames"]], "bytes_to_float_array() (whisper_live.client.client static method)": [[0, "whisper_live.client.Client.bytes_to_float_array"]], "cleanup() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.cleanup"]], "close_websocket() (whisper_live.client.client method)": [[0, "whisper_live.client.Client.close_websocket"]], "disconnect() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.disconnect"]], "fill_output() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.fill_output"]], "get_client_socket() (whisper_live.client.client method)": [[0, "whisper_live.client.Client.get_client_socket"]], "get_wait_time() (whisper_live.server.transcriptionserver method)": [[0, "whisper_live.server.TranscriptionServer.get_wait_time"]], "module": [[0, "module-whisper_live.client"], [0, "module-whisper_live.server"]], "on_message() (whisper_live.client.client static method)": [[0, "whisper_live.client.Client.on_message"]], "on_open() (whisper_live.client.client static method)": [[0, "whisper_live.client.Client.on_open"]], "play_file() (whisper_live.client.client method)": [[0, "whisper_live.client.Client.play_file"]], "record() (whisper_live.client.client method)": [[0, "whisper_live.client.Client.record"]], "recv_audio() (whisper_live.server.transcriptionserver method)": [[0, "whisper_live.server.TranscriptionServer.recv_audio"]], "resample() (in module whisper_live.client)": [[0, "whisper_live.client.resample"]], "run() (whisper_live.server.transcriptionserver method)": [[0, "whisper_live.server.TranscriptionServer.run"]], "send_packet_to_server() (whisper_live.client.client method)": [[0, "whisper_live.client.Client.send_packet_to_server"]], "speech_to_text() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.speech_to_text"]], "update_segments() (whisper_live.server.serveclient method)": [[0, "whisper_live.server.ServeClient.update_segments"]], "whisper_live.client": [[0, "module-whisper_live.client"]], "whisper_live.server": [[0, "module-whisper_live.server"]], "write_audio_frames_to_file() (whisper_live.client.client method)": [[0, "whisper_live.client.Client.write_audio_frames_to_file"]], "write_output_recording() (whisper_live.client.client method)": [[0, "whisper_live.client.Client.write_output_recording"]]}})
\ No newline at end of file