Fish Audio

Text-to-speech

View as MarkdownOpen in Claude

Fish Audio is a text-to-speech engine with a large voice marketplace, voice cloning, and automatic language detection across dozens of languages.

Models

SignalWire supports the following Fish Audio models. See Fish Audio’s documentation for more detail.

ModelDescription
s2.1-proDefault. Latest-generation model
s2-proPrevious-generation pro model
s1First-generation model
s2.1-pro-freeFree developer tier of s2.1-pro

Voices

Press play to audition any Fish Audio voice, then copy config to grab the value for SWML or your SDK.

A Fish Audio voice ID is a reference ID — a long hexadecimal string found on the voice’s page in the Fish Audio marketplace. The default voice is Energetic Male (802e3bc2b27e49c2995d23ef70e6ac89).

Only Fish Audio’s public marketplace voices are supported. Cloned and custom voices do not work — use a reference ID from the public marketplace.

Browse voices and find their reference IDs on Fish Audio’s platform:

Languages

Fish Audio has no language setting — the model automatically detects the language of your text. The s2.1-pro model covers roughly 83 languages; refer to the Fish Audio docs for current language coverage.

Usage

A voice identifier string has three parts: the fish engine code, a reference ID, and an optional model.

Format: fish.<referenceId>:<model>

  • referenceId (required): a Fish Audio voice reference ID; see Voices.
  • model (optional): one of the models above. Defaults to s2.1-pro.

Examples:

fish.802e3bc2b27e49c2995d23ef70e6ac89:s2.1-pro
fish.802e3bc2b27e49c2995d23ef70e6ac89

You can also set the model with the separate model parameter of the languages SWML method instead of appending :model to the voice string:

1languages:
2- name: English
3 code: en-US
4 voice: fish.802e3bc2b27e49c2995d23ef70e6ac89
5 model: s2.1-pro

Build with Fish Audio on SignalWire

1

Create a Space and add credit

If you don’t have one yet, you’ll need to create a SignalWire Space. Be sure to add some credit to test with.

2

Add a new Resource

Navigate to the Resources tab in your SignalWire Dashboard and click + Add New to create a new Resource.

3

Create a SWML Script

From the Resources menu, select SWML Script. Name it something fun and recognizable. Ours is titled Fish Wizard.

Next, paste the following starter script into the text box, and hit Save:

1version: 1.0.0
2sections:
3 main:
4 - ai:
5 prompt:
6 text: |
7 You're a voice from Fish Audio's TTS engine!
8 Introduce yourself, and have a conversation about programmable unified communications on the SignalWire platform.
9 languages:
10 - name: English
11 code: en-US
12 voice: fish.802e3bc2b27e49c2995d23ef70e6ac89:s2.1-pro
4

Buy and assign a phone number

Navigate to the Phone Numbers section of the Dashboard’s left sidebar menu.

Purchase a phone number and assign it to the desired SWML script.

A purchased phone number showing assignment to a specified Resource.

Assigning a phone number to the SWML Script
5

Give it a call!

Call the number you just assigned to chat with your new AI voice application on the phone.

Next steps with SWML

Now you’ve deployed your very first SignalWire voice AI application using Fish Audio voices. Next, dive deeper into SWML to explore its capabilities!