From 75b32c5994a668593fdae713067b57e2bfbe8ea3 Mon Sep 17 00:00:00 2001 From: eden Date: Thu, 6 Feb 2025 13:41:15 -0500 Subject: [PATCH] Websocket TTS. --- .fernignore | 5 +- src/cartesia/client.py | 62 +- src/cartesia/tts/_async_websocket.py | 369 ++++++ src/cartesia/tts/_websocket.py | 373 ++++++ src/cartesia/tts/socket_client.py | 805 +----------- .../tts/types/web_socket_tts_output.py | 12 +- src/cartesia/tts/utils/constants.py | 11 + src/cartesia/tts/utils/timeout_iterator.py | 163 --- src/cartesia/tts/utils/tts.py | 21 + src/cartesia/tts/utils/types.py | 70 + tests/custom/resources/sample-speech-4s.wav | Bin 0 -> 341070 bytes tests/custom/test_client.py | 1139 ++++++++++++++++- 12 files changed, 2073 insertions(+), 957 deletions(-) create mode 100644 src/cartesia/tts/_async_websocket.py create mode 100644 src/cartesia/tts/_websocket.py create mode 100644 src/cartesia/tts/utils/constants.py delete mode 100644 src/cartesia/tts/utils/timeout_iterator.py create mode 100644 src/cartesia/tts/utils/tts.py create mode 100644 src/cartesia/tts/utils/types.py create mode 100644 tests/custom/resources/sample-speech-4s.wav diff --git a/.fernignore b/.fernignore index bc7195d..1d7529f 100644 --- a/.fernignore +++ b/.fernignore @@ -5,9 +5,12 @@ requirements.txt # Custom Client Modifications src/cartesia/client.py +src/cartesia/tts/_async_websocket.py +src/cartesia/tts/_websocket.py src/cartesia/tts/socket_client.py +src/cartesia/tts/utils src/cartesia/tts/types/web_socket_tts_output.py -src/cartesia/tts/utils/timeout_iterator.py +tests/custom # Pending changes to README.md generation README.md \ No newline at end of file diff --git a/src/cartesia/client.py b/src/cartesia/client.py index 0628863..37f5a33 100644 --- a/src/cartesia/client.py +++ b/src/cartesia/client.py @@ -1,7 +1,9 @@ -# This file was auto-generated by Fern from our API Definition. - +import asyncio import typing +from types import TracebackType +from typing import Union +import aiohttp import httpx from .base_client import AsyncBaseCartesia, BaseCartesia @@ -110,9 +112,10 @@ def __init__( base_url: typing.Optional[str] = None, environment: CartesiaEnvironment = CartesiaEnvironment.PRODUCTION, api_key: str, - timeout: typing.Optional[float] = None, follow_redirects: typing.Optional[bool] = True, httpx_client: typing.Optional[httpx.AsyncClient] = None, + timeout: typing.Optional[float] = 30, + max_num_connections: typing.Optional[int] = 10, ): super().__init__( base_url=base_url, @@ -122,4 +125,55 @@ def __init__( follow_redirects=follow_redirects, httpx_client=httpx_client, ) - self.tts = AsyncTtsClientWithWebsocket(client_wrapper=self._client_wrapper) + self.timeout = timeout + self._session = None + self._loop = None + self.max_num_connections = max_num_connections + self.tts = AsyncTtsClientWithWebsocket( + client_wrapper=self._client_wrapper, + get_session=self._get_session + ) + + async def _get_session(self): + """ + This method is used to get a session for the client. + """ + current_loop = asyncio.get_event_loop() + if self._loop is not current_loop: + await self.close() + if self._session is None or self._session.closed: + timeout = aiohttp.ClientTimeout(total=self.timeout) + connector = aiohttp.TCPConnector(limit=self.max_num_connections) + self._session = aiohttp.ClientSession(timeout=timeout, connector=connector) + self._loop = current_loop + return self._session + + async def close(self): + """This method closes the session. + + It is *strongly* recommended to call this method when you are done using the client. + """ + if self._session is not None and not self._session.closed: + await self._session.close() + + def __del__(self): + try: + loop = asyncio.get_running_loop() + except RuntimeError: + loop = None + + if loop is None: + asyncio.run(self.close()) + elif loop.is_running(): + loop.create_task(self.close()) + + async def __aenter__(self): + return self + + async def __aexit__( + self, + exc_type: Union[type, None], + exc: Union[BaseException, None], + exc_tb: Union[TracebackType, None], + ): + await self.close() diff --git a/src/cartesia/tts/_async_websocket.py b/src/cartesia/tts/_async_websocket.py new file mode 100644 index 0000000..22094d4 --- /dev/null +++ b/src/cartesia/tts/_async_websocket.py @@ -0,0 +1,369 @@ +import asyncio +import json +import typing +import uuid +from collections import defaultdict +from types import TracebackType +from typing import Any, AsyncGenerator, Callable, Dict, List, Optional, Union + +import aiohttp + +from cartesia.tts.types import ( + WebSocketResponse, + WebSocketResponse_Done, + WebSocketResponse_Error, + WebSocketResponse_FlushDone, + WebSocketTtsOutput, +) + +from ..core.pydantic_utilities import parse_obj_as +from ._websocket import TtsWebsocket +from .types.generation_request import GenerationRequest +from .utils.constants import ( + DEFAULT_MODEL_ID, + DEFAULT_OUTPUT_FORMAT, + DEFAULT_VOICE_EMBEDDING, +) +from .utils.tts import get_output_format + + +class _AsyncTTSContext: + """Manage a single context over an AsyncWebSocket. + + This class separates sending requests and receiving responses into two separate methods. + This can be used for sending multiple requests without awaiting the response. + Then you can listen to the responses in the order they were sent. See README for usage. + + Each AsyncTTSContext will close automatically when a done message is received for that context. + This happens when the no_more_inputs method is called (equivalent to sending a request with `continue_ = False`), + or if no requests have been sent for 5 seconds on the same context. It also closes if there is an error. + + """ + + def __init__( + self, context_id: str, websocket: "AsyncTtsWebsocket", timeout: float = 30 + ): + self._context_id = context_id + self._websocket = websocket + self.timeout = timeout + self._error = None + + @property + def context_id(self) -> str: + return self._context_id + + async def send( + self, + request: GenerationRequest, + ) -> None: + """Send audio generation requests to the WebSocket. The response can be received using the `receive` method. + + Args: + request: The request to generate audio. + + Returns: + None. + """ + await self._websocket.connect() + assert self._websocket.websocket is not None, "WebSocket is not connected" + + request_body = request.dict(by_alias=True) + if ( + "context_id" in request_body + and request_body["context_id"] is not None + and request_body["context_id"] != self._context_id + ): + raise ValueError( + "Context ID does not match the context ID of the current context." + ) + request_body["context_id"] = self._context_id + + if ( + "continue" in request_body + and request_body["continue"] + and request_body["transcript"] == "" + and ("flush" in request_body and not request_body["flush"]) + ): + raise ValueError("Transcript cannot be empty when continue_ is True.") + + print("Request Body: ", request_body) + await self._websocket.websocket.send_json(request_body) + + # Start listening for responses on the WebSocket + self._websocket._dispatch_listener() + + async def no_more_inputs(self) -> None: + """Send a request to the WebSocket to indicate that no more requests will be sent.""" + request = GenerationRequest( + model_id=DEFAULT_MODEL_ID, + transcript="", + output_format=get_output_format(DEFAULT_OUTPUT_FORMAT), + voice={ + "embedding": DEFAULT_VOICE_EMBEDDING + }, # Default voice embedding since it's a required input for now. + context_id=self._context_id, + continue_=False, + ) + await self.send(request) + + async def flush(self) -> Callable[[], AsyncGenerator[Dict[str, Any], None]]: + """Trigger a manual flush for the current context's generation. This method returns a generator that yields the audio prior to the flush.""" + request = GenerationRequest( + model_id=DEFAULT_MODEL_ID, + transcript="", + output_format=get_output_format(DEFAULT_OUTPUT_FORMAT), + voice={ + "embedding": DEFAULT_VOICE_EMBEDDING + }, # Default voice embedding since it's a required input for now. + context_id=self._context_id, + continue_=True, + flush=True, + ) + await self.send(request) + + # Save the old flush ID + flush_id = len(self._websocket._context_queues[self._context_id]) - 1 + + # Create a new Async Queue to store the responses for the new flush ID + self._websocket._context_queues[self._context_id].append(asyncio.Queue()) + + # Return the generator for the old flush ID + async def generator(): + try: + while True: + response = await self._websocket._get_message( + self._context_id, timeout=self.timeout, flush_id=flush_id + ) + response_obj = typing.cast( + WebSocketResponse, + parse_obj_as( + type_=WebSocketResponse, object_=response # type: ignore + ), + ) + if isinstance(response_obj, WebSocketResponse_Error): + raise RuntimeError( + f"Error generating audio:\n{response_obj.error}" + ) + if isinstance(response_obj, WebSocketResponse_Done) or isinstance( + response_obj, WebSocketResponse_FlushDone + ): + break + yield self._websocket._convert_response( + response_obj, include_context_id=True + ) + except Exception as e: + if isinstance(e, asyncio.TimeoutError): + raise RuntimeError("Timeout while waiting for audio chunk") + raise RuntimeError(f"Failed to generate audio:\n{e}") + + return generator + + async def receive(self) -> AsyncGenerator[WebSocketTtsOutput, None]: + """Receive the audio chunks from the WebSocket. This method is a generator that yields audio chunks. + + Returns: + An async generator that yields audio chunks. Each chunk is a dictionary containing the audio as bytes. + """ + try: + while True: + response = await self._websocket._get_message( + self._context_id, timeout=self.timeout + ) + response_obj = typing.cast( + WebSocketResponse, + parse_obj_as( + type_=WebSocketResponse, # type: ignore + object_=response, + ), + ) + + if isinstance(response_obj, WebSocketResponse_Error): + raise RuntimeError(f"Error generating audio:\n{response_obj.error}") + if isinstance(response_obj, WebSocketResponse_Done): + break + yield self._websocket._convert_response( + response_obj, include_context_id=True + ) + except Exception as e: + if isinstance(e, asyncio.TimeoutError): + raise RuntimeError("Timeout while waiting for audio chunk") + raise RuntimeError(f"Failed to generate audio:\n{e}") + finally: + self._close() + + def _close(self) -> None: + """Closes the context. Automatically called when a done message is received for this context.""" + self._websocket._remove_context(self._context_id) + + def is_closed(self): + """Check if the context is closed or not. Returns True if closed.""" + return self._context_id not in self._websocket._context_queues + + async def __aenter__(self): + return self + + async def __aexit__( + self, + exc_type: Union[type, None], + exc: Union[BaseException, None], + exc_tb: Union[TracebackType, None], + ): + self._close() + + def __del__(self): + self._close() + + +class AsyncTtsWebsocket(TtsWebsocket): + """This class contains methods to generate audio using WebSocket asynchronously.""" + + def __init__( + self, + ws_url: str, + api_key: str, + cartesia_version: str, + get_session: Callable[[], Optional[aiohttp.ClientSession]], + timeout: float = 30, + ): + """ + Args: + ws_url: The WebSocket URL for the Cartesia API. + api_key: The API key to use for authorization. + cartesia_version: The version of the Cartesia API to use. + timeout: The timeout for responses on the WebSocket in seconds. + get_session: A function that returns an aiohttp.ClientSession object. + """ + super().__init__(ws_url, api_key, cartesia_version) + self.timeout = timeout + self._get_session = get_session + self.websocket = None + self._context_queues: Dict[str, List[asyncio.Queue]] = {} + self._processing_task: Optional[asyncio.Task] = None + + def __del__(self): + try: + loop = asyncio.get_running_loop() + except RuntimeError: + loop = None + + if loop is None: + asyncio.run(self.close()) + elif loop.is_running(): + loop.create_task(self.close()) + + async def connect(self): + if self.websocket is None or self._is_websocket_closed(): + route = "tts/websocket" + session = await self._get_session() + url = f"{self.ws_url}/{route}?api_key={self.api_key}&cartesia_version={self.cartesia_version}" + try: + self.websocket = await session.ws_connect(url) + except Exception as e: + raise RuntimeError(f"Failed to connect to WebSocket at {url}. {e}") + + def _is_websocket_closed(self): + return self.websocket.closed + + async def close(self): + """This method closes the websocket connection. *Highly* recommended to call this method when done.""" + if self.websocket is not None and not self._is_websocket_closed(): + await self.websocket.close() + if self._processing_task: + self._processing_task.cancel() + try: + self._processing_task = None + except asyncio.CancelledError: + pass + except TypeError as e: + # Ignore the error if the task is already canceled. + # For some reason we are getting None responses + # TODO: This needs to be fixed - we need to think about why we are getting None responses. + if "Received message 256:None" not in str(e): + raise e + + for context_id in list(self._context_queues.keys()): + self._remove_context(context_id) + + self._context_queues.clear() + self._processing_task = None + self.websocket = None + + async def send( + self, + request: GenerationRequest, + stream: bool = True, + ): + """See :meth:`_WebSocket.send` for details.""" + request_body = request.dict(by_alias=True) + if request.context_id is None: + request_body["context_id"] = str(uuid.uuid4()) + + ctx = self.context(request_body["context_id"]) + + await ctx.send(GenerationRequest(**request_body)) + + generator = ctx.receive() + + if stream: + return generator + + chunks = [] + word_timestamps = defaultdict(list) + async for chunk in generator: + if "audio" in chunk: + chunks.append(chunk["audio"]) + if request.add_timestamps and "word_timestamps" in chunk: + for k, v in chunk["word_timestamps"].items(): + word_timestamps[k].extend(v) + out = WebSocketTtsOutput( + audio=b"".join(chunks), + context_id=request_body["context_id"], + word_timestamps=word_timestamps if request.add_timestamps else None, + ) + return out + + async def _process_responses(self): + try: + while True: + response = await self.websocket.receive_json() + print("Received message, context_id: ", response["context_id"]) + if response["context_id"]: + context_id = response["context_id"] + flush_id = response.get("flush_id", -1) + if context_id in self._context_queues: + await self._context_queues[context_id][flush_id].put(response) + except Exception as e: + self._error = e + raise e + + async def _get_message( + self, context_id: str, timeout: float, flush_id: int = -1 + ) -> Dict[str, Any]: + if context_id not in self._context_queues: + raise ValueError(f"Context ID {context_id} not found.") + if len(self._context_queues[context_id]) <= flush_id: + raise ValueError( + f"Flush ID {flush_id} not found for context ID {context_id}." + ) + return await asyncio.wait_for( + self._context_queues[context_id][flush_id].get(), timeout=timeout + ) + + def _remove_context(self, context_id: str): + if context_id in self._context_queues: + del self._context_queues[context_id] + + def _dispatch_listener(self): + if self._processing_task is None or self._processing_task.done(): + self._processing_task = asyncio.create_task(self._process_responses()) + + def context(self, context_id: Optional[str] = None): + if context_id in self._context_queues: + raise ValueError( + f"AsyncContext for context ID {context_id} already exists." + ) + if context_id is None: + context_id = str(uuid.uuid4()) + if context_id not in self._context_queues: + self._context_queues[context_id] = [asyncio.Queue()] + return _AsyncTTSContext(context_id, self, self.timeout) diff --git a/src/cartesia/tts/_websocket.py b/src/cartesia/tts/_websocket.py new file mode 100644 index 0000000..ccb548c --- /dev/null +++ b/src/cartesia/tts/_websocket.py @@ -0,0 +1,373 @@ +import base64 +import json +import typing +import uuid +from collections import defaultdict +from typing import Any, Dict, Generator, Optional, Set, Union + +try: + from websockets.sync.client import connect + + IS_WEBSOCKET_SYNC_AVAILABLE = True +except ImportError: + IS_WEBSOCKET_SYNC_AVAILABLE = False + +from iterators import TimeoutIterator # type: ignore + +from cartesia.tts.types import ( + WebSocketResponse, + WebSocketResponse_Chunk, + WebSocketResponse_Done, + WebSocketResponse_Error, + WebSocketResponse_FlushDone, + WebSocketResponse_PhonemeTimestamps, + WebSocketResponse_Timestamps, + WebSocketTtsOutput, +) + +from ..core.pydantic_utilities import parse_obj_as +from .types.generation_request import GenerationRequest + + +class _TTSContext: + """Manage a single context over a WebSocket. + + This class can be used to stream inputs, as they become available, to a specific `context_id`. See README for usage. + + See :class:`_AsyncTTSContext` for asynchronous use cases. + + Each TTSContext will close automatically when a done message is received for that context. It also closes if there is an error. + """ + + def __init__(self, context_id: str, websocket: "TtsWebsocket"): + self._context_id = context_id + self._websocket = websocket + self._error = None + + def __del__(self): + self._close() + + @property + def context_id(self) -> str: + return self._context_id + + def send( + self, + request: GenerationRequest, + ) -> Generator[bytes, None, None]: + """Send audio generation requests to the WebSocket and yield responses. + + Args: + request: The request to generate audio. + + Yields: + Dictionary containing the following key(s): + - audio: The audio as bytes. + - context_id: The context ID for the request. + + Raises: + ValueError: If provided context_id doesn't match the current context. + RuntimeError: If there's an error generating audio. + """ + self._websocket.connect() + assert self._websocket.websocket is not None, "WebSocket is not connected" + + request_body = request.dict(by_alias=True) + request_body["context_id"] = self._context_id + + if ( + "context_id" in request_body + and request_body["context_id"] is not None + and request_body["context_id"] != self._context_id + ): + raise ValueError( + "Context ID does not match the context ID of the current context." + ) + + try: + text_iterator = TimeoutIterator(request_body["transcript"], timeout=0.001) + next_chunk = next(text_iterator, None) + + while True: + # Send the next text chunk to the WebSocket if available + if ( + next_chunk is not None + and next_chunk != text_iterator.get_sentinel() + ): + request_body["transcript"] = next_chunk + request_body["continue"] = True + self._websocket.websocket.send(json.dumps(request_body)) + next_chunk = next(text_iterator, None) + + try: + # Receive responses from the WebSocket with a small timeout + response_obj = typing.cast( + WebSocketResponse, + parse_obj_as( + type_=WebSocketResponse, # type: ignore + object_=json.loads( + self._websocket.websocket.recv(timeout=0.001) + ), + ), + ) + if response_obj.context_id != self._context_id: + pass + if isinstance(response_obj, WebSocketResponse_Error): + raise RuntimeError( + f"Error generating audio:\n{response_obj.error}" + ) + if isinstance(response_obj, WebSocketResponse_Done): + break + if ( + isinstance(response_obj, WebSocketResponse_Chunk) + or isinstance(response_obj, WebSocketResponse_Timestamps) + or isinstance(response_obj, WebSocketResponse_PhonemeTimestamps) + ): + yield self._websocket._convert_response( + response_obj, include_context_id=True + ) + except TimeoutError: + pass + + # Continuously receive from WebSocket until the next text chunk is available + while next_chunk == text_iterator.get_sentinel(): + try: + response_obj = typing.cast( + WebSocketResponse, + parse_obj_as( + type_=WebSocketResponse, # type: ignore + object_=json.loads( + self._websocket.websocket.recv(timeout=0.001) + ), + ), + ) + if response_obj.context_id != self._context_id: + continue + if isinstance(response_obj, WebSocketResponse_Error): + raise RuntimeError( + f"Error generating audio:\n{response_obj.error}" + ) + if isinstance(response_obj, WebSocketResponse_Done): + break + if ( + isinstance(response_obj, WebSocketResponse_Chunk) + or isinstance(response_obj, WebSocketResponse_Timestamps) + or isinstance( + response_obj, WebSocketResponse_PhonemeTimestamps + ) + ): + yield self._websocket._convert_response( + response_obj, include_context_id=True + ) + except TimeoutError: + pass + next_chunk = next(text_iterator, None) + + # Send final message if all input text chunks are exhausted + if next_chunk is None: + request_body["transcript"] = "" + request_body["continue"] = False + self._websocket.websocket.send(json.dumps(request_body)) + break + + # Receive remaining messages from the WebSocket until "done" is received + while True: + response_obj = typing.cast( + WebSocketResponse, + parse_obj_as( + type_=WebSocketResponse, # type: ignore + object_=json.loads(self._websocket.websocket.recv()), + ), + ) + if response_obj.context_id != self._context_id: + continue + if isinstance(response_obj, WebSocketResponse_Error): + raise RuntimeError(f"Error generating audio:\n{response_obj.error}") + if isinstance(response_obj, WebSocketResponse_Done): + break + yield self._websocket._convert_response( + response_obj, include_context_id=True + ) + + except Exception as e: + self._websocket.close() + raise RuntimeError(f"Failed to generate audio. {e}") + + def _close(self): + """Closes the context. Automatically called when a done message is received for this context.""" + self._websocket._remove_context(self._context_id) + + def is_closed(self): + """Check if the context is closed or not. Returns True if closed.""" + return self._context_id not in self._websocket._contexts + + +class TtsWebsocket: + """This class contains methods to generate audio using WebSocket. Ideal for low-latency audio generation. + + Usage: + >>> ws = client.tts.websocket() + >>> generation_request = GenerationRequest( + ... model_id="sonic-english", + ... transcript="Hello world!", + ... voice_embedding=embedding + ... output_format={"container": "raw", "encoding": "pcm_f32le", "sample_rate": 44100} + ... context_id=context_id, + ... stream=True + ... ) + >>> for audio_chunk in ws.send(generation_request): + ... audio = audio_chunk["audio"] + """ + + def __init__( + self, + ws_url: str, + api_key: str, + cartesia_version: str, + ): + self.ws_url = ws_url + self.api_key = api_key + self.cartesia_version = cartesia_version + self.websocket = None + self._contexts: Set[str] = set() + + def __del__(self): + try: + self.close() + except Exception as e: + raise RuntimeError("Failed to close WebSocket: ", e) + + def connect(self): + """This method connects to the WebSocket if it is not already connected. + + Raises: + RuntimeError: If the connection to the WebSocket fails. + """ + if not IS_WEBSOCKET_SYNC_AVAILABLE: + raise ImportError( + "The synchronous WebSocket client is not available. Please ensure that you have 'websockets>=12.0' or compatible version installed." + ) + if self.websocket is None or self._is_websocket_closed(): + route = "tts/websocket" + try: + self.websocket = connect( + f"{self.ws_url}/{route}?api_key={self.api_key}&cartesia_version={self.cartesia_version}" + ) + except Exception as e: + raise RuntimeError(f"Failed to connect to WebSocket. {e}") + + def _is_websocket_closed(self): + return self.websocket.socket.fileno() == -1 + + def close(self): + """This method closes the WebSocket connection. *Highly* recommended to call this method when done using the WebSocket.""" + if self.websocket and not self._is_websocket_closed(): + self.websocket.close() + + if self._contexts: + self._contexts.clear() + + def _convert_response( + self, + response: ( + WebSocketResponse_Chunk + | WebSocketResponse_Timestamps + | WebSocketResponse_PhonemeTimestamps + | WebSocketResponse_FlushDone + ), + include_context_id: bool, + include_flush_id: bool = False, + ) -> WebSocketTtsOutput: + out = {} + if isinstance(response, WebSocketResponse_Chunk): + out["audio"] = base64.b64decode(response.data) + elif isinstance(response, WebSocketResponse_Timestamps): + out["word_timestamps"] = response.word_timestamps # type: ignore + elif include_flush_id and isinstance(response, WebSocketResponse_FlushDone): + out["flush_done"] = response.flush_done # type: ignore + out["flush_id"] = response.flush_id # type: ignore + + if include_context_id and response.context_id: + out["context_id"] = response.context_id # type: ignore + + return WebSocketTtsOutput(**out) + + def send( + self, + request: GenerationRequest, + stream: bool = True, + ): + """Send a request to the WebSocket to generate audio. + + Args: + request: The request to generate audio. + stream: Whether to stream the audio or not. + + Returns: + If `stream` is True, the method returns a generator that yields chunks. Each chunk is a dictionary. + If `stream` is False, the method returns a dictionary. + Both the generator and the dictionary contain the following key(s): + - audio: The audio as bytes. + - context_id: The context ID for the request. + """ + self.connect() + request_body = request.dict(by_alias=True) + + if request.context_id is None: + request_body["context_id"] = str(uuid.uuid4()) + + generator = self._websocket_generator(request_body) + + if stream: + return generator + + chunks = [] + word_timestamps = defaultdict(list) + for chunk in generator: + if "audio" in chunk: + chunks.append(chunk["audio"]) + if request.add_timestamps and "word_timestamps" in chunk: + for k, v in chunk["word_timestamps"].items(): + word_timestamps[k].extend(v) + + return WebSocketTtsOutput( + audio=b"".join(chunks), + context_id=request_body["context_id"], + word_timestamps=word_timestamps if request.add_timestamps else None, + ) + + def _websocket_generator(self, request_body: Dict[str, Any]): + assert self.websocket is not None, "WebSocket is not connected" + self.websocket.send(json.dumps(request_body)) + + try: + while True: + response_obj = typing.cast( + WebSocketResponse, + parse_obj_as( + type_=WebSocketResponse, # type: ignore + object_=json.loads(self.websocket.recv()), + ), + ) + if isinstance(response_obj, WebSocketResponse_Error): + raise RuntimeError(f"Error generating audio:\n{response_obj.error}") + if isinstance(response_obj, WebSocketResponse_Done): + break + yield self._convert_response(response_obj, include_context_id=True) + except Exception as e: + # Close the websocket connection if an error occurs. + self.close() + raise RuntimeError(f"Failed to generate audio. {e}") from e + + def _remove_context(self, context_id: str): + if context_id in self._contexts: + self._contexts.remove(context_id) + + def context(self, context_id: Optional[str] = None): + if context_id in self._contexts: + raise ValueError(f"Context for context ID {context_id} already exists.") + if context_id is None: + context_id = str(uuid.uuid4()) + if context_id not in self._contexts: + self._contexts.add(context_id) + return _TTSContext(context_id, self) diff --git a/src/cartesia/tts/socket_client.py b/src/cartesia/tts/socket_client.py index 21ff508..a550cb5 100644 --- a/src/cartesia/tts/socket_client.py +++ b/src/cartesia/tts/socket_client.py @@ -1,773 +1,10 @@ -import asyncio -import base64 -import json import typing -import uuid -from collections import defaultdict - -import httpx -from websockets.exceptions import ConnectionClosedError, ConnectionClosedOK - -from ..core.pydantic_utilities import parse_obj_as -from .types.cancel_context_request import CancelContextRequest -from .types.generation_request import GenerationRequest -from .types.web_socket_request import WebSocketRequest -from .types.web_socket_response import ( - WebSocketResponse, - WebSocketResponse_Chunk, - WebSocketResponse_Done, - WebSocketResponse_Error, - WebSocketResponse_PhonemeTimestamps, - WebSocketResponse_Timestamps, -) -from .types.web_socket_tts_output import WebSocketTtsOutput - -try: - from websockets.client import WebSocketClientProtocol - from websockets.client import connect as async_ws_connect - - IS_WEBSOCKET_ASYNC_AVAILABLE = True -except ImportError: - IS_WEBSOCKET_ASYNC_AVAILABLE = False -try: - from websockets.sync.client import connect - - IS_WEBSOCKET_SYNC_AVAILABLE = True -except ImportError: - IS_WEBSOCKET_SYNC_AVAILABLE = False +from ._async_websocket import AsyncTtsWebsocket +from ._websocket import TtsWebsocket from .client import AsyncTtsClient, TtsClient - - -class TtsConnectOptions(typing.TypedDict, total=False): - cartesia_version: typing.Optional[str] - api_key: typing.Optional[str] - - -def _construct_ws_uri(base_url: str, route: str, options: TtsConnectOptions) -> str: - """ - Builds the WebSocket URI with query parameters. - """ - query_params = httpx.QueryParams() - - api_key = options.get("api_key") - cartesia_version = options.get("cartesia_version") - - if api_key: - query_params = query_params.add("api_key", api_key) - if cartesia_version: - query_params = query_params.add("cartesia_version", cartesia_version) - - return f"{base_url}/{route}?{query_params}" - - -def _decode_and_build_output( - response_obj: typing.Union[ - WebSocketResponse_Chunk, - WebSocketResponse_Timestamps, - WebSocketResponse_PhonemeTimestamps, - ], - include_context_id: bool = True, -) -> WebSocketTtsOutput: - """ - Converts a parsed WebSocketResponse object into a WebSocketTtsOutput - with the binary audio data decoded, or timestamps, etc. - """ - out: typing.Dict[str, typing.Any] = {} - - if isinstance(response_obj, WebSocketResponse_Chunk) and response_obj.data: - out["audio"] = base64.b64decode(response_obj.data) - elif isinstance(response_obj, WebSocketResponse_Timestamps): - out["word_timestamps"] = response_obj.word_timestamps - elif isinstance(response_obj, WebSocketResponse_PhonemeTimestamps): - out["phoneme_timestamps"] = response_obj.phoneme_timestamps - - if include_context_id: - out["context_id"] = response_obj.context_id - - return WebSocketTtsOutput(**out) - - -class _TTSContext: - """Manage a single context over a WebSocket. - - This class can be used to stream inputs, as they become available, to a specific `context_id`. See README for usage. - - See :class:`_AsyncTTSContext` for asynchronous use cases. - - Each TTSContext will close automatically when a done message is received for that context. It also closes if there is an error. - """ - - def __init__(self, context_id: str, websocket: typing.Any): - self._context_id = context_id - self._websocket = websocket - self._error = None - - @property - def context_id(self) -> str: - return self._context_id - - def send( - self, - request: WebSocketRequest, - ) -> typing.Generator[bytes, None, None]: - """ - Handle both GenerationRequest and CancelContextRequest via a single WebSocketRequest object. - Yields audio chunks (as bytes) when generating speech. - """ - - if isinstance(request, CancelContextRequest): - if request.context_id != self._context_id: - raise ValueError( - f"Context ID {request.context_id} does not match current context {self._context_id}." - ) - self._websocket.connect() - self._websocket._send(request.dict(by_alias=True)) - - try: - while True: - response_str = self._websocket.recv(timeout=0.5) - if not response_str: - break - response_obj = json.loads(response_str) - - if response_obj.get("type") == "Done": - break - if response_obj.get("type") == "Error": - raise RuntimeError(f"Error cancelling context: {response_obj}") - - except TimeoutError: - pass - finally: - self._websocket.close() - - return - - if isinstance(request, GenerationRequest): - if request.context_id != self._context_id: - raise ValueError( - f"Context ID {request.context_id} does not match current context {self._context_id}." - ) - - self._websocket.connect() - - request_body = request.dict(by_alias=True) - text_iterator = iter([request.transcript]) - next_chunk = next(text_iterator, None) - - try: - while True: - if next_chunk: - request_body["transcript"] = next_chunk - request_body["continue"] = request.continue_ or False - self._websocket._send(request_body) - next_chunk = next(text_iterator, None) - - try: - response_str = self._websocket.recv(timeout=0.001) - if response_str: - response_obj = typing.cast( - WebSocketResponse, - parse_obj_as( - type_=WebSocketResponse, # type: ignore - object_=json.loads( - self._websocket.recv(timeout=0.001) - ), - ), - ) - if isinstance(response_obj, WebSocketResponse_Error): - raise RuntimeError( - f"Error generating audio:\n{response_obj.error}" - ) - if isinstance(response_obj, WebSocketResponse_Done): - break - if ( - isinstance(response_obj, WebSocketResponse_Chunk) - and response_obj.data - ): - yield self._websocket._convert_response( - response_obj=response_obj, include_context_id=True - ) - except TimeoutError: - pass - - if next_chunk is None: - request_body["transcript"] = "" - request_body["continue"] = False - self._websocket._send(request_body) - break - - while True: - response_str = self._websocket.recv(timeout=0.001) - if not response_str: - break - response_obj = typing.cast( - WebSocketResponse, - parse_obj_as( - type_=WebSocketResponse, # type: ignore - object_=json.loads(self._websocket.recv(timeout=0.001)), - ), - ) - if isinstance(response_obj, WebSocketResponse_Error): - raise RuntimeError( - f"Error generating audio:\n{response_obj.error}" - ) - if isinstance(response_obj, WebSocketResponse_Done): - break - if ( - isinstance(response_obj, WebSocketResponse_Chunk) - and response_obj.data - ): - yield self._websocket._convert_response( - response_obj=response_obj, include_context_id=True - ) - - except Exception as e: - self._websocket.close() - raise RuntimeError(f"Failed to generate audio. {e}") - - self._websocket.close() - - def _close(self): - """Closes the context. Automatically called when a done message is received for this context.""" - self._websocket._remove_context(self._context_id) - - def is_closed(self): - """Check if the context is closed or not. Returns True if closed.""" - return self._context_id not in self._websocket._contexts - - -class TtsWebsocketConnection: - def __init__( - self, - *, - ws_url, - tts_connect_options, - ): - self.ws_url = ws_url - self.options = tts_connect_options - self.websocket = None - self._contexts = set() - - def _send(self, data: typing.Any) -> None: - """ - Send data as JSON over the WebSocket. - """ - if isinstance(data, dict): - data = json.dumps(data) - self.websocket.send(data) - - def connect(self): - """This method connects to the WebSocket if it is not already connected. - - Raises: - RuntimeError: If the connection to the WebSocket fails. - """ - if not IS_WEBSOCKET_SYNC_AVAILABLE: - raise ImportError( - "The synchronous WebSocket client is not available. Please ensure that you have 'websockets>=12.0' or compatible version installed." - ) - if self.websocket is None or self._is_websocket_closed(): - try: - self.websocket = connect( - _construct_ws_uri(self.ws_url, "tts/websocket", self.options) - ) - except Exception as e: - raise RuntimeError(f"Failed to connect to WebSocket. {e}") - - def _is_websocket_closed(self): - """ - Check if the WebSocket connection is closed. - """ - return self.websocket.socket.fileno() == -1 - - def close(self): - """This method closes the WebSocket connection. *Highly* recommended to call this method when done using the WebSocket.""" - if self.websocket and not self._is_websocket_closed(): - self.websocket.close() - - if self._contexts: - self._contexts.clear() - - def _convert_response( - self, - response_obj: typing.Union[ - WebSocketResponse_Chunk, - WebSocketResponse_Timestamps, - WebSocketResponse_PhonemeTimestamps, - ], - include_context_id: bool, - ) -> WebSocketTtsOutput: - """ - Converts a parsed WebSocketResponse object into a WebSocketTtsOutput - with the binary audio data decoded, or timestamps, etc. - """ - return _decode_and_build_output(response_obj, include_context_id) - - def send( - self, - request: WebSocketRequest, - stream: bool = True, - ): - """ - Send either a GenerationRequest or a CancelContextRequest to the TTS WebSocket. - - If `stream` is True, returns a generator of audio chunks (dict). - Otherwise, returns a single dict with all audio concatenated. - - For a CancelContextRequest, there is typically no audio returned. - """ - - self.connect() - - if isinstance(request, CancelContextRequest): - try: - self._websocket_generator(request.dict(by_alias=True)) - except TimeoutError: - pass - finally: - self.close() - - return {"status": "cancelled", "context_id": request.context_id} - - if isinstance(request, GenerationRequest): - request_body = request.dict(by_alias=True) - - if not request_body.get("context_id"): - request_body["context_id"] = str(uuid.uuid4()) - - generator = self._websocket_generator(request_body) - - if stream: - return generator - - return self._accumulate_chunks(request, generator) - - def _websocket_generator(self, request_body: typing.Dict[str, typing.Any]): - """ - Send a request to the TTS WebSocket and yield responses as they arrive. - """ - self._send(request_body) - - try: - while True: - response_obj = typing.cast( - WebSocketResponse, - parse_obj_as( - type_=WebSocketResponse, # type: ignore - object_=json.loads(self.websocket.recv()), - ), - ) - if isinstance(response_obj, WebSocketResponse_Error): - raise RuntimeError(f"Error generating audio:\n{response_obj.error}") - if isinstance(response_obj, WebSocketResponse_Done): - break - if isinstance( - response_obj, - ( - WebSocketResponse_Chunk, - WebSocketResponse_Timestamps, - WebSocketResponse_PhonemeTimestamps, - ), - ): - yield self._convert_response( - response_obj=response_obj, include_context_id=True - ).dict() - except Exception as e: - self.close() - raise RuntimeError(f"Failed to generate audio. Exception {e}") - - def _accumulate_chunks( - self, - request: GenerationRequest, - generator: typing.Generator[dict, None, None], - ) -> dict: - """ - Accumulate audio chunks and timestamps into a single dict. - """ - chunks = [] - word_timestamps = defaultdict(list) - context_id = request.context_id - - try: - for chunk in generator: - if "audio" in chunk: - chunks.append(chunk["audio"]) - if request.add_timestamps and "word_timestamps" in chunk: - for k, v in chunk["word_timestamps"].items(): - word_timestamps[k].extend(v) - except Exception as e: - self.close() - raise RuntimeError(f"Failed to generate audio. Exception: {e}") - - audio_bytes = b"".join(chunks) - out_dict: typing.Dict[str, typing.Any] = { - "audio": audio_bytes, - "context_id": context_id, - } - if request.add_timestamps: - out_dict["word_timestamps"] = word_timestamps - - return out_dict - - def _remove_context(self, context_id: str): - """ - Remove a context from the active set. - """ - if context_id in self._contexts: - self._contexts.remove(context_id) - - def context(self, context_id: typing.Optional[str] = None) -> _TTSContext: - """ - Create or retrieve a synchronous TTS context object with the given context_id. - """ - if context_id in self._contexts: - raise ValueError(f"Context for context ID {context_id} already exists.") - if context_id is None: - context_id = str(uuid.uuid4()) - if context_id not in self._contexts: - self._contexts.add(context_id) - return _TTSContext(context_id, self) - - -class _AsyncTTSContext: - def __init__( - self, - context_id: str, - websocket_connection: "AsyncTtsWebsocketConnection", - ): - self._context_id = context_id - self._connection = websocket_connection - - @property - def context_id(self) -> str: - return self._context_id - - async def send( - self, - request: WebSocketRequest, - ) -> typing.AsyncGenerator[bytes, None]: - """ - Send either a GenerationRequest or a CancelContextRequest to the TTS WebSocket. - """ - if request.context_id != self._context_id: - raise ValueError( - f"Context ID {request.context_id} does not match " - f"current context {self._context_id}." - ) - - if isinstance(request, CancelContextRequest): - await self._connection._ensure_connected() - await self._connection._send(request.dict(by_alias=True)) - - try: - while True: - response_str = await self._connection._recv_with_optional_timeout() - if not response_str: - break - - response_obj = json.loads(response_str) - if response_obj.get("type") == "Done": - break - if response_obj.get("type") == "Error": - raise RuntimeError(f"Error cancelling context: {response_obj}") - except TimeoutError: - pass - finally: - await self._close() - - return - - if isinstance(request, GenerationRequest): - await self._connection._ensure_connected() - - request_body = request.dict(by_alias=True) - await self._connection._send(request_body) - - try: - while True: - response_str = await self._connection._recv_with_optional_timeout() - if not response_str: - continue - - response_obj = typing.cast( - WebSocketResponse, - parse_obj_as( - type_=WebSocketResponse, # type: ignore - object_=json.loads(response_str), - ), - ) - - if isinstance(response_obj, WebSocketResponse_Error): - raise RuntimeError( - f"Error generating audio:\n{response_obj.error}" - ) - if isinstance(response_obj, WebSocketResponse_Done): - break - - if isinstance( - response_obj, - ( - WebSocketResponse_Chunk, - WebSocketResponse_Timestamps, - WebSocketResponse_PhonemeTimestamps, - ), - ): - output = self._connection._convert_response( - response_obj, include_context_id=True - ) - if output.audio: - yield output.audio - - except Exception as e: - raise RuntimeError(f"Failed to generate audio. {e}") - finally: - await self._close() - - async def _close(self): - """Remove this context from the active set. - If no more contexts remain, close the socket.""" - self._connection._remove_context(self._context_id) - if not self._connection._contexts: - await self._connection.close() - - def is_closed(self) -> bool: - return self._context_id not in self._connection._contexts - - -class AsyncTtsWebsocketConnection: - """ - Asynchronous WebSocket TTS connection. Parallels TtsWebsocketConnection but uses `websockets` in async mode. - """ - - def __init__( - self, - *, - ws_url: str, - tts_connect_options: TtsConnectOptions, - ): - self.ws_url = ws_url - self.options = tts_connect_options - self.websocket: typing.Optional[WebSocketClientProtocol] = None - self._contexts: typing.Set[str] = set() - - async def _ensure_connected(self): - """ - Ensure the WebSocket connection is established. - """ - if not IS_WEBSOCKET_ASYNC_AVAILABLE: - raise ImportError( - "The asynchronous WebSocket client is not available. " - "Please ensure that you have 'websockets>=10.0' installed." - ) - - if self.websocket is None or self.websocket.closed: - try: - uri = _construct_ws_uri(self.ws_url, "tts/websocket", self.options) - self.websocket = await async_ws_connect(uri) - except Exception as e: - raise RuntimeError(f"Failed to connect to WebSocket. {e}") from e - - async def close(self): - """ - Close the WebSocket connection completely. Recommended to call this when done. - """ - if self.websocket and not self.websocket.closed: - await self.websocket.close() - self.websocket = None - self._contexts.clear() - - async def close_context(self, context_id: str): - """ - Remove a context from the active set. If no contexts remain, optionally close the connection. - """ - self._remove_context(context_id) - - async def _send(self, data: typing.Any) -> None: - """ - Send data as JSON over the WebSocket. - """ - await self._ensure_connected() - if not self.websocket: - raise RuntimeError("WebSocket is not connected after _ensure_connected().") - - if isinstance(data, dict): - data = json.dumps(data) - await self.websocket.send(data) - - async def _recv_with_optional_timeout( - self, timeout: float = 0.5 - ) -> typing.Optional[str]: - """ - Attempt to receive data from the websocket with a short timeout. - If no data arrives, returns None. - """ - if not self.websocket or self.websocket.closed: - return None - - try: - msg: typing.Union[str, bytes] = await asyncio.wait_for( - self.websocket.recv(), timeout=timeout - ) - if isinstance(msg, bytes): - msg = msg.decode("utf-8") - return msg - - except asyncio.TimeoutError: - return None - except (ConnectionClosedOK, ConnectionClosedError): - return None - - def _convert_response( - self, - response_obj: typing.Union[ - WebSocketResponse_Chunk, - WebSocketResponse_Timestamps, - WebSocketResponse_PhonemeTimestamps, - ], - include_context_id: bool, - ) -> WebSocketTtsOutput: - """ - Converts a parsed WebSocketResponse object into a WebSocketTtsOutput - with the binary audio data decoded, or timestamps, etc. - """ - return _decode_and_build_output(response_obj, include_context_id) - - def _remove_context(self, context_id: str): - """ - Remove a context from the active set. - """ - if context_id in self._contexts: - self._contexts.remove(context_id) - - def context(self, context_id: typing.Optional[str] = None) -> _AsyncTTSContext: - """ - Create or retrieve an asynchronous TTS context object with the given context_id. - """ - if context_id is None: - context_id = str(uuid.uuid4()) - if context_id in self._contexts: - raise ValueError(f"Context for context ID {context_id} already exists.") - self._contexts.add(context_id) - return _AsyncTTSContext(context_id, self) - - async def send( - self, - request: WebSocketRequest, - stream: bool = True, - ) -> typing.Union[ - typing.AsyncGenerator[typing.Dict[str, typing.Any], None], - typing.Dict[str, typing.Any], - ]: - """ - Send either a GenerationRequest or a CancelContextRequest to the TTS WebSocket. - - If `stream` is True, returns an async generator of audio chunks (dict). - Otherwise, returns a single dict with all audio concatenated. - - For a CancelContextRequest, there is typically no audio returned. - """ - await self._ensure_connected() - - if isinstance(request, CancelContextRequest): - try: - self._async_websocket_generator(request.dict(by_alias=True)) - except TimeoutError: - pass - finally: - self.close() - - return {"status": "cancelled", "context_id": request.context_id} - - if isinstance(request, GenerationRequest): - request_body = request.dict(by_alias=True) - - if not request_body.get("context_id"): - request_body["context_id"] = str(uuid.uuid4()) - - generator = self._async_websocket_generator(request_body) - - if stream: - return generator - - return await self._accumulate_chunks(request, generator) - - raise ValueError("Unknown request type for TTS WebSocket.") - - async def _async_websocket_generator( - self, request_body: dict - ) -> typing.AsyncGenerator[dict, None]: - """ - Send a request to the TTS WebSocket and yield responses as they arrive. - """ - await self._send(request_body) - - try: - while True: - response_str = await self._recv_with_optional_timeout() - if not response_str: - continue - - response_obj = typing.cast( - WebSocketResponse, - parse_obj_as( - type_=WebSocketResponse, # type: ignore - object_=json.loads(response_str), - ), - ) - - if isinstance(response_obj, WebSocketResponse_Error): - raise RuntimeError(f"Error generating audio:\n{response_obj.error}") - if isinstance(response_obj, WebSocketResponse_Done): - break - - if isinstance( - response_obj, - ( - WebSocketResponse_Chunk, - WebSocketResponse_Timestamps, - WebSocketResponse_PhonemeTimestamps, - ), - ): - yield self._convert_response( - response_obj, include_context_id=True - ).dict() - except Exception as e: - await self.close() - raise RuntimeError(f"Failed to generate audio. Exception: {e}") - - async def _accumulate_chunks( - self, - request: GenerationRequest, - generator: typing.AsyncGenerator[dict, None], - ) -> dict: - """ - Accumulate audio chunks and timestamps into a single dict. - """ - chunks = [] - word_timestamps = defaultdict(list) - context_id = request.context_id - - try: - async for chunk in generator: - if "audio" in chunk: - chunks.append(chunk["audio"]) - if request.add_timestamps and "word_timestamps" in chunk: - for k, v in chunk["word_timestamps"].items(): - word_timestamps[k].extend(v) - except Exception as e: - await self.close() - raise RuntimeError(f"Failed to generate audio. Exception: {e}") - - audio_bytes = b"".join(chunks) - out_dict: typing.Dict[str, typing.Any] = { - "audio": audio_bytes, - "context_id": context_id, - } - if request.add_timestamps: - out_dict["word_timestamps"] = dict(word_timestamps) - - return out_dict +from .types import OutputFormat +from .utils.tts import get_output_format class TtsClientWithWebsocket(TtsClient): @@ -778,6 +15,9 @@ class TtsClientWithWebsocket(TtsClient): def __init__(self, *, client_wrapper): super().__init__(client_wrapper=client_wrapper) + def get_output_format(self, output_format_name: str) -> OutputFormat: + return get_output_format(output_format_name) + def _ws_url(self): base_url = self._client_wrapper.get_base_url() if base_url.startswith("ws://") or base_url.startswith("wss://"): @@ -787,16 +27,15 @@ def _ws_url(self): base_url_without_protocol = base_url.split("://")[-1] return f"{prefix}://{base_url_without_protocol}" - def websocket(self) -> TtsWebsocketConnection: + def websocket(self): client_headers = self._client_wrapper.get_headers() - tts_connect_options = TtsConnectOptions( + ws = TtsWebsocket( + ws_url=self._ws_url(), cartesia_version=client_headers["Cartesia-Version"], api_key=client_headers["X-API-Key"], ) - return TtsWebsocketConnection( - ws_url=self._ws_url(), - tts_connect_options=tts_connect_options, - ) + ws.connect() + return ws class AsyncTtsClientWithWebsocket(AsyncTtsClient): @@ -804,8 +43,12 @@ class AsyncTtsClientWithWebsocket(AsyncTtsClient): Extension of AsyncTtsClient that supports an asynchronous WebSocket TTS connection. """ - def __init__(self, *, client_wrapper): + def __init__(self, *, client_wrapper, get_session): super().__init__(client_wrapper=client_wrapper) + self._get_session = get_session + + def get_output_format(self, output_format_name: str) -> OutputFormat: + return get_output_format(output_format_name) def _ws_url(self) -> str: base_url = self._client_wrapper.get_base_url() @@ -816,13 +59,13 @@ def _ws_url(self) -> str: base_url_without_protocol = base_url.split("://")[-1] return f"{prefix}://{base_url_without_protocol}" - def websocket(self) -> AsyncTtsWebsocketConnection: + async def websocket(self): client_headers = self._client_wrapper.get_headers() - tts_connect_options = TtsConnectOptions( - cartesia_version=client_headers.get("Cartesia-Version"), - api_key=client_headers.get("X-API-Key"), - ) - return AsyncTtsWebsocketConnection( + ws = AsyncTtsWebsocket( ws_url=self._ws_url(), - tts_connect_options=tts_connect_options, + cartesia_version=client_headers["Cartesia-Version"], + api_key=client_headers["X-API-Key"], + get_session=self._get_session, ) + await ws.connect() + return ws diff --git a/src/cartesia/tts/types/web_socket_tts_output.py b/src/cartesia/tts/types/web_socket_tts_output.py index bc75fdb..19da4b2 100644 --- a/src/cartesia/tts/types/web_socket_tts_output.py +++ b/src/cartesia/tts/types/web_socket_tts_output.py @@ -1,17 +1,21 @@ # This file was auto-generated by Fern from our API Definition. -from ...core.pydantic_utilities import UniversalBaseModel import typing -from .word_timestamps import WordTimestamps -from .context_id import ContextId -from ...core.pydantic_utilities import IS_PYDANTIC_V2 + import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .context_id import ContextId +from .flush_id import FlushId +from .word_timestamps import WordTimestamps + class WebSocketTtsOutput(UniversalBaseModel): word_timestamps: typing.Optional[WordTimestamps] = None audio: typing.Optional[bytes] = None context_id: typing.Optional[ContextId] = None + flush_id: typing.Optional[FlushId] = None + flush_done: typing.Optional[bool] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/cartesia/tts/utils/constants.py b/src/cartesia/tts/utils/constants.py new file mode 100644 index 0000000..1717a95 --- /dev/null +++ b/src/cartesia/tts/utils/constants.py @@ -0,0 +1,11 @@ +DEFAULT_MODEL_ID = "sonic-english" # latest default model +MULTILINGUAL_MODEL_ID = "sonic-multilingual" # latest multilingual model +DEFAULT_BASE_URL = "api.cartesia.ai" +DEFAULT_CARTESIA_VERSION = "2024-06-10" # latest version +DEFAULT_OUTPUT_FORMAT = "raw_pcm_f32le_44100" +DEFAULT_TIMEOUT = 30 # seconds +DEFAULT_NUM_CONNECTIONS = 10 # connections per client +DEFAULT_VOICE_EMBEDDING = [1.0] * 192 + +BACKOFF_FACTOR = 1 +MAX_RETRIES = 3 diff --git a/src/cartesia/tts/utils/timeout_iterator.py b/src/cartesia/tts/utils/timeout_iterator.py deleted file mode 100644 index 3262b50..0000000 --- a/src/cartesia/tts/utils/timeout_iterator.py +++ /dev/null @@ -1,163 +0,0 @@ -import queue -import asyncio -import threading - - -class TimeoutIterator: - """ - Wrapper class to add timeout feature to synchronous iterators - - timeout: timeout for next(). Default=ZERO_TIMEOUT i.e. no timeout or blocking calls to next. Updated using set_timeout() - - sentinel: the object returned by iterator when timeout happens - - reset_on_next: if set to True, timeout is reset to the value of ZERO_TIMEOUT on each iteration - - TimeoutIterator uses a thread internally. - The thread stops once the iterator exhausts or raises an exception during iteration. - - Any excptions raised within the wrapped iterator are popagated as it is. - Exception is raised when all elements geenerated by the actual iterator before exception have been consumed - Timeout can be set dynamically before going for iteration - """ - - ZERO_TIMEOUT = 0.0 - - def __init__(self, iterator, timeout=0.0, sentinel=object(), reset_on_next=False): - self._iterator = iterator - self._timeout = timeout - self._sentinel = sentinel - self._reset_on_next = reset_on_next - - self._interrupt = False - self._done = False - self._buffer = queue.Queue() - self._thread = threading.Thread(target=self.__lookahead) - self._thread.start() - - def get_sentinel(self): - return self._sentinel - - def set_reset_on_next(self, reset_on_next): - self._reset_on_next = reset_on_next - - def set_timeout(self, timeout: float): - """ - Set timeout for next iteration - """ - self._timeout = timeout - - def interrupt(self): - """ - interrupt and stop the underlying thread. - the thread acutally dies only after interrupt has been set and - the underlying iterator yields a value after that. - """ - self._interrupt = True - - def __iter__(self): - return self - - def __next__(self): - """ - yield the result from iterator - if timeout > 0: - yield data if available. - otherwise yield sentinal - """ - if self._done: - raise StopIteration - - data = self._sentinel - try: - if self._timeout > self.ZERO_TIMEOUT: - data = self._buffer.get(timeout=self._timeout) - else: - data = self._buffer.get() - except queue.Empty: - pass - finally: - # see if timeout needs to be reset - if self._reset_on_next: - self._timeout = self.ZERO_TIMEOUT - - # propagate any exceptions including StopIteration - if isinstance(data, BaseException): - self._done = True - raise data - - return data - - def __lookahead(self): - try: - while True: - self._buffer.put(next(self._iterator)) - if self._interrupt: - raise StopIteration() - except BaseException as e: - self._buffer.put(e) - - -class AsyncTimeoutIterator: - """ - Async version of TimeoutIterator. See method documentation of TimeoutIterator - """ - - ZERO_TIMEOUT = 0.0 - - def __init__(self, iterator, timeout=0.0, sentinel=object(), reset_on_next=False): - self._iterator = iterator - self._timeout = timeout - self._sentinel = sentinel - self._reset_on_next = reset_on_next - - self._interrupt = False - self._done = False - self._buffer = asyncio.Queue() - self._task = asyncio.get_event_loop().create_task(self.__lookahead()) - - def get_sentinel(self): - return self._sentinel - - def set_reset_on_next(self, reset_on_next): - self._reset_on_next = reset_on_next - - def set_timeout(self, timeout: float): - self._timeout = timeout - - def interrupt(self): - self._interrupt = True - - def __aiter__(self): - return self - - async def __anext__(self): - if self._done: - raise StopAsyncIteration - - data = self._sentinel - try: - if self._timeout > self.ZERO_TIMEOUT: - data = await asyncio.wait_for(self._buffer.get(), self._timeout) - else: - data = await self._buffer.get() - except asyncio.TimeoutError: - pass - finally: - # see if timeout needs to be reset - if self._reset_on_next: - self._timeout = self.ZERO_TIMEOUT - - # propagate any exceptions including StopIteration - if isinstance(data, BaseException): - self._done = True - raise data - - return data - - async def __lookahead(self): - try: - while True: - data = await self._iterator.__anext__() - await self._buffer.put(data) - if self._interrupt: - raise StopAsyncIteration() - except BaseException as e: - await self._buffer.put(e) diff --git a/src/cartesia/tts/utils/tts.py b/src/cartesia/tts/utils/tts.py new file mode 100644 index 0000000..f16c34d --- /dev/null +++ b/src/cartesia/tts/utils/tts.py @@ -0,0 +1,21 @@ +from .types import OutputFormatMapping + + +def get_output_format(output_format_name: str): + """Convenience method to get the output_format dictionary from a given output format name. + + Args: + output_format_name (str): The name of the output format. + + Returns: + OutputFormat: A dictionary containing the details of the output format to be passed into tts.sse() or tts.websocket().send() + + Raises: + ValueError: If the output_format name is not supported + """ + if output_format_name in OutputFormatMapping._format_mapping: + output_format_obj = OutputFormatMapping.get_format(output_format_name) + else: + raise ValueError(f"Unsupported format: {output_format_name}") + + return output_format_obj diff --git a/src/cartesia/tts/utils/types.py b/src/cartesia/tts/utils/types.py new file mode 100644 index 0000000..a152e78 --- /dev/null +++ b/src/cartesia/tts/utils/types.py @@ -0,0 +1,70 @@ +class OutputFormatMapping: + _format_mapping = { + "raw_pcm_f32le_44100": { + "container": "raw", + "encoding": "pcm_f32le", + "sample_rate": 44100, + }, + "raw_pcm_s16le_44100": { + "container": "raw", + "encoding": "pcm_s16le", + "sample_rate": 44100, + }, + "raw_pcm_f32le_24000": { + "container": "raw", + "encoding": "pcm_f32le", + "sample_rate": 24000, + }, + "raw_pcm_s16le_24000": { + "container": "raw", + "encoding": "pcm_s16le", + "sample_rate": 24000, + }, + "raw_pcm_f32le_22050": { + "container": "raw", + "encoding": "pcm_f32le", + "sample_rate": 22050, + }, + "raw_pcm_s16le_22050": { + "container": "raw", + "encoding": "pcm_s16le", + "sample_rate": 22050, + }, + "raw_pcm_f32le_16000": { + "container": "raw", + "encoding": "pcm_f32le", + "sample_rate": 16000, + }, + "raw_pcm_s16le_16000": { + "container": "raw", + "encoding": "pcm_s16le", + "sample_rate": 16000, + }, + "raw_pcm_f32le_8000": { + "container": "raw", + "encoding": "pcm_f32le", + "sample_rate": 8000, + }, + "raw_pcm_s16le_8000": { + "container": "raw", + "encoding": "pcm_s16le", + "sample_rate": 8000, + }, + "raw_pcm_mulaw_8000": { + "container": "raw", + "encoding": "pcm_mulaw", + "sample_rate": 8000, + }, + "raw_pcm_alaw_8000": { + "container": "raw", + "encoding": "pcm_alaw", + "sample_rate": 8000, + }, + } + + @classmethod + def get_format(cls, format_name): + if format_name in cls._format_mapping: + return cls._format_mapping[format_name] + else: + raise ValueError(f"Unsupported format: {format_name}") diff --git a/tests/custom/resources/sample-speech-4s.wav b/tests/custom/resources/sample-speech-4s.wav new file mode 100644 index 0000000000000000000000000000000000000000..2a53819164c1342339f3b79143399519023a5a84 GIT binary patch literal 341070 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%0D?Mxb!yLi`j_ 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

    kDI}2?ht?Kmg(Hu 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 None: - assert True == True +def _validate_wav_response(data: bytes): + assert data.startswith(b"RIFF") + assert data[8:12] == b"WAVE" + assert len(data) > 44 # Ensure there's audio data beyond the header