# huarada/sarcasm-detection-from-voice architecture

> Architecture diagram of the GitHub repository huarada/sarcasm-detection-from-voice, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/huarada/sarcasm-detection-from-voice
- Repository: https://github.com/huarada/sarcasm-detection-from-voice

## Overview

The repository combines an audio-only sarcasm research workflow with a separate MUStARD++ multimodal modeling package. The documented notebook workflow takes extracted speech through narrowband feature images and grouped cross-validation to a ResNet classifier and evaluation/inference. The nested package provides separate classification and regression training scripts and speaker/context-aware model families. Notebook details are documented in the README rather than sampled source; connections within the nested package are limited to relationships shown in excerpts or the source index.

Main entry points: [`DetectarSarcasmoDataAgumentationMustardPlus.ipynb`](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb) (Research Notebook), [`MUStARD_Plus_Plus-main/MPP_Code/models/emotion_classification_model.py`](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/models/emotion_classification_model.py) (Classification Models), [`MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_implicit.py`](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_implicit.py) (Implicit Classification), [`MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_explicit.py`](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_explicit.py) (Explicit Classification)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_audio["Audio Sarcasm Workflow"]
  node_notebook["Research Notebook"]
  node_augmentation["Audio Augmentation"]
  node_features["RGB Features"]
  node_resnet["ResNet Classifier"]
end

subgraph group_data["Audio Data"]
  node_dataset[("MUStARD++ Dataset<br/>[mustard_text.csv]")]
  node_wav[("Extracted WAVs")]
  node_images[("Spectrogram Images")]
end

subgraph group_eval["Training and Evaluation"]
  node_groupcv["Grouped CV"]
  node_metrics["Evaluation Metrics"]
  node_inference["Inference"]
end

subgraph group_mpptrain["MUStARD++ Training"]
  node_implicit["Implicit Classification"]
  node_explicit["Explicit Classification"]
  node_regression["Emotion Regression"]
  node_mustardtrain["MUStARD Sarcasm Training"]
  node_plus_train["MUStARD++ Training"]
end

subgraph group_mppmodels["MUStARD++ Models"]
  node_classification_model["Classification Models"]
  node_regression_model["Regression Models"]
end

node_researcher(("Researcher"))

node_researcher -->|"runs"| node_notebook
node_notebook -->|"uses labels"| node_dataset
node_notebook -->|"processes audio"| node_wav
node_notebook -->|"applies"| node_augmentation
node_notebook -->|"extracts"| node_features
node_features -->|"writes"| node_images
node_notebook -->|"validates by group"| node_groupcv
node_groupcv -->|"trains"| node_resnet
node_resnet -->|"evaluated by"| node_metrics
node_resnet -->|"predicts"| node_inference
node_implicit -->|"uses"| node_classification_model
node_explicit -.->|"uses"| node_classification_model
node_mustardtrain -->|"uses"| node_classification_model
node_plus_train -->|"uses"| node_classification_model
node_regression -->|"uses"| node_regression_model

