# {py:mod}`abr_sdk.asr`

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

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

## Module Contents

### Classes

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

* - {py:obj}`AsrMode <abr_sdk.asr.AsrMode>`
  - ```{autodoc2-docstring} abr_sdk.asr.AsrMode
    :summary:
    ```
* - {py:obj}`Asr <abr_sdk.asr.Asr>`
  - ```{autodoc2-docstring} abr_sdk.asr.Asr
    :summary:
    ```
* - {py:obj}`AsrChunk <abr_sdk.asr.AsrChunk>`
  - ```{autodoc2-docstring} abr_sdk.asr.AsrChunk
    :summary:
    ```
* - {py:obj}`AsrTranscript <abr_sdk.asr.AsrTranscript>`
  - ```{autodoc2-docstring} abr_sdk.asr.AsrTranscript
    :summary:
    ```
* - {py:obj}`Processor <abr_sdk.asr.Processor>`
  - ```{autodoc2-docstring} abr_sdk.asr.Processor
    :summary:
    ```
````

### API

`````{py:class} AsrMode(*args, **kwds)
:canonical: abr_sdk.asr.AsrMode

Bases: {py:obj}`enum.Enum`

```{autodoc2-docstring} abr_sdk.asr.AsrMode
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.asr.AsrMode.__init__
```

````{py:attribute} FAST
:canonical: abr_sdk.asr.AsrMode.FAST
:value: >
   'fast'

```{autodoc2-docstring} abr_sdk.asr.AsrMode.FAST
```

````

````{py:attribute} ACCURATE
:canonical: abr_sdk.asr.AsrMode.ACCURATE
:value: >
   'accurate'

```{autodoc2-docstring} abr_sdk.asr.AsrMode.ACCURATE
```

````

````{py:method} __str__() -> str
:canonical: abr_sdk.asr.AsrMode.__str__

````

`````

`````{py:class} Asr(lib_or_path: str | pathlib.Path | abr_sdk.core.Library, *, mode: abr_sdk.asr.AsrMode | None = None, enable_spellcheck: bool | None = None, enable_punctuation: bool | None = None, 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.asr.Asr

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

```{autodoc2-docstring} abr_sdk.asr.Asr
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.asr.Asr.__init__
```

````{py:attribute} input_buffer
:canonical: abr_sdk.asr.Asr.input_buffer
:type: abr_sdk.core.Buffer
:value: >
   None

```{autodoc2-docstring} abr_sdk.asr.Asr.input_buffer
```

````

````{py:attribute} text_chunk_output_buffer
:canonical: abr_sdk.asr.Asr.text_chunk_output_buffer
:type: abr_sdk.core.Buffer
:value: >
   None

```{autodoc2-docstring} abr_sdk.asr.Asr.text_chunk_output_buffer
```

````

````{py:method} __enter__() -> abr_sdk.asr.Asr
:canonical: abr_sdk.asr.Asr.__enter__

```{autodoc2-docstring} abr_sdk.asr.Asr.__enter__
```

````

````{py:method} flush() -> None
:canonical: abr_sdk.asr.Asr.flush

```{autodoc2-docstring} abr_sdk.asr.Asr.flush
```

````

````{py:method} process(data: bytes) -> abr_sdk.asr.AsrTranscript
:canonical: abr_sdk.asr.Asr.process

```{autodoc2-docstring} abr_sdk.asr.Asr.process
```

````

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

```{autodoc2-docstring} abr_sdk.asr.Asr.push
```

````

````{py:method} wait_for_completion() -> None
:canonical: abr_sdk.asr.Asr.wait_for_completion

```{autodoc2-docstring} abr_sdk.asr.Asr.wait_for_completion
```

````

````{py:method} close() -> None
:canonical: abr_sdk.asr.Asr.close

```{autodoc2-docstring} abr_sdk.asr.Asr.close
```

````

`````

`````{py:class} AsrChunk
:canonical: abr_sdk.asr.AsrChunk

```{autodoc2-docstring} abr_sdk.asr.AsrChunk
```

````{py:attribute} SIZE
:canonical: abr_sdk.asr.AsrChunk.SIZE
:value: >
   'sizeof(...)'

```{autodoc2-docstring} abr_sdk.asr.AsrChunk.SIZE
```

````

````{py:attribute} type
:canonical: abr_sdk.asr.AsrChunk.type
:type: abr_sdk.cabi.AsrTextChunkType
:value: >
   None

```{autodoc2-docstring} abr_sdk.asr.AsrChunk.type
```

````

````{py:attribute} replace_byte_offset_begin
:canonical: abr_sdk.asr.AsrChunk.replace_byte_offset_begin
:type: int
:value: >
   None

```{autodoc2-docstring} abr_sdk.asr.AsrChunk.replace_byte_offset_begin
```

````

````{py:attribute} replace_byte_offset_end
:canonical: abr_sdk.asr.AsrChunk.replace_byte_offset_end
:type: int
:value: >
   None

```{autodoc2-docstring} abr_sdk.asr.AsrChunk.replace_byte_offset_end
```

````

````{py:attribute} data
:canonical: abr_sdk.asr.AsrChunk.data
:type: bytes
:value: >
   None

```{autodoc2-docstring} abr_sdk.asr.AsrChunk.data
```

````

````{py:method} parse(raw: bytes | bytearray) -> abr_sdk.asr.AsrChunk
:canonical: abr_sdk.asr.AsrChunk.parse
:staticmethod:

```{autodoc2-docstring} abr_sdk.asr.AsrChunk.parse
```

````

````{py:method} update(buf: bytearray) -> None
:canonical: abr_sdk.asr.AsrChunk.update

```{autodoc2-docstring} abr_sdk.asr.AsrChunk.update
```

````

`````

`````{py:class} AsrTranscript()
:canonical: abr_sdk.asr.AsrTranscript

```{autodoc2-docstring} abr_sdk.asr.AsrTranscript
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.asr.AsrTranscript.__init__
```

````{py:property} text
:canonical: abr_sdk.asr.AsrTranscript.text
:type: str

```{autodoc2-docstring} abr_sdk.asr.AsrTranscript.text
```

````

`````

`````{py:class} Processor(asr: abr_sdk.asr.Asr, on_chunk: collections.abc.Callable[[abr_sdk.asr.AsrChunk], None] | None = None)
:canonical: abr_sdk.asr.Processor

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

```{rubric} Initialization
```

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

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

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

````

````{py:method} push(data: bytes, output_poll_timeout_ms: int = 0) -> None
:canonical: abr_sdk.asr.Processor.push

```{autodoc2-docstring} abr_sdk.asr.Processor.push
```

````

````{py:method} wait_for_completion() -> None
:canonical: abr_sdk.asr.Processor.wait_for_completion

```{autodoc2-docstring} abr_sdk.asr.Processor.wait_for_completion
```

````

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

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

````

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

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

````

````{py:method} __exit__(type_: type[BaseException] | None, value: BaseException | None, traceback: types.TracebackType | None) -> None
:canonical: abr_sdk.asr.Processor.__exit__

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

````

`````
