Signal Tank field guide

Listen with
a method.

A practical route from your first generated line to a useful product decision.

01

Quick start

Begin with the default voice. It gives you a clean baseline before reference selection changes the result.

  1. 1

    Use the narration preset

    Generate it unchanged and listen for clarity, pauses, warmth, and how the expression tags land.

  2. 2

    Change one variable

    Switch latency mode, speed, or voice—but only one at a time—so the comparison remains useful.

  3. 3

    Read the evidence

    Compare the audio with first-byte time, completion time, and output size in Session takes.

02

Choose the right voice source

SourceBest forWhat it needs
DefaultFirst impressionsNothing extra
SavedKnown account voicesA configured API key
Voice IDSaved or public referencesA compatible reference ID
Instant cloneZero-shot comparisonApproved audio and exact transcript
For instant cloning

Use a clean recording of at least 10 seconds. Signal Tank accepts up to 4 MB and requires confirmation that the speaker approved the clone.

03

A small test plan that tells you something

A

Naturalness

Use a paragraph with short and long sentences, names, numbers, and at least one emotional direction.

B

Agent response

Use the conversational preset at normal and low latency. Listen for pace as well as total response time.

C

Multilingual

Test content written by a fluent speaker. Check pronunciation, rhythm, and whether expression survives translation.

D

Delivery range

Hold the voice constant while changing speed, temperature, and diversity in small increments.

04

Run it locally

Create .env in the repository root—the same folder as package.json.

SIGNAL_TANK_API_KEY=your_voice_api_key
PORT=3000

Then install and start the project:

npm install
npm start

Open 127.0.0.1:3000. The browser never receives the API key.

05

Call the local interface

The lab posts multipart form data to the server. A minimal browser request looks like this:

const form = new FormData();
form.set("text", "Hello from Signal Tank.");
form.set("voiceMode", "default");
form.set("format", "mp3");
form.set("latency", "balanced");

const response = await fetch("/api/tts", {
  method: "POST",
  body: form,
});

const audio = new Audio(URL.createObjectURL(await response.blob()));
audio.play();

Use GET /api/voices for account-owned voice IDs. Signal Tank keeps model selection and credentials on the server.

06

Privacy and consent

Signal Tank does not persist scripts, generated audio, or uploaded reference recordings. Generated takes disappear when the page refreshes.

An upstream processing partner may retain requests. Do not submit confidential text, and clone a voice only when the speaker has explicitly approved that use.