You are viewing a potentially older version of this package. View all versions.
Tchernobill-AudioDialogues-1.0.1 icon

AudioDialogues

Speaks Valheim's dialogues from voice packs out loud.

Date uploaded 4 hours ago
Version 1.0.1
Download link Tchernobill-AudioDialogues-1.0.1.zip
Downloads 75
Dependency string Tchernobill-AudioDialogues-1.0.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2350

README

Audio Dialogues

Valheim writes its dialogue on screen and never says it. This mod speaks it: the ravens' tutorials, Haldor's small talk, the dvergr, the runestones, the dreams you wake up from.

This package holds no audio. It is the player and nothing else, 26 KB of it. The spoken lines come from a voice pack installed next to it, Valheim Voices being the first one. Install both, or this mod stays silent and says so in the log.

What gets spoken

Where the line comes from Who speaks
NPC speech bubbles Haldor, Hildir, the bog witch, dvergr, fallen valkyries, the shadow people
Ravens Hugin and Munin, tutorials and guide points
Runestones and tablets the narrator, including the opening text
Dreams the voice you hear on waking
Offering stones and tamed companions the few lines that pass through the message bar

An NPC's voice comes out of the speech bubble, not their feet, and fades out exactly where the bubble stops being drawn. Two NPCs talking at once never cut each other off.

Settings

BepInEx/config/Tchernobill.AudioDialogues.cfg, written on first launch.

Key Default What it does
Enabled true master switch, no patch is applied when false
Volume 1 on top of the game's sound effects slider
Reverb 1 how much a voice is sent to the game's reverb, as a multiple of what the game sends for its own sounds; 0 keeps it dry
VoicesFolder empty absolute path to one voice folder, overriding every installed pack
Language empty load only packs declaring this language; empty loads them all
VoiceMessages true also speak the lines going through the message bar
DreamFadeIn 1.5 seconds a dream line takes to fade in
CacheSize 64 decoded clips kept in memory
PreloadPrefixes tutorial_,npc_haldor_greet,npc_hildir_greet loaded at startup when a pack brings no list of its own
LogTokens false log every localization key seen, spoken or not

LogTokens is how you find a line that has no voice yet, and how a game update that renames keys shows up. Each key is logged once per session.

Client side only. Nothing to install on a dedicated server, nothing sent over the network.

Writing a voice pack

A voice pack is a folder, not code. Put a folder named voices anywhere under BepInEx/plugins, up to four levels deep, holding index.json and its ogg files. There is no assembly to reference and no method to call: the index format is the whole contract.

{
  "version": 1,
  "language": "English",
  "preload": ["npc_haldor_random_greet1", "tutorial_bed_text"],
  "clips": [
    { "key": "npc_haldor_random1", "file": "npc_haldor_random1.ogg",
      "duration": 3.42, "hash": "9f2c1ab4", "voice": "haldor", "seed": 1108 }
  ]
}
  • key is the localization key without its dollar sign, lowercase.
  • file is relative to the voices folder; left out, key + ".ogg" is used.
  • duration, hash, voice and seed are informative. Unknown fields are ignored, so the format can grow without this mod being rebuilt.
  • preload is optional; without it the PreloadPrefixes setting decides.

Ogg Vorbis, mono. Unity only spatializes mono, a stereo clip would play flat and ignore where the speaker stands. Without an index.json, the ogg files are indexed by their own names, which is enough to try a handful of clips by hand.

Several packs can be installed at once. When two of them carry the same key, the one loaded last wins and the log says so, packs being loaded in path order. That is what lets a pack of a few replacement lines sit on top of a full bank without replacing it.

CHANGELOG

Changelog

1.0.1

  • Voices no longer echo. The game keeps a reverb zone on the listener itself, a thousand metres wide with a four second decay, and Unity sends every new audio source into it at full level. Spoken lines now open that send with distance, exactly as the game's own sounds do, and lines with no position stay dry.
  • New Reverb setting, a multiplier on that send: 0 for a dry voice, 1 for the same sense of place as any other sound of the world.

1.0.0

First release. The player alone: voice packs are installed separately, starting with Valheim Voices.

  • Speaks NPC speech bubbles, raven lines, runestones and tablets, dreams, and the few lines that go through the message bar.
  • NPC voices are spatialized, coming out of the speech bubble and fading out where the bubble stops being drawn. Each speaker has its own audio source, so two NPCs talking at once never cut each other off.
  • Voice packs are discovered under BepInEx/plugins: any folder named voices holding an index.json. Several can be installed together, the last loaded winning a shared key.
  • Language only loads packs declaring a given language, VoicesFolder overrides all of them with a single folder.
  • LogTokens logs every localization key seen go by, spoken or not.