***
layout: overview
slug: nemo-curator/nemo\_curator/tasks/audio\_task
title: nemo\_curator.tasks.audio\_task
--------------------------------------
## Module Contents
### Classes
| Name | Description |
| ------------------------------------------------------- | ------------------------------------------------------------- |
| [`AudioTask`](#nemo_curator-tasks-audio_task-AudioTask) | A single audio manifest entry. |
| [`_AttrDict`](#nemo_curator-tasks-audio_task-_AttrDict) | Dict subclass exposing keys as attributes so `hasattr` works. |
### API
```python
class nemo_curator.tasks.audio_task.AudioTask(
task_id: str = '',
dataset_name: str = '',
data: dict = _AttrDict(),
_stage_perf: list[nemo_curator.utils.performance_utils.StagePerfStats] = list(),
_metadata: dict[str, typing.Any] = dict(),
filepath_key: str | None = None
)
```
Dataclass
**Bases:** [Task\[dict\]](/nemo-curator/nemo_curator/tasks/tasks#nemo_curator-tasks-tasks-Task)
A single audio manifest entry.
Represents one line from a JSONL manifest file (e.g. one audio file
with its metadata). `data` is always a single `dict`, never a list.
Matches the `VideoTask` naming convention used by the video modality.
**Parameters:**
Manifest entry dict (e.g. `{"audio_filepath": "...", "text": "..."}`).
Optional key whose value is validated as an existing path.
```python
nemo_curator.tasks.audio_task.AudioTask.__post_init__()
```
```python
nemo_curator.tasks.audio_task.AudioTask.validate() -> bool
```
Validate the task data.
```python
class nemo_curator.tasks.audio_task._AttrDict()
```
**Bases:** `dict`
Dict subclass exposing keys as attributes so `hasattr` works.
```python
nemo_curator.tasks.audio_task._AttrDict.__delattr__(
key: str
)
```
```python
nemo_curator.tasks.audio_task._AttrDict.__getattr__(
key: str
)
```
```python
nemo_curator.tasks.audio_task._AttrDict.__setattr__(
key: str,
value: object
) -> None
```