Voice Arena

A community voice marketplace where you can discover, play, and use voices — or create your own to earn real money. Voice Arena powers the voice library for Fonada Labs' TTS playground and API.

Overview

Voice Arena is the community-driven voice marketplace at the heart of Fonada Labs. It combines voice discovery, social features, and a creator economy into a single platform. Users browse trending and top-used voices, search by language or category, and use any voice directly in the Text-to-Speech playground. Creators record voice samples in the browser (or upload on Enterprise), set free or paid pricing, and earn INR from every paid synthesis.

Discover

Browse trending voices, search by name, tag, language, or share ID. Filter by gender and category across 12 content tags.

Create

Record a 3–30 second sample in the browser (or upload on Enterprise). Set metadata, transcript, avatar, visibility, pricing, and publish to the community.

Earn

Set paid pricing on your voices (2x-5x multiplier). Earn credits on every TTS/ASR usage and redeem to your Indian bank account.

Voice Library

The in-app page is titled Voice Library at /creatives/voice-arena. Creators see tabs for Voice Library, My Voices, Earning, and Leaderboard; other users browse the library without creator tabs. When no search is active, the library displays voices in two sections (trending defaults to Daily):

Trending Voices

Top 10 voices ranked by a weighted score of plays, likes, and TTS/ASR usage. Filterable by time period: Daily, Weekly, Monthly, Yearly, or All Time.

Top 10 Most Used

Voices ranked by total usage_count — the number of times they have been used for TTS or ASR synthesis.

Search activates when you type a query, select a language, pick a gender filter, or click a tag. Results replace the trending/top sections and show matching voices ranked by usage count. Search matches against voice name, description, creator name, tags, and exact share_id. The view supports both grid and table layouts.

Voice Categories

CategorySourceStorageDescription
system
Fonada officialPublic bucket tts-voice-samplesPre-built voices shipped with the platform. Displayed with an "Official" badge.
community
User-uploadedPrivate bucket community-voicesVoices uploaded or recorded by creators. Accessed via signed URLs (1-hour expiry).
cloned
Voice Cloning APIPrivate bucket community-voicesVoices generated through the voice cloning pipeline and saved to the community.

Tags & Filtering

Voices can have up to 5 tags chosen from preset chips and/or custom text. Tags power both the scrollable filter bar on the Voice Library and the search backend. Common presets include:

Conversational
Narration
Characters
Social Media
Educational
Advertisement
Entertainment
Podcast
Audiobook
Gaming
Corporate
Kids

Additional filters: Language (23+ Indian languages), Gender (Male, Female, Neutral), and free-text search (name, description, creator name, share_id).

Becoming a Creator

The Creator role unlocks the full Voice Arena feature set. Non-creator users who click "Create Voice" see an upgrade modal prompting them to visit the Plans page. After upgrading, verified KYC is required before you can open the Create Voice dialog.

Creator Capabilities

Record 3–30 second voice samples in the browser (all creators)
Upload audio files on Enterprise (MP3, WAV, M4A, OGG, WebM)
Set pricing on public voices: Free or Paid (2x-5x multiplier)
Earn credits on every paid TTS/ASR usage
View per-voice analytics and usage details
Redeem earnings to Indian bank account
Compete on the community leaderboard

Creating a Voice

Prerequisites: Creator plan and verified KYC. Voice creation is a two-step flow inside the Create Voice dialog (Step 1: Create Voice → Step 2: Voice Details):

Step 1: Record or upload audio

Choose a language (ASR-supported list, 23 languages including English), then use either tab:

Record voice
  • Browser microphone capture
  • Duration: 3–30 seconds (cannot stop before 3s; auto-stop at 30s)
  • Encoded as mono PCM at 44.1 kHz, 16-bit WAV
  • Optional mood chips and rotating guided scripts per language
  • Transcript auto-filled from the displayed script when recording stops
  • Preview and re-record before continuing
Upload audio (Enterprise only)
  • MP3, WAV, M4A, OGG, or WebM; max 25 MB
  • Same duration limits: minimum 3 seconds, maximum 30 seconds
  • Auto-transcription via ASR; edit or re-transcribe before continuing
  • Transcript required (from ASR or typed manually)

To continue: valid audio, duration within 3–30s, and a non-empty transcript. Enterprise plan required for upload mode.

Step 2: Details & Pricing

FieldRequiredConstraints
NameYesMax 50 characters
DescriptionNoMax 200 characters
LanguageYesSet in Step 1 (read-only in Step 2)
GenderYesMale, Female, or Neutral
TranscriptYesFrom recording script, ASR (upload), or manual entry; required before save
AgeYes18–100 (used for default avatar assignment)
Location / CountryNoFree text (city/country pickers)
AvatarNoCustom upload (JPG/PNG/WebP, max 2 MB), preset selection, or auto-assigned by age/gender
VisibilityYesPublic (discoverable) or private; paid multipliers only when public
PricingYesFree (1x) or Paid (2x–5x multiplier) on public voices
TagsNoUp to 5 from the preset list + custom tags

Paid credit multipliers apply only to public voices. Private voices always use the 1x base rate and do not earn paid-voice revenue.

Supported Languages

The grid below lists languages used for discovery and library filtering. In the Create Voice dialog, the language picker is limited to 23 ASR-supported languages (including English) so recording scripts and upload auto-transcription work reliably. Each supported language has guided recording scripts; Enterprise upload uses ASR for the same language set.

