CoolFace
Datasetpublic

OlhaHavryliuk/UA-SER

UA-SER: Ukrainian Speech Emotion Recognition Corpus A labelled Ukrainian emotional speech corpus of 952 clips across four emotion classes, collected and annotated for the purpose of training and evaluating Speech Emotion Recognition (SER) models on Ukrainian. Dataset Summary Ukrainian is a low-resource language with no publicly available emotional speech dataset. UA-SER fills this gap by providing short naturalistic utterances labelled by three native Ukrainian… See the full description on the dataset page: https://huggingface.co/datasets/OlhaHavryliuk/UA-SER.

sourceHugging Facecc-by-4.0updated 5mo agoView on Hugging Face
0likes20downloads
Dataset Card

UA-SER: Ukrainian Speech Emotion Recognition Corpus

A labelled Ukrainian emotional speech corpus of 952 clips across four emotion classes, collected and annotated for the purpose of training and evaluating Speech Emotion Recognition (SER) models on Ukrainian.

Dataset Summary

Ukrainian is a low-resource language with no publicly available emotional speech dataset. UA-SER fills this gap by providing short naturalistic utterances labelled by three native Ukrainian annotators via majority vote.

PropertyValue
LanguageUkrainian (uk)
Clips952
Emotion classes4 (angry, happy, neutral, sad)
Speakers400
Total duration~33 min
Mean clip duration2.07 s
Annotation3 native annotators, majority vote
Inter-annotator agreementFleiss κ = 0.46
Split strategySpeaker-disjoint 80/20

Emotion Distribution

EmotionTotalTrainTest
Angry25921049
Happy24420044
Sad22718146
Neutral22218042
Total952771181

Gender Distribution

GenderCount
Female593
Male359

Gender is encoded in the filename suffix: _0.wav = male, _1.wav = female.

Dataset Structure

clips/          # 952 WAV files, 16 kHz mono
dataset.csv     # metadata (see below)

dataset.csv columns

ColumnDescription
filenameWAV filename (e.g. s_001_1.wav)
emotionLabel: angry, happy, neutral, sad
duration_secondsClip duration in seconds
textTranscript of the utterance (Ukrainian)
speaker_idAnonymised numeric speaker identifier
splittrain or test

Filename convention

{source_prefix}_{clip_id}_{gender}.wav

  • —source_prefix — corpus source identifier
  • —clip_id — zero-padded sequential index
  • —gender — 0 (male) or 1 (female)

Train / Test Split

The split is speaker-disjoint: no speaker appears in both train and test. Speakers were assigned greedily to maximise balance of emotion and gender distributions between the two sets (target 80/20 ratio).

Annotation

Each clip was independently labelled by three native Ukrainian speakers. The final label is the majority vote (at least 2 of 3 agree). Clips where no majority was reached were excluded.

Inter-annotator agreement: Fleiss κ = 0.46 (moderate agreement), consistent with other naturalistic emotion corpora.

Audio Format

  • —Format: WAV, 16-bit PCM
  • —Sample rate: 16 000 Hz
  • —Channels: mono
  • —Duration range: 0.52 – 5.50 s

Usage

python
import pandas as pd
import librosa

df = pd.read_csv("dataset.csv")
test = df[df["split"] == "test"]

y, sr = librosa.load(f"clips/{test.iloc[0]['filename']}", sr=16000)