CoolFace
Datasetpublic

shrikanth-19/dhravani-mit-test

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference Dataset Preparation Interface for Fine-tuning Whisper A web-based interface for preparing audio datasets to fine-tune OpenAI's Whisper model. This tool helps in recording, managing, and organizing voice recordings with their corresponding transcriptions, with support for cloud storage and authentication. Features πŸ” User authentication via Pocketbase ☁️ Cloud storage… See the full description on the dataset page: https://huggingface.co/datasets/shrikanth-19/dhravani-mit-test.

sourceHugging Facecc-by-4.0updated 5d agoView on Hugging Face
0likes111downloads
Dataset Card

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference

Dataset Preparation Interface for Fine-tuning Whisper

A web-based interface for preparing audio datasets to fine-tune OpenAI's Whisper model. This tool helps in recording, managing, and organizing voice recordings with their corresponding transcriptions, with support for cloud storage and authentication.

Features

  • β€”πŸ” User authentication via Pocketbase
  • β€”β˜οΈ Cloud storage support (Hugging Face Datasets)
  • β€”πŸŒ Multi-language support with native names
  • β€”πŸŽ€ Modern Material Design recording interface
  • β€”πŸ“ CSV transcript file support
  • β€”πŸŽ― Session-based recording workflow
  • β€”πŸ”„ Advanced recording controls
  • β€”βŒ¨οΈ Keyboard shortcuts for efficiency
  • β€”πŸ“Š Progress tracking and navigation
  • β€”πŸ’Ύ Local and cloud metadata management
  • β€”πŸŽ¨ Responsive, mobile-friendly UI

Getting Started

  1. 1.Create a transcript CSV file with your content:
csv
transcript
"First sentence to record"
"Second sentence to record"
# For multi-language support:
transcript_en,transcript_es
"English sentence","Spanish sentence"
  1. 1.Start the Flask application:
bash
python app.py
  1. 1.Access the interface:
http://localhost:5000

Usage

  1. 1.Authentication
  • β€”Sign in using your Google account
  • β€”Session Setup
  • β€”Upload your transcript CSV
  • β€”Select language and recording location
  • β€”Enter speaker details
  • β€”Click "Start Session"
  • β€”Recording
  • β€”Use on-screen controls or keyboard shortcuts:
  • β€”R: Start recording / Stop recording
  • β€”Space: Play recording
  • β€”Enter: Save recording
  • β€”Backspace: Re-record
  • —←: Previous transcript
  • β€”β†’: Skip current
  • β€”Navigate using row numbers
  • β€”Adjust transcript font size as needed

Data Storage

Recordings are stored in language-specific directories:

  • β€”Storage:
  datasets/
  β”œβ”€β”€ en/
  β”‚   β”œβ”€β”€ audio/
  β”‚   β”‚   β”œβ”€β”€ {user_prefix}_{YYYYMMDD_HHMMSS}.wav
  β”‚   β”‚   └── ...
  β”‚   └── en.parquet         # English recordings metadata
  β”œβ”€β”€ es/
  β”‚   β”œβ”€β”€ audio/
  β”‚   β”‚   β”œβ”€β”€ {user_prefix}_{YYYYMMDD_HHMMSS}.wav
  β”‚   β”‚   └── ...
  β”‚   └── es.parquet         # Spanish recordings metadata
  β”‚

Technical Details

Audio Recording

  • β€”Browser Recording Format: 48kHz mono WebM
  • β€”Storage Format: 16bit mono WAV
  • β€”Maximum Duration: 30 seconds
  • β€”Audio Processing: WebM -> WAV conversion with sample rate adjustment
  • β€”Channels: 1 (mono)

Data Management

  • β€”Metadata Organization:
  • β€”stats.json: Global recording statistics
  • β€”{language_code}.parquet: Language-specific metadata files
  • β€”File Naming: {user_id_prefix}_{YYYYMMDD_HHMMSS}.{format}
  • β€”Unicode Handling: NFC normalization for text

Authentication

  • β€”Provider: Pocketbase with Google OAuth
  • β€”Session Management: Server-side Flask sessions

Languages

  • β€”Support: 74 languages with native names
  • β€”Codes: ISO 639-1 standard
  • β€”CSV Format:
  • β€”Single language: transcript column
  • β€”Multi-language: transcript_${lang_code} columns

Upload Management

  • β€”Queue System: Background worker thread
  • β€”Status Tracking: Real-time upload status polling
  • β€”Error Handling: Automatic retries with timeout
  • β€”Progress Updates: Toast notifications
  • β€”Temporary Storage: ./temp folder for conversions

Frontend Features

  • β€”Keyboard Shortcuts: Recording and navigation
  • β€”Real-time Status: Progress tracking and notifications

Security

  • β€”Authentication Required: All routes except static/login
  • β€”File Validation: MIME type and extension checking
  • β€”Secure Context: HTTPS recommended

Performance

  • β€”Upload Queue: Asynchronous processing
  • β€”Audio Conversion: Server-side processing
  • β€”Session Caching: Browser storage optimization
  • β€”Progress Tracking: Real-time websocket updates

Browser Support

  • β€”Chrome (recommended)
  • β€”Brave
  • β€”Edge
  • β€”Safari

Known Limitations

  • β€”Requires microphone permissions
  • β€”Internet connection needed
  • β€”Maximum recording duration: 30 seconds
  • β€”File size limits based on storage backend