Hindihi
Englishen
Tamilta
Telugute
Bengalibn
Gujaratigu
Kannadakn
Malayalamml
Marathimr
Punjabipa
Odiaor
Assameseas
Urduur
Nepaline
Sanskritsa
Sindhisd
Konkanikok
Dogridoi
Maithilimai
Manipurimni
Bodobrx
Santalisat
Kashmiriks

Pricing & Credits

Every TTS synthesis consumes credits. The cost depends on text length and whether the voice is free or paid.

Credit Calculation

Base Credits

base_credits = text_length × 0.5

V2 voice clone billing: 0.5 credits per character (1 credit per 2 characters). Upstream API deducts base credits; Voice Arena premium voices add an extra markup via record_voice_usage.

Free Voice (1x)

User pays base_credits only. No extra cost, no creator earnings.

Paid Voice (2x-15x)

total_credits = base_credits × multiplierextra_credits = base_credits × (multiplier - 1)

The extra_credits are deducted from the user's balance and credited to the voice creator.

Creator Earnings (INR)

amount_earned = extra_credits / credits_per_rupee

Where credits_per_rupee = 83.33 (configurable via app_config).

Example: 500-character text with a 3x voice

base_credits = 500 × 0.5 = 250

total_credits = 250 × 3 = 750 (deducted from user)

extra_credits = 250 × (3 - 1) = 500 (goes to creator)

creator_earnings = 500 × 0.50 = ₹250.00

Leaderboard

The leaderboard aggregates stats per creator across all their public voices. It is visible to all users (creator tab only for authenticated creators).

score = (total_plays × 2) + (total_likes × 5) + (total_credits × 10)

Columns displayed: Rank, Creator Name, Voice Count, Total Plays, Likes, Credits, Score.

Period filters: All Time, This Month (calendar month), This Week (last 7 days).

For month/week periods, data is sourced from voice_usage_log and only creators with activity in the window are shown.

Points Table

Points measure participation in the Voice Arena ecosystem. They influence leaderboard ranking and unlock earning opportunities.

ActionPointsDescription
Voice Gets Played
+2
Each time someone plays your voice
Voice Gets Liked
+5
When another user likes your voice
Voice Used in TTS
+10
When someone uses your voice for text-to-speech

Earnings & Redeem

Creators access the Earnings tab to see revenue from their voices, manage bank accounts, and redeem credits to INR.

Earnings Dashboard

  • Total earned (INR, all time)
  • This month earnings
  • Total credits earned
  • Total audio duration generated
  • Per-voice breakdown (name, uses, amount)
  • Recent transactions table (date, voice, service type, duration, credits, amount)
  • Withdrawal history with status tracking
  • Creator KYC panel (submit and track verification on the Earning tab)

Redeem Requirements

  • KYC: Identity verification status must be verified
  • Bank account: At least one saved Indian bank account on file
  • Minimum: 10,000 credits
  • Conversion: 83.33 credits = ₹1
  • Method: NEFT/IMPS to Indian bank account
  • IFSC Validation: Format ^[A-Z]{4}0[A-Z0-9]{6}$
  • Processing: 3-5 business days
  • Full balance: All available credits redeemed per request
  • Limit: One pending/processing withdrawal at a time

Withdrawal Statuses

pendingprocessingcompletedrejected

My Voices

The "My Voices" tab (creator-only) shows all voices owned by the authenticated user with management actions:

Public / Private

Toggle visibility with confirmation. Making a voice private resets paid pricing to 1x (free base rate).

Edit Pricing

On public voices: toggle Free or Paid and set multiplier (2x–5x). Changes take effect immediately.

Update Avatar

Open the avatar picker: custom upload (JPG, PNG, WebP, max 2 MB), presets, or defaults by age/gender.

View Usage

Opens a detailed modal showing who used your voice: user name/email, service type, language, duration, credits earned, amount earned, and timestamp.

Delete Voice

Permanently remove a voice after confirmation.

Copy Share ID

Copy the 8-character share_id to clipboard for sharing or API integration.

Open in TTS

Navigate to the TTS playground with the voice pre-selected.

Stats Display

Usage count, total credits earned, and total INR earned shown inline on each voice card.

Share & Use in TTS

Every voice receives an auto-generated 8-character alphanumeric share_id on creation (via a database trigger). This ID enables:

Direct Linking

Navigate to /creatives/text-to-speech?voice=share_id to open the TTS playground with a specific voice pre-selected.

Search by ID

Paste a share_id into the Voice Library search bar for an exact match.

V2 Synthesis

The TTS playground uses the fonada-api edge function with action: 'voice-clone-tts' and the voice's share_id to synthesize audio using community voices.

Public Audio Access

The voice-audio edge function returns a signed audio URL for any public voice given its share_id. Signed URLs expire after 1 hour.

Audio Storage

BucketPublicContentsAccess
community-voices
Private
Community and cloned voice audio filesSigned URLs (1-hour expiry) via edge functions or Supabase client
tts-voice-samples
Public
System (official) voice sample audioDirect public URL
voice-avatars
Public
Creator-uploaded and preset avatar imagesDirect public URL

Storage paths follow the pattern {user_id}/{voice_id}.wav for audio and {user_id}/{voice_id}.png for custom avatars. Preset avatars are stored under presets/{age_group}/.

FAQ

Voice Arena is Fonada Labs' community voice marketplace where users can discover, play, and use voices created by the community. It is available to all users at /creatives/voice-arena.

  • All users can browse, search, play, and like voices
  • Authenticated users can use voices in the TTS playground
  • Creators can record voices (or upload on Enterprise), set pricing, and earn from usage