Skip to content

VoiceCard

Stable

One voice to hear and choose: name, how it sounds, who owns it, whether you can use it, and a sample button.

Also known as voice option, voice sample

Install with npm install @tattva/ui (setup), or copy the code from the kit in Downloads.

Play a sample

Juniper

Warm and unhurried. Good for long reads.

Built inCalmNarration

Wren

Bright and quick. Good for short updates.

DesignedUpbeat

Basalt

Low and steady.

Built inDeep

Press the round button to hear a sample and again to stop it. Starting one stops the other. Basalt shows a sample that fails to load.

When to use it

Lets people hear a voice before they choose it, and see plainly whose voice it is and whether they can keep using it.

Made of: Radio (optional) · Name · Selected tag · Description · Source and tags · Ownership line · Availability line · Playback readout · Sample button

Use it for

  • A voice in a list people pick from, inside VoicePicker.
  • A single voice on a settings page, with its sample and its owner.
  • Showing that a shared voice is being withdrawn, and until when.

Not for

  • A whole list of voices to choose from: use VoicePicker.
  • Playing back a long recording with a scrubber.
  • Choosing which AI model answers: use ModelPicker.

Do and avoid

Juniper

Warm and unhurried. Good for long reads.

Built inCalmNarration

Do. A sample to play and a plain owner, so people choose with care.

Juniper

Built in

Avoid. No sample to play, so people pick a voice they never heard.

Do

  • Keep the description to one line about the sound and what it suits.
  • Say whose voice it is, and for a shared voice how long it stays available.
  • Keep samples short, a few seconds, so people can compare quickly.
  • Use useSimulatedSamples only as a stand-in. Pass your real player's state the same way.

Avoid

  • Do not autoplay a sample, or let two play at once.
  • Do not colour the playing state lime. A sample is playback, not the AI working.
  • Do not use real people's names or famous voices as examples or defaults.
  • Do not hide a withdrawn voice someone is still using. Show it, and ask them to pick another.

On a phone

  • The card fills the width. Name and tags wrap; the sample button stays on the right.
  • The sample button grows from 36px to 44px on a touch screen.
  • With onSelect, a tap anywhere on the card except the sample button chooses the voice.

Seen in products

  • Claude voice mode: clicking a voice previews it, and clicking again stops it.
  • ElevenLabs Voice Library shows each voice with an owner, sharing terms and a notice period of up to 2 years if the owner withdraws it.
  • ElevenLabs marks voices with a Live Moderation label.
  • Copilot offers named voices; Gemini native audio has 30 voices.

Build your next AI screen with Tattva.

Free and open, with the code. Start in one line.

Get started