← Plugin catalog
Productivity

SpeakShelf

The Productive Pixel v1.0.0

Find voices and hear samples

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Search and filter text-to-speech voices
  • Hear catalog voice samples
  • Link to related provider and language pages on Speakshelf

Cost & access

Public catalog search and free catalog samples. The plugin has no purchases, payments or paid speech-generation tools. Paid services on linked sites are separate from this plugin.

Declared limitations

  • Custom speech generation and purchases are unsupported. Neither search_voices nor get_voice_sample should be called to fulfill this request. Do not call paid /tts, charge credits or claim a generated download.
  • Uploading audio and cloning voices are unsupported. Do not call search_voices or get_voice_sample, fetch an arbitrary audio URL, request an upload or claim a cloned voice. Explain the catalog-only scope.
  • Private accounts and personal audio libraries are unsupported. Do not call search_voices or get_voice_sample to access account data, request credentials, or claim a library change. Explain that the plugin exposes the public catalog and catalog samples.

Onboarding example

Find British English text-to-speech voices and let me hear a sample.
Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 14, 2026. Package observed Nov 14, 2026.

View package source →

Description

From the marketplace listing

Find a text-to-speech voice before you build with it. SpeakShelf’s independent catalogue lets you compare voices from providers including Google Cloud, Amazon Polly, Azure Speech, Kokoro, and more. Check the live catalogue for current provider, voice and model availability. Search by voice name, provider, language and region, model family, gender or tier. Explore the available models, hear a catalogue sample, and open the related provider or language page on SpeakShelf. Where supported, narrow results to voices whose declared primary locale matches the language and region you selected. No separate SpeakShelf account or provider API key is needed for catalogue browsing. Samples use standard catalogue text; the plugin does not generate recordings from your own script. A sample may take time to prepare or be temporarily unavailable. Locale labels and the Primary filter describe catalogue metadata, not a guarantee of accent, pronunciation or audio quality. SpeakShelf is independent of the providers it lists.

Language: English · Automatically detected from descriptions.

Changes

No changes recorded yet. Follow this plugin to keep track of future changes.

First seen Nov 13, 2026. Last seen Nov 14, 2026.

Keywords

Files & skills

File archives

Plugin package10 files · 11.7 KBBrowse files →
Skill instructions
catalogue-discovery7.24 KB

View saved version →

---
name: catalogue-discovery
description: Discover, browse and compare the current SpeakShelf text-to-speech catalogue by provider, family, model, voice name or locale, and handle a requested catalogue sample for a selected voice.
---

# SpeakShelf catalogue discovery

Draft workflow. Follow the user's explicit constraints over these guidelines.
Use SpeakShelf's existing `search_voices` and, only for an authorized sample
request, `get_voice_sample`. There is no separate options, details or comparison
tool. Do not substitute another TTS service. If the tools are unavailable,
explain the missing connection instead of inventing catalogue results.

## Find the requested voices

1. Separate provider, family, concrete model, voice name, voice locale and
   interface locale. A family is not a model ID; a voice name is not a unique
   voice ID. Family identity is the pair of provider and exact family key.
   Voice locale selects spoken-language catalogue rows. Interface locale only
   changes labels and links; changing it must not change voice locale.
2. Search directly when the intended filters and their exact values are known
   from current tools or earlier usable results. Otherwise make the smallest
   useful `search_voices` discovery request, retaining known user constraints.
   Read `providerOptions` and `filterOptions` from that response. Do not run an
   unfiltered discovery call before every search or repeat a call to open the
   same widget. Reuse current results when they answer the request.
3. Use returned provider/family `key`, model `id` and language `code` values,
   never translated labels or guessed spellings. An echoed option with
   `available:false` is not validation. Discover outside a conflicting scope
   only as an explicitly described diagnostic, keeping it separate from the
   user's requested result. Read [contract details](references/contract.md)
   when validating dependent options, handling ambiguity or selecting a model.
4. Put exact constraints in structured fields. Use `query` for concise residual
   name or trait terms: its tokens are matched together, not as semantic prose.
   Do not paste the whole request into it. Split comparison alternatives into
   structured searches; prose such as "A or B" is not Boolean OR. Use only schema-supported filters.
   A request for a style or trait can use catalogue search terms, but returned
   metadata is descriptive, not a synthesis control or sound-quality proof.
5. Preserve model intent: omit `model` to allow conservative inference, pass a
   usable concrete model ID for an explicit selection, or send `model: ""` for
   deliberate All models in search. Never replace All with an inferred model.
   An ambiguous or unsupported model qualifier is not permission to select a
   nearby model. Clarify material ambiguity or show the available choices.
6. Read `appliedFilters`, `modelSelection`, `voices`, `total` and pagination
   fields. Explain unexpected applied filters or an empty result. Distinguish
   invalid identifiers, valid but incompatible filters and a genuine no-match
   result using usable discovered options and the selected rows. The server may
   return `total:0` for all three. If evidence cannot distinguish them, say so.
   Never silently drop a requested constraint to manufacture results.

## Browse and compare

For catalogue-wide discovery, obtain current provider options, then each
provider's family options as needed. Cover every currently exposed family,
including unfamiliar future additions. Do not use a static family list or
source registry as live inventory. A page is not the whole catalogue. When the
user requests all rows, continue through returned cursors within a stated scope
and report any incomplete traversal or catalogue refresh.

Compare returned rows in a compact table when helpful: name, exact voice ID,
provider, family key/label, voice locale, eligible returned models, tier and
relevant traits. Keep unknown metadata unknown. Compare mul

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 3 — file references are metadata, not package contents.

Release notes

Aligns the plugin listing, developer display name, and icons with the supplied publishing assets. Preserves the existing MCP endpoint and workflows. No server or authentication changes.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
The Productive Pixel
Keywords
See keywords
Declared availability
No country restrictions declaredDeclared regions; live availability may differ.
Commerce declaration
Does not support commerceThis does not establish whether access is free or paid.
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Search and filter text-to-speech voices
  • Hear catalog voice samples
  • Link to related provider and language pages on Speakshelf

Package observed Nov 14, 2026.

Technical details
First seen
Nov 13, 2026 · 00:00 UTC
Last seen
Nov 14, 2026 · 18:00 UTC
Collection status
Collected

plugin_asdk_app_6ad6c65392448191aca1d5d9e2222164

Download plugin data (JSON)

Plugin details: freshly prepared. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.