click node_notebook "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb"
click node_dataset "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/mustard_text.csv"
click node_wav "https://github.com/huarada/sarcasm-detection-from-voice/tree/main/audio_extracted_16k"
click node_augmentation "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb"
click node_features "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb"
click node_images "https://github.com/huarada/sarcasm-detection-from-voice/tree/main/out_narrowband_librosa/narrowband_test"
click node_groupcv "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb"
click node_resnet "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb"
click node_metrics "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb"
click node_inference "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb"
click node_implicit "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_implicit.py"
click node_explicit "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_explicit.py"
click node_regression "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_regression.py"
click node_mustardtrain "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_sarcasm_mustard.py"
click node_plus_train "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_sarcasm_mustard%2B%2B.py"
click node_classification_model "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/models/emotion_classification_model.py"
click node_regression_model "https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/models/emotion_regression_model.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_notebook,node_augmentation,node_features,node_resnet toneBlue
class node_dataset,node_wav,node_images toneAmber
class node_groupcv,node_metrics,node_inference toneMint
class node_implicit,node_explicit,node_regression,node_mustardtrain,node_plus_train toneRose
class node_classification_model,node_regression_model,node_researcher toneIndigo
```

## Components

### Audio Sarcasm Workflow

- [Research Notebook](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb): `DetectarSarcasmoDataAgumentationMustardPlus.ipynb`
- [Audio Augmentation](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb): `DetectarSarcasmoDataAgumentationMustardPlus.ipynb`
- [RGB Features](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb): `DetectarSarcasmoDataAgumentationMustardPlus.ipynb`
- [ResNet Classifier](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb): `DetectarSarcasmoDataAgumentationMustardPlus.ipynb`

### Audio Data

- [MUStARD++ Dataset](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/mustard_text.csv): `MUStARD_Plus_Plus-main/mustard_text.csv`
- [Extracted WAVs](https://github.com/huarada/sarcasm-detection-from-voice/tree/main/audio_extracted_16k): `audio_extracted_16k`
- [Spectrogram Images](https://github.com/huarada/sarcasm-detection-from-voice/tree/main/out_narrowband_librosa/narrowband_test): `out_narrowband_librosa/narrowband_test`

### Training and Evaluation

- [Grouped CV](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb): `DetectarSarcasmoDataAgumentationMustardPlus.ipynb`
- [Evaluation Metrics](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb): `DetectarSarcasmoDataAgumentationMustardPlus.ipynb`
- [Inference](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/DetectarSarcasmoDataAgumentationMustardPlus.ipynb): `DetectarSarcasmoDataAgumentationMustardPlus.ipynb`

### MUStARD++ Training

- [Implicit Classification](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_implicit.py): `MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_implicit.py`
- [Explicit Classification](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_explicit.py): `MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_explicit.py`
- [Emotion Regression](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_regression.py): `MUStARD_Plus_Plus-main/MPP_Code/training/execute_regression.py`
- [MUStARD Sarcasm Training](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_sarcasm_mustard.py): `MUStARD_Plus_Plus-main/MPP_Code/training/execute_sarcasm_mustard.py`
- [MUStARD++ Training](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/training/execute_sarcasm_mustard%2B%2B.py): `MUStARD_Plus_Plus-main/MPP_Code/training/execute_sarcasm_mustard++.py`

### MUStARD++ Models

- [Classification Models](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/models/emotion_classification_model.py): `MUStARD_Plus_Plus-main/MPP_Code/models/emotion_classification_model.py`
- [Regression Models](https://github.com/huarada/sarcasm-detection-from-voice/blob/main/MUStARD_Plus_Plus-main/MPP_Code/models/emotion_regression_model.py): `MUStARD_Plus_Plus-main/MPP_Code/models/emotion_regression_model.py`

### Other components

- **Researcher**

## Connections

- Researcher → Research Notebook: runs (evidence: `README.md`)
- Research Notebook → MUStARD++ Dataset: uses labels (evidence: `README.md`)
- Research Notebook → Extracted WAVs: processes audio (evidence: `README.md`)
- Research Notebook → Audio Augmentation: applies (evidence: `README.md`)
- Research Notebook → RGB Features: extracts (evidence: `README.md`)
- RGB Features → Spectrogram Images: writes (evidence: `README.md`)
- Research Notebook → Grouped CV: validates by group (evidence: `README.md`)
- Grouped CV → ResNet Classifier: trains (evidence: `README.md`)
- ResNet Classifier → Evaluation Metrics: evaluated by (evidence: `README.md`)
- ResNet Classifier → Inference: predicts (evidence: `README.md`)
- Implicit Classification → Classification Models: uses (evidence: `MUStARD_Plus_Plus-main/MPP_Code/training/execute_classification_implicit.py`)
- Explicit Classification → Classification Models: uses
- MUStARD Sarcasm Training → Classification Models: uses (evidence: `MUStARD_Plus_Plus-main/MPP_Code/training/execute_sarcasm_mustard.py`)
- MUStARD++ Training → Classification Models: uses (evidence: `MUStARD_Plus_Plus-main/MPP_Code/training/execute_sarcasm_mustard++.py`)
- Emotion Regression → Regression Models: uses (evidence: `MUStARD_Plus_Plus-main/MPP_Code/training/execute_regression.py`)
