# {py:mod}`abr_sdk.tts`

```{py:module} abr_sdk.tts
```

```{autodoc2-docstring} abr_sdk.tts
:allowtitles:
```

## Module Contents

### Classes

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`Tts <abr_sdk.tts.Tts>`
  - ```{autodoc2-docstring} abr_sdk.tts.Tts
    :summary:
    ```
* - {py:obj}`Processor <abr_sdk.tts.Processor>`
  - ```{autodoc2-docstring} abr_sdk.tts.Processor
    :summary:
    ```
````

### API

`````{py:class} Tts(lib_or_path: str | pathlib.Path | abr_sdk.core.Library, *, lib_search_paths: list[str | pathlib.Path] | None = None, use_default_lib_search_paths: bool = True, resources_dir: str | pathlib.Path | None = None, logger: logging.Logger | None = None)
:canonical: abr_sdk.tts.Tts

Bases: {py:obj}`abr_sdk.core.Application`

```{autodoc2-docstring} abr_sdk.tts.Tts
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.tts.Tts.__init__
```

````{py:attribute} text_input_buffer
:canonical: abr_sdk.tts.Tts.text_input_buffer
:type: abr_sdk.core.Buffer
:value: >
   None

```{autodoc2-docstring} abr_sdk.tts.Tts.text_input_buffer
```

````

````{py:attribute} pcm_output_buffer
:canonical: abr_sdk.tts.Tts.pcm_output_buffer
:type: abr_sdk.core.Buffer
:value: >
   None

```{autodoc2-docstring} abr_sdk.tts.Tts.pcm_output_buffer
```

````

````{py:method} __enter__() -> abr_sdk.tts.Tts
:canonical: abr_sdk.tts.Tts.__enter__

```{autodoc2-docstring} abr_sdk.tts.Tts.__enter__
```

````

````{py:method} push(data: bytes, *, on_pcm: collections.abc.Callable[[bytes], None] | None = None, output_poll_timeout_ms: int = 0) -> None
:canonical: abr_sdk.tts.Tts.push

```{autodoc2-docstring} abr_sdk.tts.Tts.push
```

````

````{py:method} _warn_if_not_preprocessed(data: bytes) -> None
:canonical: abr_sdk.tts.Tts._warn_if_not_preprocessed

```{autodoc2-docstring} abr_sdk.tts.Tts._warn_if_not_preprocessed
```

````

````{py:method} wait_for_completion() -> None
:canonical: abr_sdk.tts.Tts.wait_for_completion

```{autodoc2-docstring} abr_sdk.tts.Tts.wait_for_completion
```

````

````{py:method} close() -> None
:canonical: abr_sdk.tts.Tts.close

```{autodoc2-docstring} abr_sdk.tts.Tts.close
```

````

`````

`````{py:class} Processor(tts: abr_sdk.tts.Tts, on_pcm: collections.abc.Callable[[bytes], None] | None = None)
:canonical: abr_sdk.tts.Processor

```{autodoc2-docstring} abr_sdk.tts.Processor
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.tts.Processor.__init__
```

````{py:method} process_and_wait_for_output(data: bytes | None, timeout_ms: int, drain_to_idle: bool) -> None
:canonical: abr_sdk.tts.Processor.process_and_wait_for_output

```{autodoc2-docstring} abr_sdk.tts.Processor.process_and_wait_for_output
```

````

````{py:method} close() -> None
:canonical: abr_sdk.tts.Processor.close

```{autodoc2-docstring} abr_sdk.tts.Processor.close
```

````

````{py:method} __enter__() -> abr_sdk.tts.Processor
:canonical: abr_sdk.tts.Processor.__enter__

```{autodoc2-docstring} abr_sdk.tts.Processor.__enter__
```

````

````{py:method} __exit__(*exc: typing.Any) -> None
:canonical: abr_sdk.tts.Processor.__exit__

```{autodoc2-docstring} abr_sdk.tts.Processor.__exit__
```

````

`````
