# JESS Database - Nkululeko Classification Experiments

JESS is the Jena Speaker Set, a database annotated with age.

JESS can be downloaded from [here](https://osf.io/m5zdf/overview).

Download and unzip, should result into a folder named *osfstorage-archive*

## Dataset Information

- **Total files**: 5,772 audio files (.wav)
- **Speakers**: 121 unique speakers
- **Gender**: 2,933 male / 2,839 female
- **Age groups**: 3,355 young / 2,417 old
- **Text types**:
  - sentence: 4,574 files
  - vowel: 600 files
  - syllable: 240 files
  - spontaneous: 239 files
  - read_text: 119 files

## Files

- `jess.csv` - Metadata CSV generated by process_database.py
- `process_database.py` - Script to generate jess.csv from the audio files
- `osfstorage-archive/` - Directory containing all audio files

## Setup

```bash
# Install the dependencies
pip install pandas

# Run the conversion script
python process_database.py
```

## Experiment Configurations

Classify age group (old vs. young) using speaker-independent splits.

```bash
cd ../..
python -m nkululeko.nkululeko --config data/jess/exp_jess_age_os_xgb.ini
```


## Configuration Options

### Targets
You can change the `target` parameter in the config files:
- `gender` - male/female classification
- `age_group` - old/young classification
- `text` - speech type classification
- `speaker` - speaker identification
