Voices

worldVoices

Voices defined by the world itself, built on a base voice and reusable across NPCs and premade characters. An entry can also be offered to players during character creation.

Editor location
Content → World → Voices
Editor type
Edit in Studio + View JSON
Size limits

No character-length caps for this section.

Schema

json
{
  "worldVoices": {
    "<key>": {
      "label": "string",
      "voiceTag": "string",
      "instructions": "string",
      "speed": "number",
      "effects": {
        "pitch": {
          "enabled": "boolean",
          "semitones": "number"
        },
        "reverb": {
          "enabled": "boolean",
          "space": "room | hall | cavern",
          "mix": "number"
        },
        "echo": {
          "enabled": "boolean",
          "delayMs": "number",
          "feedback": "number",
          "mix": "number"
        },
        "eq": {
          "enabled": "boolean",
          "highPass": {
            "enabled": "...",
            "frequency": "..."
          },
          "lowShelf": {
            "enabled": "...",
            "frequency": "...",
            "gainDb": "..."
          },
          "bell1": {
            "enabled": "...",
            "frequency": "...",
            "gainDb": "...",
            "q": "..."
          },
          "bell2": {
            "enabled": "...",
            "frequency": "...",
            "gainDb": "...",
            "q": "..."
          },
          "highShelf": {
            "enabled": "...",
            "frequency": "...",
            "gainDb": "..."
          },
          "lowPass": {
            "enabled": "...",
            "frequency": "..."
          }
        },
        "distortion": {
          "enabled": "boolean",
          "drive": "number"
        },
        "output": {
          "enabled": "boolean",
          "gainDb": "number",
          "compressor": "boolean"
        }
      },
      "exposeInCharacterCreation": "boolean"
    }
  }
}

Example

json
{
  "worldVoices": {
    "court_herald": {
      "label": "Court Herald",
      "voiceTag": "male commanding blunt",
      "instructions": "Formal and clipped, as if announcing to a full hall. Never hurried.",
      "speed": 1,
      "exposeInCharacterCreation": false
    }
  }
}

A world voice is a named voice this world defines once and reuses. NPCs and premade characters point at one with worldVoiceId, which takes the entry's key, so changing the voice in one place changes it everywhere it is used.

This sits alongside voiceTag, which picks a stock voice directly on the character. A world voice is the option to reach for when several characters should share one treatment, or when a voice needs direction beyond what a stock tag carries.

Each effect group has its own switch, and a voice can be saved with all of them off. Previews are the quickest way to hear one: they become available once the voice carries a voice tag.

Fields

label

The name this voice is shown under, including in character creation when the voice is offered there. It starts out matching the entry's key, so rename it to something that describes the voice rather than leaving the generated name.

voiceTag

The base voice this one is built on, and what speech audio is selected from. Required, and free text: a phrase that isn't in the Voice Catalog still gets an available voice assigned, but naming a catalog voice is what makes the result predictable. Leading and trailing spaces are trimmed. A voice without one cannot be previewed until the tag is set.

instructions

Direction for how the voice should be delivered, layered on top of the base voice.

speed

How fast the voice speaks, from 0.5 to 2; values outside are clamped. Omit it for the base voice default.

effects

Effect settings applied to the voice, grouped as pitch, reverb, echo, distortion, output and eq. Each group is switched on independently, so a voice with none of them enabled plays as its base voice; omit any group you don't use. Ranges: pitch semitones -12 to 12; reverb and echo mix 0 to 1; echo delayMs 40 to 1000 and feedback 0 to 0.85; eq band gainDb -15 to 15 and q 0.3 to 8; distortion drive 0 to 1; output gainDb -12 to 12.

Voyage sanitizes every voice on load: parameters are clamped into these ranges, a missing or non-numeric parameter falls back to its default, and a disabled group is kept but inactive.

exposeInCharacterCreation

Offers this voice to players in the character creator. Leave it off for voices that belong to specific NPCs rather than to whoever the player builds.