Shujah239's picture
Update README.md
8b17c8d verified
metadata
title: Audio Emotion Detection API
emoji: 🎵
colorFrom: blue
colorTo: purple
sdk: docker
sdk_version: latest
app_file: app.py
pinned: false

Audio Emotion Detection API

This application provides an API for detecting emotions in audio files using the wav2vec2 model fine-tuned for emotion recognition.

Features

  • Upload audio files for emotion analysis
  • List all uploaded recordings
  • Download previously uploaded recordings
  • Analyze existing recordings
  • Delete recordings

API Endpoints

  • GET /health - Health check endpoint
  • POST /upload - Upload and analyze an audio file
  • GET /recordings - List all uploaded recordings
  • GET /recordings/{filename} - Download a specific recording
  • GET /analyze/{filename} - Analyze an existing recording
  • DELETE /recordings/{filename} - Delete a recording

Supported Audio Formats

  • WAV
  • MP3
  • OGG
  • FLAC

File Size Limits

Maximum file size: 10MB

Usage Example

import requests

# Upload and analyze an audio file
with open('your_audio.wav', 'rb') as f:
    files = {'file': f}
    response = requests.post('https://your-space-url.hf.space/upload', files=files)
    print(response.json())

Technical Details

  • Based on FastAPI
  • Uses Hugging Face's wav2vec2-base-superb-er model for emotion recognition
  • Optimized for Hugging Face Spaces deployment
  • Automatic file cleanup to manage storage limits

Storage Management

Files are automatically cleaned up after 24 hours to manage storage limits on Hugging Face Spaces.

Development

To run this API locally:

  1. Install dependencies: pip install -r requirements.txt
  2. Run the server: python app.py
  3. Access the Swagger documentation at http://localhost:7860/docs